openapi: 3.1.0 info: title: 'Amazon Step Functions Executions #X Amz Target=AWSStepFunctions.CreateStateMachine API' description: Amazon Step Functions is a serverless workflow orchestration service that lets you coordinate distributed applications and microservices using visual workflows. This API enables you to create and manage state machines, start and monitor executions, and retrieve execution history. version: '2016-11-23' contact: name: Amazon Web Services url: https://aws.amazon.com/contact-us/ termsOfService: https://aws.amazon.com/service-terms/ servers: - url: https://states.{region}.amazonaws.com description: Amazon Step Functions Regional Endpoint variables: region: default: us-east-1 description: AWS Region security: - sigv4Auth: [] tags: - name: '#X Amz Target=AWSStepFunctions.CreateStateMachine' paths: /#X-Amz-Target=AWSStepFunctions.CreateStateMachine: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: CreateStateMachine description:

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.

responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateStateMachineOutput' examples: CreateStateMachine200Example: summary: Default CreateStateMachine 200 x-microcks-default: true value: stateMachineArn: arn:aws:service:us-east-1:123456789012:resource/example creationDate: example-value stateMachineVersionArn: arn:aws:service:us-east-1:123456789012:resource/example '480': description: InvalidArn content: application/json: schema: $ref: '#/components/schemas/InvalidArn' examples: CreateStateMachine480Example: summary: Default CreateStateMachine 480 x-microcks-default: true value: example-value '481': description: InvalidDefinition content: application/json: schema: $ref: '#/components/schemas/InvalidDefinition' examples: CreateStateMachine481Example: summary: Default CreateStateMachine 481 x-microcks-default: true value: example-value '482': description: InvalidName content: application/json: schema: $ref: '#/components/schemas/InvalidName' examples: CreateStateMachine482Example: summary: Default CreateStateMachine 482 x-microcks-default: true value: example-value '483': description: InvalidLoggingConfiguration content: application/json: schema: $ref: '#/components/schemas/InvalidLoggingConfiguration' examples: CreateStateMachine483Example: summary: Default CreateStateMachine 483 x-microcks-default: true value: example-value '484': description: InvalidTracingConfiguration content: application/json: schema: $ref: '#/components/schemas/InvalidTracingConfiguration' examples: CreateStateMachine484Example: summary: Default CreateStateMachine 484 x-microcks-default: true value: example-value '485': description: StateMachineAlreadyExists content: application/json: schema: $ref: '#/components/schemas/StateMachineAlreadyExists' examples: CreateStateMachine485Example: summary: Default CreateStateMachine 485 x-microcks-default: true value: example-value '486': description: StateMachineDeleting content: application/json: schema: $ref: '#/components/schemas/StateMachineDeleting' examples: CreateStateMachine486Example: summary: Default CreateStateMachine 486 x-microcks-default: true value: example-value '487': description: StateMachineLimitExceeded content: application/json: schema: $ref: '#/components/schemas/StateMachineLimitExceeded' examples: CreateStateMachine487Example: summary: Default CreateStateMachine 487 x-microcks-default: true value: example-value '488': description: StateMachineTypeNotSupported content: application/json: schema: $ref: '#/components/schemas/StateMachineTypeNotSupported' examples: CreateStateMachine488Example: summary: Default CreateStateMachine 488 x-microcks-default: true value: example-value '489': description: TooManyTags content: application/json: schema: $ref: '#/components/schemas/TooManyTags' examples: CreateStateMachine489Example: summary: Default CreateStateMachine 489 x-microcks-default: true value: example-value '490': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' examples: CreateStateMachine490Example: summary: Default CreateStateMachine 490 x-microcks-default: true value: example-value '491': description: ConflictException content: application/json: schema: $ref: '#/components/schemas/ConflictException' examples: CreateStateMachine491Example: summary: Default CreateStateMachine 491 x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateStateMachineInput' examples: CreateStateMachineRequestExample: summary: Default CreateStateMachine request x-microcks-default: true value: name: MyResource definition: example-value roleArn: arn:aws:service:us-east-1:123456789012:resource/example type: example-value loggingConfiguration: example-value tags: example-value tracingConfiguration: example-value publish: example-value versionDescription: example-value parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - AWSStepFunctions.CreateStateMachine summary: Amazon Create State Machine x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=AWSStepFunctions.CreateStateMachine' components: schemas: LoggingConfiguration: type: object properties: level: allOf: - $ref: '#/components/schemas/LogLevel' - description: Defines which category of execution history events are logged. includeExecutionData: allOf: - $ref: '#/components/schemas/IncludeExecutionData' - description: Determines whether execution data is included in your log. When set to false, data is excluded. destinations: allOf: - $ref: '#/components/schemas/LogDestinationList' - description: An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF. description: The LoggingConfiguration data type is used to set CloudWatch Logs options. LogDestinationList: type: array items: $ref: '#/components/schemas/LogDestination' Tag: type: object properties: key: allOf: - $ref: '#/components/schemas/TagKey' - description: The key of a tag. value: allOf: - $ref: '#/components/schemas/TagValue' - description: The value of a tag. description: '

