Compare commits

..

No commits in common. "main" and "0.2.0a4" have entirely different histories.

1198 changed files with 59859 additions and 112 deletions

44
CHANGELOG.md Normal file
View file

@ -0,0 +1,44 @@
## 0.2.0a4 (2025-04-01)
### Fix
- update tests
## 0.2.0a3 (2025-02-17)
### Fix
- translation
## 0.2.0a2 (2025-02-10)
### Feat
- output return status too
## 0.2.0a1 (2025-01-02)
### Fix
- user data ansible is loaded before
## 0.2.0a0 (2025-01-02)
### Feat
- add namespace_is_hostname option
- add tests
## 0.1.1a2 (2024-11-29)
## 0.1.1a1 (2024-11-28)
### Fix
- better errors support
## 0.1.1a0 (2024-11-27)
### Fix
- first commit

View file

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2024-11-01 11:03+0100\n" "POT-Creation-Date: 2025-02-15 12:43+0100\n"
"PO-Revision-Date: 2024-11-01 11:04+0100\n" "PO-Revision-Date: 2025-02-15 12:44+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -16,42 +16,80 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.5\n" "X-Generator: Poedit 3.5\n"
#: src/rougail/output_exporter/__init__.py:73 #: src/rougail/output_ansible/__init__.py:57
msgid "The following variables are mandatory but have no value:" msgid "no namespace configured"
msgstr "Les variables suiveuses sont obligatoire mais n'ont pas de valeur :" msgstr "aucun espace de nom configuré"
#: src/rougail/output_exporter/__init__.py:84 #: src/rougail/output_ansible/__init__.py:65
msgid "The following variables are inaccessible but are empty and mandatory :" msgid "cannot find host namespace \"{0}\""
msgstr "Les variables suiveuses sont inaccessibles mais sont vides et obligatoires :" msgstr "ne peut trouve l'espace de nom de l'hôte \"{0}\""
#: src/rougail/output_exporter/output/console.py:53 #: src/rougail/output_ansible/__init__.py:70
msgid "Undocumented variable" #, fuzzy
msgstr "Variable non documentée" msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key"
msgstr ""
"l'espace de nom de l'hôte \"{0}\" est mal formaté, devrait avoir la clé "
"\"hostnames\""
#: src/rougail/output_exporter/output/console.py:54 #: src/rougail/output_ansible/__init__.py:97
msgid "Undocumented but modified variable" msgid "cannot find \"hostnames\" in \"{0}\" namespace"
msgstr "Variable non documentée mais modifiée" msgstr "ne peut trouve \"hostnames\" dans l'espace de nom \"{0}\""
#: src/rougail/output_exporter/output/console.py:57 #: src/rougail/output_ansible/config.py:29
msgid "Unmodifiable variable" #: src/rougail/output_ansible/config.py:30
msgstr "Variable non modifiable" msgid "parameter added only to be compatible with Ansible"
msgstr "paramètre ajouté seulement pour être compatible avec Ansible"
#: src/rougail/output_exporter/output/console.py:61 #: src/rougail/output_ansible/config.py:52
msgid "Default value" msgid "Configuration of user data or output Ansible"
msgstr "Valeur par défaut" msgstr "Configuration de Ansible comme donnée utilisateur ou sortie"
#: src/rougail/output_exporter/output/console.py:62 #: src/rougail/output_ansible/config.py:62
msgid "Modified value" msgid "Configuration of output Ansible"
msgstr "Valeur modifiée" msgstr "Configuration de la sortie Ansible"
#: src/rougail/output_exporter/output/console.py:63 #: src/rougail/output_ansible/config.py:72
msgid "Original default value" msgid "Namespace with host values"
msgstr "Valeur par défaut d'origine" msgstr "Espace de nom avec les valeurs de l'hôte"
#: src/rougail/output_exporter/output/console.py:67 #: src/rougail/output_ansible/config.py:76
msgid "Caption" msgid "Only variables in host namespace is available by a host"
msgstr "Légende" msgstr ""
"Seules les variables de l'espace de nom de l'hôte est valable pour un hôte"
#: src/rougail/output_exporter/output/console.py:92 #: src/rougail/output_ansible/config.py:77
msgid "Variables:" msgid "All variables is available for all hosts"
msgstr "Variables :" msgstr "Tous les variables sont valables pour tous les hôtes"
#~ msgid "The following variables are mandatory but have no value:"
#~ msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :"
#~ msgid ""
#~ "The following variables are inaccessible but are empty and mandatory :"
#~ msgstr ""
#~ "Les variables suiveuses sont inaccessibles mais sont vides et "
#~ "obligatoires :"
#~ msgid "Undocumented variable"
#~ msgstr "Variable non documentée"
#~ msgid "Undocumented but modified variable"
#~ msgstr "Variable non documentée mais modifiée"
#~ msgid "Unmodifiable variable"
#~ msgstr "Variable non modifiable"
#~ msgid "Default value"
#~ msgstr "Valeur par défaut"
#~ msgid "Modified value"
#~ msgstr "Valeur modifiée"
#~ msgid "Original default value"
#~ msgstr "Valeur par défaut d'origine"
#~ msgid "Caption"
#~ msgstr "Légende"
#~ msgid "Variables:"
#~ msgstr "Variables :"

