Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aws
GitHub Repository: aws/aws-cli
Path: blob/develop/awscli/customizations/overridesslcommonname.py
1566 views
1
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
#
3
# Licensed under the Apache License, Version 2.0 (the "License"). You
4
# may not use this file except in compliance with the License. A copy of
5
# the License is located at
6
#
7
# http://aws.amazon.com/apache2.0/
8
#
9
# or in the "license" file accompanying this file. This file is
10
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
# ANY KIND, either express or implied. See the License for the specific
12
# language governing permissions and limitations under the License.
13
14
15
SSL_COMMON_NAMES = {
16
"sqs": {
17
"af-south-1": "af-south-1.queue.amazonaws.com",
18
"ap-east-1": "ap-east-1.queue.amazonaws.com",
19
"ap-northeast-1": "ap-northeast-1.queue.amazonaws.com",
20
"ap-northeast-2": "ap-northeast-2.queue.amazonaws.com",
21
"ap-northeast-3": "ap-northeast-3.queue.amazonaws.com",
22
"ap-south-1": "ap-south-1.queue.amazonaws.com",
23
"ap-southeast-1": "ap-southeast-1.queue.amazonaws.com",
24
"ap-southeast-2": "ap-southeast-2.queue.amazonaws.com",
25
"ap-southeast-3": "ap-southeast-3.queue.amazonaws.com",
26
"ca-central-1": "ca-central-1.queue.amazonaws.com",
27
"eu-central-1": "eu-central-1.queue.amazonaws.com",
28
"eu-north-1": "eu-north-1.queue.amazonaws.com",
29
"eu-south-1": "eu-south-1.queue.amazonaws.com",
30
"eu-west-1": "eu-west-1.queue.amazonaws.com",
31
"eu-west-2": "eu-west-2.queue.amazonaws.com",
32
"eu-west-3": "eu-west-3.queue.amazonaws.com",
33
"me-south-1": "me-south-1.queue.amazonaws.com",
34
"sa-east-1": "sa-east-1.queue.amazonaws.com",
35
"us-east-1": "queue.amazonaws.com",
36
"us-east-2": "us-east-2.queue.amazonaws.com",
37
"us-west-1": "us-west-1.queue.amazonaws.com",
38
"us-west-2": "us-west-2.queue.amazonaws.com",
39
"cn-north-1": "cn-north-1.queue.amazonaws.com.cn",
40
"cn-northwest-1": "cn-northwest-1.queue.amazonaws.com.cn",
41
"us-gov-west-1": "us-gov-west-1.queue.amazonaws.com",
42
"us-isob-east-1": "us-isob-east-1.queue.sc2s.sgov.gov",
43
},
44
"emr": {
45
"af-south-1": "af-south-1.elasticmapreduce.amazonaws.com",
46
"ap-east-1": "ap-east-1.elasticmapreduce.amazonaws.com",
47
"ap-northeast-1": "ap-northeast-1.elasticmapreduce.amazonaws.com",
48
"ap-northeast-2": "ap-northeast-2.elasticmapreduce.amazonaws.com",
49
"ap-northeast-3": "ap-northeast-3.elasticmapreduce.amazonaws.com",
50
"ap-south-1": "ap-south-1.elasticmapreduce.amazonaws.com",
51
"ap-southeast-1": "ap-southeast-1.elasticmapreduce.amazonaws.com",
52
"ap-southeast-2": "ap-southeast-2.elasticmapreduce.amazonaws.com",
53
"ap-southeast-3": "ap-southeast-3.elasticmapreduce.amazonaws.com",
54
"ca-central-1": "ca-central-1.elasticmapreduce.amazonaws.com",
55
"eu-north-1": "eu-north-1.elasticmapreduce.amazonaws.com",
56
"eu-south-1": "eu-south-1.elasticmapreduce.amazonaws.com",
57
"eu-west-1": "eu-west-1.elasticmapreduce.amazonaws.com",
58
"eu-west-2": "eu-west-2.elasticmapreduce.amazonaws.com",
59
"eu-west-3": "eu-west-3.elasticmapreduce.amazonaws.com",
60
"me-south-1": "me-south-1.elasticmapreduce.amazonaws.com",
61
"sa-east-1": "sa-east-1.elasticmapreduce.amazonaws.com",
62
"us-east-2": "us-east-2.elasticmapreduce.amazonaws.com",
63
"us-west-1": "us-west-1.elasticmapreduce.amazonaws.com",
64
"us-west-2": "us-west-2.elasticmapreduce.amazonaws.com",
65
},
66
"rds": {
67
"us-east-1": "rds.amazonaws.com",
68
},
69
"docdb": {
70
"us-east-1": "rds.amazonaws.com",
71
},
72
"neptune": {
73
"us-east-1": "rds.amazonaws.com",
74
},
75
"health": {
76
"aws-global": "health.us-east-1.amazonaws.com",
77
"af-south-1": "health.us-east-1.amazonaws.com",
78
"ap-east-1": "health.us-east-1.amazonaws.com",
79
"ap-northeast-1": "health.us-east-1.amazonaws.com",
80
"ap-northeast-2": "health.us-east-1.amazonaws.com",
81
"ap-northeast-3": "health.us-east-1.amazonaws.com",
82
"ap-south-1": "health.us-east-1.amazonaws.com",
83
"ap-southeast-1": "health.us-east-1.amazonaws.com",
84
"ap-southeast-2": "health.us-east-1.amazonaws.com",
85
"ap-southeast-3": "health.us-east-1.amazonaws.com",
86
"ca-central-1": "health.us-east-1.amazonaws.com",
87
"eu-central-1": "health.us-east-1.amazonaws.com",
88
"eu-north-1": "health.us-east-1.amazonaws.com",
89
"eu-south-1": "health.us-east-1.amazonaws.com",
90
"eu-west-1": "health.us-east-1.amazonaws.com",
91
"eu-west-2": "health.us-east-1.amazonaws.com",
92
"eu-west-3": "health.us-east-1.amazonaws.com",
93
"me-south-1": "health.us-east-1.amazonaws.com",
94
"sa-east-1": "health.us-east-1.amazonaws.com",
95
"us-east-1": "health.us-east-1.amazonaws.com",
96
"us-east-2": "health.us-east-1.amazonaws.com",
97
"us-west-1": "health.us-east-1.amazonaws.com",
98
"us-west-2": "health.us-east-1.amazonaws.com",
99
"cn-north-1": "health.cn-northwest-1.amazonaws.com.cn",
100
"cn-northwest-1": "health.cn-northwest-1.amazonaws.com.cn",
101
"aws-cn-global": "health.cn-northwest-1.amazonaws.com.cn",
102
},
103
}
104
105
REGION_TO_PARTITION_OVERRIDE = {
106
"aws-global": "aws",
107
"aws-cn-global": "aws-cn",
108
}
109
110
111
def register_override_ssl_common_name(cli):
112
cli.register_last(
113
"before-building-argument-table-parser", update_endpoint_url
114
)
115
116
117
def update_endpoint_url(session, parsed_globals, **kwargs):
118
service = parsed_globals.command
119
endpoints = SSL_COMMON_NAMES.get(service)
120
# only change url if user has not overridden already themselves
121
if endpoints is not None and parsed_globals.endpoint_url is None:
122
region = session.get_config_variable("region")
123
endpoint_url = endpoints.get(region)
124
if endpoint_url is not None:
125
parsed_globals.endpoint_url = f"https://{endpoint_url}"
126
if service == "health":
127
_override_health_region(region, session, parsed_globals)
128
129
130
def _override_health_region(region, session, parsed_globals):
131
if region in REGION_TO_PARTITION_OVERRIDE:
132
partition = REGION_TO_PARTITION_OVERRIDE[region]
133
else:
134
partition = session.get_partition_for_region(region)
135
if partition == "aws-cn":
136
parsed_globals.region = "cn-northwest-1"
137
else:
138
parsed_globals.region = "us-east-1"
139
140