Amazon Step Functions #X Amz Target=AWSStepFunctions.CreateStateMachine API

The #X Amz Target=AWSStepFunctions.CreateStateMachine API from Amazon Step Functions — 1 operation(s) for #x amz target=awsstepfunctions.createstatemachine.

OpenAPI Specification

amazon-step-functions-x-amz-target-awsstepfunctions-createstatemachine-api-openapi.yml Raw ↑
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: <p>Creates a state machine. A state machine consists of a collection of states that can do work (<code>Task</code> states), determine to which states to transition next (<code>Choice</code> states), stop an execution with an error (<code>Fail</code> states), and so on. State machines are specified using a JSON-based, structured language. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html">Amazon States Language</a> in the Step Functions User Guide.</p> <p>If you set the <code>publish</code> parameter of this API action to <code>true</code>, it publishes version <code>1</code> as the first revision of the state machine.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.</p> </note> <note> <p> <code>CreateStateMachine</code> is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. <code>CreateStateMachine</code>'s idempotency check is based on the state machine <code>name</code>, <code>definition</code>, <code>type</code>, <code>LoggingConfiguration</code>, and <code>TracingConfiguration</code>. The check is also based on the <code>publish</code> and <code>versionDescription</code> parameters. If a following request has a different <code>roleArn</code> or <code>tags</code>, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, <code>roleArn</code> and <code>tags</code> will not be updated, even if they are different.</p> </note>
      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 <code>false</code>, 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 <code>OFF</code>.
      description: The <code>LoggingConfiguration</code> 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: '<p>Tags are key-value pairs that can be associated with Step Functions state machines and activities.</p> <p>An array of key-value pairs. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>, and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p> <p>Tags may only contain Unicode letters, digits, white space, or these symbols: <code>_ . : / = + - @</code>.</p>'
    TracingConfiguration:
      type: object
      properties:
        enabled:
          allOf:
          - $ref: '#/components/schemas/Enabled'
          - description: When set to <code>true</code>, X-Ray tracing is enabled.
      description: 'Selects whether or not the state machine''s X-Ray tracing is enabled. Default is <code>false</code> '
    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 <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html">AWS::Logs::LogGroup</a> in the CloudFormation User Guide.
      description: <p/>
    CreateStateMachineInput:
      type: object
      required:
      - name
      - definition
      - roleArn
      title: CreateStateMachineInput
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/Name'
          - description: '<p>The name of the state machine. </p> <p>A name must <i>not</i> contain:</p> <ul> <li> <p>white space</p> </li> <li> <p>brackets <code>&lt; &gt; { } [ ]</code> </p> </li> <li> <p>wildcard characters <code>? *</code> </p> </li> <li> <p>special characters <code>" # % \ ^ | ~ ` $ &amp; , ; : /</code> </p> </li> <li> <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>)</p> </li> </ul> <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>'
        definition:
          allOf:
          - $ref: '#/components/schemas/Definition'
          - description: The Amazon States Language definition of the state machine. See <a href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html">Amazon States Language</a>.
        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 <code>STANDARD</code>. You cannot update the <code>type</code> of a state machine once it has been created.
        loggingConfiguration:
          allOf:
          - $ref: '#/components/schemas/LoggingConfiguration'
          - description: <p>Defines what execution history events are logged and where they are logged.</p> <note> <p>By default, the <code>level</code> is set to <code>OFF</code>. For more information see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html">Log Levels</a> in the Step Functions User Guide.</p> </note>
        tags:
          allOf:
          - $ref: '#/components/schemas/TagList'
          - description: '<p>Tags to be added when creating a state machine.</p> <p>An array of key-value pairs. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>, and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p> <p>Tags may only contain Unicode letters, digits, white space, or these symbols: <code>_ . : / = + - @</code>.</p>'
        tracingConfiguration:
          allOf:
          - $ref: '#/components/schemas/TracingConfiguration'
          - description: Selects whether X-Ray tracing is enabled.
        publish:
          allOf:
          - $ref: '#/components/schemas/Publish'
          - description: Set to <code>true</code> to publish the first version of the state machine during creation. The default is <code>false</code>.
        versionDescription:
          allOf:
          - $ref: '#/components/schemas/VersionDescription'
          - description: Sets description about the state machine version. You can only set the description if the <code>publish</code> parameter is set to <code>true</code>. Otherwise, if you set <code>versionDescription</code>, but <code>publish</code> to <code>false</code>, this API action throws <code>ValidationException</code>.
    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 <code>:*</code> '
      description: <p/>
    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 <code>publish</code> parameter to <code>true</code>, 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/