in lambdas/helper/dal.py [0:0]
def find_ec2(self, aws_instance_id):
DataAccessLayer._xray_start('find_ec2')
try:
DataAccessLayer._xray_add_metadata('aws_instance_id', aws_instance_id)
sql_parameters = [
{'name':'aws_instance_id', 'value':{'stringValue': aws_instance_id}}
]
sql = f'select aws_instance_id, aws_region, aws_account' \
f' from {ec2_table_name}' \
f' where aws_instance_id=:aws_instance_id'
response = self.execute_statement(sql, sql_parameters)
record = dict()
returned_records = response['records']
if len(returned_records) > 0:
record['instance_id'] = returned_records[0][0]['stringValue']
record['aws_region'] = returned_records[0][1]['stringValue']
record['aws_account'] = returned_records[0][2]['stringValue']
# find ec2-package relations and add packages to returned ec2 object
ec2_package_relations = self._find_ec2_package_relations(aws_instance_id)
record['packages'] = [ {'package_name': package['package_name'], 'package_version': package['package_version']} for package in ec2_package_relations]
return record
except DataAccessLayerException as de:
raise de
except Exception as e:
raise DataAccessLayerException(e) from e
finally:
DataAccessLayer._xray_stop()