forked from ansible/ansible
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
draft schema for inventory scripts (ansible#39454)
* draft schema for inventory scripts used by the script inventory plugin * fixes and details for vars * proper escape * restrict additional
- Loading branch information
Showing
1 changed file
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |