Current File : //proc/self/root/usr/lib/python3/dist-packages/botocore/__pycache__/regions.cpython-312.pyc |
�
P��e�~ � �: � d Z ddlZddlZddlZddlmZ ddlmZmZ ddl m
Z
mZ ddlm
Z
ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd lm Z m!Z! ejD e#� Z$d
Z%di iZ& G d� d
� Z' G d� de'� Z( G d� de)e� Z* G d� d� Z+y)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 �( � e Zd ZdZdd�Zd� Z dd�Zy)�BaseEndpointResolverz3Resolves regions and endpoints. Must be subclassed.Nc � � t �)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
��NotImplementedError)�self�service_name�region_names �2/usr/lib/python3/dist-packages/botocore/regions.py�construct_endpointz'BaseEndpointResolver.construct_endpoint6 s
� �6 "�!� c � � t �)z�Lists the partitions available to the endpoint resolver.
:return: Returns a list of partition names (e.g., ["aws", "aws-cn"]).
r )r! s r$ �get_available_partitionsz-BaseEndpointResolver.get_available_partitionsS s
� �
"�!r&