def fetch()

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