AWS CloudFormation · Schema

AWS CloudFormation Change Set

Represents an AWS CloudFormation change set. A change set allows you to preview the changes CloudFormation will make to your stack before executing them. You can create a change set, review the proposed changes, and then choose to execute or delete it.

AutomationCloud ResourcesIaCInfrastructure As CodeStack Management

Properties

Name Type Description
ChangeSetId string The ARN of the change set.
ChangeSetName string The name of the change set.
StackId string The ID of the stack associated with the change set.
StackName string The name of the stack associated with the change set.
Description stringnull Information about the change set.
Parameters array A list of parameter values for the change set.
CreationTime string The start time when the change set was created.
ExecutionStatus string The execution status of the change set.
Status string The current status of the change set.
StatusReason stringnull A description of the change set's status, such as why the change set failed.
NotificationARNs array The ARNs of the Amazon SNS topics associated with the change set.
RollbackConfiguration object
Capabilities array The capabilities that are allowed in the change set.
Tags array Tags associated with the change set.
Changes array A list of structures that describe the resources and the actions that CloudFormation will perform.
IncludeNestedStacks boolean Whether the change set includes changes to nested stacks.
ImportExistingResources boolean Whether the change set imports resources that already exist.
ParentChangeSetId stringnull The parent change set ID for nested stack change sets.
RootChangeSetId stringnull The root change set ID for nested stack change sets.
ChangeSetType string The type of change set operation.
View JSON Schema on GitHub

JSON Schema

