![]() |
![]()
| ![]() |
![]()
NAMEPaws::SimpleWorkflow::Decision USAGEThis class represents one of two things: Arguments in a call to a service Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. Each attribute should be used as a named argument in the calls that expect this type of object. As an example, if Att1 is expected to be a Paws::SimpleWorkflow::Decision object: $service_obj->Method(Att1 => { CancelTimerDecisionAttributes => $value, ..., StartTimerDecisionAttributes => $value }); Results returned from an API call Use accessors for each attribute. If Att1 is expected to be an Paws::SimpleWorkflow::Decision object: $result = $service_obj->Method(...); $result->Att1->CancelTimerDecisionAttributes DESCRIPTIONSpecifies a decision made by the decider. A decision can be one of these types:
Access Control If you grant permission to use "RespondDecisionTaskCompleted", you can use IAM policies to express permissions for the list of decisions returned by this action as if they were members of the API. Treating decisions as a pseudo API maintains a uniform conceptual model and helps keep policies readable. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html) in the Amazon SWF Developer Guide. Decision Failure Decisions can fail for several reasons
One of the following events might be added to the history to indicate an error. The event attribute's "cause" parameter indicates the cause. If "cause" is set to "OPERATION_NOT_PERMITTED", the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html) in the Amazon SWF Developer Guide.
The preceding error events might occur due to an error in the decider logic, which might put the workflow execution in an unstable state The cause field in the event structure for the error event indicates the cause of the error. A workflow execution may be closed by the decider by returning one of the following decisions when completing a decision task: "CompleteWorkflowExecution", "FailWorkflowExecution", "CancelWorkflowExecution" and "ContinueAsNewWorkflowExecution". An "UnhandledDecision" fault is returned if a workflow closing decision is specified and a signal or activity event had been added to the history while the decision task was being performed by the decider. Unlike the above situations which are logic issues, this fault is always possible because of race conditions in a distributed system. The right action here is to call RespondDecisionTaskCompleted without any decisions. This would result in another decision task with these new events included in the history. The decider should handle the new events and may decide to close the workflow execution. How to Code a Decision You code a decision by first setting the decision type field to one of the above decision values, and then set the corresponding attributes field shown below:
ATTRIBUTESCancelTimerDecisionAttributes => Paws::SimpleWorkflow::CancelTimerDecisionAttributesProvides the details of the "CancelTimer" decision. It isn't set for other decision types. CancelWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::CancelWorkflowExecutionDecisionAttributesProvides the details of the "CancelWorkflowExecution" decision. It isn't set for other decision types. CompleteWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::CompleteWorkflowExecutionDecisionAttributesProvides the details of the "CompleteWorkflowExecution" decision. It isn't set for other decision types. ContinueAsNewWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::ContinueAsNewWorkflowExecutionDecisionAttributesProvides the details of the "ContinueAsNewWorkflowExecution" decision. It isn't set for other decision types. REQUIRED DecisionType => StrSpecifies the type of the decision. FailWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::FailWorkflowExecutionDecisionAttributesProvides the details of the "FailWorkflowExecution" decision. It isn't set for other decision types. RecordMarkerDecisionAttributes => Paws::SimpleWorkflow::RecordMarkerDecisionAttributesProvides the details of the "RecordMarker" decision. It isn't set for other decision types. RequestCancelActivityTaskDecisionAttributes => Paws::SimpleWorkflow::RequestCancelActivityTaskDecisionAttributesProvides the details of the "RequestCancelActivityTask" decision. It isn't set for other decision types. RequestCancelExternalWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::RequestCancelExternalWorkflowExecutionDecisionAttributesProvides the details of the "RequestCancelExternalWorkflowExecution" decision. It isn't set for other decision types. ScheduleActivityTaskDecisionAttributes => Paws::SimpleWorkflow::ScheduleActivityTaskDecisionAttributesProvides the details of the "ScheduleActivityTask" decision. It isn't set for other decision types. ScheduleLambdaFunctionDecisionAttributes => Paws::SimpleWorkflow::ScheduleLambdaFunctionDecisionAttributesProvides the details of the "ScheduleLambdaFunction" decision. It isn't set for other decision types. SignalExternalWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::SignalExternalWorkflowExecutionDecisionAttributesProvides the details of the "SignalExternalWorkflowExecution" decision. It isn't set for other decision types. StartChildWorkflowExecutionDecisionAttributes => Paws::SimpleWorkflow::StartChildWorkflowExecutionDecisionAttributesProvides the details of the "StartChildWorkflowExecution" decision. It isn't set for other decision types. StartTimerDecisionAttributes => Paws::SimpleWorkflow::StartTimerDecisionAttributesProvides the details of the "StartTimer" decision. It isn't set for other decision types. SEE ALSOThis class forms part of Paws, describing an object used in Paws::SimpleWorkflow BUGS and CONTRIBUTIONSThe source code is located here: <https://github.com/pplu/aws-sdk-perl> Please report bugs to: <https://github.com/pplu/aws-sdk-perl/issues>
|