Core Concepts

Here are the main Lono concepts:

  1. Blueprints
  2. Templates
  3. Configs: Params and Variables
  4. Layering: Params and Variables
  5. Helpers

Blueprints

Essentially, blueprints encapsulate the code that is used to generate CloudFormation templates. Blueprints live in your project’s blueprints folder or as gems. Blueprints allow you to add infrastructure components and configure them to fit your needs with Param or Shared Variables configs files. The blueprint component is covered in detailed at the Blueprints docs.

Templates

Templates are CloudFormation templates defined via the Lono DSL. Templates belong to and a part of a Blueprint. Shared variables and helpers are available in these template definitions.

Configs: Params and Variables

Configs are how you can customize the blueprints to fit your needs. There are 2 types of configs: Params docs and Variables docs. Params allow you to affect the templates at run-time. Variables configs allow you to affect the templates at compile-time.

Layering: Params and Variables

Lono supports a concept called layering. Layering is how lono merges multiple files together to produce a final result. This is useful for building multiple environments. For example, it is common to build a separate production and development environment. Most of the infrastructure is the same except for a few parts that require specific environment overrides. Lono’s layering ability makes this simple to do. More info on Layering Support.

Helpers

Helpers methods allow you to extend the core DSL. With Custom Helpers you can define your own helpers to create your CloudFormation templates. Lono also comes with some built-in helper methods.

Pro tip: Use the <- and -> arrow keys to move back and forward.

Edit this page

See a typo or an error? You can improve this page. This website is available on GitHub and contributions are encouraged and welcomed. We love pull requests from you!