Amazon Step Functions · JSON Structure

Amazon Step Functions Create State Machine Input Structure

CreateStateMachineInput schema from Amazon Step Functions API

Type: object Properties: 9 Required: 3
OrchestrationServerlessState MachineWorkflow

CreateStateMachineInput is a JSON Structure definition published by Amazon Step Functions, describing 9 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

name definition roleArn type loggingConfiguration tags tracingConfiguration publish versionDescription

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "type": "object",
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-step-functions/refs/heads/main/json-structure/amazon-step-functions-create-state-machine-input-structure.json",
  "name": "CreateStateMachineInput",
  "description": "CreateStateMachineInput schema from Amazon Step Functions API",
  "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>."
        }
      ]
    }
  },
  "required": [
    "name",
    "definition",
    "roleArn"
  ]
}