Interface CustomStateProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CustomStateProps.Jsii$Proxy
@Generated(value="jsii-pacmak/1.104.0 (build e79254c)",
date="2024-11-06T23:25:17.532Z")
@Stability(Stable)
public interface CustomStateProps
extends software.amazon.jsii.JsiiSerializable
Properties for defining a custom state definition.
Example:
import software.amazon.awscdk.services.dynamodb.*; // create a table Table table = Table.Builder.create(this, "montable") .partitionKey(Attribute.builder() .name("id") .type(AttributeType.STRING) .build()) .build(); Pass finalStatus = new Pass(this, "final step"); // States language JSON to put an item into DynamoDB // snippet generated from https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-code-snippet.html#tutorial-code-snippet-1 Map<String, Object> stateJson = Map.of( "Type", "Task", "Resource", "arn:aws:states:::dynamodb:putItem", "Parameters", Map.of( "TableName", table.getTableName(), "Item", Map.of( "id", Map.of( "S", "MyEntry"))), "ResultPath", null); // custom state which represents a task to insert data into DynamoDB CustomState custom = CustomState.Builder.create(this, "my custom task") .stateJson(stateJson) .build(); // catch errors with addCatch Pass errorHandler = new Pass(this, "handle failure"); custom.addCatch(errorHandler); // retry the task if something goes wrong custom.addRetry(RetryProps.builder() .errors(List.of(Errors.ALL)) .interval(Duration.seconds(10)) .maxAttempts(5) .build()); Chain chain = Chain.start(custom).next(finalStatus); StateMachine sm = StateMachine.Builder.create(this, "StateMachine") .definitionBody(DefinitionBody.fromChainable(chain)) .timeout(Duration.seconds(30)) .comment("a super cool state machine") .build(); // don't forget permissions. You need to assign them table.grantWriteData(sm);
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
A builder forCustomStateProps
static final class
An implementation forCustomStateProps
-
Method Summary
Modifier and TypeMethodDescriptionstatic CustomStateProps.Builder
builder()
Amazon States Language (JSON-based) definition of the state.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getStateJson
Amazon States Language (JSON-based) definition of the state.- See Also:
-
builder
- Returns:
- a
CustomStateProps.Builder
ofCustomStateProps
-