aws-actions/AWS CloudFormation "Deploy CloudFormation Stack" Action for GitHub Actions

Deploys a AWS CloudFormation stack

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 26, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: aws-actions/aws-cloudformation-github-deploy@81e3b03d2266bcb76c4bcc37a7d71d9cb67838bb # v2.2.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
modeOperation mode: 'create-and-execute' (default), 'create-only', or 'execute-only'nocreate-and-execute
nameThe name of the CloudFormation stackyes
templateThe path or URL to the CloudFormation templateno
capabilitiesThe comma-delimited list of stack template capabilities to acknowledge. Defaults to 'CAPABILITY_IAM'noCAPABILITY_IAM
parameter-overridesThe parameters to override in the stack inputs. You can pass a comma-delimited list or a file URL. Comma-delimited list has each entry formatted as <ParameterName>=<ParameterValue> or <ParameterName>="<ParameterValue>,<ParameterValue>". A JSON file can be a local file with a "file://" prefix or remote URL. The file should look like: [ { "ParameterKey": "KeyPairName", "ParameterValue": "MyKey" }]no
no-execute-changesetIndicates whether to execute to the change set or have it reviewed (default: false)nofalse
no-delete-failed-changesetIndicates whether to delete to a failed change set (default: false)nofalse
fail-on-empty-changesetIf the CloudFormation change set is empty, fail the action (default: false)nofalse
disable-rollbackDisable rollback of the stack if stack creation fails (default: false). This input is only used for stack creation, not for stack updatenofalse
timeout-in-minutesThe amount of time that can pass before the stack status becomes CREATE_FAILED. This input is only used for stack creation, not for stack updateno
notification-arnsThe comma-delimited list of Amazon SNS topic ARNs to publish stack related eventsno
role-arnThe Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stackno
tagsKey-value pairs to associate with this stack. This input should be JSON-formatted, for example [ { "Key": "string", "Value": "string" } ]no
termination-protectionWhether to enable termination protection on the specified stack (default: false). This input is only used for stack creation, not for stack updatenofalse
http-proxyProxy to use for the AWS SDK agentno
change-set-nameThe name of the change set to create. Defaults to '<stack-name>-CS'no
include-nested-stacks-change-setCreates a change set for the all nested stacks specified in the template. Defaults to '0' (will not include nested stacks)no0
execute-change-set-idExecute an existing change set by ID or name instead of creating a new one. When provided, only 'name' (stack name) is required.no
s3-bucketThe name of the S3 bucket where the template will be uploaded before creating the change set. When provided, the template file is uploaded to S3 and TemplateURL is used instead of TemplateBody, avoiding the 51,200 byte inline limit.no
s3-prefixA prefix to use for the S3 object key when uploading the template. The final key will be '<s3-prefix>/<template-filename>'. Defaults to no prefix.no
deployment-modeThe deployment mode for the change set. Use 'REVERT_DRIFT' to create a change set that reverts drift. Defaults to standard deployment.no
namedescription
stack-idThe id of the deployed stack. In addition, any outputs declared in the deployed CloudFormation stack will also be set as outputs for the action, e.g. if the stack has a stack output named 'foo', this action will also have an output named 'foo'.
change-set-idThe id of the created change set (only when no-execute-changeset is true)
change-set-nameThe name of the created change set (only when no-execute-changeset is true)
has-changesWhether the change set contains any changes (only when no-execute-changeset is true)
changes-countNumber of changes in the change set (only when no-execute-changeset is true)
changes-summaryJSON summary of changes in the change set (only when no-execute-changeset is true)
changes-markdownMarkdown-formatted change set summary for PR comments (only when no-execute-changeset is true)