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. |
JSON Schema
{
"$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."
}
}
}
}
}