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  |
+------------+------------------+----------------------------+----------------------------+

OCI

Navigation

  • Cloud related lessons learned
    • AWS:
    • Azure:
  • (Reasonably) current lessons learned:
  • Legacy/archived lessons learned:

Related Topics

  • Documentation overview
    • Cloud related lessons learned
      • AWS lessons learned:
        • Previous: Cloudformation Lessons learned:
        • Next: getamis: search for AMI information

Quick search

©2023, dkoleary. | Powered by Sphinx 7.2.6 & Alabaster 0.7.16 | Page source