Amazon CloudFormation · Schema
Amazon CloudFormation Stack
Schema representing an Amazon CloudFormation stack, which is a collection of AWS resources that you can manage as a single unit.
CloudFormationInfrastructure as CodeDevOpsIaC
Properties
| Name | Type | Description |
|---|---|---|
| StackId | string | Unique identifier of the stack. |
| StackName | string | The name associated with the stack. |
| ChangeSetId | string | The unique ID of the change set. |
| Description | string | A user-defined description associated with the stack. |
| Parameters | array | A list of Parameter structures that specify input parameters for the stack. |
| CreationTime | string | The time at which the stack was created. |
| DeletionTime | string | The time the stack was deleted. |
| LastUpdatedTime | string | The time the stack was last updated. |
| RollbackConfiguration | object | |
| StackStatus | string | Current status of the stack. |
| StackStatusReason | string | 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 | integer | 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. |
| RoleARN | string | The Amazon Resource Name (ARN) of an IAM role that CloudFormation assumes to create the stack. |
| Tags | array | A list of tags associated with the stack. |
| EnableTerminationProtection | boolean | Whether termination protection is enabled for the stack. |
| DriftInformation | object | |
| Resources | array | A list of stack resources. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.com/schemas/amazon-cloudformation-stack.json",
"title": "Amazon CloudFormation Stack",
"description": "Schema representing an Amazon CloudFormation stack, which is a collection of AWS resources that you can manage as a single unit.",
"type": "object",
"required": [
"StackName",
"StackStatus",
"CreationTime"
],
"properties": {
"StackId": {
"type": "string",
"description": "Unique identifier of the stack.",
"pattern": "^arn:aws:cloudformation:[a-z0-9-]+:[0-9]{12}:stack/.+/.+$"
},
"StackName": {
"type": "string",
"description": "The name associated with the stack.",
"minLength": 1,
"maxLength": 128,
"pattern": "^[a-zA-Z][a-zA-Z0-9-]*$"
},
"ChangeSetId": {
"type": "string",
"description": "The unique ID of the change set."
},
"Description": {
"type": "string",
"description": "A user-defined description associated with the stack.",
"maxLength": 1024
},
"Parameters": {
"type": "array",
"description": "A list of Parameter structures that specify input parameters for the stack.",
"items": {
"$ref": "#/$defs/Parameter"
}
},
"CreationTime": {
"type": "string",
"format": "date-time",
"description": "The time at which the stack was created."
},
"DeletionTime": {
"type": "string",
"format": "date-time",
"description": "The time the stack was deleted."
},
"LastUpdatedTime": {
"type": "string",
"format": "date-time",
"description": "The time the stack was last updated."
},
"RollbackConfiguration": {
"$ref": "#/$defs/RollbackConfiguration"
},
"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",
"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",
"pattern": "^arn:aws:sns:[a-z0-9-]+:[0-9]{12}:.+$"
},
"maxItems": 5
},
"TimeoutInMinutes": {
"type": "integer",
"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.",
"items": {
"$ref": "#/$defs/Output"
}
},
"RoleARN": {
"type": "string",
"description": "The Amazon Resource Name (ARN) of an IAM role that CloudFormation assumes to create the stack.",
"pattern": "^arn:aws:iam::[0-9]{12}:role/.+$"
},
"Tags": {
"type": "array",
"description": "A list of tags associated with the stack.",
"items": {
"$ref": "#/$defs/Tag"
},
"maxItems": 50
},
"EnableTerminationProtection": {
"type": "boolean",
"description": "Whether termination protection is enabled for the stack.",
"default": false
},
"DriftInformation": {
"$ref": "#/$defs/StackDriftInformation"
},
"Resources": {
"type": "array",
"description": "A list of stack resources.",
"items": {
"$ref": "#/$defs/StackResource"
}
}
},
"$defs": {
"Parameter": {
"type": "object",
"description": "A CloudFormation stack parameter.",
"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",
"description": "Read-only. The value that corresponds to a SSM parameter key."
}
},
"required": [
"ParameterKey"
]
},
"Output": {
"type": "object",
"description": "A CloudFormation stack output.",
"properties": {
"OutputKey": {
"type": "string",
"description": "The key associated with the output."
},
"OutputValue": {
"type": "string",
"description": "The value associated with the output."
},
"Description": {
"type": "string",
"description": "User defined description associated with the output."
},
"ExportName": {
"type": "string",
"description": "The name of the export associated with the output."
}
}
},
"Tag": {
"type": "object",
"description": "A key-value pair tag.",
"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
}
}
},
"RollbackConfiguration": {
"type": "object",
"description": "Structure containing the rollback triggers for CloudFormation to monitor during stack creation and updating operations.",
"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 Amazon Resource Name (ARN) of the rollback trigger."
},
"Type": {
"type": "string",
"description": "The resource type of the rollback trigger."
}
}
},
"maxItems": 5
},
"MonitoringTimeInMinutes": {
"type": "integer",
"description": "The amount of time to monitor during rollback.",
"minimum": 0,
"maximum": 180
}
}
},
"StackDriftInformation": {
"type": "object",
"description": "Contains information about whether the stack drift detection has been performed and the status.",
"required": [
"StackDriftStatus"
],
"properties": {
"StackDriftStatus": {
"type": "string",
"description": "Status of the drift detection operation.",
"enum": [
"DRIFTED",
"IN_SYNC",
"UNKNOWN",
"NOT_CHECKED"
]
},
"LastCheckTimestamp": {
"type": "string",
"format": "date-time",
"description": "Most recent time when a drift detection operation was initiated."
}
}
},
"StackResource": {
"type": "object",
"description": "A resource that is part of a CloudFormation stack.",
"required": [
"LogicalResourceId",
"ResourceType",
"ResourceStatus",
"Timestamp"
],
"properties": {
"StackName": {
"type": "string",
"description": "The name associated with the stack."
},
"StackId": {
"type": "string",
"description": "Unique identifier of the stack."
},
"LogicalResourceId": {
"type": "string",
"description": "The logical name of the resource specified in the template."
},
"PhysicalResourceId": {
"type": "string",
"description": "The name or unique identifier that corresponds to a physical instance ID."
},
"ResourceType": {
"type": "string",
"description": "Type of resource (e.g., AWS::EC2::Instance)."
},
"Timestamp": {
"type": "string",
"format": "date-time",
"description": "Time the status was updated."
},
"ResourceStatus": {
"type": "string",
"description": "Current status of the resource.",
"enum": [
"CREATE_IN_PROGRESS",
"CREATE_FAILED",
"CREATE_COMPLETE",
"DELETE_IN_PROGRESS",
"DELETE_FAILED",
"DELETE_COMPLETE",
"DELETE_SKIPPED",
"UPDATE_IN_PROGRESS",
"UPDATE_FAILED",
"UPDATE_COMPLETE",
"IMPORT_FAILED",
"IMPORT_COMPLETE",
"IMPORT_IN_PROGRESS",
"IMPORT_ROLLBACK_IN_PROGRESS",
"IMPORT_ROLLBACK_FAILED",
"IMPORT_ROLLBACK_COMPLETE"
]
},
"ResourceStatusReason": {
"type": "string",
"description": "Success or failure message associated with the resource."
},
"Description": {
"type": "string",
"description": "User defined description associated with the resource."
}
}
}
}
}