in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_all_rds(account_number, region, cross_account_role):
# Init
var_list = []
# Change boto client
client_rds = create_boto_client(
account_number, region, 'rds', cross_account_role)
# Page all db instances
paginator = client_rds.get_paginator('describe_db_instances')
for page in paginator.paginate():
for i in page['DBInstances']:
# Get tags
instance = i['DBInstanceArn']
#Try Get Tags
try:
rds_tag = client_rds.list_tags_for_resource(ResourceName=instance)['TagList']
except ClientError as e:
rds_tag = 'No Tags Exist'
var_list.append(
{
'EntryType': 'rds',
'Region': str(region),
'AccountNumber': str(account_number),
'State': str(i['DBInstanceStatus']),
'Id': str(i['DBInstanceIdentifier']),
'DBInstanceClass': str(i['DBInstanceClass']),
'AllocatedStorage': int(i.get('AllocatedStorage', ' ')),
'PreferredBackupWindow': str(i.get('PreferredBackupWindow', ' ')),
'BackupRetentionPeriod': str(i.get('BackupRetentionPeriod', ' ')),
'PreferredMaintenanceWindow': str(i.get('PreferredMaintenanceWindow', ' ')),
'Link': str(f'https://{region}.console.aws.amazon.com/rds/home?region={region}#databases:'),
'StorageType': str(i.get('StorageType', ' ')),
'Engine': str(i['Engine']),
'MultiAZ': str(i.get('MultiAZ', ' ')),
'PubliclyAccessible': str(i.get('PubliclyAccessible', ' ')),
'Tags': str(rds_tag)
})
return var_list