def lambda_handler()

in functions/toggle_trigger/app.py [0:0]


def lambda_handler(event, context):

    lambda_client = boto3.client('lambda')
    try:
        uuid_response = lambda_client.list_event_source_mappings(
            FunctionName=os.environ['analyze_lambda_arn']
        )
    except Exception as e:
        print(e)

    mylist = uuid_response['EventSourceMappings']
    uuiddata = mylist[0]['UUID']
    analyse_lambda_uuid = uuiddata

    try:
        response = lambda_client.get_event_source_mapping(
            UUID=analyse_lambda_uuid
        )
    except Exception as e:
        print(e)

    # State (string) -- The state of the event source mapping. It can be one of the following: Creating , Enabling , Enabled , Disabling , Disabled , Updating , or Deleting .
    disabled_states = ["Disabled", "Disabling"]
    enabled_states = ["Enabling", "Enabled"]
    
    # Disable
    if (event[0]['Action'] == 'disable'):
        if (response['State'] in disabled_states):
            # Do Nothing
            return 'Already disabled'
        else:
            try:
                response = lambda_client.update_event_source_mapping(
                    UUID=analyse_lambda_uuid,
                    Enabled=False
                )
            except Exception as e:
                print(e)
    else:
        # Enable
        if (event[0]['Action'] == 'enable'):
            if (response['State'] in enabled_states):
                # Do Nothing
                return 'Already_Running'
            else:
                try:
                    response = lambda_client.update_event_source_mapping(
                        UUID=analyse_lambda_uuid,
                        Enabled=True
                    )
                except Exception as e:
                    print(e)
    
    print("Current state is:", response['State'])
    return response['State']