in awsconfigstatuscheck-app/aws_config_status_check/WorkerFunction.py [0:0]
def GetRegionsfromAccount(self):
print("account:", self.accountid)
acct_b = self.sts_connection.assume_role(
RoleArn="arn:aws:iam::" + self.accountid + ":role/AssumedFunctionRole",
RoleSessionName="cross_acct_lambda"
)
self.ACCESS_KEY = acct_b['Credentials']['AccessKeyId']
self.SECRET_KEY = acct_b['Credentials']['SecretAccessKey']
self.SESSION_TOKEN = acct_b['Credentials']['SessionToken']
self.ec2 = boto3.client(
'ec2',
aws_access_key_id=self.ACCESS_KEY,
aws_secret_access_key=self.SECRET_KEY,
aws_session_token=self.SESSION_TOKEN,
config=self.config
)
filters = [
{
'Name': 'opt-in-status',
'Values': ['opt-in-not-required', 'opted-in']
}
]
self.regions = [region['RegionName'] for region in self.ec2.describe_regions(
Filters=filters)['Regions']]
self.PublishConfigStatustoCloudwatchforEveryRegion()