AWS CloudFormation · Schema

AWS CloudFormation Stack

Represents an AWS CloudFormation stack, which is a collection of AWS resources that you can manage as a single unit. A stack is created from a CloudFormation template and provisions the defined resources in the correct order based on dependency relationships.

AutomationCloud ResourcesIaCInfrastructure As CodeStack Management

Properties

Name Type Description
StackId string Unique identifier of the stack, formatted as an Amazon Resource Name (ARN).
StackName string The name associated with the stack. Must be unique within a region.
ChangeSetId string The unique ID of the change set associated with this stack.
Description stringnull A user-defined description associated with the stack.
CreationTime string The time at which the stack was created.
DeletionTime stringnull The time the stack was deleted.
LastUpdatedTime stringnull The time the stack was last updated. This field is only returned if the stack has been updated at least once.
StackStatus string Current status of the stack.
StackStatusReason stringnull Success or failure message associated with the stack status.
DisableRollback boolean Boolean to enable or disable rollback on stack creation failures.
NotificationARNs array Amazon SNS topic ARNs to which stack related events are published.
TimeoutInMinutes integernull The amount of time within which stack creation should complete.
Capabilities array The capabilities allowed in the stack.
Outputs array A list of output structures containing stack outputs.
RoleARN stringnull The Amazon Resource Name (ARN) of an IAM role that CloudFormation assumes to create the stack.
Tags array A list of tags associated with this stack.
EnableTerminationProtection boolean Whether termination protection is enabled for the stack.
Parameters array A list of parameter structures.
RollbackConfiguration object
ParentId stringnull For nested stacks, the stack ID of the direct parent of this stack.
RootId stringnull For nested stacks, the stack ID of the top-level stack to which this stack belongs.
DriftInformation object
DeletionMode string Specifies the deletion mode for the stack.
DetailedStatus stringnull The detailed status of the resource or stack.
RetainExceptOnCreate boolean When true, newly created resources are deleted when the operation rolls back.
View JSON Schema on GitHub

JSON Schema