Tags are key-value pairs that can be associated with Step Functions state machines and activities.

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: _ . : / = + - @.

' TracingConfiguration: type: object properties: enabled: allOf: - $ref: '#/components/schemas/Enabled' - description: When set to true, X-Ray tracing is enabled. description: 'Selects whether or not the state machine''s X-Ray tracing is enabled. Default is false ' TagList: type: array items: $ref: '#/components/schemas/Tag' Definition: type: string minLength: 1 maxLength: 1048576 format: password LogDestination: type: object properties: cloudWatchLogsLogGroup: allOf: - $ref: '#/components/schemas/CloudWatchLogsLogGroup' - description: An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the CloudFormation User Guide. description:

CreateStateMachineInput: type: object required: - name - definition - roleArn title: CreateStateMachineInput properties: name: allOf: - $ref: '#/components/schemas/Name' - description: '

The name of the state machine.

A name must not contain:

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

' definition: allOf: - $ref: '#/components/schemas/Definition' - description: The Amazon States Language definition of the state machine. See Amazon States Language. roleArn: allOf: - $ref: '#/components/schemas/Arn' - description: The Amazon Resource Name (ARN) of the IAM role to use for this state machine. type: allOf: - $ref: '#/components/schemas/StateMachineType' - description: Determines whether a Standard or Express state machine is created. The default is STANDARD. You cannot update the type of a state machine once it has been created. loggingConfiguration: allOf: - $ref: '#/components/schemas/LoggingConfiguration' - description:

Defines what execution history events are logged and where they are logged.

By default, the level is set to OFF. For more information see Log Levels in the Step Functions User Guide.

tags: allOf: - $ref: '#/components/schemas/TagList' - description: '

Tags to be added when creating a state machine.

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: _ . : / = + - @.

' tracingConfiguration: allOf: - $ref: '#/components/schemas/TracingConfiguration' - description: Selects whether X-Ray tracing is enabled. publish: allOf: - $ref: '#/components/schemas/Publish' - description: Set to true to publish the first version of the state machine during creation. The default is false. versionDescription: allOf: - $ref: '#/components/schemas/VersionDescription' - description: Sets description about the state machine version. You can only set the description if the publish parameter is set to true. Otherwise, if you set versionDescription, but publish to false, this API action throws ValidationException. CloudWatchLogsLogGroup: type: object properties: logGroupArn: allOf: - $ref: '#/components/schemas/Arn' - description: 'The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :* ' description:

Name: type: string minLength: 1 maxLength: 80 InvalidTracingConfiguration: {} ValidationException: {} StateMachineTypeNotSupported: {} InvalidArn: {} StateMachineType: type: string enum: - STANDARD - EXPRESS Enabled: type: boolean Publish: type: boolean TagKey: type: string minLength: 1 maxLength: 128 CreateStateMachineOutput: type: object required: - stateMachineArn - creationDate properties: stateMachineArn: allOf: - $ref: '#/components/schemas/Arn' - description: The Amazon Resource Name (ARN) that identifies the created state machine. creationDate: allOf: - $ref: '#/components/schemas/Timestamp' - description: The date the state machine is created. stateMachineVersionArn: allOf: - $ref: '#/components/schemas/Arn' - description: The Amazon Resource Name (ARN) that identifies the created state machine version. If you do not set the publish parameter to true, this field returns null value. LogLevel: type: string enum: - ALL - ERROR - FATAL - 'OFF' InvalidDefinition: {} IncludeExecutionData: type: boolean StateMachineDeleting: {} TooManyTags: {} VersionDescription: type: string maxLength: 256 format: password ConflictException: {} InvalidLoggingConfiguration: {} TagValue: type: string minLength: 0 maxLength: 256 InvalidName: {} StateMachineAlreadyExists: {} Timestamp: type: string format: date-time StateMachineLimitExceeded: {} Arn: type: string minLength: 1 maxLength: 256 parameters: X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false securitySchemes: sigv4Auth: type: apiKey name: Authorization in: header description: AWS Signature Version 4 authentication externalDocs: description: Amazon Step Functions API Reference url: https://docs.aws.amazon.com/step-functions/latest/apireference/