Class: AWS::Flow::WorkflowOptions

Inherits:
Options
  • Object
show all
Defined in:
aws-flow-ruby/aws-flow/lib/aws/decider/options.rb

Overview

Options for workflows.

Direct Known Subclasses

ContinueAsNewOptions, StartWorkflowOptions, WorkflowRegistrationOptions

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Options

#get_options, inherited, #initialize

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

- (Object) child_policy

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) execution_method

Options for workflows.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) execution_start_to_close_timeout

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) input

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) tag_list

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 or AWS::SimpleWorkflow::Client#list_closed_workflow_executions and specifying a tag to filter on.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) task_list

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) task_priority

The optional task priority if set, specifies the priority for the decision tasks for a workflow execution. This overrides the defaultTaskPriority specified when registering the WorkflowType. The valid values are Integers between Integer.MAX_VALUE to Integer.MIN_VALUE, i.e. between 2147483647 and -2147483648 for 32-bit integer. An integer value can be used to specify the priority with which a workflow must be started.

Note: task_priority for a workflow must be specified either as a default for the WorkflowType or through this field. If neither this field is set nor a default_task_priority is specified at registration time then it will be assumed nil.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) task_start_to_close_timeout

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) version

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.



473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

- (Object) workflow_id

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".


473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 473

class WorkflowOptions < Options

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

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

  default_classes << WorkflowDefaults.new

  def get_full_options
    result = {}
    usable_properties = self.class.held_properties
    usable_properties.delete(:from_class)
    usable_properties.each do |option|
      result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
    end
    result
  end

end

Instance Method Details

- (Object) get_full_options



492
493
494
495
496
497
498
499
500
# File 'aws-flow-ruby/aws-flow/lib/aws/decider/options.rb', line 492

def get_full_options
  result = {}
  usable_properties = self.class.held_properties
  usable_properties.delete(:from_class)
  usable_properties.each do |option|
    result[option] = self.send(option) if self.send(option) != nil && self.send(option) != ""
  end
  result
end