View file

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-11-01 11:03+0100\n" "POT-Creation-Date: 2025-02-15 12:44+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -15,43 +15,44 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_exporter/__init__.py:73 #: src/rougail/output_ansible/__init__.py:57
msgid "The following variables are mandatory but have no value:" msgid "no namespace configured"
msgstr "" msgstr ""
#: src/rougail/output_exporter/__init__.py:84 #: src/rougail/output_ansible/__init__.py:65
msgid "The following variables are inaccessible but are empty and mandatory :" msgid "cannot find host namespace \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:53 #: src/rougail/output_ansible/__init__.py:70
msgid "Undocumented variable" msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:54 #: src/rougail/output_ansible/__init__.py:97
msgid "Undocumented but modified variable" msgid "cannot find \"hostnames\" in \"{0}\" namespace"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:57 #: src/rougail/output_ansible/config.py:29
msgid "Unmodifiable variable" #: src/rougail/output_ansible/config.py:30
msgid "parameter added only to be compatible with Ansible"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:61 #: src/rougail/output_ansible/config.py:52
msgid "Default value" msgid "Configuration of user data or output Ansible"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:62 #: src/rougail/output_ansible/config.py:62
msgid "Modified value" msgid "Configuration of output Ansible"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:63 #: src/rougail/output_ansible/config.py:72
msgid "Original default value" msgid "Namespace with host values"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:67 #: src/rougail/output_ansible/config.py:76
msgid "Caption" msgid "Only variables in host namespace is available by a host"
msgstr "" msgstr ""
#: src/rougail/output_exporter/output/console.py:92 #: src/rougail/output_ansible/config.py:77
msgid "Variables:" msgid "All variables is available for all hosts"
msgstr "" msgstr ""

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project] [project]
name = "rougail.output_ansible" name = "rougail.output_ansible"
version = "0.1.0" version = "0.2.0a4"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}] authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md" readme = "README.md"
description = "Rougail output ansible" description = "Rougail output ansible"

View file

