diff --git a/botoflow/decisions/decisions.py b/botoflow/decisions/decisions.py index b65c5d2..eec0162 100644 --- a/botoflow/decisions/decisions.py +++ b/botoflow/decisions/decisions.py @@ -139,6 +139,22 @@ def __init__(self, activity_id): attrs['activityId'] = activity_id +class ScheduleLambdaFunction(ActivityDecisionBase): + def __init__(self, activity_id, lambda_name, control=None, + start_to_close_timeout=None, input=None): + super(ScheduleLambdaFunction, self).__init__(activity_id) + self.decision['decisionType'] = 'ScheduleLambdaFunction' + attrs = self.decision['scheduleLambdaFunctionDecisionAttributes'] = {} + attrs['id'] = activity_id + attrs['name'] = lambda_name + if control is not None: + attrs['control'] = control + if start_to_close_timeout is not None: + attrs['startToCloseTimeout'] = start_to_close_timeout + if input is not None: + attrs['input'] = input + + class RequestCancelExternalWorkflowExecution(RequestCancelExternalWorkflowDecisionBase): def __init__(self, workflow_id, run_id, control=None): """ diff --git a/botoflow/history_events/events.py b/botoflow/history_events/events.py index 4ba6879..29e25e5 100644 --- a/botoflow/history_events/events.py +++ b/botoflow/history_events/events.py @@ -70,6 +70,26 @@ class ActivityTaskTimedOut(ActivityEventBase): attribute_key = 'activityTaskTimedOutEventAttributes' +class LambdaFunctionScheduled(ActivityEventBase, DecisionEventBase): + attribute_key = 'lambdaFunctionScheduledEventAttributes' + + +class StartLambdaFunctionFailed(ActivityEventBase, DecisionEventBase): + attribute_key = 'startLambdaFunctionFailedEventAttributes' + + +class LambdaFunctionStarted(ActivityEventBase, DecisionEventBase): + attribute_key = 'lambdaFunctionStartedEventAttributes' + + +class LambdaFunctionFailed(ActivityEventBase, DecisionEventBase): + attribute_key = 'lambdaFunctionFailedEventAttributes' + + +class LambdaFunctionCompleted(ActivityEventBase, DecisionEventBase): + attribute_key = 'lambdaFunctionCompletedEventAttributes' + + class CancelWorkflowExecutionFailed(WorkflowEventBase, DecisionEventBase): attribute_key = 'cancelWorkflowExecutionFailedEventAttributes'