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