You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::States::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-states/lib/aws-sdk-states/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



152
153
154
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 152

def initialize(*args)
  super
end

Instance Method Details

#create_activity(params = {}) ⇒ Types::CreateActivityOutput

Creates an activity.

Examples:

Request syntax with placeholder values


resp = client.create_activity({
  name: "Name", # required
})

Response structure


resp.activity_arn #=> String
resp.creation_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the activity to create. This name must be unique for your AWS account and region.

Returns:

See Also:



184
185
186
187
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 184

def create_activity(params = {}, options = {})
  req = build_request(:create_activity, params)
  req.send_request(options)
end

#create_state_machine(params = {}) ⇒ Types::CreateStateMachineOutput

Creates a state machine.

Examples:

Request syntax with placeholder values


resp = client.create_state_machine({
  name: "Name", # required
  definition: "Definition", # required
  role_arn: "Arn", # required
})

Response structure


resp.state_machine_arn #=> String
resp.creation_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the state machine. This name must be unique for your AWS account and region.

  • :definition (required, String)

    The Amazon States Language definition of the state machine.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

Returns:

See Also:



224
225
226
227
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 224

def create_state_machine(params = {}, options = {})
  req = build_request(:create_state_machine, params)
  req.send_request(options)
end

#delete_activity(params = {}) ⇒ Struct

Deletes an activity.

Examples:

Request syntax with placeholder values