@ -1,6 +1,6 @@
""" """
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2022-2024 Copyright (C) 2022-2025
This program is free software: you can redistribute it and/or modify it This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the under the terms of the GNU Lesser General Public License as published by the
@ -19,52 +19,103 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from typing import Optional from typing import Optional
from json import dumps from json import dumps
from tiramisu import groups
from rougail.utils import normalize_family
from .i18n import _
from ..output_json import RougailOutputJson from ..output_json import RougailOutputJson
class RougailOutputAnsible(RougailOutputJson): class RougailOutputAnsible(RougailOutputJson):
output_name = "ansible"
def __init__( def __init__(
self, self,
config: "Config", config: "Config",
*,
rougailconfig: "RougailConfig" = None, rougailconfig: "RougailConfig" = None,
user_data_errors: Optional[list] = None, **kwargs,
user_data_warnings: Optional[list] = None,
) -> None: ) -> None:
if rougailconfig is None: super().__init__(config, rougailconfig=rougailconfig, **kwargs)
from rougail import RougailConfig try:
groups.namespace
rougailconfig = RougailConfig self.support_namespace = True
self.rougailconfig = rougailconfig except AttributeError:
self.support_namespace = False
self.host_namespace = self.rougailconfig["ansible.host_namespace"] self.host_namespace = self.rougailconfig["ansible.host_namespace"]
self.config = config self.namespace_is_hostname = self.rougailconfig["ansible.namespace_is_hostname"]
self.read_write = False
self.is_mandatory = True
self.dico = {}
self.errors = []
self.warnings = []
def run(self) -> None: def exporter(self) -> None:
self.exporter() super().exporter()
print(dumps(self.json_to_ansible(), ensure_ascii=False, indent=2)) self.json_to_ansible()
# never return code 1, error are in the output data
return True
def manage_errors(self) -> bool:
if not super().manage_errors():
if not self.support_namespace:
self.errors.append(_('no namespace configured'))
hosts_config = self.config.option('hosts')
try:
if hosts_config.group_type() != groups.namespace:
hosts_config = None
except AttributeError:
hosts_config = None
if not hosts_config:
self.errors.append(_('cannot find host namespace "{0}"').format(self.host_namespace))
else:
try:
hosts_config.option('hostnames').name()
except AttributeError:
self.errors.append(_('malformated host namespace "{0}", should have the "hostnames" key').format(self.host_namespace))
return super().manage_errors()
return True
def parse_family(
self,
conf,
child,
):
if self.read_write and conf.path() == self.host_namespace:
self.config.property.read_only()
super().parse_family(conf, child)
if self.read_write and conf.path() == self.host_namespace:
self.config.property.read_write()
def json_to_ansible(self): def json_to_ansible(self):
if self.host_namespace not in self.dico:
self.errors.append(_('cannot find hosts namespace "{0}"').format(self.host_namespace))
if 'hostnames' not in self.dico[self.host_namespace]:
self.errors.append(_('malformated hosts namespace "{0}", should has "hostnames"').format(self.host_namespace))
ret = {"_meta": {"hostvars": {}}, "all": {"children": ["ungrouped"]}} ret = {"_meta": {"hostvars": {}}, "all": {"children": ["ungrouped"]}}
# if self.errors: if '_warnings' in self.dico:
# ret["_meta"]["hostvars"]["localhost"] = {'_errors': self.errors} ret["_meta"]["hostvars"]["localhost"] = {'_warnings': self.dico.pop('_warnings')}
# ret["ungrouped"] = {"hosts": ["localhost"]} ret["ungrouped"] = {"hosts": ["localhost"]}
# else: if '_errors' in self.dico:
hostnames = self.dico[self.host_namespace]['hostnames'] ret["_meta"]["hostvars"].setdefault("localhost", {})['_errors'] = self.dico.pop('_errors')
if "ungrouped" not in ret:
ret["ungrouped"] = {"hosts": ["localhost"]}
if self.host_namespace in self.dico:
hosts = self.dico.pop(self.host_namespace)
if "hostnames" not in hosts:
ret["_meta"]["hostvars"].setdefault("localhost", {}).setdefault('_errors', []).append(_('cannot find "hostnames" in "{0}" namespace').format(self.host_namespace))
if "ungrouped" not in ret:
ret["ungrouped"] = {"hosts": ["localhost"]}
hostnames = {}
else:
hostnames = hosts['hostnames']
ret_hosts = {} ret_hosts = {}
for name, hosts in hostnames.items(): for name, hosts in hostnames.items():
if 'hosts' in hosts: if 'hosts' in hosts:
if 'prefix_name' in hosts:
host_name = hosts['prefix_name']
add_index = True
elif len(hosts["hosts"]) == 1:
host_name = hosts["hosts"][0]
add_index = False
else:
raise Exception("cannot find prefix_name")
for idx, host in enumerate(hosts['hosts']): for idx, host in enumerate(hosts['hosts']):
index = str(idx + 1) index = str(idx + 1)
if idx < 9: if idx < 9:
index = '0' + index index = '0' + index
if 'prefix_name' in hosts:
host_name = hosts['prefix_name'] + index host_name = hosts['prefix_name'] + index
ret_hosts.setdefault(name, {})[host_name] = host ret_hosts.setdefault(name, {})[host_name] = host
ret.setdefault(name, {}).setdefault('hosts', []).append(host_name) ret.setdefault(name, {}).setdefault('hosts', []).append(host_name)
@ -74,8 +125,13 @@ class RougailOutputAnsible(RougailOutputJson):
for hosts in ret_hosts.values(): for hosts in ret_hosts.values():
for host, domain_name in hosts.items(): for host, domain_name in hosts.items():
ret['_meta']['hostvars'][host] = {'ansible_host': domain_name} ret['_meta']['hostvars'][host] = {'ansible_host': domain_name}
if self.namespace_is_hostname:
host_namespace = normalize_family(host)
if host_namespace in self.dico:
ret['_meta']['hostvars'][host].update(self.dico[host_namespace])
else:
ret['_meta']['hostvars'][host].update(self.dico) ret['_meta']['hostvars'][host].update(self.dico)
return ret self.dico = ret
RougailOutput = RougailOutputAnsible RougailOutput = RougailOutputAnsible

