Class: AWS::Flow::WorkflowOptions

Inherits:
Options
  • Object
show all
Includes:
OptionsMethods
Defined in:
lib/aws/decider/options.rb

Overview

Options for workflows.

Direct Known Subclasses

ContinueAsNewOptions, StartWorkflowOptions

Instance Attribute Summary collapse

Attributes included from Utilities::UpwardLookups

#precursors

Attributes included from Utilities::UpwardLookups::InstanceMethods

#precursors

Instance Method Summary collapse

Methods included from OptionsMethods

#get_default_options, #get_full_options, #get_runtime_options

Methods inherited from Options

#get_options, inherited, #initialize, #method_missing

Methods included from Utilities::UpwardLookups

#held_properties, #properties, #property

Methods included from Utilities::UpwardLookups::InstanceMethods

#look_upwards

Constructor Details

This class inherits a constructor from AWS::Flow::Options

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class AWS::Flow::Options

Instance Attribute Details

#child_policyObject

The optional policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the ‘TerminateWorkflowExecution` action explicitly or due to an expired timeout.

This can be overridden when starting a workflow execution using AWS::Flow::WorkflowClient#start_execution or the ‘StartChildWorkflowExecution` decision.

The supported child policies are:

  • ‘TERMINATE`: the child executions will be terminated.

  • ‘REQUEST_CANCEL`: a request to cancel will be 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 will be taken. The child executions will continue to run.

The default is ‘TERMINATE`.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#execution_methodObject

Options for workflows.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#execution_start_to_close_timeoutObject

The optional maximum duration, specified when registering the workflow type, for executions of this workflow type.

This default can be overridden when starting a workflow execution using AWS::Flow::WorkflowClient#start_execution or with the ‘StartChildWorkflowExecution` decision.

The valid values are integers greater than or equal to zero. An integer value can be used to specify the duration in seconds while ‘NONE` can be used to specify unlimited duration.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#inputObject

A string of up to 32768 characters to be provided to the workflow execution. This will be received in the decider when polling for decision tasks.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#tag_listObject

The list of tags to associate with the child workflow execution.

A maximum of five tags can be specified. You can list workflow executions with a specific tag by calling [AWS::SimpleWorkflow::Client#list_open_workflow_executions](docs.aws.amazon.com/AWSRubySDK/latest/AWS/SimpleWorkflow/Client.html#list_open_workflow_executions-instance_method) or [AWS::SimpleWorkflow::Client#list_closed_workflow_executions](docs.aws.amazon.com/AWSRubySDK/latest/AWS/SimpleWorkflow/Client.html#list_closed_workflow_executions-instance_method) and specifying a tag to filter on.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#task_listObject

The optional task list, specified when registering the workflow type, for decisions tasks scheduled for workflow executions of this type.

This default can be overridden when starting a workflow execution using AWS::Flow::WorkflowClient#start_execution or the ‘StartChildWorkflowExecution` decision.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#task_start_to_close_timeoutObject

The optional maximum duration, specified when registering the workflow type, that a decision task for executions of this workflow type might take before returning completion or failure.

If the task does not close in the specified time, then the task is automatically timed out and rescheduled. If the decider eventually reports a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using AWS::Flow::WorkflowClient#start_execution or the ‘StartChildWorkflowExecution` decision.

The valid values are integers greater than or equal to 0. An integer value can be used to specify the duration in seconds while ‘NONE` can be used to specify unlimited duration. The default is `30`.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#versionObject

A string that represents the version of the workflow. This can be any alphanumeric string. If you update any of the other options, you must also update the version.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

#workflow_idObject

Required. The workflow ID of the workflow execution. The workflow ID must follow these rules:

  • The specified string must not start or end with whitespace.

  • It must not contain a ‘:` (colon), `/` (slash), `|` (vertical bar), or any control characters (`u0000`-`u001f` | `u007f`-`u009f`).

  • It must not contain the literal string “arn”.



487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
# File 'lib/aws/decider/options.rb', line 487

class WorkflowOptions < Options
  include OptionsMethods

  properties(
    :version,
    :input,
    :workflow_id,
    :execution_start_to_close_timeout,
    :task_start_to_close_timeout,
    :task_list,
    :execution_method
  )

  # Adding default properties
  properties(
    :default_task_start_to_close_timeout,
    :default_execution_start_to_close_timeout,
    :default_task_list
  )
  property(:default_child_policy, [lambda(&:to_s), lambda(&:upcase)])


  property(:tag_list, [])
  property(:child_policy, [lambda(&:to_s), lambda(&:upcase)])
  property(:data_converter, [])

  default_classes << WorkflowDefaults.new

  # This method provides the default option keys for workflows
  def default_keys
    [:default_task_start_to_close_timeout,
     :default_execution_start_to_close_timeout,
     :default_task_list,
     :default_child_policy]
  end

  # This method converts default option keys to runtime keys by replacing
  # "default_" in the key name
  def make_runtime_key(key)
    key.to_s.gsub(/default_/, "").to_sym
  end

end

Instance Method Details

#default_keysObject

This method provides the default option keys for workflows



516
517
518
519
520
521
# File 'lib/aws/decider/options.rb', line 516

def default_keys
  [:default_task_start_to_close_timeout,
   :default_execution_start_to_close_timeout,
   :default_task_list,
   :default_child_policy]
end

#make_runtime_key(key) ⇒ Object

This method converts default option keys to runtime keys by replacing “default_” in the key name



525
526
527
# File 'lib/aws/decider/options.rb', line 525

def make_runtime_key(key)
  key.to_s.gsub(/default_/, "").to_sym
end