in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_all_lambda(account_number, region, cross_account_role):
# Init
var_list = []
# Change boto client
client_lambda = create_boto_client(
account_number, region, 'lambda', cross_account_role)
# Page all ec2
paginator = client_lambda.get_paginator('list_functions')
for page in paginator.paginate():
for i in page['Functions']:
# clean role name out of arn
iam_role = str(i['Role']).split(':')[5].split('/')[1]
lambda_arn = i['FunctionArn']
lambda_name = i['FunctionName']
# Try Get Tags
try:
lambda_tag = client_lambda.list_tags(Resource=lambda_arn)['Tags']
except ClientError as e:
lambda_tag = 'No Tags Exist'
var_list.append(
{
'EntryType': 'lambda',
'Region': str(region),
'FunctionName': str(lambda_name),
'Id': str(lambda_arn),
'Runtime': str(i['Runtime']),
'AccountNumber': str(account_number),
'Timeout': str(i['Timeout']),
'RoleName': str(iam_role),
'Handler': str(i['Handler']),
'CodeSize': int(i['CodeSize']),
'Link': str(f'https://{region}.console.aws.amazon.com/lambda/home?region={region}#/functions/{lambda_name}'),
'Version': str(i['Version']),
'MemorySize': int(i['MemorySize']),
'LastModified': str(i['LastModified']),
'Tags': str(lambda_tag)
})
return var_list