crowbar_framework/schema/template-dns.schema
{
"type": "map",
"required": true,
"mapping": {
"id": { "type": "str", "required": true, "pattern": "/^dns-|^template-dns$/" },
"description": { "type": "str", "required": true },
"attributes": {
"type": "map",
"required": true,
"mapping": {
"dns": {
"type": "map",
"required": true,
"mapping": {
"domain": { "type": "str", "required": true, "name": "DomainName" },
"contact": { "type": "str", "required": true, "name": "Email" },
"forwarders": {
"type": "seq",
"required": true,
"sequence": [ { "type": "str", "name": "IpAddress" } ]
},
"static": {
"type": "map",
"required": true,
"mapping": {
= : { "type": "str", "name": "IpAddress" }
}
}
}
}
}
},
"deployment": {
"type": "map",
"required": true,
"mapping": {
"dns": {
"type": "map",
"required": true,
"mapping": {
"crowbar-revision": { "type": "int", "required": true },
"crowbar-committing": { "type": "bool" },
"crowbar-queued": { "type": "bool" },
"element_states": {
"type": "map",
"mapping": {
= : {
"type": "seq",
"required": true,
"sequence": [ { "type": "str" } ]
}
}
},
"elements": {
"type": "map",
"required": true,
"mapping": {
= : {
"type": "seq",
"required": true,
"sequence": [ { "type": "str" } ]
}
}
},
"element_order": {
"type": "seq",
"required": true,
"sequence": [ {
"type": "seq",
"sequence": [ { "type": "str" } ]
} ]
},
"config": {
"type": "map",
"required": true,
"mapping": {
"environment": { "type": "str", "required": true },
"mode": { "type": "str", "required": true },
"transitions": { "type": "bool", "required": true },
"transition_list": {
"type": "seq",
"required": true,
"sequence": [ { "type": "str" } ]
}
}
}
}
}
}
}
}
}