aws cli commands related to cloudformation:¶
deploy a new stack from cli:¶
aws cloudformation deploy --template-file ./ec2_instance_template.yml \
  --stack-name dolcf0x002 --parameter-overrides "KeyName=dkoleary@2023" \
    "InstanceType=t2.nano" "PublicLocation=24.15.136.94/32"
Redploy stack when in ROLLBACK_COMPLETE state:¶
Delete it first:
aws cloudformation delete-stack --stack-name dolcf0x002
aws cloudformation deploy --template-file ./ec2_instance_template.yml \
  --stack-name dolcf0x002 --parameter-overrides "KeyName=dkoleary@2023" \
    "InstanceType=t2.nano" "PublicLocation=24.15.136.94/32"
Update a deployed stack when template is changed:¶
aws cloudformation update-stack --template-body file://dbaccess.yaml \
  --stack-name dolstack0x002
See outputs from stacks:¶
complete json dump: ……………….,
$ aws cloudformation describe-stacks --stack-name dolcf0x002
[[lots of json snipped]]
retrieving just the outputs:¶
$ aws cloudformation describe-stacks --stack-name dolcf0x002 --query "Stacks[0].Outputs"
[
    {
        "OutputKey": "InstanceId",
        "OutputValue": "i-096b197430a6484f4",
        "Description": "InstanceId of the EC2 instance"
    },
    {
        "OutputKey": "PublicIP",
        "OutputValue": "3.15.29.181",
        "Description": "Public IP address of the EC2 instance"
    },
    {
        "OutputKey": "AZ",
        "OutputValue": "us-east-2a",
        "Description": "AZ of the EC2 instance"
    },
    {
        "OutputKey": "PublicDNS",
        "OutputValue": "ec2-3-15-29-181.us-east-2.compute.amazonaws.com",
        "Description": "Public DNSName of the EC2 instance"
    }
]
to retrieve just one element:¶
aws cloudformation describe-stacks --stack-name dolcf0x002 \
  --query "Stacks[0].Outputs[?OutputKey=='PublicIP'].OutputValue" \
  --output text
3.15.29.181
To retrieve list of stacks:¶
Active stacks:¶
$ aws cloudformation list-stacks --output table \
  --stack-status-filter "CREATE_COMPLETE" "CREATE_IN_PROGRESS" \
  --query 'StackSummaries[*].[StackName,StackStatus]'
-----------------------------------
|           ListStacks            |
+-------------+-------------------+
|  dolcf0x002 |  CREATE_COMPLETE  |
+-------------+-------------------+
All stacks:¶
$ aws cloudformation list-stacks --region us-east-1 --output table \
  --query 'StackSummaries[*].[StackName,StackStatus,CreationTime,DeletionTime]'
-------------------------------------------------------------------------------------------
|                                       ListStacks                                        |
+------------+------------------+----------------------------+----------------------------+
|  dolcf0x002|  DELETE_COMPLETE |  2023-08-27T18:52:56.323Z  |  2023-08-27T19:10:42.371Z  |
|  dolcf0x002|  DELETE_COMPLETE |  2023-08-27T18:49:10.332Z  |  2023-08-27T18:52:05.160Z  |
|  dolcf0x002|  DELETE_COMPLETE |  2023-08-27T18:34:58.786Z  |  2023-08-27T18:46:28.572Z  |
+------------+------------------+----------------------------+----------------------------+