Skip to main content
atmos aws cloudformation lifecycle
 
00:00.0 / 00:00.0
README.md3.0 KB
View on GitHub

Notes

This example deploys a real, minimal CloudFormation stack (a single AWS::SSM::Parameter resource) through the native aws/cloudformation component type — SDK-native, no aws/rain binary shell-out — against a local AWS sandbox: no AWS account or credentials required. The sandbox is an Atmos emulator component: a container declared in the local stack that Atmos starts and stops for you. By default it runs Floci, a free, MIT-licensed AWS emulator and a drop-in replacement for LocalStack Community Edition (which was EOL'd in March 2026).

The emulator is declared once in the local stack (components.emulator.aws, driver floci/aws) and a single aws/emulator identity in atmos.yaml binds the aws/cloudformation component to the local/aws instance. pkg/aws/identity.LoadConfigWithAuth — the same in-process AWS SDK config seam every atmos aws cloudformation operation goes through — honors that identity's endpoint override automatically, so there is no endpoint configuration to maintain anywhere in this example.

This example mirrors examples/emulator-aws (same emulator, same "hello from <stage>" SSM parameter marker), demonstrating the equivalent lifecycle through the aws/cloudformation component type instead of Terraform.

Usage

Start the sandbox, deploy, inspect outputs, then tear everything down (a container runtime — Docker or Podman — is the only prerequisite):

atmos emulator up aws -s local # start the shared local sandbox
atmos aws cfn deploy demo -s local # create/update the stack (changeset-driven apply + auto-approve)
atmos aws cfn output demo -s local # inspect the stack's Outputs

atmos aws cfn delete demo -s local # delete the stack
atmos emulator down aws -s local # stop and remove the sandbox container

atmos aws cfn is a Cobra alias for atmos aws cloudformation — both work everywhere. Other lifecycle verbs include plan/diff (preview a changeset without executing it), render (client-side template render, no API calls), and validate (server-side ValidateTemplate).

atmos emulator list inventories every configured emulator instance, including local/aws when it has not been started; atmos emulator ps shows the running subset. The INSTANCE column is the value an aws/emulator identity targets. Add -s local to scope either command.

The atmos test custom command runs the full deploy/delete lifecycle end to end.

Learn More

See the atmos aws cloudformation docs.