resp = client.delete_activity({
  activity_arn: "Arn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :activity_arn (required, String)

    The Amazon Resource Name (ARN) of the activity to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



246
247
248
249
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 246

def delete_activity(params = {}, options = {})
  req = build_request(:delete_activity, params)
  req.send_request(options)
end

#delete_state_machine(params = {}) ⇒ Struct

Deletes a state machine. This is an asynchronous operation-- it sets the state machine's status to "DELETING" and begins the delete process.

Examples:

Request syntax with placeholder values


resp = client.delete_state_machine({
  state_machine_arn: "Arn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :state_machine_arn (required, String)

    The Amazon Resource Name (ARN) of the state machine to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



270
271
272
273
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 270

def delete_state_machine(params = {}, options = {})
  req = build_request(:delete_state_machine, params)
  req.send_request(options)
end

#describe_activity(params = {}) ⇒ Types::DescribeActivityOutput

Describes an activity.

Examples:

Request syntax with placeholder values


resp = client.describe_activity({
  activity_arn: "Arn", # required
})

Response structure


resp.activity_arn #=> String
resp.name #=> String
resp.creation_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :activity_arn (required, String)

    The Amazon Resource Name (ARN) of the activity to describe.

Returns:

See Also:



302
303
304
305
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 302

def describe_activity(params = {}, options = {})
  req = build_request(:describe_activity, params)
  req.send_request(options)
end

#describe_execution(params = {}) ⇒ Types::DescribeExecutionOutput

Describes an execution.

Examples:

Request syntax with placeholder values


resp = client.describe_execution({
  execution_arn: "Arn", # required
})

Response structure


resp.execution_arn #=> String
resp.state_machine_arn #=> String
resp.name #=> String
resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT", "ABORTED"
resp.start_date #=> Time
resp.stop_date #=> Time
resp.input #=> String
resp.output #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :execution_arn (required, String)

    The Amazon Resource Name (ARN) of the execution to describe.

Returns:

See Also:



344
345
346
347
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 344

def describe_execution(params = {}, options = {})
  req = build_request(:describe_execution, params)
  req.send_request(options)
end

#describe_state_machine(params = {}) ⇒ Types::DescribeStateMachineOutput

Describes a state machine.

Examples:

Request syntax with placeholder values


resp = client.describe_state_machine({
  state_machine_arn: "Arn", # required
})

Response structure


resp.state_machine_arn #=> String
resp.name #=> String
resp.status #=> String, one of "ACTIVE", "DELETING"
resp.definition #=> String
resp.role_arn #=> String
resp.creation_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :state_machine_arn (required, String)

    The Amazon Resource Name (ARN) of the state machine to describe.

Returns:

See Also:



382
383
384
385
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 382

def describe_state_machine(params = {}, options = {})
  req = build_request(:describe_state_machine, params)
  req.send_request(options)
end

#get_activity_task(params = {}) ⇒ Types::GetActivityTaskOutput

Used by workers to retrieve a task (with the specified activity ARN) scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will return an empty result, that is, the taskToken returned is an empty string.

Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

Examples:

Request syntax with placeholder values


resp = client.get_activity_task({
  activity_arn: "Arn", # required
  worker_name: "Name",
})

Response structure


resp.task_token #=> String
resp.input #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :activity_arn (required, String)

    The Amazon Resource Name (ARN) of the activity to retrieve tasks from.

  • :worker_name (String)

    An arbitrary name may be provided in order to identify the worker that the task is assigned to. This name will be used when it is logged in the execution history.

Returns:

See Also:



429
430
431
432
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 429

def get_activity_task(params = {}, options = {})
  req = build_request(:get_activity_task, params)
  req.send_request(options)
end

#get_execution_history(params = {}) ⇒ Types::GetExecutionHistoryOutput

Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextToken returned by the previous call.

Examples:

Request syntax with placeholder values


resp = client.get_execution_history({
  execution_arn: "Arn", # required
  max_results: 1,
  reverse_order: false,
  next_token: "PageToken",
})

Response structure


resp.events #=> Array
resp.events[0].timestamp #=> Time
resp.events[0].type #=> String, one of "ActivityFailed", "ActivityScheduleFailed", "ActivityScheduled", "ActivityStarted", "ActivitySucceeded", "ActivityTimedOut", "ChoiceStateEntered", "ChoiceStateExited", "ExecutionFailed", "ExecutionStarted", "ExecutionSucceeded", "ExecutionAborted", "ExecutionTimedOut", "FailStateEntered", "LambdaFunctionFailed", "LambdaFunctionScheduleFailed", "LambdaFunctionScheduled", "LambdaFunctionStartFailed", "LambdaFunctionStarted", "LambdaFunctionSucceeded", "LambdaFunctionTimedOut", "SucceedStateEntered", "SucceedStateExited", "TaskStateEntered", "TaskStateExited", "PassStateEntered", "PassStateExited", "ParallelStateEntered", "ParallelStateExited", "WaitStateEntered", "WaitStateExited"
resp.events[0].id #=> Integer
resp.events[0].previous_event_id #=> Integer
resp.events[0].activity_failed_event_details.error #=> String
resp.events[0].activity_failed_event_details.cause #=> String
resp.events[0].activity_schedule_failed_event_details.error #=> String
resp.events[0].activity_schedule_failed_event_details.cause #=> String
resp.events[0].activity_scheduled_event_details.resource #=> String
resp.events[0].activity_scheduled_event_details.input #=> String
resp.events[0].activity_scheduled_event_details.timeout_in_seconds #=> Integer
resp.events[0].activity_scheduled_event_details.heartbeat_in_seconds #=> Integer
resp.events[0].activity_started_event_details.worker_name #=> String
resp.events[0].activity_succeeded_event_details.output #=> String
resp.events[0].activity_timed_out_event_details.error #=> String
resp.events[0].activity_timed_out_event_details.cause #=> String
resp.events[0].execution_failed_event_details.error #=> String
resp.events[0].execution_failed_event_details.cause #=> String
resp.events[0].execution_started_event_details.input #=> String
resp.events[0].execution_started_event_details.role_arn #=> String
resp.events[0].execution_succeeded_event_details.output #=> String
resp.events[0].execution_aborted_event_details.error #=> String
resp.events[0].execution_aborted_event_details.cause #=> String
resp.events[0].execution_timed_out_event_details.error #=> String
resp.events[0].execution_timed_out_event_details.cause #=> String
resp.events[0].lambda_function_failed_event_details.error #=> String
resp.events[0].lambda_function_failed_event_details.cause #=> String
resp.events[0].lambda_function_schedule_failed_event_details.error #=> String
resp.events[0].lambda_function_schedule_failed_event_details.cause #=> String
resp.events[0].lambda_function_scheduled_event_details.resource #=> String
resp.events[0].lambda_function_scheduled_event_details.input #=> String
resp.events[0].lambda_function_scheduled_event_details.timeout_in_seconds #=> Integer
resp.events[0].lambda_function_start_failed_event_details.error #=> String
resp.events[0].lambda_function_start_failed_event_details.cause #=> String
resp.events[0].lambda_function_succeeded_event_details.output #=> String
resp.events[0].lambda_function_timed_out_event_details.error #=> String
resp.events[0].lambda_function_timed_out_event_details.cause #=> String
resp.events[0].state_entered_event_details.name #=> String
resp.events[0].state_entered_event_details.input #=> String
resp.events[0].state_exited_event_details.name #=> String
resp.events[0].state_exited_event_details.output #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :execution_arn (required, String)

    The Amazon Resource Name (ARN) of the execution.

  • :max_results (Integer)

    The maximum number of results that will be returned per call. nextToken can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

  • :reverse_order (Boolean)

    Lists events in descending order of their timeStamp.

  • :next_token (String)

    If a nextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

    The configured maxResults determines how many results can be returned in a single call.

Returns:

See Also:



528
529
530
531
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 528

def get_execution_history(params = {}, options = {})
  req = build_request(:get_execution_history, params)
  req.send_request(options)
end

#list_activities(params = {}) ⇒ Types::ListActivitiesOutput

Lists the existing activities. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextToken returned by the previous call.

Examples:

Request syntax with placeholder values


resp = client.list_activities({
  max_results: 1,
  next_token: "PageToken",
})

Response structure


resp.activities #=> Array
resp.activities[0].activity_arn #=> String
resp.activities[0].name #=> String
resp.activities[0].creation_date #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results that will be returned per call. nextToken can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

  • :next_token (String)

    If a nextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

    The configured maxResults determines how many results can be returned in a single call.

Returns:

See Also:



578
579
580
581
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 578

def list_activities(params = {}, options = {})
  req = build_request(:list_activities, params)
  req.send_request(options)
end

#list_executions(params = {}) ⇒ Types::ListExecutionsOutput

Lists the executions of a state machine that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextToken returned by the previous call.

Examples:

Request syntax with placeholder values


resp = client.list_executions({
  state_machine_arn: "Arn", # required
  status_filter: "RUNNING", # accepts RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED
  max_results: 1,
  next_token: "PageToken",
})

Response structure


resp.executions #=> Array
resp.executions[0].execution_arn #=> String
resp.executions[0].state_machine_arn #=> String
resp.executions[0].name #=> String
resp.executions[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT", "ABORTED"
resp.executions[0].start_date #=> Time
resp.executions[0].stop_date #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :state_machine_arn (required, String)

    The Amazon Resource Name (ARN) of the state machine whose executions will be listed.

  • :status_filter (String)

    If specified, only list the executions whose current execution status matches the given filter.

  • :max_results (Integer)

    The maximum number of results that will be returned per call. nextToken can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

  • :next_token (String)

    If a nextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

    The configured maxResults determines how many results can be returned in a single call.

Returns:

See Also:



642
643
644
645
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 642

def list_executions(params = {}, options = {})
  req = build_request(:list_executions, params)
  req.send_request(options)
end

#list_state_machines(params = {}) ⇒ Types::ListStateMachinesOutput

Lists the existing state machines. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextToken returned by the previous call.

Examples:

Request syntax with placeholder values


resp = client.list_state_machines({
  max_results: 1,
  next_token: "PageToken",
})

Response structure


resp.state_machines #=> Array
resp.state_machines[0].state_machine_arn #=> String
resp.state_machines[0].name #=> String
resp.state_machines[0].creation_date #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of results that will be returned per call. nextToken can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

  • :next_token (String)

    If a nextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

    The configured maxResults determines how many results can be returned in a single call.

Returns:

See Also:



692
693
694
695
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 692

def list_state_machines(params = {}, options = {})
  req = build_request(:list_state_machines, params)
  req.send_request(options)
end

#send_task_failure(params = {}) ⇒ Struct

Used by workers to report that the task identified by the taskToken failed.

Examples:

Request syntax with placeholder values


resp = client.send_task_failure({
  task_token: "TaskToken", # required
  error: "Error",
  cause: "Cause",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :task_token (required, String)

    The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).

  • :error (String)

    An arbitrary error code that identifies the cause of the failure.

  • :cause (String)

    A more detailed explanation of the cause of the failure.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



725
726
727
728
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 725

def send_task_failure(params = {}, options = {})
  req = build_request(:send_task_failure, params)
  req.send_request(options)
end

#send_task_heartbeat(params = {}) ⇒ Struct

Used by workers to report to the service that the task represented by the specified taskToken is still making progress. This action resets the Heartbeat clock. The Heartbeat threshold is specified in the state machine's Amazon States Language definition. This action does not in itself create an event in the execution history. However, if the task times out, the execution history will contain an ActivityTimedOut event.

The Timeout of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of SendTaskHeartbeat requests received.

This operation is only useful for long-lived tasks to report the liveliness of the task.

Examples:

Request syntax with placeholder values


resp = client.send_task_heartbeat({
  task_token: "TaskToken", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :task_token (required, String)

    The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



766
767
768
769
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 766

def send_task_heartbeat(params = {}, options = {})
  req = build_request(:send_task_heartbeat, params)
  req.send_request(options)
end

#send_task_success(params = {}) ⇒ Struct

Used by workers to report that the task identified by the taskToken completed successfully.

Examples:

Request syntax with placeholder values


resp = client.send_task_success({
  task_token: "TaskToken", # required
  output: "Data", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :task_token (required, String)

    The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).

  • :output (required, String)

    The JSON output of the task.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



795
796
797
798
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 795

def send_task_success(params = {}, options = {})
  req = build_request(:send_task_success, params)
  req.send_request(options)
end

#start_execution(params = {}) ⇒ Types::StartExecutionOutput

Starts a state machine execution.

Examples:

Request syntax with placeholder values


resp = client.start_execution({
  state_machine_arn: "Arn", # required
  name: "Name",
  input: "Data",
})

Response structure


resp.execution_arn #=> String
resp.start_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :state_machine_arn (required, String)

    The Amazon Resource Name (ARN) of the state machine to execute.

  • :name (String)

    The name of the execution. This name must be unique for your AWS account and region.

  • :input (String)

    The JSON input data for the execution.

Returns:

See Also:



834
835
836
837
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 834

def start_execution(params = {}, options = {})
  req = build_request(:start_execution, params)
  req.send_request(options)
end

#stop_execution(params = {}) ⇒ Types::StopExecutionOutput

Stops an execution.

Examples:

Request syntax with placeholder values


resp = client.stop_execution({
  execution_arn: "Arn", # required
  error: "Error",
  cause: "Cause",
})

Response structure


resp.stop_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :execution_arn (required, String)

    The Amazon Resource Name (ARN) of the execution to stop.

  • :error (String)

    An arbitrary error code that identifies the cause of the termination.

  • :cause (String)

    A more detailed explanation of the cause of the termination.

Returns:

See Also:



870
871
872
873
# File 'gems/aws-sdk-states/lib/aws-sdk-states/client.rb', line 870

def stop_execution(params = {}, options = {})
  req = build_request(:stop_execution, params)
  req.send_request(options)
end