--- /dev/null
+from typing import Any, Callable, Dict, Optional, Text\r
+\r
+class Key:\r
+ DefaultContentType = ... # type: str\r
+ RestoreBody = ... # type: str\r
+ BufferSize = ... # type: Any\r
+ base_user_settable_fields = ... # type: Any\r
+ base_fields = ... # type: Any\r
+ bucket = ... # type: Any\r
+ name = ... # type: str\r
+ metadata = ... # type: Any\r
+ cache_control = ... # type: Any\r
+ content_type = ... # type: Any\r
+ content_encoding = ... # type: Any\r
+ content_disposition = ... # type: Any\r
+ content_language = ... # type: Any\r
+ filename = ... # type: Any\r
+ etag = ... # type: Any\r
+ is_latest = ... # type: bool\r
+ last_modified = ... # type: Any\r
+ owner = ... # type: Any\r
+ path = ... # type: Any\r
+ resp = ... # type: Any\r
+ mode = ... # type: Any\r
+ size = ... # type: Any\r
+ version_id = ... # type: Any\r
+ source_version_id = ... # type: Any\r
+ delete_marker = ... # type: bool\r
+ encrypted = ... # type: Any\r
+ ongoing_restore = ... # type: Any\r
+ expiry_date = ... # type: Any\r
+ local_hashes = ... # type: Any\r
+ def __init__(self, bucket: Optional[Any] = ..., name: Optional[Any] = ...) -> None: ...\r
+ def __iter__(self): ...\r
+ @property\r
+ def provider(self): ...\r
+ key = ... # type: Any\r
+ md5 = ... # type: Any\r
+ base64md5 = ... # type: Any\r
+ storage_class = ... # type: Any\r
+ def get_md5_from_hexdigest(self, md5_hexdigest): ...\r
+ def handle_encryption_headers(self, resp): ...\r
+ def handle_version_headers(self, resp, force: bool = ...): ...\r
+ def handle_restore_headers(self, response): ...\r
+ def handle_addl_headers(self, headers): ...\r
+ def open_read(self, headers: Optional[Dict[Text, Text]] = ..., query_args: str = ..., override_num_retries: Optional[Any] = ..., response_headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def open_write(self, headers: Optional[Dict[Text, Text]] = ..., override_num_retries: Optional[Any] = ...): ...\r
+ def open(self, mode: str = ..., headers: Optional[Dict[Text, Text]] = ..., query_args: Optional[Any] = ..., override_num_retries: Optional[Any] = ...): ...\r
+ closed = ... # type: bool\r
+ def close(self, fast: bool = ...): ...\r
+ def next(self): ...\r
+ __next__ = ... # type: Any\r
+ def read(self, size: int = ...): ...\r
+ def change_storage_class(self, new_storage_class, dst_bucket: Optional[Any] = ..., validate_dst_bucket: bool = ...): ...\r
+ def copy(self, dst_bucket, dst_key, metadata: Optional[Any] = ..., reduced_redundancy: bool = ..., preserve_acl: bool = ..., encrypt_key: bool = ..., validate_dst_bucket: bool = ...): ...\r
+ def startElement(self, name, attrs, connection): ...\r
+ def endElement(self, name, value, connection): ...\r
+ def exists(self, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def delete(self, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_metadata(self, name): ...\r
+ def set_metadata(self, name, value): ...\r
+ def update_metadata(self, d): ...\r
+ def set_acl(self, acl_str, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_acl(self, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_xml_acl(self, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def set_xml_acl(self, acl_str, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def set_canned_acl(self, acl_str, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_redirect(self): ...\r
+ def set_redirect(self, redirect_location, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def make_public(self, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def generate_url(self, expires_in, method: str = ..., headers: Optional[Dict[Text, Text]] = ..., query_auth: bool = ..., force_http: bool = ..., response_headers: Optional[Dict[Text, Text]] = ..., expires_in_absolute: bool = ..., version_id: Optional[Any] = ..., policy: Optional[Any] = ..., reduced_redundancy: bool = ..., encrypt_key: bool = ...): ...\r
+ def send_file(self, fp, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., query_args: Optional[Any] = ..., chunked_transfer: bool = ..., size: Optional[Any] = ...): ...\r
+ def should_retry(self, response, chunked_transfer: bool = ...): ...\r
+ def compute_md5(self, fp, size: Optional[Any] = ...): ...\r
+ def set_contents_from_stream(self, fp, headers: Optional[Dict[Text, Text]] = ..., replace: bool = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., policy: Optional[Any] = ..., reduced_redundancy: bool = ..., query_args: Optional[Any] = ..., size: Optional[Any] = ...): ...\r
+ def set_contents_from_file(self, fp, headers: Optional[Dict[Text, Text]] = ..., replace: bool = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., policy: Optional[Any] = ..., md5: Optional[Any] = ..., reduced_redundancy: bool = ..., query_args: Optional[Any] = ..., encrypt_key: bool = ..., size: Optional[Any] = ..., rewind: bool = ...): ...\r
+ def set_contents_from_filename(self, filename, headers: Optional[Dict[Text, Text]] = ..., replace: bool = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., policy: Optional[Any] = ..., md5: Optional[Any] = ..., reduced_redundancy: bool = ..., encrypt_key: bool = ...): ...\r
+ def set_contents_from_string(self, string_data: Text, headers: Optional[Dict[Text, Text]] = ..., replace: bool = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., policy: Optional[Any] = ..., md5: Optional[Any] = ..., reduced_redundancy: bool = ..., encrypt_key: bool = ...) -> None: ...\r
+ def get_file(self, fp, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., torrent: bool = ..., version_id: Optional[Any] = ..., override_num_retries: Optional[Any] = ..., response_headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_torrent_file(self, fp, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ...): ...\r
+ def get_contents_to_file(self, fp, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., torrent: bool = ..., version_id: Optional[Any] = ..., res_download_handler: Optional[Any] = ..., response_headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_contents_to_filename(self, filename, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., torrent: bool = ..., version_id: Optional[Any] = ..., res_download_handler: Optional[Any] = ..., response_headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def get_contents_as_string(self, headers: Optional[Dict[Text, Text]] = ..., cb: Optional[Callable[[int, int], Any]] = ..., num_cb: int = ..., torrent: bool = ..., version_id: Optional[Any] = ..., response_headers: Optional[Dict[Text, Text]] = ..., encoding: Optional[Any] = ...) -> str: ...\r
+ def add_email_grant(self, permission, email_address, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def add_user_grant(self, permission, user_id, headers: Optional[Dict[Text, Text]] = ..., display_name: Optional[Any] = ...): ...\r
+ def set_remote_metadata(self, metadata_plus, metadata_minus, preserve_acl, headers: Optional[Dict[Text, Text]] = ...): ...\r
+ def restore(self, days, headers: Optional[Dict[Text, Text]] = ...): ...\r