/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace SFN
{
/**
* Step Functions Step Functions is a service that lets you
* coordinate the components of distributed applications and microservices using
* visual workflows.
You can use Step Functions to build applications from
* individual components, each of which performs a discrete function, or
* task, allowing you to scale and change applications quickly. Step
* Functions provides a console that helps visualize the components of your
* application as a series of steps. Step Functions automatically triggers and
* tracks each step, and retries steps when there are errors, so your application
* executes predictably and in the right order every time. Step Functions logs the
* state of each step, so you can quickly diagnose and debug any issues.
* Step Functions manages operations and underlying infrastructure to ensure
* your application is available at any scale. You can run tasks on Amazon Web
* Services, your own servers, or any system that has access to Amazon Web
* Services. You can access and use Step Functions using the console, the Amazon
* Web Services SDKs, or an HTTP API. For more information about Step Functions,
* see the Step
* Functions Developer Guide .
*/
class AWS_SFN_API SFNClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef SFNClientConfiguration ClientConfigurationType;
typedef SFNEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
SFNClient(const Aws::SFN::SFNClientConfiguration& clientConfiguration = Aws::SFN::SFNClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
SFNClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::SFN::SFNClientConfiguration& clientConfiguration = Aws::SFN::SFNClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
SFNClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::SFN::SFNClientConfiguration& clientConfiguration = Aws::SFN::SFNClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
SFNClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
SFNClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
SFNClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~SFNClient();
/**
* 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.
This
* operation is eventually consistent. The results are best effort and may not
* reflect very recent updates and changes.
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateActivityOutcome CreateActivity(const Model::CreateActivityRequest& request) const;
/**
* A Callable wrapper for CreateActivity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateActivityOutcomeCallable CreateActivityCallable(const CreateActivityRequestT& request) const
{
return SubmitCallable(&SFNClient::CreateActivity, request);
}
/**
* An Async wrapper for CreateActivity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateActivityAsync(const CreateActivityRequestT& request, const CreateActivityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::CreateActivity, request, handler, context);
}
/**
* 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.
If you set the
* publish
parameter of this API action to true
, it
* publishes version 1
as the first revision of the state machine.
* This operation is eventually consistent. The results are best effort
* and may not reflect very recent updates and changes.
* 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
. The
* check is also based on the publish
and
* versionDescription
parameters. 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateStateMachineOutcome CreateStateMachine(const Model::CreateStateMachineRequest& request) const;
/**
* A Callable wrapper for CreateStateMachine that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateStateMachineOutcomeCallable CreateStateMachineCallable(const CreateStateMachineRequestT& request) const
{
return SubmitCallable(&SFNClient::CreateStateMachine, request);
}
/**
* An Async wrapper for CreateStateMachine that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateStateMachineAsync(const CreateStateMachineRequestT& request, const CreateStateMachineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::CreateStateMachine, request, handler, context);
}
/**
* Creates an alias
* for a state machine that points to one or two versions
* of the same state machine. You can set your application to call
* StartExecution with an alias and update the version the alias uses
* without changing the client's code.
You can also map an alias to split
* StartExecution requests between two versions of a state machine. To do
* this, add a second RoutingConfig
object in the
* routingConfiguration
parameter. You must also specify the
* percentage of execution run requests each version should receive in both
* RoutingConfig
objects. Step Functions randomly chooses which
* version runs a given execution based on the percentage you specify.
To
* create an alias that points to a single version, specify a single
* RoutingConfig
object with a weight
set to 100.
* You can create up to 100 aliases for each state machine. You must delete
* unused aliases using the DeleteStateMachineAlias API action.
* CreateStateMachineAlias
is an idempotent API. Step Functions bases
* the idempotency check on the stateMachineArn
,
* description
, name
, and
* routingConfiguration
parameters. Requests that contain the same
* values for these parameters return a successful idempotent response without
* creating a duplicate resource.
Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::CreateStateMachineAliasOutcome CreateStateMachineAlias(const Model::CreateStateMachineAliasRequest& request) const;
/**
* A Callable wrapper for CreateStateMachineAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateStateMachineAliasOutcomeCallable CreateStateMachineAliasCallable(const CreateStateMachineAliasRequestT& request) const
{
return SubmitCallable(&SFNClient::CreateStateMachineAlias, request);
}
/**
* An Async wrapper for CreateStateMachineAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateStateMachineAliasAsync(const CreateStateMachineAliasRequestT& request, const CreateStateMachineAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::CreateStateMachineAlias, request, handler, context);
}
/**
* Deletes an activity.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteActivityOutcome DeleteActivity(const Model::DeleteActivityRequest& request) const;
/**
* A Callable wrapper for DeleteActivity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteActivityOutcomeCallable DeleteActivityCallable(const DeleteActivityRequestT& request) const
{
return SubmitCallable(&SFNClient::DeleteActivity, request);
}
/**
* An Async wrapper for DeleteActivity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteActivityAsync(const DeleteActivityRequestT& request, const DeleteActivityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DeleteActivity, request, handler, context);
}
/**
* Deletes a state machine. This is an asynchronous operation: It sets the state
* machine's status to DELETING
and begins the deletion process.
* A qualified state machine ARN can either refer to a Distributed Map
* state defined within a state machine, a version ARN, or an alias ARN.
* The following are some examples of qualified and unqualified state machine
* ARNs:
-
The following qualified state machine ARN refers to a
* Distributed Map state with a label mapStateLabel
in a state
* machine named myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
*
If you provide a qualified state machine ARN that refers to a
* Distributed Map state, the request fails with
* ValidationException
.
-
The following
* unqualified state machine ARN refers to a state machine named
* myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine
*
This API action also deletes all versions
* and aliases
* associated with a state machine.
For EXPRESS
state
* machines, the deletion happens eventually (usually in less than a minute).
* Running executions may emit logs after DeleteStateMachine
API is
* called.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteStateMachineOutcome DeleteStateMachine(const Model::DeleteStateMachineRequest& request) const;
/**
* A Callable wrapper for DeleteStateMachine that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteStateMachineOutcomeCallable DeleteStateMachineCallable(const DeleteStateMachineRequestT& request) const
{
return SubmitCallable(&SFNClient::DeleteStateMachine, request);
}
/**
* An Async wrapper for DeleteStateMachine that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteStateMachineAsync(const DeleteStateMachineRequestT& request, const DeleteStateMachineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DeleteStateMachine, request, handler, context);
}
/**
* Deletes a state machine alias.
* After you delete a state machine alias, you can't use it to start executions.
* When you delete a state machine alias, Step Functions doesn't delete the state
* machine versions that alias references.
Related operations:
* See Also:
AWS
* API Reference
*/
virtual Model::DeleteStateMachineAliasOutcome DeleteStateMachineAlias(const Model::DeleteStateMachineAliasRequest& request) const;
/**
* A Callable wrapper for DeleteStateMachineAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteStateMachineAliasOutcomeCallable DeleteStateMachineAliasCallable(const DeleteStateMachineAliasRequestT& request) const
{
return SubmitCallable(&SFNClient::DeleteStateMachineAlias, request);
}
/**
* An Async wrapper for DeleteStateMachineAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteStateMachineAliasAsync(const DeleteStateMachineAliasRequestT& request, const DeleteStateMachineAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DeleteStateMachineAlias, request, handler, context);
}
/**
* Deletes a state machine version.
* After you delete a version, you can't call StartExecution using that
* version's ARN or use the version with a state machine alias.
* Deleting a state machine version won't terminate its in-progress
* executions.
You can't delete a state machine version
* currently referenced by one or more aliases. Before you delete a version, you
* must either delete the aliases or update them to point to another state machine
* version.
Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::DeleteStateMachineVersionOutcome DeleteStateMachineVersion(const Model::DeleteStateMachineVersionRequest& request) const;
/**
* A Callable wrapper for DeleteStateMachineVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteStateMachineVersionOutcomeCallable DeleteStateMachineVersionCallable(const DeleteStateMachineVersionRequestT& request) const
{
return SubmitCallable(&SFNClient::DeleteStateMachineVersion, request);
}
/**
* An Async wrapper for DeleteStateMachineVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteStateMachineVersionAsync(const DeleteStateMachineVersionRequestT& request, const DeleteStateMachineVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DeleteStateMachineVersion, request, handler, context);
}
/**
* Describes an activity.
This operation is eventually consistent.
* The results are best effort and may not reflect very recent updates and
* changes.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeActivityOutcome DescribeActivity(const Model::DescribeActivityRequest& request) const;
/**
* A Callable wrapper for DescribeActivity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeActivityOutcomeCallable DescribeActivityCallable(const DescribeActivityRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeActivity, request);
}
/**
* An Async wrapper for DescribeActivity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeActivityAsync(const DescribeActivityRequestT& request, const DescribeActivityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeActivity, request, handler, context);
}
/**
* Provides 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 Amazon
* Resource Name (ARN) if the execution was dispatched by a Map Run.
If you
* specify a version or alias ARN when you call the StartExecution API
* action, DescribeExecution
returns that ARN.
This
* operation is eventually consistent. The results are best effort and may not
* reflect very recent updates and changes.
Executions of an
* EXPRESS
state machinearen't supported by
* DescribeExecution
unless a Map Run dispatched them.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeExecutionOutcome DescribeExecution(const Model::DescribeExecutionRequest& request) const;
/**
* A Callable wrapper for DescribeExecution that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeExecutionOutcomeCallable DescribeExecutionCallable(const DescribeExecutionRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeExecution, request);
}
/**
* An Async wrapper for DescribeExecution that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeExecutionAsync(const DescribeExecutionRequestT& request, const DescribeExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeExecution, request, handler, context);
}
/**
* Provides information about a Map Run's configuration, progress, and results.
* For more information, see Examining
* Map Run in the Step Functions Developer Guide.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeMapRunOutcome DescribeMapRun(const Model::DescribeMapRunRequest& request) const;
/**
* A Callable wrapper for DescribeMapRun that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeMapRunOutcomeCallable DescribeMapRunCallable(const DescribeMapRunRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeMapRun, request);
}
/**
* An Async wrapper for DescribeMapRun that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeMapRunAsync(const DescribeMapRunRequestT& request, const DescribeMapRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeMapRun, request, handler, context);
}
/**
* Provides information about a state machine's definition, its IAM role Amazon
* Resource Name (ARN), and configuration.
A qualified state machine ARN can
* either refer to a Distributed Map state defined within a state machine, a
* version ARN, or an alias ARN.
The following are some examples of
* qualified and unqualified state machine ARNs:
-
The following
* qualified state machine ARN refers to a Distributed Map state with a
* label mapStateLabel
in a state machine named
* myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
*
If you provide a qualified state machine ARN that refers to a
* Distributed Map state, the request fails with
* ValidationException
.
-
The following
* qualified state machine ARN refers to an alias named PROD
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
If you provide a qualified state machine ARN that refers to a
* version ARN or an alias ARN, the request starts execution for that version or
* alias.
-
The following unqualified state machine ARN
* refers to a state machine named myStateMachine
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
This API action returns the details for a state machine
* version if the stateMachineArn
you specify is a state machine
* version ARN.
This operation is eventually consistent. The results
* are best effort and may not reflect very recent updates and changes.
* See Also:
AWS
* API Reference
*/
virtual Model::DescribeStateMachineOutcome DescribeStateMachine(const Model::DescribeStateMachineRequest& request) const;
/**
* A Callable wrapper for DescribeStateMachine that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeStateMachineOutcomeCallable DescribeStateMachineCallable(const DescribeStateMachineRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeStateMachine, request);
}
/**
* An Async wrapper for DescribeStateMachine that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeStateMachineAsync(const DescribeStateMachineRequestT& request, const DescribeStateMachineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeStateMachine, request, handler, context);
}
/**
* Returns details about a state machine alias.
* Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::DescribeStateMachineAliasOutcome DescribeStateMachineAlias(const Model::DescribeStateMachineAliasRequest& request) const;
/**
* A Callable wrapper for DescribeStateMachineAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeStateMachineAliasOutcomeCallable DescribeStateMachineAliasCallable(const DescribeStateMachineAliasRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeStateMachineAlias, request);
}
/**
* An Async wrapper for DescribeStateMachineAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeStateMachineAliasAsync(const DescribeStateMachineAliasRequestT& request, const DescribeStateMachineAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeStateMachineAlias, request, handler, context);
}
/**
* Provides information about a state machine's definition, its execution role
* ARN, and configuration. If a Map Run dispatched the execution, this action
* returns the Map Run Amazon Resource Name (ARN) in the response. The state
* machine returned is the state machine associated with the Map Run.
* This operation is eventually consistent. The results are best effort and may
* not reflect very recent updates and changes.
This API action is
* not supported by EXPRESS
state machines.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeStateMachineForExecutionOutcome DescribeStateMachineForExecution(const Model::DescribeStateMachineForExecutionRequest& request) const;
/**
* A Callable wrapper for DescribeStateMachineForExecution that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeStateMachineForExecutionOutcomeCallable DescribeStateMachineForExecutionCallable(const DescribeStateMachineForExecutionRequestT& request) const
{
return SubmitCallable(&SFNClient::DescribeStateMachineForExecution, request);
}
/**
* An Async wrapper for DescribeStateMachineForExecution that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeStateMachineForExecutionAsync(const DescribeStateMachineForExecutionRequestT& request, const DescribeStateMachineForExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::DescribeStateMachineForExecution, request, handler, context);
}
/**
* 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.
This API action isn't
* logged in CloudTrail.
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.
See Also:
AWS
* API Reference
*/
virtual Model::GetActivityTaskOutcome GetActivityTask(const Model::GetActivityTaskRequest& request) const;
/**
* A Callable wrapper for GetActivityTask that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetActivityTaskOutcomeCallable GetActivityTaskCallable(const GetActivityTaskRequestT& request) const
{
return SubmitCallable(&SFNClient::GetActivityTask, request);
}
/**
* An Async wrapper for GetActivityTask that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetActivityTaskAsync(const GetActivityTaskRequestT& request, const GetActivityTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::GetActivityTask, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetExecutionHistoryOutcome GetExecutionHistory(const Model::GetExecutionHistoryRequest& request) const;
/**
* A Callable wrapper for GetExecutionHistory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetExecutionHistoryOutcomeCallable GetExecutionHistoryCallable(const GetExecutionHistoryRequestT& request) const
{
return SubmitCallable(&SFNClient::GetExecutionHistory, request);
}
/**
* An Async wrapper for GetExecutionHistory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetExecutionHistoryAsync(const GetExecutionHistoryRequestT& request, const GetExecutionHistoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::GetExecutionHistory, request, handler, context);
}
/**
* 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.
This operation is
* eventually consistent. The results are best effort and may not reflect very
* recent updates and changes.
See Also:
AWS
* API Reference
*/
virtual Model::ListActivitiesOutcome ListActivities(const Model::ListActivitiesRequest& request) const;
/**
* A Callable wrapper for ListActivities that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListActivitiesOutcomeCallable ListActivitiesCallable(const ListActivitiesRequestT& request) const
{
return SubmitCallable(&SFNClient::ListActivities, request);
}
/**
* An Async wrapper for ListActivities that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListActivitiesAsync(const ListActivitiesRequestT& request, const ListActivitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListActivities, request, handler, context);
}
/**
* 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.
You can also provide a state machine alias
* ARN or version
* ARN to list the executions associated with a specific alias or version.
* 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.
* This operation is eventually consistent. The results are best effort
* and may not reflect very recent updates and changes.
This API
* action is not supported by EXPRESS
state machines.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListExecutionsOutcome ListExecutions(const Model::ListExecutionsRequest& request) const;
/**
* A Callable wrapper for ListExecutions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListExecutionsOutcomeCallable ListExecutionsCallable(const ListExecutionsRequestT& request) const
{
return SubmitCallable(&SFNClient::ListExecutions, request);
}
/**
* An Async wrapper for ListExecutions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListExecutionsAsync(const ListExecutionsRequestT& request, const ListExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListExecutions, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListMapRunsOutcome ListMapRuns(const Model::ListMapRunsRequest& request) const;
/**
* A Callable wrapper for ListMapRuns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMapRunsOutcomeCallable ListMapRunsCallable(const ListMapRunsRequestT& request) const
{
return SubmitCallable(&SFNClient::ListMapRuns, request);
}
/**
* An Async wrapper for ListMapRuns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMapRunsAsync(const ListMapRunsRequestT& request, const ListMapRunsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListMapRuns, request, handler, context);
}
/**
* Lists aliases
* for a specified state machine ARN. Results are sorted by time, with the most
* recently created aliases listed first.
To list aliases that reference a
* state machine version,
* you can specify the version ARN in the stateMachineArn
* parameter.
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.
Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::ListStateMachineAliasesOutcome ListStateMachineAliases(const Model::ListStateMachineAliasesRequest& request) const;
/**
* A Callable wrapper for ListStateMachineAliases that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListStateMachineAliasesOutcomeCallable ListStateMachineAliasesCallable(const ListStateMachineAliasesRequestT& request) const
{
return SubmitCallable(&SFNClient::ListStateMachineAliases, request);
}
/**
* An Async wrapper for ListStateMachineAliases that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListStateMachineAliasesAsync(const ListStateMachineAliasesRequestT& request, const ListStateMachineAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListStateMachineAliases, request, handler, context);
}
/**
* Lists versions
* for the specified state machine Amazon Resource Name (ARN).
The results
* are sorted in descending order of the version creation time.
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.
* Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::ListStateMachineVersionsOutcome ListStateMachineVersions(const Model::ListStateMachineVersionsRequest& request) const;
/**
* A Callable wrapper for ListStateMachineVersions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListStateMachineVersionsOutcomeCallable ListStateMachineVersionsCallable(const ListStateMachineVersionsRequestT& request) const
{
return SubmitCallable(&SFNClient::ListStateMachineVersions, request);
}
/**
* An Async wrapper for ListStateMachineVersions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListStateMachineVersionsAsync(const ListStateMachineVersionsRequestT& request, const ListStateMachineVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListStateMachineVersions, request, handler, context);
}
/**
* 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.
This operation
* is eventually consistent. The results are best effort and may not reflect very
* recent updates and changes.
See Also:
AWS
* API Reference
*/
virtual Model::ListStateMachinesOutcome ListStateMachines(const Model::ListStateMachinesRequest& request) const;
/**
* A Callable wrapper for ListStateMachines that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListStateMachinesOutcomeCallable ListStateMachinesCallable(const ListStateMachinesRequestT& request) const
{
return SubmitCallable(&SFNClient::ListStateMachines, request);
}
/**
* An Async wrapper for ListStateMachines that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListStateMachinesAsync(const ListStateMachinesRequestT& request, const ListStateMachinesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListStateMachines, request, handler, context);
}
/**
* List tags for a given resource.
Tags may only contain Unicode letters,
* digits, white space, or these symbols: _ . : / = + -
* @
.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&SFNClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::ListTagsForResource, request, handler, context);
}
/**
* Creates a version
* from the current revision of a state machine. Use versions to create immutable
* snapshots of your state machine. You can start executions from versions either
* directly or with an alias. To create an alias, use
* CreateStateMachineAlias.
You can publish up to 1000 versions for
* each state machine. You must manually delete unused versions using the
* DeleteStateMachineVersion API action.
* PublishStateMachineVersion
is an idempotent API. It doesn't create
* a duplicate state machine version if it already exists for the current revision.
* Step Functions bases PublishStateMachineVersion
's idempotency check
* on the stateMachineArn
, name
, and
* revisionId
parameters. Requests with the same parameters return a
* successful idempotent response. If you don't specify a revisionId
,
* Step Functions checks for a previously published version of the state machine's
* current revision.
Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::PublishStateMachineVersionOutcome PublishStateMachineVersion(const Model::PublishStateMachineVersionRequest& request) const;
/**
* A Callable wrapper for PublishStateMachineVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PublishStateMachineVersionOutcomeCallable PublishStateMachineVersionCallable(const PublishStateMachineVersionRequestT& request) const
{
return SubmitCallable(&SFNClient::PublishStateMachineVersion, request);
}
/**
* An Async wrapper for PublishStateMachineVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PublishStateMachineVersionAsync(const PublishStateMachineVersionRequestT& request, const PublishStateMachineVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::PublishStateMachineVersion, request, handler, context);
}
/**
* Used by activity workers and task states using the callback
* pattern to report that the task identified by the taskToken
* failed.
See Also:
AWS
* API Reference
*/
virtual Model::SendTaskFailureOutcome SendTaskFailure(const Model::SendTaskFailureRequest& request) const;
/**
* A Callable wrapper for SendTaskFailure that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SendTaskFailureOutcomeCallable SendTaskFailureCallable(const SendTaskFailureRequestT& request) const
{
return SubmitCallable(&SFNClient::SendTaskFailure, request);
}
/**
* An Async wrapper for SendTaskFailure that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SendTaskFailureAsync(const SendTaskFailureRequestT& request, const SendTaskFailureResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::SendTaskFailure, request, handler, context);
}
/**
* 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
* pattern.
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.
See Also:
AWS
* API Reference
*/
virtual Model::SendTaskHeartbeatOutcome SendTaskHeartbeat(const Model::SendTaskHeartbeatRequest& request) const;
/**
* A Callable wrapper for SendTaskHeartbeat that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SendTaskHeartbeatOutcomeCallable SendTaskHeartbeatCallable(const SendTaskHeartbeatRequestT& request) const
{
return SubmitCallable(&SFNClient::SendTaskHeartbeat, request);
}
/**
* An Async wrapper for SendTaskHeartbeat that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SendTaskHeartbeatAsync(const SendTaskHeartbeatRequestT& request, const SendTaskHeartbeatResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::SendTaskHeartbeat, request, handler, context);
}
/**
* Used by activity workers and task states using the callback
* pattern to report that the task identified by the taskToken
* completed successfully.
See Also:
AWS
* API Reference
*/
virtual Model::SendTaskSuccessOutcome SendTaskSuccess(const Model::SendTaskSuccessRequest& request) const;
/**
* A Callable wrapper for SendTaskSuccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SendTaskSuccessOutcomeCallable SendTaskSuccessCallable(const SendTaskSuccessRequestT& request) const
{
return SubmitCallable(&SFNClient::SendTaskSuccess, request);
}
/**
* An Async wrapper for SendTaskSuccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SendTaskSuccessAsync(const SendTaskSuccessRequestT& request, const SendTaskSuccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::SendTaskSuccess, request, handler, context);
}
/**
* Starts a state machine execution.
A qualified state machine ARN can
* either refer to a Distributed Map state defined within a state machine, a
* version ARN, or an alias ARN.
The following are some examples of
* qualified and unqualified state machine ARNs:
-
The following
* qualified state machine ARN refers to a Distributed Map state with a
* label mapStateLabel
in a state machine named
* myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
*
If you provide a qualified state machine ARN that refers to a
* Distributed Map state, the request fails with
* ValidationException
.
-
The following
* qualified state machine ARN refers to an alias named PROD
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
If you provide a qualified state machine ARN that refers to a
* version ARN or an alias ARN, the request starts execution for that version or
* alias.
-
The following unqualified state machine ARN
* refers to a state machine named myStateMachine
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
If you start an execution with an unqualified state machine
* ARN, Step Functions uses the latest revision of the state machine for the
* execution.
To start executions of a state machine version,
* call StartExecution
and provide the version ARN or the ARN of an alias
* that points to the version.
StartExecution
is
* idempotent for STANDARD
workflows. For a STANDARD
* workflow, if you call StartExecution
with the same name and input
* as a running execution, the call succeeds and return the same response as the
* original request. If the execution is closed or if the input is different, it
* returns a 400 ExecutionAlreadyExists
error. You can reuse names
* after 90 days.
StartExecution
isn't idempotent for
* EXPRESS
workflows.
See Also:
AWS
* API Reference
*/
virtual Model::StartExecutionOutcome StartExecution(const Model::StartExecutionRequest& request) const;
/**
* A Callable wrapper for StartExecution that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartExecutionOutcomeCallable StartExecutionCallable(const StartExecutionRequestT& request) const
{
return SubmitCallable(&SFNClient::StartExecution, request);
}
/**
* An Async wrapper for StartExecution that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartExecutionAsync(const StartExecutionRequestT& request, const StartExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::StartExecution, request, handler, context);
}
/**
* Starts a Synchronous Express state machine execution.
* StartSyncExecution
is not available for STANDARD
* workflows.
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.
This API action isn't logged in
* CloudTrail.
See Also:
AWS
* API Reference
*/
virtual Model::StartSyncExecutionOutcome StartSyncExecution(const Model::StartSyncExecutionRequest& request) const;
/**
* A Callable wrapper for StartSyncExecution that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartSyncExecutionOutcomeCallable StartSyncExecutionCallable(const StartSyncExecutionRequestT& request) const
{
return SubmitCallable(&SFNClient::StartSyncExecution, request);
}
/**
* An Async wrapper for StartSyncExecution that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartSyncExecutionAsync(const StartSyncExecutionRequestT& request, const StartSyncExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::StartSyncExecution, request, handler, context);
}
/**
* Stops an execution.
This API action is not supported by
* EXPRESS
state machines.
See Also:
AWS
* API Reference
*/
virtual Model::StopExecutionOutcome StopExecution(const Model::StopExecutionRequest& request) const;
/**
* A Callable wrapper for StopExecution that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StopExecutionOutcomeCallable StopExecutionCallable(const StopExecutionRequestT& request) const
{
return SubmitCallable(&SFNClient::StopExecution, request);
}
/**
* An Async wrapper for StopExecution that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StopExecutionAsync(const StopExecutionRequestT& request, const StopExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::StopExecution, request, handler, context);
}
/**
* 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: _ . : / = + - @
.
See
* Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&SFNClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::TagResource, request, handler, context);
}
/**
* Remove a tag from a Step Functions resource
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&SFNClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::UntagResource, request, handler, context);
}
/**
* Updates an in-progress Map Run's configuration to include changes to the
* settings that control maximum concurrency and Map Run failure.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateMapRunOutcome UpdateMapRun(const Model::UpdateMapRunRequest& request) const;
/**
* A Callable wrapper for UpdateMapRun that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMapRunOutcomeCallable UpdateMapRunCallable(const UpdateMapRunRequestT& request) const
{
return SubmitCallable(&SFNClient::UpdateMapRun, request);
}
/**
* An Async wrapper for UpdateMapRun that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMapRunAsync(const UpdateMapRunRequestT& request, const UpdateMapRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::UpdateMapRun, request, handler, context);
}
/**
* 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.
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
.
A qualified
* state machine ARN can either refer to a Distributed Map state defined
* within a state machine, a version ARN, or an alias ARN.
The following are
* some examples of qualified and unqualified state machine ARNs:
-
*
The following qualified state machine ARN refers to a Distributed Map
* state with a label mapStateLabel
in a state machine named
* myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
*
If you provide a qualified state machine ARN that refers to a
* Distributed Map state, the request fails with
* ValidationException
.
-
The following
* qualified state machine ARN refers to an alias named PROD
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
If you provide a qualified state machine ARN that refers to a
* version ARN or an alias ARN, the request starts execution for that version or
* alias.
-
The following unqualified state machine ARN
* refers to a state machine named myStateMachine
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
After you update your state machine, you can set the
* publish
parameter to true
in the same action to
* publish a new version.
* This way, you can opt-in to strict versioning of your state machine.
* Step Functions assigns monotonically increasing integers for state machine
* versions, starting at version number 1.
All
* StartExecution
calls within a few seconds use the updated
* definition
and roleArn
. Executions started immediately
* after you call UpdateStateMachine
may use the previous state
* machine definition
and roleArn
.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateStateMachineOutcome UpdateStateMachine(const Model::UpdateStateMachineRequest& request) const;
/**
* A Callable wrapper for UpdateStateMachine that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateStateMachineOutcomeCallable UpdateStateMachineCallable(const UpdateStateMachineRequestT& request) const
{
return SubmitCallable(&SFNClient::UpdateStateMachine, request);
}
/**
* An Async wrapper for UpdateStateMachine that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateStateMachineAsync(const UpdateStateMachineRequestT& request, const UpdateStateMachineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::UpdateStateMachine, request, handler, context);
}
/**
* Updates the configuration of an existing state machine alias
* by modifying its description
or
* routingConfiguration
.
You must specify at least one of the
* description
or routingConfiguration
parameters to
* update a state machine alias.
* UpdateStateMachineAlias
is an idempotent API. Step Functions bases
* the idempotency check on the stateMachineAliasArn
,
* description
, and routingConfiguration
parameters.
* Requests with the same parameters return an idempotent response.
* This operation is eventually consistent. All StartExecution
* requests made within a few seconds use the latest alias configuration.
* Executions started immediately after calling
* UpdateStateMachineAlias
may use the previous routing
* configuration.
Related operations:
See Also:
AWS
* API Reference
*/
virtual Model::UpdateStateMachineAliasOutcome UpdateStateMachineAlias(const Model::UpdateStateMachineAliasRequest& request) const;
/**
* A Callable wrapper for UpdateStateMachineAlias that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateStateMachineAliasOutcomeCallable UpdateStateMachineAliasCallable(const UpdateStateMachineAliasRequestT& request) const
{
return SubmitCallable(&SFNClient::UpdateStateMachineAlias, request);
}
/**
* An Async wrapper for UpdateStateMachineAlias that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateStateMachineAliasAsync(const UpdateStateMachineAliasRequestT& request, const UpdateStateMachineAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SFNClient::UpdateStateMachineAlias, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const SFNClientConfiguration& clientConfiguration);
SFNClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace SFN
} // namespace Aws