Class ContinueAsNewWorkflowExecutionDecisionAttributes

java.lang.Object
software.amazon.awssdk.services.swf.model.ContinueAsNewWorkflowExecutionDecisionAttributes
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ContinueAsNewWorkflowExecutionDecisionAttributes.Builder,ContinueAsNewWorkflowExecutionDecisionAttributes>

@Generated("software.amazon.awssdk:codegen") public final class ContinueAsNewWorkflowExecutionDecisionAttributes extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ContinueAsNewWorkflowExecutionDecisionAttributes.Builder,ContinueAsNewWorkflowExecutionDecisionAttributes>

Provides the details of the ContinueAsNewWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tag – A tag used to identify the workflow execution

    • taskList – String constraint. The key is swf:taskList.name.

    • workflowType.version – String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

See Also:
  • Method Details

    • input

      public final String input()

      The input provided to the new workflow execution.

      Returns:
      The input provided to the new workflow execution.
    • executionStartToCloseTimeout

      public final String executionStartToCloseTimeout()

      If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

      The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

      An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

      Returns:
      If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

      The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

      An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

    • taskList

      public final TaskList taskList()

      The task list to use for the decisions of the new (continued) workflow execution.

      Returns:
      The task list to use for the decisions of the new (continued) workflow execution.
    • taskPriority

      public final String taskPriority()

      The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

      For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

      Returns:
      The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

      For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    • taskStartToCloseTimeout

      public final String taskStartToCloseTimeout()

      Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

      The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

      A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

      Returns:
      Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

      The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

      A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

    • childPolicy

      public final ChildPolicy childPolicy()

      If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

      The supported child policies are:

      • TERMINATE – The child executions are terminated.

      • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

      • ABANDON – No action is taken. The child executions continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

      If the service returns an enum value that is not available in the current SDK version, childPolicy will return ChildPolicy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from childPolicyAsString().

      Returns:
      If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

      The supported child policies are:

      • TERMINATE – The child executions are terminated.

      • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

      • ABANDON – No action is taken. The child executions continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

      See Also:
    • childPolicyAsString

      public final String childPolicyAsString()

      If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

      The supported child policies are:

      • TERMINATE – The child executions are terminated.

      • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

      • ABANDON – No action is taken. The child executions continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

      If the service returns an enum value that is not available in the current SDK version, childPolicy will return ChildPolicy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from childPolicyAsString().

      Returns:
      If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

      The supported child policies are:

      • TERMINATE – The child executions are terminated.

      • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

      • ABANDON – No action is taken. The child executions continue to run.

      A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

      See Also:
    • hasTagList

      public final boolean hasTagList()
      For responses, this returns true if the service returned a value for the TagList property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tagList

      public final List<String> tagList()

      The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTagList() method.

      Returns:
      The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.
    • workflowTypeVersion

      public final String workflowTypeVersion()

      The version of the workflow to start.

      Returns:
      The version of the workflow to start.
    • lambdaRole

      public final String lambdaRole()

      The IAM role to attach to the new (continued) execution.

      Returns:
      The IAM role to attach to the new (continued) execution.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ContinueAsNewWorkflowExecutionDecisionAttributes.Builder,ContinueAsNewWorkflowExecutionDecisionAttributes>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends ContinueAsNewWorkflowExecutionDecisionAttributes.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.