def execute()

in Boto3/lambda/resource.py [0:0]


def execute(action, properties):
    action = action.split(".")

    if len(action) != 2:
        return "FAILED", "Invalid boto3 call: {}".format(".".join(action))

    client, function = action[0], action[1]

    try:
        client = boto3.client(client.lower())
    except Exception as e:
        return "FAILED", "boto3 error: {}".format(e)

    try:
        function = getattr(client, function)
    except Exception as e:
        return "FAILED", "boto3 error: {}".format(e)

    properties = {
        key[0].lower() + key[1:]: value
        for key, value in properties.items()
    }

    try:
        function(**properties)
    except Exception as e:
        return "FAILED", "boto3 error: {}".format(e)

    return "SUCCESS", "Completed successfully"