/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.stepfunctions; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.stepfunctions.AWSStepFunctionsClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.stepfunctions.model.*; import com.amazonaws.services.stepfunctions.model.transform.*; /** * Client for accessing AWS SFN. All service calls made using this client are blocking, and will not return until the * service call completes. *
*
* 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 . *
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSStepFunctionsClient extends AmazonWebServiceClient implements AWSStepFunctions { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSStepFunctions.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "states"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final com.amazonaws.services.stepfunctions.AWSStepFunctionsClientConfigurationFactory configFactory = new com.amazonaws.services.stepfunctions.AWSStepFunctionsClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.0") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ActivityDoesNotExist").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ActivityDoesNotExistExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("StateMachineTypeNotSupported").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.StateMachineTypeNotSupportedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidDefinition").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidDefinitionExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidName").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidNameExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidLoggingConfiguration").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidLoggingConfigurationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("StateMachineAlreadyExists").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.StateMachineAlreadyExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ExecutionLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ExecutionLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidArn").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidArnExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("StateMachineDeleting").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.StateMachineDeletingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ActivityWorkerLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ActivityWorkerLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TaskTimedOut").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.TaskTimedOutExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ExecutionAlreadyExists").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ExecutionAlreadyExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("MissingRequiredParameter").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.MissingRequiredParameterExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ExecutionDoesNotExist").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ExecutionDoesNotExistExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("StateMachineLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.StateMachineLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidToken").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidTokenExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TooManyTags").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.TooManyTagsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ConflictExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidOutput").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidOutputExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidTracingConfiguration").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidTracingConfigurationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFound").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ActivityLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ActivityLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidExecutionInput").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.InvalidExecutionInputExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TaskDoesNotExist").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.TaskDoesNotExistExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.ValidationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("StateMachineDoesNotExist").withExceptionUnmarshaller( com.amazonaws.services.stepfunctions.model.transform.StateMachineDoesNotExistExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.stepfunctions.model.AWSStepFunctionsException.class)); /** * Constructs a new client to invoke service methods on AWS SFN. A credentials provider chain will be used that * searches for credentials in this order: ** All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSStepFunctionsClientBuilder#defaultClient()} */ @Deprecated public AWSStepFunctionsClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS SFN. A credentials provider chain will be used that * searches for credentials in this order: *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to AWS SFN (ex: proxy settings, * retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSStepFunctionsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStepFunctionsClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified AWS account credentials. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AWSStepFunctionsClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AWSStepFunctionsClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AWSStepFunctionsClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified AWS account credentials and * client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS SFN (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AWSStepFunctionsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStepFunctionsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStepFunctionsClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified AWS account credentials * provider. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AWSStepFunctionsClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AWSStepFunctionsClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified AWS account credentials provider * and client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS SFN (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AWSStepFunctionsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStepFunctionsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStepFunctionsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS SFN (ex: proxy settings, * retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AWSStepFunctionsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStepFunctionsClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AWSStepFunctionsClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AWSStepFunctionsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AWSStepFunctionsClientBuilder builder() { return AWSStepFunctionsClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSStepFunctionsClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on AWS SFN using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSStepFunctionsClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("states.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/stepfunctions/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/stepfunctions/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* 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.
*
* 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.
*
tracingConfiguration
key does not match, or enabled
has not been set to
* true
or false
.
* @throws StateMachineAlreadyExistsException
* A state machine with the same name but a different definition or role ARN already exists.
* @throws StateMachineDeletingException
* The specified state machine is being deleted.
* @throws StateMachineLimitExceededException
* The maximum number of state machines has been reached. Existing state machines must be deleted before a
* new state machine can be created.
* @throws StateMachineTypeNotSupportedException
* @throws TooManyTagsException
* You've exceeded the number of tags allowed for a resource. See the Limits Topic in the Step
* Functions Developer Guide.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
*
* HTTP Status Code: 409
* @sample AWSStepFunctions.CreateStateMachine
* @see AWS API
* Documentation
*/
@Override
public CreateStateMachineResult createStateMachine(CreateStateMachineRequest request) {
request = beforeClientExecution(request);
return executeCreateStateMachine(request);
}
@SdkInternalApi
final CreateStateMachineResult executeCreateStateMachine(CreateStateMachineRequest createStateMachineRequest) {
ExecutionContext executionContext = createExecutionContext(createStateMachineRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
* To create an alias that points to a single version, specify a single
* You can create up to 100 aliases for each state machine. You must delete unused aliases using the
* DeleteStateMachineAlias API action.
*
*
* Related operations:
* 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.
* RoutingConfig
object with a
* weight
set to 100.
* 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.
*
*
*
* @param createStateMachineAliasRequest
* @return Result of the CreateStateMachineAlias operation returned by the service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws InvalidNameException
* The provided name is not valid.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws StateMachineDeletingException
* The specified state machine is being deleted.
* @throws ResourceNotFoundException
* Could not find the referenced resource.
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
* HTTP Status Code: 409 * @throws ServiceQuotaExceededException * The request would cause a service quota to be exceeded. *
*
* HTTP Status Code: 402
* @sample AWSStepFunctions.CreateStateMachineAlias
* @see AWS
* API Documentation
*/
@Override
public CreateStateMachineAliasResult createStateMachineAlias(CreateStateMachineAliasRequest request) {
request = beforeClientExecution(request);
return executeCreateStateMachineAlias(request);
}
@SdkInternalApi
final CreateStateMachineAliasResult executeCreateStateMachineAlias(CreateStateMachineAliasRequest createStateMachineAliasRequest) {
ExecutionContext executionContext = createExecutionContext(createStateMachineAliasRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Deletes an activity.
*
* Deletes a state machine. This is an asynchronous operation: It sets the state machine's status to
*
* 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
*
*
* If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails
* with
* The following unqualified state machine ARN refers to a state machine named
*
* This API action also deletes all versions and
* aliases
* associated with a state machine.
*
* For
* 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:
* DELETING
and begins the deletion process.
*
*
* mapStateLabel
in a state machine named myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
* ValidationException
.
* myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine
* EXPRESS
state machines, the deletion happens eventually (usually in less than a minute). Running
* executions may emit logs after DeleteStateMachine
API is called.
*
*
*
* @param deleteStateMachineAliasRequest
* @return Result of the DeleteStateMachineAlias operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws ResourceNotFoundException
* Could not find the referenced resource.
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
* HTTP Status Code: 409
* @sample AWSStepFunctions.DeleteStateMachineAlias
* @see AWS
* API Documentation
*/
@Override
public DeleteStateMachineAliasResult deleteStateMachineAlias(DeleteStateMachineAliasRequest request) {
request = beforeClientExecution(request);
return executeDeleteStateMachineAlias(request);
}
@SdkInternalApi
final DeleteStateMachineAliasResult executeDeleteStateMachineAlias(DeleteStateMachineAliasRequest deleteStateMachineAliasRequest) {
ExecutionContext executionContext = createExecutionContext(deleteStateMachineAliasRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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:
*
*
*
* @param deleteStateMachineVersionRequest
* @return Result of the DeleteStateMachineVersion operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
* HTTP Status Code: 409
* @sample AWSStepFunctions.DeleteStateMachineVersion
* @see AWS API Documentation
*/
@Override
public DeleteStateMachineVersionResult deleteStateMachineVersion(DeleteStateMachineVersionRequest request) {
request = beforeClientExecution(request);
return executeDeleteStateMachineVersion(request);
}
@SdkInternalApi
final DeleteStateMachineVersionResult executeDeleteStateMachineVersion(DeleteStateMachineVersionRequest deleteStateMachineVersionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteStateMachineVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Describes an activity.
*
* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
* changes.
*
* 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,
*
* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
* changes.
*
* Executions of an
* Provides information about a Map Run's configuration, progress, and results. For more information, see Examining Map Run
* in the Step Functions Developer Guide.
*
* 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
*
*
* If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails
* with
* The following qualified state machine ARN refers to an alias named
*
* 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
*
* This API action returns the details for a state machine version if the
* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
* changes.
*
* Returns details about a state machine alias.
*
* Related operations:
*
* 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
* 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
* 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
* Returns the history of the specified execution as a list of events. By default, the results are returned in
* ascending order of the
* If
* This API action is not supported by
* Lists the existing activities.
*
* If
* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
* changes.
*
* 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
* 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
* 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
* 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
* If
* Related operations:
*
* Lists versions for
* the specified state machine Amazon Resource Name (ARN).
*
* The results are sorted in descending order of the version creation time.
*
* If
* Related operations:
*
* Lists the existing state machines.
*
* If
* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and
* changes.
*
* List tags for a given resource.
*
* Tags may only contain Unicode letters, digits, white space, or these symbols:
* 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.
*
*
* Related operations:
* DescribeExecution
returns that ARN.
* EXPRESS
state machinearen't supported by DescribeExecution
unless a
* Map Run dispatched them.
*
*
* mapStateLabel
in a state machine named myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
* ValidationException
.
* PROD
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
* myStateMachine
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
* stateMachineArn
you specify
* is a state machine version ARN.
*
*
*
* @param describeStateMachineAliasRequest
* @return Result of the DescribeStateMachineAlias operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws ResourceNotFoundException
* Could not find the referenced resource.
* @sample AWSStepFunctions.DescribeStateMachineAlias
* @see AWS API Documentation
*/
@Override
public DescribeStateMachineAliasResult describeStateMachineAlias(DescribeStateMachineAliasRequest request) {
request = beforeClientExecution(request);
return executeDescribeStateMachineAlias(request);
}
@SdkInternalApi
final DescribeStateMachineAliasResult executeDescribeStateMachineAlias(DescribeStateMachineAliasRequest describeStateMachineAliasRequest) {
ExecutionContext executionContext = createExecutionContext(describeStateMachineAliasRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestEXPRESS
state machines.
* taskToken
with a null string.
* GetActivityTask
can cause latency in some implementations. See Avoid Latency When Polling
* for Activity Tasks in the Step Functions Developer Guide.
* timeStamp
of the events. Use the reverseOrder
parameter to get
* the latest events first.
* 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.
* EXPRESS
state machines.
* 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.
* 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.
* EXPRESS
state machines.
* DescribeMapRun
to obtain more information, if needed.
* stateMachineArn
parameter.
* 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.
*
*
*
* @param listStateMachineAliasesRequest
* @return Result of the ListStateMachineAliases operation returned by the service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws InvalidTokenException
* The provided token is not valid.
* @throws ResourceNotFoundException
* Could not find the referenced resource.
* @throws StateMachineDoesNotExistException
* The specified state machine does not exist.
* @throws StateMachineDeletingException
* The specified state machine is being deleted.
* @sample AWSStepFunctions.ListStateMachineAliases
* @see AWS
* API Documentation
*/
@Override
public ListStateMachineAliasesResult listStateMachineAliases(ListStateMachineAliasesRequest request) {
request = beforeClientExecution(request);
return executeListStateMachineAliases(request);
}
@SdkInternalApi
final ListStateMachineAliasesResult executeListStateMachineAliases(ListStateMachineAliasesRequest listStateMachineAliasesRequest) {
ExecutionContext executionContext = createExecutionContext(listStateMachineAliasesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestnextToken
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.
*
*
*
* @param listStateMachineVersionsRequest
* @return Result of the ListStateMachineVersions operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws InvalidTokenException
* The provided token is not valid.
* @sample AWSStepFunctions.ListStateMachineVersions
* @see AWS API Documentation
*/
@Override
public ListStateMachineVersionsResult listStateMachineVersions(ListStateMachineVersionsRequest request) {
request = beforeClientExecution(request);
return executeListStateMachineVersions(request);
}
@SdkInternalApi
final ListStateMachineVersionsResult executeListStateMachineVersions(ListStateMachineVersionsRequest listStateMachineVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(listStateMachineVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestnextToken
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.
* _ . : / = + - @
.
* 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.
*
*
*
* @param publishStateMachineVersionRequest
* @return Result of the PublishStateMachineVersion operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws StateMachineDeletingException
* The specified state machine is being deleted.
* @throws StateMachineDoesNotExistException
* The specified state machine does not exist.
* @throws ServiceQuotaExceededException
* The request would cause a service quota to be exceeded.
* HTTP Status Code: 402
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
*
* HTTP Status Code: 409
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @sample AWSStepFunctions.PublishStateMachineVersion
* @see AWS API Documentation
*/
@Override
public PublishStateMachineVersionResult publishStateMachineVersion(PublishStateMachineVersionRequest request) {
request = beforeClientExecution(request);
return executePublishStateMachineVersion(request);
}
@SdkInternalApi
final PublishStateMachineVersionResult executePublishStateMachineVersion(PublishStateMachineVersionRequest publishStateMachineVersionRequest) {
ExecutionContext executionContext = createExecutionContext(publishStateMachineVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Used by activity workers and task states using the callback pattern to report that the task identified by the
* Used by activity workers and task states using the callback pattern to report to Step Functions that the task represented by the specified
*
* The
* Used by activity workers and task states using the callback pattern to report that the task identified by the
* 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
*
*
* If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails
* with
* The following qualified state machine ARN refers to an alias named
*
* 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
*
* 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
*
*
* taskToken
failed.
* 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.
* 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.
* taskToken
completed successfully.
*
*
* mapStateLabel
in a state machine named myStateMachine
.
* arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
* ValidationException
.
* PROD
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
* myStateMachine
.
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
* 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.
* name
as another execution (but a different input
* ).
* Executions with the same name
and input
are considered idempotent.
*
* 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. *
** Stops an execution. *
*
* This API action is not supported by EXPRESS
state machines.
*
* 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: _ . : / = + - @
.
*
* Remove a tag from a Step Functions resource *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is not valid. * @throws ResourceNotFoundException * Could not find the referenced resource. * @sample AWSStepFunctions.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates an in-progress Map Run's configuration to include changes to the settings that control maximum * concurrency and Map Run failure. *
* * @param updateMapRunRequest * @return Result of the UpdateMapRun operation returned by the service. * @throws ResourceNotFoundException * Could not find the referenced resource. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is not valid. * @throws ValidationException * The input does not satisfy the constraints specified by an Amazon Web Services service. * @sample AWSStepFunctions.UpdateMapRun * @see AWS API * Documentation */ @Override public UpdateMapRunResult updateMapRun(UpdateMapRunRequest request) { request = beforeClientExecution(request); return executeUpdateMapRun(request); } @SdkInternalApi final UpdateMapRunResult executeUpdateMapRun(UpdateMapRunRequest updateMapRunRequest) { ExecutionContext executionContext = createExecutionContext(updateMapRunRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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
.
*
tracingConfiguration
key does not match, or enabled
has not been set to
* true
or false
.
* @throws MissingRequiredParameterException
* Request is missing a required parameter. This error occurs if both definition
and
* roleArn
are not specified.
* @throws StateMachineDeletingException
* The specified state machine is being deleted.
* @throws StateMachineDoesNotExistException
* The specified state machine does not exist.
* @throws ServiceQuotaExceededException
* The request would cause a service quota to be exceeded.
*
* HTTP Status Code: 402
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
*
* HTTP Status Code: 409
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @sample AWSStepFunctions.UpdateStateMachine
* @see AWS API
* Documentation
*/
@Override
public UpdateStateMachineResult updateStateMachine(UpdateStateMachineRequest request) {
request = beforeClientExecution(request);
return executeUpdateStateMachine(request);
}
@SdkInternalApi
final UpdateStateMachineResult executeUpdateStateMachine(UpdateStateMachineRequest updateStateMachineRequest) {
ExecutionContext executionContext = createExecutionContext(updateStateMachineRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Updates the configuration of an existing state machine alias by
* modifying its
* You must specify at least one of the
*
* This operation is eventually consistent. All StartExecution requests made within a few seconds use the
* latest alias configuration. Executions started immediately after calling
* Related operations:
* description
or routingConfiguration
.
* 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.
* UpdateStateMachineAlias
may
* use the previous routing configuration.
*
*
*
* @param updateStateMachineAliasRequest
* @return Result of the UpdateStateMachineAlias operation returned by the service.
* @throws ValidationException
* The input does not satisfy the constraints specified by an Amazon Web Services service.
* @throws InvalidArnException
* The provided Amazon Resource Name (ARN) is not valid.
* @throws ResourceNotFoundException
* Could not find the referenced resource.
* @throws ConflictException
* Updating or deleting a resource can cause an inconsistent state. This error occurs when there're
* concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or
* UpdateStateMachine with the publish
parameter set to true
.
* HTTP Status Code: 409
* @sample AWSStepFunctions.UpdateStateMachineAlias
* @see AWS
* API Documentation
*/
@Override
public UpdateStateMachineAliasResult updateStateMachineAlias(UpdateStateMachineAliasRequest request) {
request = beforeClientExecution(request);
return executeUpdateStateMachineAlias(request);
}
@SdkInternalApi
final UpdateStateMachineAliasResult executeUpdateStateMachineAlias(UpdateStateMachineAliasRequest updateStateMachineAliasRequest) {
ExecutionContext executionContext = createExecutionContext(updateStateMachineAliasRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private