{
  StorageVol = {
    name | String,
    size | Number | default = 0,
    total | Number | default = size,
    type | String | default = "ext4",  # ext4 | xfs | btrfs | raw | zfs
    mount | Bool | default = true,
    mount_path | String | optional,
    fstab | Bool | default = true,
  },

  Storage = {
    name | String,
    size | Number | default = 0,
    total | Number | default = size,
    type | String | default = "ext4",  # ext4 | xfs | btrfs | raw | zfs
    mount | Bool | default = true,
    mount_path | String | optional,
    fstab | Bool | default = true,
    parts | default = [],
  },

  TaskServDef = {
    name | String,
    install_mode | String | default = "library",  # getfile | library | server | library-server | server-library
    profile | String | default = "default",
    target_save_path | String | default = "",
  },

  ClusterDef = {
    name | String,
    profile | String | default = "default",
    target_save_path | String | default = "",
  },

  ScaleData = {
    def | String,
    disabled | Bool | default = false,
    mode | String | default = "manual",  # auto | manual | ondemand
    expire | String | optional,
    from | String | optional,
    to | String | optional,
  },

  ScaleResource = {
    default,
    fallback | optional,
    up | optional,
    down | optional,
    min | optional,
    max | optional,
    path | String | default = "/etc/scale_provisioning",
  },
}