View file

@ -1,6 +1,6 @@
""" """
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2024 Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the under the terms of the GNU Lesser General Public License as published by the
@ -16,6 +16,7 @@ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
from .i18n import _
from pathlib import Path from pathlib import Path
@ -23,26 +24,60 @@ def get_rougail_config(
*, *,
backward_compatibility=True, backward_compatibility=True,
) -> dict: ) -> dict:
options = """ options = [f"""
ansible: list:
description: Configuration of output Ansible description: {_('parameter added only to be compatible with Ansible')}
negative_description: {_('parameter added only to be compatible with Ansible')}
default: false
disabled: disabled:
type: jinja type: jinja
jinja: | jinja: |
{% if step.output != 'ansible' %} {{% if step.output is propertyerror or step.output != 'ansible' %}}
disabled disabled
{% endif %} {{% endif %}}
json:
redefine: true
disabled:
type: jinja
jinja: |
{{% if step.output is propertyerror or (step.output != 'json' and step.output != 'ansible') %}}
disabled
{{% endif %}}
""", f"""
ansible:
exists: true
redefine: true
description: {_('Configuration of user data or output Ansible')}
disabled:
type: jinja
jinja: |
{{% if step.output is propertyerror or (step.output != 'ansible' and 'ansible' not in step.user_data) %}}
disabled
{{% endif %}}
""", f"""
ansible:
description: {_('Configuration of output Ansible')}
exists: false
disabled:
variable: step.output
when_not: ansible
propertyerror: false
""", f"""
ansible:
host_namespace: host_namespace:
description: Namespace with host values description: {_('Namespace with host values')}
default: "hosts" default: "hosts"
disabled:
type: jinja namespace_is_hostname:
jinja: | description: {_('Only variables in host namespace is available by a host')}
{% if step.output != 'ansible' %} negative_description: {_('All variables is available for all hosts')}
disabled default: false
{% endif %} """]
"""
return { return {
"name": "ansible", "name": "ansible",
"process": "output", "process": "output",

View file

@ -1,6 +1,6 @@
"""Internationalisation utilities """Internationalisation utilities
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2024 Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the under the terms of the GNU Lesser General Public License as published by the

27
tests/hosts/00-ip.yml Normal file
View file

@ -0,0 +1,27 @@
---
version: "1.1"
hostnames:
hidden: true
group1:
hosts:
type: domainname
multi: true
default:
- group1.net
prefix_name:
default: GROUP1_
group2:
hosts:
type: domainname
multi: true
default:
- group2.net
prefix_name:
default: GROUP2_

11
tests/hosts/10-group.yml Normal file
View file

@ -0,0 +1,11 @@
---
version: "1.1"
hostnames:
groups:
children:
multi: true
default:
- group1
- group2

View file

@ -0,0 +1,34 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net"
},
"GROUP2_01": {
"ansible_host": "group2.net"
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"version": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"version": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"empty": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"empty": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,58 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,54 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"without_type": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"without_type": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": true,
"var2": true,
"var3": true,
"var4": true,
"var5": true,
"var6": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": true,
"var2": true,
"var3": true,
"var4": true,
"var5": true,
"var6": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "a",
"var2": "a",
"var3": "a",
"var4": null,
"var5": "a",
"var6": 1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "a",
"var2": "a",
"var3": "a",
"var4": null,
"var5": "a",
"var6": 1
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 0
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 0
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "a",
"var2": "a"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "a",
"var2": "a"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,52 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"var3": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"var3": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,56 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"family": {
"var3": "string1"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"family": {
"var3": "string1"
}
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"custom1": "string1",
"custom2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"custom1": "string1",
"custom2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "domain1.lan"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "domain1.lan"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "domain1.lan"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "domain1.lan"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": 1.1,
"var2": 1.1,
"var3": 1.1,
"var4": 1.1,
"var5": 1.1,
"var6": 1.1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": 1.1,
"var2": 1.1,
"var3": 1.1,
"var4": 1.1,
"var5": 1.1,
"var6": 1.1
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable1": "80",
"variable2": "80",
"variable3": "80"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable1": "80",
"variable2": "80",
"variable3": "80"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": "#b1b1b1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": "#b1b1b1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "#b1b1b1",
"var2": "#b2b1b1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "#b1b1b1",
"var2": "#b2b1b1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues_len1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues_len1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues",
"secret3": "onE7vaLues"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues",
"secret3": "onE7vaLues"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1",
"var4": "string1",
"var5": "string1",
"var6": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1",
"var4": "string1",
"var5": "string1",
"var6": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": "quote'"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": "quote'"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,56 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "test",
"var2": "test",
"var3": "test1",
"var4": null,
"var5": false,
"var6": [
"test1",
"test2"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "test",
"var2": "test",
"var3": "test1",
"var4": null,
"var5": false,
"var6": [
"test1",
"test2"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,54 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable1": [
"val1",
"val2"
],
"variable2": [
"val1",
"val2"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable1": [
"val1",
"val2"
],
"variable2": [
"val1",
"val2"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"source_variable_1": "string1",
"source_variable_2": "string1",
"my_variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"source_variable_1": "string1",
"source_variable_2": "string1",
"my_variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,58 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": [
"string1",
"string2",
"string3"
],
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": [
"string1",
"string2",
"string3"
],
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 0
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 0
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,46 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable1": "string1",
"variable2": "string1",
"variable3": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable1": "string1",
"variable2": "string1",
"variable3": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,46 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "string1"
},
"extra": {
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,86 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
true
],
"var2": [
true
],
"var3": [
true
],
"var4": [
true
],
"var5": [
true
],
"var6": [
true
],
"var7": [
true
],
"var8": [
true
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
true
],
"var2": [
true
],
"var3": [
true
],
"var4": [
true
],
"var5": [
true
],
"var6": [
true
],
"var7": [
true
],
"var8": [
true
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,58 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"custom1": [
"string1",
"string2",
"string3"
],
"custom2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"custom1": [
"string1",
"string2",
"string3"
],
"custom2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,118 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
1.1,
2.2,
3.3
],
"var2": [
1.1,
2.2,
3.3
],
"var3": [
1.1,
2.2,
3.3
],
"var4": [
1.1,
2.2,
3.3
],
"var5": [
1.1,
2.2,
3.3
],
"var6": [
1.1,
2.2,
3.3
],
"var7": [
1.1,
2.2,
3.3
],
"var8": [
1.1,
2.2,
3.3
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
1.1,
2.2,
3.3
],
"var2": [
1.1,
2.2,
3.3
],
"var3": [
1.1,
2.2,
3.3
],
"var4": [
1.1,
2.2,
3.3
],
"var5": [
1.1,
2.2,
3.3
],
"var6": [
1.1,
2.2,
3.3
],
"var7": [
1.1,
2.2,
3.3
],
"var8": [
1.1,
2.2,
3.3
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,118 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
1,
2,
3
],
"var2": [
1,
2,
3
],
"var3": [
1,
2,
3
],
"var4": [
1,
2,
3
],
"var5": [
1,
2,
3
],
"var6": [
1,
2,
3
],
"var7": [
1,
2,
3
],
"var8": [
1,
2,
3
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
1,
2,
3
],
"var2": [
1,
2,
3
],
"var3": [
1,
2,
3
],
"var4": [
1,
2,
3
],
"var5": [
1,
2,
3
],
"var6": [
1,
2,
3
],
"var7": [
1,
2,
3
],
"var8": [
1,
2,
3
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,118 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
],
"var3": [
"string1",
"string2",
"string3"
],
"var4": [
"string1",
"string2",
"string3"
],
"var5": [
"string1",
"string2",
"string3"
],
"var6": [
"string1",
"string2",
"string3"
],
"var7": [
"string1",
"string2",
"string3"
],
"var8": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
],
"var3": [
"string1",
"string2",
"string3"
],
"var4": [
"string1",
"string2",
"string3"
],
"var5": [
"string1",
"string2",
"string3"
],
"var6": [
"string1",
"string2",
"string3"
],
"var7": [
"string1",
"string2",
"string3"
],
"var8": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,48 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,50 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 1
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "no"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "no"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "no"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "no"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "yes"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "yes"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": "yes"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": "yes"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "string1",
"var2": "string1",
"var3": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable1": "string1",
"variable2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable1": "string1",
"variable2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"var1": "string1",
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"var1": "string1",
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,60 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,44 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"var1": null,
"var2": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"var1": null,
"var2": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,42 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1",
"variable": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1",
"variable": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": "string1"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": "string1"
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,40 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,58 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": [
"string1",
"string2",
"string3"
],
"variable": [
"string1",
"string2",
"string3"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": [
"string1",
"string2",
"string3"
],
"variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"all": {
"children": [
"ungrouped",
"groups"
]
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

Some files were not shown because too many files have changed in this diff Show more