change-set.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.api.aws/cloudformation/change-set.json",
  "title": "AWS CloudFormation Change Set",
  "description": "Represents an AWS CloudFormation change set. A change set allows you to preview the changes CloudFormation will make to your stack before executing them. You can create a change set, review the proposed changes, and then choose to execute or delete it.",
  "type": "object",
  "properties": {
    "ChangeSetId": {
      "type": "string",
      "description": "The ARN of the change set.",
      "pattern": "^arn:[-a-zA-Z0-9:/]*$",
      "examples": [
        "arn:aws:cloudformation:us-east-1:123456789012:changeSet/MyChangeSet/a1b2c3d4-5678-90ab-cdef-example11111"
      ]
    },
    "ChangeSetName": {
      "type": "string",
      "description": "The name of the change set.",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$"
    },
    "StackId": {
      "type": "string",
      "description": "The ID of the stack associated with the change set."
    },
    "StackName": {
      "type": "string",
      "description": "The name of the stack associated with the change set."
    },
    "Description": {
      "type": ["string", "null"],
      "description": "Information about the change set.",
      "minLength": 1,
      "maxLength": 1024
    },
    "Parameters": {
      "type": "array",
      "description": "A list of parameter values for the change set.",
      "items": {
        "$ref": "#/$defs/Parameter"
      }
    },
    "CreationTime": {
      "type": "string",
      "format": "date-time",
      "description": "The start time when the change set was created."
    },
    "ExecutionStatus": {
      "type": "string",
      "description": "The execution status of the change set.",
      "enum": [
        "UNAVAILABLE",
        "AVAILABLE",
        "EXECUTE_IN_PROGRESS",
        "EXECUTE_COMPLETE",
        "EXECUTE_FAILED",
        "OBSOLETE"
      ]
    },
    "Status": {
      "type": "string",
      "description": "The current status of the change set.",
      "enum": [
        "CREATE_PENDING",
        "CREATE_IN_PROGRESS",
        "CREATE_COMPLETE",
        "DELETE_PENDING",
        "DELETE_IN_PROGRESS",
        "DELETE_COMPLETE",
        "DELETE_FAILED",
        "FAILED"
      ]
    },
    "StatusReason": {
      "type": ["string", "null"],
      "description": "A description of the change set's status, such as why the change set failed."
    },
    "NotificationARNs": {
      "type": "array",
      "description": "The ARNs of the Amazon SNS topics associated with the change set.",
      "items": {
        "type": "string"
      },
      "maxItems": 5
    },
    "RollbackConfiguration": {
      "$ref": "#/$defs/RollbackConfiguration"
    },
    "Capabilities": {
      "type": "array",
      "description": "The capabilities that are allowed in the change set.",
      "items": {
        "type": "string",
        "enum": [
          "CAPABILITY_IAM",
          "CAPABILITY_NAMED_IAM",
          "CAPABILITY_AUTO_EXPAND"
        ]
      }
    },
    "Tags": {
      "type": "array",
      "description": "Tags associated with the change set.",
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "maxItems": 50
    },
    "Changes": {
      "type": "array",
      "description": "A list of structures that describe the resources and the actions that CloudFormation will perform.",
      "items": {
        "$ref": "#/$defs/Change"
      }
    },
    "IncludeNestedStacks": {
      "type": "boolean",
      "description": "Whether the change set includes changes to nested stacks."
    },
    "ImportExistingResources": {
      "type": "boolean",
      "description": "Whether the change set imports resources that already exist."
    },
    "ParentChangeSetId": {
      "type": ["string", "null"],
      "description": "The parent change set ID for nested stack change sets."
    },
    "RootChangeSetId": {
      "type": ["string", "null"],
      "description": "The root change set ID for nested stack change sets."
    },
    "ChangeSetType": {
      "type": "string",
      "description": "The type of change set operation.",
      "enum": [
        "CREATE",
        "UPDATE",
        "IMPORT"
      ]
    }
  },
  "$defs": {
    "Parameter": {
      "type": "object",
      "description": "A parameter value for the change set.",
      "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."
        }
      }
    },
    "Tag": {
      "type": "object",
      "required": [
        "Key",
        "Value"
      ],
      "properties": {
        "Key": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "Value": {
          "type": "string",
          "minLength": 0,
          "maxLength": 256
        }
      }
    },
    "RollbackConfiguration": {
      "type": "object",
      "properties": {
        "RollbackTriggers": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "Arn",
              "Type"
            ],
            "properties": {
              "Arn": {
                "type": "string"
              },
              "Type": {
                "type": "string"
              }
            }
          },
          "maxItems": 5
        },
        "MonitoringTimeInMinutes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 180
        }
      }
    },
    "Change": {
      "type": "object",
      "description": "Describes a change to a resource within a change set.",
      "properties": {
        "Type": {
          "type": "string",
          "description": "The type of entity that CloudFormation changes.",
          "enum": [
            "Resource"
          ]
        },
        "ResourceChange": {
          "$ref": "#/$defs/ResourceChange"
        }
      }
    },
    "ResourceChange": {
      "type": "object",
      "description": "Describes the resource and the action that CloudFormation will perform on it.",
      "properties": {
        "Action": {
          "type": "string",
          "description": "The action that CloudFormation takes on the resource.",
          "enum": [
            "Add",
            "Modify",
            "Remove",
            "Import",
            "Dynamic"
          ]
        },
        "LogicalResourceId": {
          "type": "string",
          "description": "The resource's logical ID in the template."
        },
        "PhysicalResourceId": {
          "type": ["string", "null"],
          "description": "The resource's physical ID. Null for resources being added."
        },
        "ResourceType": {
          "type": "string",
          "description": "The type of CloudFormation resource."
        },
        "Replacement": {
          "type": ["string", "null"],
          "description": "Whether the change requires the resource to be replaced.",
          "enum": [
            "True",
            "False",
            "Conditional",
            null
          ]
        },
        "Scope": {
          "type": "array",
          "description": "The properties or attributes whose changes triggered this resource change.",
          "items": {
            "type": "string",
            "enum": [
              "Properties",
              "Metadata",
              "CreationPolicy",
              "UpdatePolicy",
              "DeletionPolicy",
              "UpdateReplacePolicy",
              "Tags"
            ]
          }
        },
        "Details": {
          "type": "array",
          "description": "Details about the changes to the resource.",
          "items": {
            "$ref": "#/$defs/ResourceChangeDetail"
          }
        }
      }
    },
    "ResourceChangeDetail": {
      "type": "object",
      "description": "Detailed information about a resource change.",
      "properties": {
        "Target": {
          "type": "object",
          "properties": {
            "Attribute": {
              "type": "string",
              "description": "The attribute that changed.",
              "enum": [
                "Properties",
                "Metadata",
                "CreationPolicy",
                "UpdatePolicy",
                "DeletionPolicy",
                "UpdateReplacePolicy",
                "Tags"
              ]
            },
            "Name": {
              "type": ["string", "null"],
              "description": "The property name if the attribute is Properties."
            },
            "RequiresRecreation": {
              "type": "string",
              "description": "Whether the change requires replacement.",
              "enum": [
                "Never",
                "Conditionally",
                "Always"
              ]
            }
          }
        },
        "Evaluation": {
          "type": "string",
          "description": "Whether CloudFormation can determine the target value.",
          "enum": [
            "Static",
            "Dynamic"
          ]
        },
        "ChangeSource": {
          "type": "string",
          "description": "The entity that made the change.",
          "enum": [
            "ResourceReference",
            "ParameterReference",
            "ResourceAttribute",
            "DirectModification",
            "Automatic"
          ]
        },
        "CausingEntity": {
          "type": ["string", "null"],
          "description": "The identity of the entity that triggered this change."
        }
      }
    }
  }
}