All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.stepfunctions.AWSStepFunctions Maven / Gradle / Ivy

/*
 * Copyright 2015-2020 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 javax.annotation.Generated;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.stepfunctions.model.*;

/**
 * Interface for accessing AWS SFN.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.stepfunctions.AbstractAWSStepFunctions} instead. *

*

* AWS Step Functions *

* AWS 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 AWS, your own servers, or any system that has access to AWS. You can access and use Step * Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide . *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSStepFunctions { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "states"; /** * Overrides the default endpoint for this client ("states.us-east-1.amazonaws.com"). Callers can use this method to * control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "states.us-east-1.amazonaws.com") or a full URL, including the * protocol (ex: "states.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from * this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "states.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: * "states.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AWSStepFunctions#setEndpoint(String)}, sets the regional endpoint for this client's * service calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

* Creates an activity. An activity is a task that you write in any programming language and host on any machine * that has access to AWS 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. *

*
* * @param createActivityRequest * @return Result of the CreateActivity operation returned by the service. * @throws ActivityLimitExceededException * The maximum number of activities has been reached. Existing activities must be deleted before a new * activity can be created. * @throws InvalidNameException * The provided name is invalid. * @throws TooManyTagsException * You've exceeded the number of tags allowed for a resource. See the Limits Topic in the AWS Step * Functions Developer Guide. * @sample AWSStepFunctions.CreateActivity * @see AWS API * Documentation */ CreateActivityResult createActivity(CreateActivityRequest createActivityRequest); /** *

* 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 AWS Step Functions User Guide. *

* *

* 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, and LoggingConfiguration. 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. *

*
* * @param createStateMachineRequest * @return Result of the CreateStateMachine operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws InvalidDefinitionException * The provided Amazon States Language definition is invalid. * @throws InvalidNameException * The provided name is invalid. * @throws InvalidLoggingConfigurationException * @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 AWS Step * Functions Developer Guide. * @sample AWSStepFunctions.CreateStateMachine * @see AWS API * Documentation */ CreateStateMachineResult createStateMachine(CreateStateMachineRequest createStateMachineRequest); /** *

* Deletes an activity. *

* * @param deleteActivityRequest * @return Result of the DeleteActivity operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.DeleteActivity * @see AWS API * Documentation */ DeleteActivityResult deleteActivity(DeleteActivityRequest deleteActivityRequest); /** *

* Deletes a state machine. This is an asynchronous operation: It sets the state machine's status to * DELETING and begins the deletion process. *

* *

* For EXPRESSstate machines, the deletion will happen eventually (usually less than a minute). Running * executions may emit logs after DeleteStateMachine API is called. *

*
* * @param deleteStateMachineRequest * @return Result of the DeleteStateMachine operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.DeleteStateMachine * @see AWS API * Documentation */ DeleteStateMachineResult deleteStateMachine(DeleteStateMachineRequest deleteStateMachineRequest); /** *

* Describes an activity. *

* *

* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and * changes. *

*
* * @param describeActivityRequest * @return Result of the DescribeActivity operation returned by the service. * @throws ActivityDoesNotExistException * The specified activity does not exist. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.DescribeActivity * @see AWS API * Documentation */ DescribeActivityResult describeActivity(DescribeActivityRequest describeActivityRequest); /** *

* Describes an execution. *

* *

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

* * @param describeExecutionRequest * @return Result of the DescribeExecution operation returned by the service. * @throws ExecutionDoesNotExistException * The specified execution does not exist. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.DescribeExecution * @see AWS API * Documentation */ DescribeExecutionResult describeExecution(DescribeExecutionRequest describeExecutionRequest); /** *

* Describes a state machine. *

* *

* This operation is eventually consistent. The results are best effort and may not reflect very recent updates and * changes. *

*
* * @param describeStateMachineRequest * @return Result of the DescribeStateMachine operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws StateMachineDoesNotExistException * The specified state machine does not exist. * @sample AWSStepFunctions.DescribeStateMachine * @see AWS * API Documentation */ DescribeStateMachineResult describeStateMachine(DescribeStateMachineRequest describeStateMachineRequest); /** *

* Describes the state machine associated with a specific execution. *

* *

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

* * @param describeStateMachineForExecutionRequest * @return Result of the DescribeStateMachineForExecution operation returned by the service. * @throws ExecutionDoesNotExistException * The specified execution does not exist. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.DescribeStateMachineForExecution * @see AWS API Documentation */ DescribeStateMachineForExecutionResult describeStateMachineForExecution(DescribeStateMachineForExecutionRequest describeStateMachineForExecutionRequest); /** *

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

* *

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

*
* * @param getActivityTaskRequest * @return Result of the GetActivityTask operation returned by the service. * @throws ActivityDoesNotExistException * The specified activity does not exist. * @throws ActivityWorkerLimitExceededException * The maximum number of workers concurrently polling for activity tasks has been reached. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.GetActivityTask * @see AWS API * Documentation */ GetActivityTaskResult getActivityTask(GetActivityTaskRequest getActivityTaskRequest); /** *

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

* * @param getExecutionHistoryRequest * @return Result of the GetExecutionHistory operation returned by the service. * @throws ExecutionDoesNotExistException * The specified execution does not exist. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws InvalidTokenException * The provided token is invalid. * @sample AWSStepFunctions.GetExecutionHistory * @see AWS API * Documentation */ GetExecutionHistoryResult getExecutionHistory(GetExecutionHistoryRequest getExecutionHistoryRequest); /** *

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

*
* * @param listActivitiesRequest * @return Result of the ListActivities operation returned by the service. * @throws InvalidTokenException * The provided token is invalid. * @sample AWSStepFunctions.ListActivities * @see AWS API * Documentation */ ListActivitiesResult listActivities(ListActivitiesRequest listActivitiesRequest); /** *

* Lists the executions of a state machine that meet the filtering criteria. 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. *

* * @param listExecutionsRequest * @return Result of the ListExecutions operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws InvalidTokenException * The provided token is invalid. * @throws StateMachineDoesNotExistException * The specified state machine does not exist. * @throws StateMachineTypeNotSupportedException * @sample AWSStepFunctions.ListExecutions * @see AWS API * Documentation */ ListExecutionsResult listExecutions(ListExecutionsRequest listExecutionsRequest); /** *

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

*
* * @param listStateMachinesRequest * @return Result of the ListStateMachines operation returned by the service. * @throws InvalidTokenException * The provided token is invalid. * @sample AWSStepFunctions.ListStateMachines * @see AWS API * Documentation */ ListStateMachinesResult listStateMachines(ListStateMachinesRequest listStateMachinesRequest); /** *

* List tags for a given resource. *

*

* Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws ResourceNotFoundException * Could not find the referenced resource. Only state machine and activity ARNs are supported. * @sample AWSStepFunctions.ListTagsForResource * @see AWS API * Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken failed. *

* * @param sendTaskFailureRequest * @return Result of the SendTaskFailure operation returned by the service. * @throws TaskDoesNotExistException * @throws InvalidTokenException * The provided token is invalid. * @throws TaskTimedOutException * @sample AWSStepFunctions.SendTaskFailure * @see AWS API * Documentation */ SendTaskFailureResult sendTaskFailure(SendTaskFailureRequest sendTaskFailureRequest); /** *

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

*
* * @param sendTaskHeartbeatRequest * @return Result of the SendTaskHeartbeat operation returned by the service. * @throws TaskDoesNotExistException * @throws InvalidTokenException * The provided token is invalid. * @throws TaskTimedOutException * @sample AWSStepFunctions.SendTaskHeartbeat * @see AWS API * Documentation */ SendTaskHeartbeatResult sendTaskHeartbeat(SendTaskHeartbeatRequest sendTaskHeartbeatRequest); /** *

* Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken completed successfully. *

* * @param sendTaskSuccessRequest * @return Result of the SendTaskSuccess operation returned by the service. * @throws TaskDoesNotExistException * @throws InvalidOutputException * The provided JSON output data is invalid. * @throws InvalidTokenException * The provided token is invalid. * @throws TaskTimedOutException * @sample AWSStepFunctions.SendTaskSuccess * @see AWS API * Documentation */ SendTaskSuccessResult sendTaskSuccess(SendTaskSuccessRequest sendTaskSuccessRequest); /** *

* Starts a state machine execution. *

* *

* StartExecution is idempotent. If StartExecution is called with the same name and input * as a running execution, the call will succeed and return the same response as the original request. If the * execution is closed or if the input is different, it will return a 400 ExecutionAlreadyExists error. * Names can be reused after 90 days. *

*
* * @param startExecutionRequest * @return Result of the StartExecution operation returned by the service. * @throws ExecutionLimitExceededException * The maximum number of running executions has been reached. Running executions must end or be stopped * before a new execution can be started. * @throws ExecutionAlreadyExistsException * The execution has the same name as another execution (but a different input * ).

*

* Executions with the same name and input are considered idempotent. *

* @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws InvalidExecutionInputException * The provided JSON input data is invalid. * @throws InvalidNameException * The provided name is invalid. * @throws StateMachineDoesNotExistException * The specified state machine does not exist. * @throws StateMachineDeletingException * The specified state machine is being deleted. * @sample AWSStepFunctions.StartExecution * @see AWS API * Documentation */ StartExecutionResult startExecution(StartExecutionRequest startExecutionRequest); /** *

* Stops an execution. *

*

* This API action is not supported by EXPRESS state machines. *

* * @param stopExecutionRequest * @return Result of the StopExecution operation returned by the service. * @throws ExecutionDoesNotExistException * The specified execution does not exist. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @sample AWSStepFunctions.StopExecution * @see AWS API * Documentation */ StopExecutionResult stopExecution(StopExecutionRequest stopExecutionRequest); /** *

* Add a tag to a Step Functions resource. *

*

* An array of key-value pairs. For more information, see Using Cost Allocation * Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM * Tags. *

*

* Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws ResourceNotFoundException * Could not find the referenced resource. Only state machine and activity ARNs are supported. * @throws TooManyTagsException * You've exceeded the number of tags allowed for a resource. See the Limits Topic in the AWS Step * Functions Developer Guide. * @sample AWSStepFunctions.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* 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 invalid. * @throws ResourceNotFoundException * Could not find the referenced resource. Only state machine and activity ARNs are supported. * @sample AWSStepFunctions.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

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

* *

* All StartExecution calls within a few seconds will use the updated definition and * roleArn. Executions started immediately after calling UpdateStateMachine may use the * previous state machine definition and roleArn. *

*
* * @param updateStateMachineRequest * @return Result of the UpdateStateMachine operation returned by the service. * @throws InvalidArnException * The provided Amazon Resource Name (ARN) is invalid. * @throws InvalidDefinitionException * The provided Amazon States Language definition is invalid. * @throws InvalidLoggingConfigurationException * @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. * @sample AWSStepFunctions.UpdateStateMachine * @see AWS API * Documentation */ UpdateStateMachineResult updateStateMachine(UpdateStateMachineRequest updateStateMachineRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* 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 a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy