Class StartChildWorkflowExecutionDecisionAttributes

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

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

Provides the details of the StartChildWorkflowExecution 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.

    • tagList.member.N – The key is "swf:tagList.N" where N is the tag number from 0 to 4, inclusive.

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

    • workflowType.name – String constraint. The key is swf:workflowType.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

    • workflowType

      public final WorkflowType workflowType()

      The type of the workflow execution to be started.

      Returns:
      The type of the workflow execution to be started.
    • workflowId

      public final String workflowId()

      The workflowId of the workflow execution.

      The specified string must not contain a : (colon), / (slash), | (vertical bar), or any control characters (- | -Ÿ). Also, it must not be the literal string arn.

      Returns:
      The workflowId of the workflow execution.

      The specified string must not contain a : (colon), / (slash), | (vertical bar), or any control characters (- | -Ÿ). Also, it must not be the literal string arn.

    • control

      public final String control()

      The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.

      Returns:
      The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.
    • input

      public final String input()

      The input to be provided to the workflow execution.

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

      public final String executionStartToCloseTimeout()

      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 parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

      Returns:
      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 parameter. If neither this parameter 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 name of the task list to be used for decision tasks of the child workflow execution.

      A task list 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 task list was specified at registration time then a fault is returned.

      The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (- | -Ÿ). Also, it must not be the literal string arn.

      Returns:
      The name of the task list to be used for decision tasks of the child workflow execution.

      A task list 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 task list was specified at registration time then a fault is returned.

      The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters ( - | -Ÿ). Also, it must not be the literal string arn.

    • taskPriority

      public final String taskPriority()

      A task priority that, if set, specifies the priority for a decision task of 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:
      A task priority that, if set, specifies the priority for a decision task of 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 this 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 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 task start-to-close timeout was specified at registration time then a fault is returned.

      Returns:
      Specifies the maximum duration of decision tasks for this 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 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 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 if the workflow execution being started 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 if the workflow execution being started 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 if the workflow execution being started 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 if the workflow execution being started 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 child 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 child 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.
    • lambdaRole

      public final String lambdaRole()

      The IAM role attached to the child workflow execution.

      Returns:
      The IAM role attached to the child workflow 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<StartChildWorkflowExecutionDecisionAttributes.Builder,StartChildWorkflowExecutionDecisionAttributes>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends StartChildWorkflowExecutionDecisionAttributes.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.