in source/extract-tag-data-lambda.py [0:0]
def getTagInfo(accountId,region,resourceType,customerKeys,Date,dateTime,accountName,accountEmail):
tagInfo={}
#Assume a role and generate a Client
roleCredentials=assumeRole(accountId)
#Construct Client
tagClient=boto3.client("resourcegroupstaggingapi",
region_name=region,
aws_access_key_id=roleCredentials['Credentials']['AccessKeyId'],
aws_secret_access_key=roleCredentials['Credentials']['SecretAccessKey'],
aws_session_token=roleCredentials['Credentials']['SessionToken'])
paginator = tagClient.get_paginator('get_resources')
for customerKey in customerKeys:
page_Iterator = paginator.paginate(ResourceTypeFilters=[resourceType],TagFilters=[{'Key': customerKey}])
for page in page_Iterator:
for resource in page['ResourceTagMappingList']:
for tag in resource['Tags']:
if tag['Key'] == customerKey:
if resource['ResourceARN'] not in tagInfo.keys():
tagInfo[resource['ResourceARN']]={}
tagInfo[resource['ResourceARN']][customerKey]=tag['Value']
tagInfo[resource['ResourceARN']]['ResourceArn']=resource['ResourceARN']
tagInfo[resource['ResourceARN']]['ResourceId']=getResourceId(resource['ResourceARN'])
tagInfo[resource['ResourceARN']]['ResourceType']=resourceType
tagInfo[resource['ResourceARN']]['RegionName']=region
tagInfo[resource['ResourceARN']]['Date']=Date
tagInfo[resource['ResourceARN']]['DateTime']=dateTime
tagInfo[resource['ResourceARN']]['AccountId']=accountId
tagInfo[resource['ResourceARN']]['AccountName']=accountName
tagInfo[resource['ResourceARN']]['AccountEmail']=accountEmail
return tagInfo