Examples¶ ↑
Let's say we make a simple change to a template, like changing the default InstanceType from t2.small
to t2.micro
. Here's what happens when you run lono cfn update
lono cfn update ec2
The output should look similiar to this:
<img src=“/img/tutorials/ec2/cfn-update-instance-type.png” alt=“Stack Update” class=“doc-photo”>
Notice that before the update gets performed lono provides a preview of the changes that are about to take place. There are two types of “diffs” in the preview.
-
Source code diff of the templates. This is generated by downloading the current CloudFormation template and comparing it with the locally generated one using
colordiff
. -
CloudFormation Change Set list of changes. This is generated using AWS CloudFormation Change Set feature.
You are prompted with an “Are you sure?” confirmation before lono continues.
By default, the update command will display a preview of the stack changes before applying the update and prompt to check if you are sure. If you want to bypass the are you sure prompt, use the --sure
option.
lono cfn update ec2 --sure
Conventions: template and param¶ ↑
Lono
follows some coventions that helps keep the commands short. We'll go through an example to explain:
Provided that you are in a lono project and have a demo
lono blueprint that contains a demo
template. To update a stack you can run:
lono cfn update demo
The above command will generate:
-
template: output/demo/templates/demo.yml
-
parameters: output/demo/params/development.json
By [convention]({% link _docs/conventions/cli.md %}), the blueprint name is the same as the stack name. In turn, template name is the same as the blueprint name. Lastly, the param name will default to the template name.
Here are examples of overriding the template and params name conventions.
lono cfn update demo --template different1
The template used is app/templates/different1.rb
and the parameters used is configs/demo/params/development/demo/different1.txt
.
lono cfn update demo --param different2
The template used is app/templates/demo.rb
and the parameters used is configs/demo/params/development/demo/different2.json
.
lono cfn update demo --template different3 --param different4
The template used is app/templates/different3.rb
and the parameters used is configs/demo/params/different3/different4.json
.