in functions/toggle_trigger/app.py [0:0]
def lambda_handler(event, context):
# State (string) -- The state of the event source mapping.
# It can be one of: Creating, Enabling, Enabled, Disabling, Disabled, Updating or Deleting.
disabled_states = ["Disabled", "Disabling"]
enabled_states = ["Enabling", "Enabled"]
analyse_lambda_uuid = os.environ["analyze_lambda_uuid"]
action = event[0]["Action"]
lambda_client = boto3.client("lambda")
try:
response = lambda_client.get_event_source_mapping(UUID=analyse_lambda_uuid)
current_state = response["State"]
needs_disabling = action == "disable" and current_state not in disabled_states
needs_enabling = action == "enable" and current_state not in enabled_states
if needs_disabling or needs_enabling:
response = lambda_client.update_event_source_mapping(
UUID=analyse_lambda_uuid, Enabled=needs_enabling
)
current_state = response["State"]
print("Current state is: ", current_state)
return current_state
except Exception as e:
print(e)