diff options
author | Brian Coca <bcoca@users.noreply.github.com> | 2018-05-25 05:38:16 +0200 |
---|---|---|
committer | ansibot <ansibot@users.noreply.github.com> | 2018-05-25 05:38:16 +0200 |
commit | 3b8b928e29c62f60a1b785e573209b40cd14b4c6 (patch) | |
tree | 29b542431caa57d86ecf434ad5f42c8f9dfb59af /examples | |
parent | added information on keyword/vars separation (#39561) (diff) | |
download | ansible-3b8b928e29c62f60a1b785e573209b40cd14b4c6.tar.xz ansible-3b8b928e29c62f60a1b785e573209b40cd14b4c6.zip |
draft schema for inventory scripts (#39454)
* draft schema for inventory scripts
used by the script inventory plugin
* fixes and details for vars
* proper escape
* restrict additional
Diffstat (limited to 'examples')
-rw-r--r-- | examples/inventory_script_schema.json | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/examples/inventory_script_schema.json b/examples/inventory_script_schema.json new file mode 100644 index 0000000000..c68b7f8270 --- /dev/null +++ b/examples/inventory_script_schema.json @@ -0,0 +1,53 @@ +{ + "$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 +} |