crowbar_framework/schema/template-provisioner.schema
{
"type": "map",
"required": true,
"mapping": {
"id": { "type": "str", "required": true, "pattern": "/^provisioner-|^template-provisioner$/" },
"description": { "type": "str", "required": true },
"attributes": {
"type": "map",
"required": true,
"mapping": {
"provisioner": {
"type": "map",
"required": true,
"mapping": {
"default_user": { "type": "str", "required": true },
"default_password": { "type": "str" },
"default_password_hash": { "type": "str" },
"web_port": { "type": "int", "required": true },
"use_local_security": { "type": "bool", "required": true },
"dhcp": {
"type": "map",
"required": true,
"mapping": {
"lease-time": { "type": "int", "required": true },
"state_machine": {
"type": "map",
"required": true,
"mapping": {
=: {
"type": "str",
"required": true
}
}
}
}
}
}
}
}
},
"deployment": {
"type": "map",
"required": true,
"mapping": {
"provisioner": {
"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" } ]
}
}
}
}
}
}
}
}
}