Introducing Maeztro

Orchestrate your Terraform: improve reliability, visibility, and compliance for deployments by infusing in-life management into the mix.

The Maeztro subsystem in AMP allows existing Terraform configuration files and even deployments to be used to quickly onboard systems into AMP so you can add AMP’s management capabilities:

  • Understand the structure by capturing topology.
  • Include external metrics as sensors.
  • Define operations as effectors.
  • Attach automation and compliance with policies.

Within a very short space of time, your Terraform can be leveraged to provide a live view like the following:


The modelling capabilities of Cloudsoft AMP let you use the topology of your application or environment to place all the resources in a sensible context. Operations are then available on resources with a single click or via API or CLI, stored “as-code” as effectors, and these can be triggered automatically or periodically using sensors and policies.

Learn how with a tutorial.

A Technical Overview

Maeztro stores your model and automation in *.mz files that live alongside your *.tf Terraform configuration files. This means Maeztro is able to understand the Terraform definitions and desired state, as well as the live tfstate. The *.mz files are written in the HCL language used by Terraform, so adding AMP capabilities is a familiar experience. You have access to functions, variables, and resource_id.resource_type.attributes in your Maeztro code, plus AMP’s rich workflow and ability to call to other systems for in-life management operation.

The use of sidecar *.mz files makes sure Maeztro doesn’t disrupt your Terraform code or processes, and you can flexibly opt in as much or as little as you want. You can continue to terraform apply your Terraform yourself, or Maeztro can do it based on triggers you specify, using Terraform Cloud / TFE / other remote backends, or running in a container or shell. The Maeztro server receives your configuration files and the state, updated when you choose, and uses this as part of its model.

In the Maeztro model, you can extend resources from Terraform to add AMP sensor, effector, and policy blocks, and you can define new Maeztro resource blocks to define application’s structure. Any changes to the Maeztro model can be applied with mz apply. You can also write “pure AMP” applications that don’t use Terraform.

Learn More

For getting familiar with Maeztro we recommend starting with:

Then continue with the core concepts:

After this you should be proficient, and as you need more, you can always return to the: