Support All AWS Partitions (#6412)
This commit is contained in:
parent
408f61d100
commit
4cbddbed96
@ -55,13 +55,22 @@ class BaseBackend:
|
|||||||
urls = {}
|
urls = {}
|
||||||
for url_base in url_bases:
|
for url_base in url_bases:
|
||||||
# The default URL_base will look like: http://service.[..].amazonaws.com/...
|
# The default URL_base will look like: http://service.[..].amazonaws.com/...
|
||||||
# This extension ensures support for the China regions
|
# This extension ensures support for the China & ISO regions
|
||||||
cn_url_base = re.sub(r"amazonaws\\?.com$", "amazonaws.com.cn", url_base)
|
alt_dns_suffixes = {
|
||||||
|
"cn": "amazonaws.com.cn",
|
||||||
|
"iso": "c2s.ic.gov",
|
||||||
|
"isob": "sc2s.sgov.gov",
|
||||||
|
"isoe": "cloud.adc-e.uk",
|
||||||
|
"isof": "csp.hci.ic.gov",
|
||||||
|
}
|
||||||
|
|
||||||
for url_path, handler in unformatted_paths.items():
|
for url_path, handler in unformatted_paths.items():
|
||||||
url = url_path.format(url_base)
|
url = url_path.format(url_base)
|
||||||
urls[url] = handler
|
urls[url] = handler
|
||||||
cn_url = url_path.format(cn_url_base)
|
for dns_suffix in alt_dns_suffixes.values():
|
||||||
urls[cn_url] = handler
|
alt_url_base = re.sub(r"amazonaws\\?.com$", dns_suffix, url_base)
|
||||||
|
alt_url = url_path.format(alt_url_base)
|
||||||
|
urls[alt_url] = handler
|
||||||
|
|
||||||
return urls
|
return urls
|
||||||
|
|
||||||
@ -188,13 +197,10 @@ class AccountSpecificBackend(Dict[str, SERVICE_BACKEND]):
|
|||||||
self.regions = []
|
self.regions = []
|
||||||
if use_boto3_regions:
|
if use_boto3_regions:
|
||||||
sess = Session()
|
sess = Session()
|
||||||
self.regions.extend(sess.get_available_regions(service_name))
|
for partition in sess.get_available_partitions():
|
||||||
self.regions.extend(
|
self.regions.extend(
|
||||||
sess.get_available_regions(service_name, partition_name="aws-us-gov")
|
sess.get_available_regions(service_name, partition_name=partition)
|
||||||
)
|
)
|
||||||
self.regions.extend(
|
|
||||||
sess.get_available_regions(service_name, partition_name="aws-cn")
|
|
||||||
)
|
|
||||||
self.regions.extend(additional_regions or [])
|
self.regions.extend(additional_regions or [])
|
||||||
self._id = str(uuid4())
|
self._id = str(uuid4())
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ _lambda_region = "us-west-2"
|
|||||||
boto3.setup_default_session(region_name=_lambda_region)
|
boto3.setup_default_session(region_name=_lambda_region)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("region", ["us-west-2", "cn-northwest-1"])
|
@pytest.mark.parametrize("region", ["us-west-2", "cn-northwest-1", "us-isob-east-1"])
|
||||||
@mock_lambda
|
@mock_lambda
|
||||||
def test_lambda_regions(region):
|
def test_lambda_regions(region):
|
||||||
client = boto3.client("lambda", region_name=region)
|
client = boto3.client("lambda", region_name=region)
|
||||||
|
@ -888,7 +888,9 @@ def test_state_machine_get_execution_history_contains_expected_success_events_wh
|
|||||||
execution_history["events"].should.equal(expected_events)
|
execution_history["events"].should.equal(expected_events)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("test_region", ["us-west-2", "cn-northwest-1"])
|
@pytest.mark.parametrize(
|
||||||
|
"test_region", ["us-west-2", "cn-northwest-1", "us-isob-east-1"]
|
||||||
|
)
|
||||||
@mock_stepfunctions
|
@mock_stepfunctions
|
||||||
def test_stepfunction_regions(test_region):
|
def test_stepfunction_regions(test_region):
|
||||||
client = boto3.client("stepfunctions", region_name=test_region)
|
client = boto3.client("stepfunctions", region_name=test_region)
|
||||||
|
@ -707,7 +707,7 @@ def test_federation_token_with_too_long_policy():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("region", ["us-west-2", "cn-northwest-1"])
|
@pytest.mark.parametrize("region", ["us-west-2", "cn-northwest-1", "us-isob-east-1"])
|
||||||
@mock_sts
|
@mock_sts
|
||||||
def test_sts_regions(region):
|
def test_sts_regions(region):
|
||||||
client = boto3.client("sts", region_name=region)
|
client = boto3.client("sts", region_name=region)
|
||||||
|
Loading…
Reference in New Issue
Block a user