Class: Aws::States::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::States::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-states/client.rb
Overview
An API client for States. To construct a client, you need to configure a `:region` and `:credentials`.
client = Aws::States::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#create_activity(params = {}) ⇒ Types::CreateActivityOutput
Creates an activity.
-
#create_state_machine(params = {}) ⇒ Types::CreateStateMachineOutput
Creates a state machine.
-
#delete_activity(params = {}) ⇒ Struct
Deletes an activity.
-
#delete_state_machine(params = {}) ⇒ Struct
Deletes a state machine.
-
#describe_activity(params = {}) ⇒ Types::DescribeActivityOutput
Describes an activity.
-
#describe_execution(params = {}) ⇒ Types::DescribeExecutionOutput
Provides all information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata.
-
#describe_map_run(params = {}) ⇒ Types::DescribeMapRunOutput
Provides information about a Map Run's configuration, progress, and results.
-
#describe_state_machine(params = {}) ⇒ Types::DescribeStateMachineOutput
Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.
-
#describe_state_machine_for_execution(params = {}) ⇒ Types::DescribeStateMachineForExecutionOutput
Provides information about a state machine's definition, its execution role ARN, and configuration.
-
#get_activity_task(params = {}) ⇒ Types::GetActivityTaskOutput
Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine.
-
#get_execution_history(params = {}) ⇒ Types::GetExecutionHistoryOutput
Returns the history of the specified execution as a list of events.
-
#list_activities(params = {}) ⇒ Types::ListActivitiesOutput
Lists the existing activities.
-
#list_executions(params = {}) ⇒ Types::ListExecutionsOutput
Lists all executions of a state machine or a Map Run.
-
#list_map_runs(params = {}) ⇒ Types::ListMapRunsOutput
Lists all Map Runs that were started by a given state machine execution.
-
#list_state_machines(params = {}) ⇒ Types::ListStateMachinesOutput
Lists the existing state machines.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceOutput
List tags for a given resource.
-
#send_task_failure(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report that the task identified by the `taskToken` failed.
-
#send_task_heartbeat(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report to Step Functions that the task represented by the specified `taskToken` is still making progress.
-
#send_task_success(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report that the task identified by the `taskToken` completed successfully.
-
#start_execution(params = {}) ⇒ Types::StartExecutionOutput
Starts a state machine execution.
-
#start_sync_execution(params = {}) ⇒ Types::StartSyncExecutionOutput
Starts a Synchronous Express state machine execution.
-
#stop_execution(params = {}) ⇒ Types::StopExecutionOutput
Stops an execution.
-
#tag_resource(params = {}) ⇒ Struct
Add a tag to a Step Functions resource.
-
#untag_resource(params = {}) ⇒ Struct
Remove a tag from a Step Functions resource.
-
#update_map_run(params = {}) ⇒ Struct
Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.
-
#update_state_machine(params = {}) ⇒ Types::UpdateStateMachineOutput
Updates an existing state machine by modifying its `definition`, `roleArn`, or `loggingConfiguration`.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
375 376 377 |
# File 'lib/aws-sdk-states/client.rb', line 375 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2088 2089 2090 |
# File 'lib/aws-sdk-states/client.rb', line 2088 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2091 2092 2093 |
# File 'lib/aws-sdk-states/client.rb', line 2091 def errors_module Errors end |
Instance Method Details
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 |
# File 'lib/aws-sdk-states/client.rb', line 2066 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-states' context[:gem_version] = '1.52.0' Seahorse::Client::Request.new(handlers, context) end |
#create_activity(params = {}) ⇒ Types::CreateActivityOutput
Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to Step Functions. Activities must poll Step Functions using the `GetActivityTask` API action and respond using `SendTask*` API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
<note markdown=“1”> `CreateActivity` is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. `CreateActivity`'s idempotency check is based on the activity `name`. If a following request has different `tags` values, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, `tags` will not be updated, even if they are different.
</note>
470 471 472 473 |
# File 'lib/aws-sdk-states/client.rb', line 470 def create_activity(params = {}, = {}) req = build_request(:create_activity, params) req.send_request() end |
#create_state_machine(params = {}) ⇒ Types::CreateStateMachineOutput
Creates a state machine. A state machine consists of a collection of states that can do work (`Task` states), determine to which states to transition next (`Choice` states), stop an execution with an error (`Fail` states), and so on. State machines are specified using a JSON-based, structured language. For more information, see [Amazon States Language] in the Step Functions User Guide.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
<note markdown=“1”> `CreateStateMachine` is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. `CreateStateMachine`'s idempotency check is based on the state machine `name`, `definition`, `type`, `LoggingConfiguration` and `TracingConfiguration`. If a following request has a different `roleArn` or `tags`, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, `roleArn` and `tags` will not be updated, even if they are different.
</note>
[1]: docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html
611 612 613 614 |
# File 'lib/aws-sdk-states/client.rb', line 611 def create_state_machine(params = {}, = {}) req = build_request(:create_state_machine, params) req.send_request() end |
#delete_activity(params = {}) ⇒ Struct
Deletes an activity.
633 634 635 636 |
# File 'lib/aws-sdk-states/client.rb', line 633 def delete_activity(params = {}, = {}) req = build_request(:delete_activity, params) req.send_request() 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 deletion process.
If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.
A qualified state machine ARN refers to a *Distributed Map state* defined within a state machine. For example, the qualified state machine ARN `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel` refers to a *Distributed Map state* with a label `mapStateLabel` in the state machine named `stateMachineName`.
<note markdown=“1”> For `EXPRESS` state machines, the deletion will happen eventually (usually less than a minute). Running executions may emit logs after `DeleteStateMachine` API is called.
</note>
673 674 675 676 |
# File 'lib/aws-sdk-states/client.rb', line 673 def delete_state_machine(params = {}, = {}) req = build_request(:delete_state_machine, params) req.send_request() end |
#describe_activity(params = {}) ⇒ Types::DescribeActivityOutput
Describes an activity.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
710 711 712 713 |
# File 'lib/aws-sdk-states/client.rb', line 710 def describe_activity(params = {}, = {}) req = build_request(:describe_activity, params) req.send_request() end |
#describe_execution(params = {}) ⇒ Types::DescribeExecutionOutput
Provides all information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata. Use this API action to return the Map Run ARN if the execution was dispatched by a Map Run.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
This API action is not supported by `EXPRESS` state machine executions unless they were dispatched by a Map Run.
775 776 777 778 |
# File 'lib/aws-sdk-states/client.rb', line 775 def describe_execution(params = {}, = {}) req = build_request(:describe_execution, params) req.send_request() end |
#describe_map_run(params = {}) ⇒ Types::DescribeMapRunOutput
Provides information about a Map Run's configuration, progress, and results. For more information, see [Examining Map Run] in the *Step Functions Developer Guide*.
[1]: docs.aws.amazon.com/step-functions/latest/dg/concepts-examine-map-run.html
841 842 843 844 |
# File 'lib/aws-sdk-states/client.rb', line 841 def describe_map_run(params = {}, = {}) req = build_request(:describe_map_run, params) req.send_request() end |
#describe_state_machine(params = {}) ⇒ Types::DescribeStateMachineOutput
Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration. If the state machine ARN is a qualified state machine ARN, the response returned includes the `Map` state's label.
A qualified state machine ARN refers to a *Distributed Map state* defined within a state machine. For example, the qualified state machine ARN `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel` refers to a *Distributed Map state* with a label `mapStateLabel` in the state machine named `stateMachineName`.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
905 906 907 908 |
# File 'lib/aws-sdk-states/client.rb', line 905 def describe_state_machine(params = {}, = {}) req = build_request(:describe_state_machine, params) req.send_request() end |
#describe_state_machine_for_execution(params = {}) ⇒ Types::DescribeStateMachineForExecutionOutput
Provides information about a state machine's definition, its execution role ARN, and configuration. If an execution was dispatched by a Map Run, the Map Run is returned in the response. Additionally, the state machine returned will be the state machine associated with the Map Run.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
This API action is not supported by `EXPRESS` state machines.
964 965 966 967 |
# File 'lib/aws-sdk-states/client.rb', line 964 def describe_state_machine_for_execution(params = {}, = {}) req = build_request(:describe_state_machine_for_execution, params) req.send_request() end |
#get_activity_task(params = {}) ⇒ Types::GetActivityTaskOutput
Used by workers to retrieve a task (with the specified activity ARN) which has been 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 returns a `taskToken` with a null string.
<note markdown=“1”> This API action isn't logged in CloudTrail.
</note>
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).
Polling with `GetActivityTask` can cause latency in some
implementations. See [Avoid Latency When Polling for Activity Tasks] in the Step Functions Developer Guide.
[1]: docs.aws.amazon.com/step-functions/latest/dg/bp-activity-pollers.html
1024 1025 1026 1027 |
# File 'lib/aws-sdk-states/client.rb', line 1024 def get_activity_task(params = {}, = {}) req = build_request(:get_activity_task, params) req.send_request() 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.
If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken* error.
This API action is not supported by `EXPRESS` state machines.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1190 1191 1192 1193 |
# File 'lib/aws-sdk-states/client.rb', line 1190 def get_execution_history(params = {}, = {}) req = build_request(:get_execution_history, params) req.send_request() end |
#list_activities(params = {}) ⇒ Types::ListActivitiesOutput
Lists the existing activities.
If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken* error.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1251 1252 1253 1254 |
# File 'lib/aws-sdk-states/client.rb', line 1251 def list_activities(params = {}, = {}) req = build_request(:list_activities, params) req.send_request() end |
#list_executions(params = {}) ⇒ Types::ListExecutionsOutput
Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN.
Results are sorted by time, with the most recent execution first.
If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken* error.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
This API action is not supported by `EXPRESS` state machines.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1352 1353 1354 1355 |
# File 'lib/aws-sdk-states/client.rb', line 1352 def list_executions(params = {}, = {}) req = build_request(:list_executions, params) req.send_request() end |
#list_map_runs(params = {}) ⇒ Types::ListMapRunsOutput
Lists all Map Runs that were started by a given state machine execution. Use this API action to obtain Map Run ARNs, and then call `DescribeMapRun` to obtain more information, if needed.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1410 1411 1412 1413 |
# File 'lib/aws-sdk-states/client.rb', line 1410 def list_map_runs(params = {}, = {}) req = build_request(:list_map_runs, params) req.send_request() end |
#list_state_machines(params = {}) ⇒ Types::ListStateMachinesOutput
Lists the existing state machines.
If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken* error.
<note markdown=“1”> This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
</note>
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1472 1473 1474 1475 |
# File 'lib/aws-sdk-states/client.rb', line 1472 def list_state_machines(params = {}, = {}) req = build_request(:list_state_machines, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceOutput
List tags for a given resource.
Tags may only contain Unicode letters, digits, white space, or these symbols: `_ . : / = + - @`.
1506 1507 1508 1509 |
# File 'lib/aws-sdk-states/client.rb', line 1506 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#send_task_failure(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report that the task identified by the `taskToken` failed.
[1]: docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token
1548 1549 1550 1551 |
# File 'lib/aws-sdk-states/client.rb', line 1548 def send_task_failure(params = {}, = {}) req = build_request(:send_task_failure, params) req.send_request() end |
#send_task_heartbeat(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report to Step Functions 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 (`HeartbeatSeconds`). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an `ActivityTimedOut` entry for activities, or a `TaskTimedOut` entry for for tasks using the [job run] or
- callback][1
-
pattern.
<note markdown=“1”> 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. Use `HeartbeatSeconds` to configure the timeout interval for heartbeats.
</note>
[1]: docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token [2]: docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-sync
1598 1599 1600 1601 |
# File 'lib/aws-sdk-states/client.rb', line 1598 def send_task_heartbeat(params = {}, = {}) req = build_request(:send_task_heartbeat, params) req.send_request() end |
#send_task_success(params = {}) ⇒ Struct
Used by activity workers and task states using the [callback] pattern to report that the task identified by the `taskToken` completed successfully.
[1]: docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token
1638 1639 1640 1641 |
# File 'lib/aws-sdk-states/client.rb', line 1638 def send_task_success(params = {}, = {}) req = build_request(:send_task_success, params) req.send_request() end |
#start_execution(params = {}) ⇒ Types::StartExecutionOutput
Starts a state machine execution. If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.
A qualified state machine ARN refers to a *Distributed Map state* defined within a state machine. For example, the qualified state machine ARN `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel` refers to a *Distributed Map state* with a label `mapStateLabel` in the state machine named `stateMachineName`.
<note markdown=“1”> `StartExecution` is idempotent for `STANDARD` workflows. For a `STANDARD` workflow, if `StartExecution` is called with the same name and input as a running execution, the call will succeed and return the same response as the original request. If the execution is closed or if the input is different, it will return a `400 ExecutionAlreadyExists` error. Names can be reused after 90 days.
`StartExecution` is not idempotent for `EXPRESS` workflows.
</note>
1734 1735 1736 1737 |
# File 'lib/aws-sdk-states/client.rb', line 1734 def start_execution(params = {}, = {}) req = build_request(:start_execution, params) req.send_request() end |
#start_sync_execution(params = {}) ⇒ Types::StartSyncExecutionOutput
Starts a Synchronous Express state machine execution. `StartSyncExecution` is not available for `STANDARD` workflows.
<note markdown=“1”> `StartSyncExecution` will return a `200 OK` response, even if your execution fails, because the status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your execution from running, such as permissions errors, limit errors, or issues with your state machine code and configuration.
</note>
<note markdown=“1”> This API action isn't logged in CloudTrail.
</note>
1826 1827 1828 1829 |
# File 'lib/aws-sdk-states/client.rb', line 1826 def start_sync_execution(params = {}, = {}) req = build_request(:start_sync_execution, params) req.send_request() end |
#stop_execution(params = {}) ⇒ Types::StopExecutionOutput
Stops an execution.
This API action is not supported by `EXPRESS` state machines.
1864 1865 1866 1867 |
# File 'lib/aws-sdk-states/client.rb', line 1864 def stop_execution(params = {}, = {}) req = build_request(:stop_execution, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Add a tag to a Step Functions resource.
An array of key-value pairs. For more information, see [Using Cost Allocation Tags] in the *Amazon Web Services Billing and Cost Management User Guide*, and [Controlling Access Using IAM Tags].
Tags may only contain Unicode letters, digits, white space, or these symbols: `_ . : / = + - @`.
[1]: docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html [2]: docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html
1911 1912 1913 1914 |
# File 'lib/aws-sdk-states/client.rb', line 1911 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Remove a tag from a Step Functions resource
1938 1939 1940 1941 |
# File 'lib/aws-sdk-states/client.rb', line 1938 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_map_run(params = {}) ⇒ Struct
Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.
1974 1975 1976 1977 |
# File 'lib/aws-sdk-states/client.rb', line 1974 def update_map_run(params = {}, = {}) req = build_request(:update_map_run, params) req.send_request() end |
#update_state_machine(params = {}) ⇒ Types::UpdateStateMachineOutput
Updates an existing state machine by modifying its `definition`, `roleArn`, or `loggingConfiguration`. Running executions will continue to use the previous `definition` and `roleArn`. You must include at least one of `definition` or `roleArn` or you will receive a `MissingRequiredParameter` error.
If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.
A qualified state machine ARN refers to a *Distributed Map state* defined within a state machine. For example, the qualified state machine ARN `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel` refers to a *Distributed Map state* with a label `mapStateLabel` in the state machine named `stateMachineName`.
<note markdown=“1”> All `StartExecution` calls within a few seconds will use the updated `definition` and `roleArn`. Executions started immediately after calling `UpdateStateMachine` may use the previous state machine `definition` and `roleArn`.
</note>
2057 2058 2059 2060 |
# File 'lib/aws-sdk-states/client.rb', line 2057 def update_state_machine(params = {}, = {}) req = build_request(:update_state_machine, params) req.send_request() end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2081 2082 2083 |
# File 'lib/aws-sdk-states/client.rb', line 2081 def waiter_names [] end |