--- /dev/null
+from .connection import S3Connection\r
+from .user import User\r
+from typing import Any, Dict, Optional, List, Text, Union\r
+\r
+CannedACLStrings = ... # type: List[str]\r
+\r
+class Policy:\r
+ parent = ... # type: Any\r
+ namespace = ... # type: Any\r
+ acl = ... # type: ACL\r
+ def __init__(self, parent: Optional[Any] = ...) -> None: ...\r
+ owner = ... # type: User\r
+ def startElement(self, name: Text, attrs: Dict[str, Any], connection: S3Connection) -> Union[None, User, ACL]: ...\r
+ def endElement(self, name: Text, value: Any, connection: S3Connection) -> None: ...\r
+ def to_xml(self) -> str: ...\r
+\r
+class ACL:\r
+ policy = ... # type: Policy\r
+ grants = ... # type: List[Grant]\r
+ def __init__(self, policy: Optional[Policy] = ...) -> None: ...\r
+ def add_grant(self, grant: Grant) -> None: ...\r
+ def add_email_grant(self, permission: Text, email_address: Text) -> None: ...\r
+ def add_user_grant(self, permission: Text, user_id: Text, display_name: Optional[Text] = ...) -> None: ...\r
+ def startElement(self, name, attrs, connection): ...\r
+ def endElement(self, name: Text, value: Any, connection: S3Connection) -> None: ...\r
+ def to_xml(self) -> str: ...\r
+\r
+class Grant:\r
+ NameSpace = ... # type: Text\r
+ permission = ... # type: Text\r
+ id = ... # type: Text\r
+ display_name = ... # type: Text\r
+ uri = ... # type: Text\r
+ email_address = ... # type: Text\r
+ type = ... # type: Text\r
+ def __init__(self, permission: Optional[Text] = ..., type: Optional[Text] = ..., id: Optional[Text] = ..., display_name: Optional[Text] = ..., uri: Optional[Text] = ..., email_address: Optional[Text] = ...) -> None: ...\r
+ def startElement(self, name, attrs, connection): ...\r
+ def endElement(self, name: Text, value: Any, connection: S3Connection) -> None: ...\r
+ def to_xml(self) -> str: ...\r