in network-load-balancer-copy-utility/copy_network_load_balancer.py [0:0]
def get_elb_data(elb_name, region):
"""
Describe the Classic Load Balancer and retrieve attributes
"""
if debug:
logger.debug("Getting existing Classic Load Balancer data")
elbc = boto3.client('elb', region_name=region)
# Describes the specified Classic Load Balancer.
try:
describe_load_balancers = elbc.describe_load_balancers(
LoadBalancerNames=[elb_name])
except botocore.exceptions.ClientError as exception:
if 'LoadBalancerNotFound' in exception.response['Error']['Code']:
logger.error('Cannot find a Classic Load Balancer in region {} named {}'.format(
region, elb_name))
else:
logger.debug(exception)
# Describes the attributes for the specified Classic Load Balancer.
describe_load_balancer_attributes = elbc.describe_load_balancer_attributes(
LoadBalancerName=elb_name)
# Describes the specified policies.
describe_load_balancer_policies = elbc.describe_load_balancer_policies(
LoadBalancerName=elb_name)
# Describes the tags associated with the specified Classic Load Balancers.
describe_tags = elbc.describe_tags(
LoadBalancerNames=[elb_name])
# Render a dictionary that contains the Classic Load Balancer attributes
elb_data = {}
elb_data.update(describe_load_balancers)
elb_data.update(describe_load_balancer_attributes)
elb_data.update(describe_load_balancer_policies)
elb_data.update(describe_tags)
if debug:
logger.debug("elb data:")
logger.debug(elb_data)
return elb_data