in aai/aws.py [0:0]
def fetch(profile_name, region_name, service, function, result_key, parameters):
log.info(
"Started: {}:{}:{}:{}:{}".format(
region_name, service, function, result_key, parameters
)
)
response = ""
try:
session = boto3.Session(profile_name=profile_name)
client = session.client(service, region_name=region_name)
if parameters is not None:
if result_key:
response = client.__getattribute__(function)(**parameters).get(
result_key
)
else:
response = client.__getattribute__(function)(**parameters)
elif result_key:
response = client.__getattribute__(function)().get(result_key)
else:
response = client.__getattribute__(function)()
# Remove ResponseMetadata as it's not useful
response.pop("ResponseMetadata", None)
except Exception as e:
log.error("Error while processing {}, {}.\n{}".format(service, region_name, e))
log.info("Finished:{}:{}:{}:{}".format(service, region_name, function, result_key))
return response