CfnStateMachineProps Struct
Properties for defining a CfnStateMachine.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';
declare const definition: any;
const cfnStateMachineProps: stepfunctions.CfnStateMachineProps = {
roleArn: 'roleArn',
// the properties below are optional
definition: definition,
definitionS3Location: {
bucket: 'bucket',
key: 'key',
// the properties below are optional
version: 'version',
},
definitionString: 'definitionString',
definitionSubstitutions: {
definitionSubstitutionsKey: 'definitionSubstitutions',
},
encryptionConfiguration: {
type: 'type',
// the properties below are optional
kmsDataKeyReusePeriodSeconds: 123,
kmsKeyId: 'kmsKeyId',
},
loggingConfiguration: {
destinations: [{
cloudWatchLogsLogGroup: {
logGroupArn: 'logGroupArn',
},
}],
includeExecutionData: false,
level: 'level',
},
stateMachineName: 'stateMachineName',
stateMachineType: 'stateMachineType',
tags: [{
key: 'key',
value: 'value',
}],
tracingConfiguration: {
enabled: false,
},
};
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_stepfunctions as stepfunctions
# definition: Any
cfn_state_machine_props = stepfunctions.CfnStateMachineProps(
role_arn="roleArn",
# the properties below are optional
definition=definition,
definition_s3_location=stepfunctions.CfnStateMachine.S3LocationProperty(
bucket="bucket",
key="key",
# the properties below are optional
version="version"
),
definition_string="definitionString",
definition_substitutions={
"definition_substitutions_key": "definitionSubstitutions"
},
encryption_configuration=stepfunctions.CfnStateMachine.EncryptionConfigurationProperty(
type="type",
# the properties below are optional
kms_data_key_reuse_period_seconds=123,
kms_key_id="kmsKeyId"
),
logging_configuration=stepfunctions.CfnStateMachine.LoggingConfigurationProperty(
destinations=[stepfunctions.CfnStateMachine.LogDestinationProperty(
cloud_watch_logs_log_group=stepfunctions.CfnStateMachine.CloudWatchLogsLogGroupProperty(
log_group_arn="logGroupArn"
)
)],
include_execution_data=False,
level="level"
),
state_machine_name="stateMachineName",
state_machine_type="stateMachineType",
tags=[stepfunctions.CfnStateMachine.TagsEntryProperty(
key="key",
value="value"
)],
tracing_configuration=stepfunctions.CfnStateMachine.TracingConfigurationProperty(
enabled=False
)
)
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.stepfunctions.*;
Object definition;
CfnStateMachineProps cfnStateMachineProps = CfnStateMachineProps.builder()
.roleArn("roleArn")
// the properties below are optional
.definition(definition)
.definitionS3Location(S3LocationProperty.builder()
.bucket("bucket")
.key("key")
// the properties below are optional
.version("version")
.build())
.definitionString("definitionString")
.definitionSubstitutions(Map.of(
"definitionSubstitutionsKey", "definitionSubstitutions"))
.encryptionConfiguration(EncryptionConfigurationProperty.builder()
.type("type")
// the properties below are optional
.kmsDataKeyReusePeriodSeconds(123)
.kmsKeyId("kmsKeyId")
.build())
.loggingConfiguration(LoggingConfigurationProperty.builder()
.destinations(List.of(LogDestinationProperty.builder()
.cloudWatchLogsLogGroup(CloudWatchLogsLogGroupProperty.builder()
.logGroupArn("logGroupArn")
.build())
.build()))
.includeExecutionData(false)
.level("level")
.build())
.stateMachineName("stateMachineName")
.stateMachineType("stateMachineType")
.tags(List.of(TagsEntryProperty.builder()
.key("key")
.value("value")
.build()))
.tracingConfiguration(TracingConfigurationProperty.builder()
.enabled(false)
.build())
.build();
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.StepFunctions;
var definition;
var cfnStateMachineProps = new CfnStateMachineProps {
RoleArn = "roleArn",
// the properties below are optional
Definition = definition,
DefinitionS3Location = new S3LocationProperty {
Bucket = "bucket",
Key = "key",
// the properties below are optional
Version = "version"
},
DefinitionString = "definitionString",
DefinitionSubstitutions = new Dictionary<string, string> {
{ "definitionSubstitutionsKey", "definitionSubstitutions" }
},
EncryptionConfiguration = new EncryptionConfigurationProperty {
Type = "type",
// the properties below are optional
KmsDataKeyReusePeriodSeconds = 123,
KmsKeyId = "kmsKeyId"
},
LoggingConfiguration = new LoggingConfigurationProperty {
Destinations = new [] { new LogDestinationProperty {
CloudWatchLogsLogGroup = new CloudWatchLogsLogGroupProperty {
LogGroupArn = "logGroupArn"
}
} },
IncludeExecutionData = false,
Level = "level"
},
StateMachineName = "stateMachineName",
StateMachineType = "stateMachineType",
Tags = new [] { new TagsEntryProperty {
Key = "key",
Value = "value"
} },
TracingConfiguration = new TracingConfigurationProperty {
Enabled = false
}
};
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var definition interface{}
cfnStateMachineProps := &CfnStateMachineProps{
RoleArn: jsii.String("roleArn"),
// the properties below are optional
Definition: definition,
DefinitionS3Location: &S3LocationProperty{
Bucket: jsii.String("bucket"),
Key: jsii.String("key"),
// the properties below are optional
Version: jsii.String("version"),
},
DefinitionString: jsii.String("definitionString"),
DefinitionSubstitutions: map[string]*string{
"definitionSubstitutionsKey": jsii.String("definitionSubstitutions"),
},
EncryptionConfiguration: &EncryptionConfigurationProperty{
Type: jsii.String("type"),
// the properties below are optional
KmsDataKeyReusePeriodSeconds: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
},
LoggingConfiguration: &LoggingConfigurationProperty{
Destinations: []interface{}{
&LogDestinationProperty{
CloudWatchLogsLogGroup: &CloudWatchLogsLogGroupProperty{
LogGroupArn: jsii.String("logGroupArn"),
},
},
},
IncludeExecutionData: jsii.Boolean(false),
Level: jsii.String("level"),
},
StateMachineName: jsii.String("stateMachineName"),
StateMachineType: jsii.String("stateMachineType"),
Tags: []TagsEntryProperty{
&TagsEntryProperty{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
TracingConfiguration: &TracingConfigurationProperty{
Enabled: jsii.Boolean(false),
},
}
Properties
definitionoptionalanydefinitionoptionalAnydefinitionoptionalObjectDefinitionoptionalobjectDefinitionoptionalinterface{}#notes
The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
definitionS3LocationoptionalIResolvable | CfnStateMachine.S3LocationPropertydefinition_s3_locationoptionaltyping.Union[IResolvable, S3LocationProperty]definitionS3LocationoptionalIResolvableDefinitionS3LocationoptionalIResolvableDefinitionS3Locationoptionalinterface{}#The state machine definition must be a JSON or YAML file.
definitionStringoptionalstring | ITableRef | ITaskDefinitionRef | IFunctionRef | IVersionRef | ITopicRef | IQueueRefdefinition_stringoptionaltyping.Union[str, ITableRef, ITaskDefinitionRef, IFunctionRef, IVersionRef, ITopicRef, IQueueRef]definitionStringoptionalStringDefinitionStringoptionalstringDefinitionStringoptionalinterface{}#The state machine definition must be in JSON. See Amazon States Language .
definitionSubstitutionsoptionalIResolvable | { [key: string]: string }definition_substitutionsoptionaltyping.Union[IResolvable, typing.Mapping[str, str]]definitionSubstitutionsoptionalIResolvableDefinitionSubstitutionsoptionalIResolvableDefinitionSubstitutionsoptionalinterface{}#notes
This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map.
Substitutions must follow the syntax: ${key_name} or ${variable_1,variable_2,...} .
encryptionConfigurationoptionalIResolvable | CfnStateMachine.EncryptionConfigurationPropertyencryption_configurationoptionaltyping.Union[IResolvable, EncryptionConfigurationProperty]encryptionConfigurationoptionalIResolvableEncryptionConfigurationoptionalIResolvableEncryptionConfigurationoptionalinterface{}#loggingConfigurationoptionalIResolvable | CfnStateMachine.LoggingConfigurationPropertylogging_configurationoptionaltyping.Union[IResolvable, LoggingConfigurationProperty]loggingConfigurationoptionalIResolvableLoggingConfigurationoptionalIResolvableLoggingConfigurationoptionalinterface{}#By default, the
levelis set toOFF. For more information see Log Levels in the AWS Step Functions User Guide.
roleArnstring | IRoleRefrole_arntyping.Union[str, IRoleRef]roleArnStringRoleArnstringRoleArninterface{}required#stateMachineNameoptionalstringstate_machine_nameoptionalstrstateMachineNameoptionalStringStateMachineNameoptionalstringStateMachineNameoptional*string#notes
A name must not contain:
- white space
- brackets
< > { } [ ] - wildcard characters
? * - special characters
" # % \ ^ | ~$ & , ; : /` - control characters (
U+0000-001F,U+007F-009F)
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
stateMachineTypeoptionalstringstate_machine_typeoptionalstrstateMachineTypeoptionalStringStateMachineTypeoptionalstringStateMachineTypeoptional*string#notes
The default is STANDARD . You cannot update the type of a state machine once it has been created. For more information on STANDARD and EXPRESS workflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
tagsoptionalCfnStateMachine.TagsEntryProperty[]tagsoptionaltyping.List[TagsEntryProperty]tagsoptionalList<TagsEntryProperty>TagsoptionalTagsEntryProperty[]Tagsoptional*[]TagsEntryProperty#Tags may only contain Unicode letters, digits, white space, or these symbols: `_ . : / = + -
tracingConfigurationoptionalIResolvable | CfnStateMachine.TracingConfigurationPropertytracing_configurationoptionaltyping.Union[IResolvable, TracingConfigurationProperty]tracingConfigurationoptionalIResolvableTracingConfigurationoptionalIResolvableTracingConfigurationoptionalinterface{}#