Compare commits

..

4 commits

73 changed files with 4177 additions and 19 deletions

View file

@ -1,3 +1,11 @@
## 0.2.0a14 (2025-09-29)
### Feat
- remove json.read_write option
- default value for a calculated variable with an unknown optional variable
- update tests for integer type
## 0.2.0a13 (2025-09-22) ## 0.2.0a13 (2025-09-22)
### Fix ### Fix

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.2.0a13" version = "0.2.0a14"
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

@ -79,17 +79,6 @@ class RougailOutputAnsible(RougailOutputJson):
return super().manage_errors() return super().manage_errors()
return True 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):
ret = {"_meta": {"hostvars": {}}} ret = {"_meta": {"hostvars": {}}}
if "_warnings" in self.dico: if "_warnings" in self.dico:

View file

@ -1 +1 @@
__version__ = "0.2.0a13" __version__ = "0.2.0a14"

View file

@ -2,7 +2,6 @@
version: "1.1" version: "1.1"
hostnames: hostnames:
hidden: true
group1: group1:

View file

@ -0,0 +1,94 @@
{
"_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"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,79 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 9
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 9
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var": 9
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var": 9
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var": 9
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"variable": "c"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"variable": "c"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"variable": "c"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"int": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"int": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"int": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,79 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": false,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": false,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"condition": false,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"condition": false,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"condition": false,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,124 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,94 @@
{
"_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"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_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
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_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"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 0
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 0
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var": 0
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var": 0
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var": 0
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "a"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "a"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"variable": "a"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"variable": "a"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"variable": "a"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 1
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"int": 1
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"int": 1
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"int": 1
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,79 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"condition": true,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"condition": true,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"condition": true,
"var1": null,
"var2": null,
"var3": null,
"var4": null
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,124 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,64 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": [],
"var2": []
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": [],
"var2": []
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": [],
"var2": []
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": [],
"var2": []
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": [],
"var2": []
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,79 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 9
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 9
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var": 9
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var": 9
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var": 9
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"variable": "c"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"variable": "c"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"variable": "c"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"int": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"int": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"int": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,124 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,94 @@
{
"_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"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_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
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_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"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 0
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 0
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var": 0
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var": 0
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var": 0
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "a"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "a"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"variable": "a"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"variable": "a"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"variable": "a"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 1
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 1
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"int": 1
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"int": 1
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"int": 1
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": true
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": true
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"condition": true
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"condition": true
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"condition": true
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,124 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,18 @@
{
"_meta": {
"hostvars": {
"localhost": {
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.var1 (a first variable)",
" - rougail.var2 (a second variable)"
]
}
}
},
"ungrouped": {
"hosts": [
"localhost"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": 0,
"var2": 0,
"var3": 0,
"var4": 10,
"var5": 10,
"var6": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,79 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"var": 9
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"var": 9
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"var": 9
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"var": 9
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"var": 9
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"variable": "c"
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"variable": "c"
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"variable": "c"
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"variable": "c"
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,59 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"int": 10
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"int": 10
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"int": 10
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"int": 10
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"int": 10
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,69 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -4,7 +4,7 @@
"localhost": { "localhost": {
"_errors": [ "_errors": [
"The following variables are mandatory but have no value:", "The following variables are mandatory but have no value:",
" - rougail.int (A number)" " - rougail.int (An integer)"
] ]
} }
} }

View file

@ -4,7 +4,7 @@
"localhost": { "localhost": {
"_errors": [ "_errors": [
"The following variables are mandatory but have no value:", "The following variables are mandatory but have no value:",
" - rougail.general.int (a first number)" " - rougail.general.int (a first integer)"
] ]
} }
} }

View file

@ -0,0 +1,124 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -0,0 +1,84 @@
{
"_meta": {
"hostvars": {
"GROUP1_01": {
"ansible_host": "group1.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_01": {
"ansible_host": "group2.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"GROUP2_02": {
"ansible_host": "group3.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group4.net": {
"ansible_host": "group4.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
},
"group5.net": {
"ansible_host": "group5.net",
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
}
}
},
"group1": {
"hosts": [
"GROUP1_01"
]
},
"group2": {
"hosts": [
"GROUP2_01",
"GROUP2_02"
]
},
"group3": {
"hosts": [
"group4.net",
"group5.net"
]
},
"groups": {
"children": [
"group1",
"group2"
]
}
}

View file

@ -37,7 +37,6 @@ def _test_structural_files(test_dir, namespace, ext, *, read_write=True, mandato
return return
################################## ##################################
rougailconfig['step.output'] = 'ansible' rougailconfig['step.output'] = 'ansible'
rougailconfig["json.read_write"] = read_write
rougailconfig["json.mandatory"] = mandatory rougailconfig["json.mandatory"] = mandatory
extra_namespaces = rougailconfig["extra_namespaces"] extra_namespaces = rougailconfig["extra_namespaces"]
extra_namespaces["hosts"] = [str(Path(__file__).parent / "hosts")] extra_namespaces["hosts"] = [str(Path(__file__).parent / "hosts")]
@ -61,10 +60,14 @@ def _test_structural_files(test_dir, namespace, ext, *, read_write=True, mandato
################################## ##################################
if do_calc and (mandatory or not read_write): if do_calc and (mandatory or not read_write):
if mandatory: if mandatory:
get_values_for_config(config) get_values_for_config(config, exclude_namespace="hosts")
else: else:
get_values_for_config(config, level="mandatories") get_values_for_config(config, level="mandatories", exclude_namespace="hosts")
################################## ##################################
if read_write:
config.property.read_write()
else:
config.property.read_only()
generated_output = RougailOutput(config, rougailconfig=rougailconfig).run()[1] generated_output = RougailOutput(config, rougailconfig=rougailconfig).run()[1]
output_file = Path(__file__).parent / 'results' / dir_name / (test_dir.name + "." + ext) output_file = Path(__file__).parent / 'results' / dir_name / (test_dir.name + "." + ext)
if not output_file.is_file(): if not output_file.is_file():