cloudsoft.io

Block Types and Schemas

Maeztro supports the following block types at the root:

  • resource TYPE RESOURCE_ID { ... } to define a new Maeztro resource of a given TYPE; maeztro is the most common simple type, with others listed here

  • maeztro extend resource "RESOURCE_TYPE.RESOURCE_ID" { ... } to extend a resource defined elsewhere; a resource RESOURCE_TYPE RESOURCE_ID block will typically exist elsewhere, such as in a *.tf file

  • maeztro root { ... } to specify resource name and other behaviour for the root node of a module (or application if the root module)

  • variable "V" { ... } to define a variable with defaults, as per Terraform syntax
  • locals { ... } to define a local expression, as per Terraform syntax

The resource and maeztro extend resource blocks accept the following optional blocks and attributes to configure the behavior of those resources:

  • name - an attribute indicating a display name for the reasouce
  • parent - the ID of a resource which parents this resource
  • sensor - a block declaring a sensor
  • effector - a block declaring an effector
  • policy - a block declaring a policy

In addition, the following optional blocks and attributes can be used to configure their display:

  • icon - an attribute indicating a relative path or URL for an icon for the resource
  • widget - a block declaring a widget
  • expansion_mode - whether the node displays as a single line, expanded to show widgets, or full expansion showing widgets and children (or is hidden)