def get_elastic_ip_mgmt()

in source/Lambda/innovation_run_mgmt_stack.py [0:0]


def get_elastic_ip_mgmt(credentials):
    try:
        ec2 = boto3.client('ec2',
                       aws_access_key_id=credentials['AccessKeyId'],
                       aws_secret_access_key=credentials['SecretAccessKey'],
                       aws_session_token=credentials['SessionToken'],
                       region_name=boto3.session.Session().region_name + "",
                       config=config)
        addresses = ec2.describe_addresses()
        eip = []
        for eip_dict in addresses['Addresses']:
            eip.append(eip_dict['PublicIp'])
        if len(eip) != 2:
            raise Exception("Could not find 2 Elastic IP addresses. This solution needs 2 EIPs to be created.")
    except Exception as e:
        message = {'MESSAGE': 'Exception while fetching Elastic IPs',
                              'FILE': __file__.split('/')[-1], 'METHOD': inspect.stack()[0][3], 'EXCEPTION': str(e), 'TRACE': traceback.format_exc()}
        logger.exception(message)
        raise
    
    return eip