in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_all_load_balancers(account_number, region, cross_account_role):
# Init
var_list = []
# Use boto3 on source account
client_elb = create_boto_client(
account_number, region, 'elb', cross_account_role)
# ALB/NLB
client_elbv2 = create_boto_client(
account_number, region, 'elbv2', cross_account_role)
# Page all elb's
paginator = client_elb.get_paginator('describe_load_balancers')
for page in paginator.paginate():
for i in page['LoadBalancerDescriptions']:
var_list.append(
{
'EntryType': 'lb',
'LoadBalancerName': str(i['LoadBalancerName']),
'Id': str(i['DNSName']),
'Scheme': str(i['Scheme']),
'VPC': str(i['VPCId']),
'State': 'n/a',
'AccountNumber': str(account_number),
'Region': str(region),
'AvailabilityZones': str(i['AvailabilityZones']),
'SecurityGroups': str(i['SecurityGroups']),
'Type': 'classic'
})
# Page all ALB/NLB
paginator2 = client_elbv2.get_paginator('describe_load_balancers')
for page in paginator2.paginate():
for i in page['LoadBalancers']:
var_list.append(
{
'EntryType': 'lb',
'LoadBalancerName': str(i['LoadBalancerName']),
'Id': str(i['DNSName']),
'Scheme': str(i['Scheme']),
'State': str(i['State']['Code']),
'VPC': str(i['VpcId']),
'AccountNumber': str(account_number),
'Region': str(region),
'AvailabilityZones': str(i['AvailabilityZones']),
'SecurityGroups': str(i.get('SecurityGroups', ' ')),
'Type': str(i['Type'])
})
return var_list