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

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

OpenAPI Specification

aws-step-functions-x-amz-target-awsstepfunctions-createstatemachine-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2016-11-23'
  x-release: v4
  title: 'AWS Step Functions #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateActivity #X Amz Target=AWSStepFunctions.CreateStateMachine API'
  description: <fullname>Step Functions</fullname> <p>Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.</p> <p>You can use Step Functions to build applications from individual components, each of which performs a discrete function, or <i>task</i>, 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.</p> <p>Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the <i> <a href="https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html">Step Functions Developer Guide</a> </i>.</p>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: states
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/states-2016-11-23.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://states.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS SFN multi-region endpoint
- url: https://states.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS SFN multi-region endpoint
- url: http://states.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS SFN endpoint for China (Beijing) and China (Ningxia)
- url: https://states.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS SFN endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
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> <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>. 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'
        '480':
          description: InvalidArn
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArn'
        '481':
          description: InvalidDefinition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidDefinition'
        '482':
          description: InvalidName
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidName'
        '483':
          description: InvalidLoggingConfiguration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidLoggingConfiguration'
        '484':
          description: InvalidTracingConfiguration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidTracingConfiguration'
        '485':
          description: StateMachineAlreadyExists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineAlreadyExists'
        '486':
          description: StateMachineDeleting
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineDeleting'
        '487':
          description: StateMachineLimitExceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineLimitExceeded'
        '488':
          description: StateMachineTypeNotSupported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateMachineTypeNotSupported'
        '489':
          description: TooManyTags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyTags'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStateMachineInput'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSStepFunctions.CreateStateMachine
      summary: AWS Step Functions - Create State Machine
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - '#X Amz Target=AWSStepFunctions.CreateStateMachine'
components:
  schemas:
    Enabled:
      type: boolean
    InvalidName: {}
    StateMachineLimitExceeded: {}
    StateMachineTypeNotSupported: {}
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
    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>'
    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.
    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.
    InvalidTracingConfiguration: {}
    StateMachineDeleting: {}
    InvalidLoggingConfiguration: {}
    InvalidDefinition: {}
    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> '
    IncludeExecutionData:
      type: boolean
    StateMachineType:
      type: string
      enum:
      - STANDARD
      - EXPRESS
    LogLevel:
      type: string
      enum:
      - ALL
      - ERROR
      - FATAL
      - 'OFF'
    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.
    StateMachineAlreadyExists: {}
    Arn:
      type: string
      minLength: 1
      maxLength: 256
    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/>
    Timestamp:
      type: string
      format: date-time
    Definition:
      type: string
      minLength: 1
      maxLength: 1048576
      format: password
    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
    TagKey:
      type: string
      minLength: 1
      maxLength: 128
    InvalidArn: {}
    TooManyTags: {}
    TagList:
      type: array
      items:
        $ref: '#/components/schemas/Tag'
    LogDestinationList:
      type: array
      items:
        $ref: '#/components/schemas/LogDestination'
  parameters:
    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
    X-Amz-Content-Sha256:
      name: X-Amz-Content-Sha256
      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-SignedHeaders:
      name: X-Amz-SignedHeaders
      in: header
      schema:
        type: string
      required: false
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
  securitySchemes:
    hmac:
      type: apiKey
      name: Authorization
      in: header
      description: Amazon Signature authorization v4
      x-amazon-apigateway-authtype: awsSigv4
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/states/
x-hasEquivalentPaths: true