{ "$schema": "http://json-schema.org/draft-06/schema#", "title": "Ansible Inventory", "description" : "Ansible Inventory for the script inventory plugin", "type": "object", "patternProperties": { "^\\w$":{ "type": "object", "properties": { "hosts": { "description" : "list of hosts that are part of this group", "type": "array", "items": { "type": "string" } }, "vars": { "type": "object", "description": "Variables to assign to hosts that are part of this group" , "patternProperties": { "^\\w$":{ "type": "object", "description" : "Vars for this hosts in this group" } } }, "children": { "description" : "list of groups that are children of this group, their hosts will be added to this group", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "_meta":{ "type": "object", "description" : "Key that avoids calling the script per host", "required": ["hostvars"], "properties": { "hostvars": { "type": "object", "description" : "Each key is a hostname and the value is a dictionary of the variables for that host", "patternProperties": { "^\\w$":{ "type": "object", "description" : "Hosts with their associated vars", "patternProperties": { "^\\w$":{ "type": "object", "description" : "Vars for this host" } } } } } }, "additionalProperties": false } }, "additionalProperties": false }