--- /dev/null
+from typing import Any, Optional\r
+from boto.auth_handler import AuthHandler\r
+\r
+SIGV4_DETECT = ... # type: Any\r
+\r
+class HmacKeys:\r
+ host = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def update_provider(self, provider): ...\r
+ def algorithm(self): ...\r
+ def sign_string(self, string_to_sign): ...\r
+\r
+class AnonAuthHandler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class HmacAuthV1Handler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def update_provider(self, provider): ...\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class HmacAuthV2Handler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def update_provider(self, provider): ...\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class HmacAuthV3Handler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class HmacAuthV3HTTPHandler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ def __init__(self, host, config, provider) -> None: ...\r
+ def headers_to_sign(self, http_request): ...\r
+ def canonical_headers(self, headers_to_sign): ...\r
+ def string_to_sign(self, http_request): ...\r
+ def add_auth(self, req, **kwargs): ...\r
+\r
+class HmacAuthV4Handler(AuthHandler, HmacKeys):\r
+ capability = ... # type: Any\r
+ service_name = ... # type: Any\r
+ region_name = ... # type: Any\r
+ def __init__(self, host, config, provider, service_name: Optional[Any] = ..., region_name: Optional[Any] = ...) -> None: ...\r
+ def headers_to_sign(self, http_request): ...\r
+ def host_header(self, host, http_request): ...\r
+ def query_string(self, http_request): ...\r
+ def canonical_query_string(self, http_request): ...\r
+ def canonical_headers(self, headers_to_sign): ...\r
+ def signed_headers(self, headers_to_sign): ...\r
+ def canonical_uri(self, http_request): ...\r
+ def payload(self, http_request): ...\r
+ def canonical_request(self, http_request): ...\r
+ def scope(self, http_request): ...\r
+ def split_host_parts(self, host): ...\r
+ def determine_region_name(self, host): ...\r
+ def determine_service_name(self, host): ...\r
+ def credential_scope(self, http_request): ...\r
+ def string_to_sign(self, http_request, canonical_request): ...\r
+ def signature(self, http_request, string_to_sign): ...\r
+ def add_auth(self, req, **kwargs): ...\r
+\r
+class S3HmacAuthV4Handler(HmacAuthV4Handler, AuthHandler):\r
+ capability = ... # type: Any\r
+ region_name = ... # type: Any\r
+ def __init__(self, *args, **kwargs) -> None: ...\r
+ def clean_region_name(self, region_name): ...\r
+ def canonical_uri(self, http_request): ...\r
+ def canonical_query_string(self, http_request): ...\r
+ def host_header(self, host, http_request): ...\r
+ def headers_to_sign(self, http_request): ...\r
+ def determine_region_name(self, host): ...\r
+ def determine_service_name(self, host): ...\r
+ def mangle_path_and_params(self, req): ...\r
+ def payload(self, http_request): ...\r
+ def add_auth(self, req, **kwargs): ...\r
+ def presign(self, req, expires, iso_date: Optional[Any] = ...): ...\r
+\r
+class STSAnonHandler(AuthHandler):\r
+ capability = ... # type: Any\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class QuerySignatureHelper(HmacKeys):\r
+ def add_auth(self, http_request, **kwargs): ...\r
+\r
+class QuerySignatureV0AuthHandler(QuerySignatureHelper, AuthHandler):\r
+ SignatureVersion = ... # type: int\r
+ capability = ... # type: Any\r
+\r
+class QuerySignatureV1AuthHandler(QuerySignatureHelper, AuthHandler):\r
+ SignatureVersion = ... # type: int\r
+ capability = ... # type: Any\r
+ def __init__(self, *args, **kw) -> None: ...\r
+\r
+class QuerySignatureV2AuthHandler(QuerySignatureHelper, AuthHandler):\r
+ SignatureVersion = ... # type: int\r
+ capability = ... # type: Any\r
+\r
+class POSTPathQSV2AuthHandler(QuerySignatureV2AuthHandler, AuthHandler):\r
+ capability = ... # type: Any\r
+ def add_auth(self, req, **kwargs): ...\r
+\r
+def get_auth_handler(host, config, provider, requested_capability: Optional[Any] = ...): ...\r
+def detect_potential_sigv4(func): ...\r
+def detect_potential_s3sigv4(func): ...\r