stack.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.api.aws/cloudformation/stack.json",
  "title": "AWS CloudFormation Stack",
  "description": "Represents an AWS CloudFormation stack, which is a collection of AWS resources that you can manage as a single unit. A stack is created from a CloudFormation template and provisions the defined resources in the correct order based on dependency relationships.",
  "type": "object",
  "required": [
    "StackName",
    "CreationTime",
    "StackStatus"
  ],
  "properties": {
    "StackId": {
      "type": "string",
      "description": "Unique identifier of the stack, formatted as an Amazon Resource Name (ARN).",
      "examples": [
        "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/aaf549a0-a413-11df-adb3-5081b3858e83"
      ]
    },
    "StackName": {
      "type": "string",
      "description": "The name associated with the stack. Must be unique within a region.",
      "maxLength": 128,
      "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$",
      "examples": [
        "MyProductionStack"
      ]
    },
    "ChangeSetId": {
      "type": "string",
      "description": "The unique ID of the change set associated with this stack."
    },
    "Description": {
      "type": ["string", "null"],
      "description": "A user-defined description associated with the stack.",
      "maxLength": 1024
    },
    "CreationTime": {
      "type": "string",
      "format": "date-time",
      "description": "The time at which the stack was created."
    },
    "DeletionTime": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The time the stack was deleted."
    },
    "LastUpdatedTime": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The time the stack was last updated. This field is only returned if the stack has been updated at least once."
    },
    "StackStatus": {
      "type": "string",
      "description": "Current status of the stack.",
      "enum": [
        "CREATE_IN_PROGRESS",
        "CREATE_FAILED",
        "CREATE_COMPLETE",
        "ROLLBACK_IN_PROGRESS",
        "ROLLBACK_FAILED",
        "ROLLBACK_COMPLETE",
        "DELETE_IN_PROGRESS",
        "DELETE_FAILED",
        "DELETE_COMPLETE",
        "UPDATE_IN_PROGRESS",
        "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS",
        "UPDATE_COMPLETE",
        "UPDATE_FAILED",
        "UPDATE_ROLLBACK_IN_PROGRESS",
        "UPDATE_ROLLBACK_FAILED",
        "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS",
        "UPDATE_ROLLBACK_COMPLETE",
        "REVIEW_IN_PROGRESS",
        "IMPORT_IN_PROGRESS",
        "IMPORT_COMPLETE",
        "IMPORT_ROLLBACK_IN_PROGRESS",
        "IMPORT_ROLLBACK_FAILED",
        "IMPORT_ROLLBACK_COMPLETE"
      ]
    },
    "StackStatusReason": {
      "type": ["string", "null"],
      "description": "Success or failure message associated with the stack status."
    },
    "DisableRollback": {
      "type": "boolean",
      "description": "Boolean to enable or disable rollback on stack creation failures.",
      "default": false
    },
    "NotificationARNs": {
      "type": "array",
      "description": "Amazon SNS topic ARNs to which stack related events are published.",
      "items": {
        "type": "string"
      },
      "maxItems": 5
    },
    "TimeoutInMinutes": {
      "type": ["integer", "null"],
      "description": "The amount of time within which stack creation should complete.",
      "minimum": 1
    },
    "Capabilities": {
      "type": "array",
      "description": "The capabilities allowed in the stack.",
      "items": {
        "type": "string",
        "enum": [
          "CAPABILITY_IAM",
          "CAPABILITY_NAMED_IAM",
          "CAPABILITY_AUTO_EXPAND"
        ]
      }
    },
    "Outputs": {
      "type": "array",
      "description": "A list of output structures containing stack outputs.",
      "items": {
        "$ref": "#/$defs/Output"
      }
    },
    "RoleARN": {
      "type": ["string", "null"],
      "description": "The Amazon Resource Name (ARN) of an IAM role that CloudFormation assumes to create the stack.",
      "minLength": 20,
      "maxLength": 2048
    },
    "Tags": {
      "type": "array",
      "description": "A list of tags associated with this stack.",
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "maxItems": 50
    },
    "EnableTerminationProtection": {
      "type": "boolean",
      "description": "Whether termination protection is enabled for the stack.",
      "default": false
    },
    "Parameters": {
      "type": "array",
      "description": "A list of parameter structures.",
      "items": {
        "$ref": "#/$defs/Parameter"
      }
    },
    "RollbackConfiguration": {
      "$ref": "#/$defs/RollbackConfiguration"
    },
    "ParentId": {
      "type": ["string", "null"],
      "description": "For nested stacks, the stack ID of the direct parent of this stack."
    },
    "RootId": {
      "type": ["string", "null"],
      "description": "For nested stacks, the stack ID of the top-level stack to which this stack belongs."
    },
    "DriftInformation": {
      "$ref": "#/$defs/StackDriftInformation"
    },
    "DeletionMode": {
      "type": "string",
      "description": "Specifies the deletion mode for the stack.",
      "enum": [
        "STANDARD",
        "FORCE_DELETE_STACK"
      ]
    },
    "DetailedStatus": {
      "type": ["string", "null"],
      "description": "The detailed status of the resource or stack.",
      "enum": [
        "CONFIGURATION_COMPLETE",
        "VALIDATION_FAILED",
        null
      ]
    },
    "RetainExceptOnCreate": {
      "type": "boolean",
      "description": "When true, newly created resources are deleted when the operation rolls back.",
      "default": false
    }
  },
  "$defs": {
    "Output": {
      "type": "object",
      "description": "An output value from a CloudFormation stack.",
      "properties": {
        "OutputKey": {
          "type": "string",
          "description": "The key associated with the output."
        },
        "OutputValue": {
          "type": "string",
          "description": "The value associated with the output."
        },
        "Description": {
          "type": ["string", "null"],
          "description": "User-defined description of the output."
        },
        "ExportName": {
          "type": ["string", "null"],
          "description": "The name of the export associated with this output for cross-stack references."
        }
      }
    },
    "Tag": {
      "type": "object",
      "description": "A key-value pair used to tag the stack.",
      "required": [
        "Key",
        "Value"
      ],
      "properties": {
        "Key": {
          "type": "string",
          "description": "The tag key.",
          "minLength": 1,
          "maxLength": 128
        },
        "Value": {
          "type": "string",
          "description": "The tag value.",
          "minLength": 0,
          "maxLength": 256
        }
      }
    },
    "Parameter": {
      "type": "object",
      "description": "An input parameter for the stack.",
      "properties": {
        "ParameterKey": {
          "type": "string",
          "description": "The key associated with the parameter."
        },
        "ParameterValue": {
          "type": "string",
          "description": "The input value associated with the parameter."
        },
        "UsePreviousValue": {
          "type": "boolean",
          "description": "During a stack update, use the existing parameter value."
        },
        "ResolvedValue": {
          "type": ["string", "null"],
          "description": "Read-only. The value that corresponds to an SSM parameter key."
        }
      }
    },
    "RollbackConfiguration": {
      "type": "object",
      "description": "Monitoring and rollback configuration for the stack.",
      "properties": {
        "RollbackTriggers": {
          "type": "array",
          "description": "The triggers to monitor during stack creation or update actions.",
          "items": {
            "type": "object",
            "required": [
              "Arn",
              "Type"
            ],
            "properties": {
              "Arn": {
                "type": "string",
                "description": "The ARN of the rollback trigger (must be a CloudWatch alarm)."
              },
              "Type": {
                "type": "string",
                "description": "The resource type of the rollback trigger."
              }
            }
          },
          "maxItems": 5
        },
        "MonitoringTimeInMinutes": {
          "type": "integer",
          "description": "The amount of time in minutes to monitor after stack deployment.",
          "minimum": 0,
          "maximum": 180
        }
      }
    },
    "StackDriftInformation": {
      "type": "object",
      "description": "Contains information about whether the stack's actual configuration differs from its expected configuration.",
      "required": [
        "StackDriftStatus"
      ],
      "properties": {
        "StackDriftStatus": {
          "type": "string",
          "description": "Status of the stack's actual configuration compared to its expected template configuration.",
          "enum": [
            "DRIFTED",
            "IN_SYNC",
            "UNKNOWN",
            "NOT_CHECKED"
          ]
        },
        "LastCheckTimestamp": {
          "type": ["string", "null"],
          "format": "date-time",
          "description": "Most recent time when a drift detection operation was initiated."
        }
      }
    }
  }
}