File: //opt/cppython/lib/python3.8/site-packages/botocore/__pycache__/regions.cpython-38.pyc
U
KD�g�� � @ s d Z ddlZddlZddlZddlmZ ddlZddlmZm Z ddl
mZmZ ddl
mZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd l m!Z!m"Z" e�#e$�Z%d
Z&di iZ'G dd
� d
�Z(G dd� de(�Z)G dd� de*e�Z+G dd� d�Z,dS )z�Resolves regions and endpoints.
This module implements endpoint resolution, including resolving endpoints for a
given service and region and resolving the available endpoints for a service
in a specific AWS partition.
� N)�Enum)�UNSIGNED�
xform_name)�AUTH_TYPE_MAPS�HAS_CRT��CRT_SUPPORTED_AUTH_TYPES)�EndpointProvider)�EndpointProviderError�EndpointVariantError�!InvalidEndpointConfigurationError�InvalidHostLabelError�MissingDependencyException�
NoRegionError�ParamValidationError�$UnknownEndpointResolutionBuiltInName�UnknownRegionError�UnknownSignatureVersionError�*UnsupportedS3AccesspointConfigurationError�UnsupportedS3ConfigurationError�UnsupportedS3ControlArnError�&UnsupportedS3ControlConfigurationError)�ensure_boolean�instance_cachez{service}.{region}.{dnsSuffix}� endpointsc @ s, e Zd ZdZddd�Zdd� Zdd d
�ZdS )
�BaseEndpointResolverz3Resolves regions and endpoints. Must be subclassed.Nc C s t �dS )a7 Resolves an endpoint for a service and region combination.
:type service_name: string
:param service_name: Name of the service to resolve an endpoint for
(e.g., s3)
:type region_name: string
:param region_name: Region/endpoint name to resolve (e.g., us-east-1)
if no region is provided, the first found partition-wide endpoint
will be used if available.
:rtype: dict
:return: Returns a dict containing the following keys:
- partition: (string, required) Resolved partition name
- endpointName: (string, required) Resolved endpoint name
- hostname: (string, required) Hostname to use for this endpoint
- sslCommonName: (string) sslCommonName to use for this endpoint.
- credentialScope: (dict) Signature version 4 credential scope
- region: (string) region name override when signing.
- service: (string) service name override when signing.
- signatureVersions: (list<string>) A list of possible signature
versions, including s3, v4, v2, and s3v4
- protocols: (list<string>) A list of supported protocols
(e.g., http, https)
- ...: Other keys may be included as well based on the metadata
N��NotImplementedError)�self�service_name�region_name� r! �=/opt/cppython/lib/python3.8/site-packages/botocore/regions.py�construct_endpoint9 s z'BaseEndpointResolver.construct_endpointc C s t �dS )z�Lists the partitions available to the endpoint resolver.
:return: Returns a list of partition names (e.g., ["aws", "aws-cn"]).
Nr �r r! r! r"