def __call__(self, logger, account):
     try:
         sts = STS(logger)
         # assume role
         session_name = "custom-control-tower-session"
         partition = get_partition()
         role_arn = "%s%s%s%s%s%s" % ("arn:", partition, ":iam::",
                                      str(account), ":role/",
                                      environ.get('EXECUTION_ROLE_NAME'))
         credentials = sts.assume_role(role_arn, session_name)
         return credentials
     except ClientError as e:
         logger.log_unhandled_exception(e)
         raise
示例#2
0
def test_get_partition_for_us_gov_cloud_region():
    environ['AWS_REGION'] = 'us-gov-west-1'
    assert aws_us_gov_cloud_regions_partition == get_partition()
示例#3
0
def test_get_partition_for_eu_region():
    environ['AWS_REGION'] = 'eu-west-1'
    assert aws_regions_partition == get_partition()
示例#4
0
def test_get_partition_for_cn_region():
    environ['AWS_REGION'] = 'cn-north-1'
    assert aws_china_regions_partition == get_partition()
示例#5
0
def test_get_partition_for_us_region():
    environ['AWS_REGION'] = 'us-east-1'
    assert aws_regions_partition == get_partition()