in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_all_s3_buckets(account_number, cross_account_role):
# Init
var_list = []
# Use boto3 on source account
client_s3 = create_boto_client(
account_number, 'us-east-1', 's3', cross_account_role)
# No paginator for listing buckets
# paginator = client_ec2.get_paginator('')
result = client_s3.list_buckets()
for i in result['Buckets']:
bucket_name = i['Name']
bucket_creation_date = i['CreationDate']
bucket_region = ' '
bucket_tag = ' '
# Try Get Region
try:
print(f'Getting Region for bucket: {bucket_name}')
bucket_region = client_s3.get_bucket_location(Bucket=bucket_name)['LocationConstraint']
except ClientError as e:
bucket_region = ' '
#Try Get Tags
try:
print(f'Getting Tags for bucket: {bucket_name}')
bucket_tag = client_s3.get_bucket_tagging(Bucket=bucket_name)['TagSet']
except ClientError as e:
bucket_tag = 'No Tags Exist'
var_list.append(
{
'Id': str(bucket_name),
'Link': str(f'https://s3.console.aws.amazon.com/s3/buckets/{bucket_name}/?region={bucket_region}&tab=overview'),
'EntryType': 's3-buckets',
'AccountNumber': str(account_number),
'Region': str(bucket_region),
'Tags': str(bucket_tag),
'CreationDate': str(bucket_creation_date)
})
return var_list