diff --git a/tests/results/test_namespace/00_6string.json b/tests/results/test_namespace/00_6string.json index 2cc5608..8769f29 100644 --- a/tests/results/test_namespace/00_6string.json +++ b/tests/results/test_namespace/00_6string.json @@ -9,7 +9,9 @@ "var3": "string1", "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "GROUP2_01": { @@ -20,7 +22,9 @@ "var3": "string1", "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "GROUP2_02": { @@ -31,7 +35,9 @@ "var3": "string1", "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "group4.net": { @@ -42,7 +48,9 @@ "var3": "string1", "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "group5.net": { @@ -53,7 +61,9 @@ "var3": "string1", "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } } } diff --git a/tests/results/test_namespace/20_2family_looks_like_dynamic.json b/tests/results/test_namespace/20_2family_looks_like_dynamic.json new file mode 100644 index 0000000..af40dbd --- /dev/null +++ b/tests/results/test_namespace/20_2family_looks_like_dynamic.json @@ -0,0 +1,89 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace/20_2family_looks_like_variable.json b/tests/results/test_namespace/20_2family_looks_like_variable.json new file mode 100644 index 0000000..4babb52 --- /dev/null +++ b/tests/results/test_namespace/20_2family_looks_like_variable.json @@ -0,0 +1,69 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "default": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_mandatory/00_6string.json b/tests/results/test_namespace_mandatory/00_6string.json index 02c82f6..ca5d7c3 100644 --- a/tests/results/test_namespace_mandatory/00_6string.json +++ b/tests/results/test_namespace_mandatory/00_6string.json @@ -9,7 +9,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "GROUP2_01": { @@ -20,7 +22,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "GROUP2_02": { @@ -31,7 +35,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "group4.net": { @@ -42,7 +48,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "group5.net": { @@ -53,7 +61,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } } } diff --git a/tests/results/test_namespace_mandatory/04_5disabled_calculation_optional_default.json b/tests/results/test_namespace_mandatory/04_5disabled_calculation_optional_default.json index 11e7f01..719d8a8 100644 --- a/tests/results/test_namespace_mandatory/04_5disabled_calculation_optional_default.json +++ b/tests/results/test_namespace_mandatory/04_5disabled_calculation_optional_default.json @@ -5,7 +5,7 @@ "ansible_host": "group1.net", "rougail": { "condition": true, - "var1": null, + "var1": "string1", "var2": null, "var3": null, "var4": null @@ -15,7 +15,7 @@ "ansible_host": "group2.net", "rougail": { "condition": true, - "var1": null, + "var1": "string1", "var2": null, "var3": null, "var4": null @@ -25,7 +25,7 @@ "ansible_host": "group3.net", "rougail": { "condition": true, - "var1": null, + "var1": "string1", "var2": null, "var3": null, "var4": null @@ -35,7 +35,7 @@ "ansible_host": "group4.net", "rougail": { "condition": true, - "var1": null, + "var1": "string1", "var2": null, "var3": null, "var4": null @@ -45,7 +45,7 @@ "ansible_host": "group5.net", "rougail": { "condition": true, - "var1": null, + "var1": "string1", "var2": null, "var3": null, "var4": null diff --git a/tests/results/test_namespace_mandatory/20_2family_looks_like_dynamic.json b/tests/results/test_namespace_mandatory/20_2family_looks_like_dynamic.json new file mode 100644 index 0000000..dbcb999 --- /dev/null +++ b/tests/results/test_namespace_mandatory/20_2family_looks_like_dynamic.json @@ -0,0 +1,94 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_mandatory/20_2family_looks_like_variable.json b/tests/results/test_namespace_mandatory/20_2family_looks_like_variable.json new file mode 100644 index 0000000..4babb52 --- /dev/null +++ b/tests/results/test_namespace_mandatory/20_2family_looks_like_variable.json @@ -0,0 +1,69 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "default": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write/00_6string.json b/tests/results/test_namespace_read_write/00_6string.json index a37bed5..e615d4f 100644 --- a/tests/results/test_namespace_read_write/00_6string.json +++ b/tests/results/test_namespace_read_write/00_6string.json @@ -9,7 +9,9 @@ "var3": null, "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "GROUP2_01": { @@ -20,7 +22,9 @@ "var3": null, "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "GROUP2_02": { @@ -31,7 +35,9 @@ "var3": null, "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "group4.net": { @@ -42,7 +48,9 @@ "var3": null, "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } }, "group5.net": { @@ -53,7 +61,9 @@ "var3": null, "var4": "value", "var5": "value", - "var6": "value" + "var6": "value", + "var7": "8080", + "var8": "true" } } } diff --git a/tests/results/test_namespace_read_write/04_5disabled_calculation_optional_default.json b/tests/results/test_namespace_read_write/04_5disabled_calculation_optional_default.json index 08df0bc..15739f7 100644 --- a/tests/results/test_namespace_read_write/04_5disabled_calculation_optional_default.json +++ b/tests/results/test_namespace_read_write/04_5disabled_calculation_optional_default.json @@ -5,6 +5,7 @@ "ansible_host": "group1.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -13,6 +14,7 @@ "ansible_host": "group2.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -21,6 +23,7 @@ "ansible_host": "group3.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -29,6 +32,7 @@ "ansible_host": "group4.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -37,6 +41,7 @@ "ansible_host": "group5.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } diff --git a/tests/results/test_namespace_read_write/20_2family_looks_like_dynamic.json b/tests/results/test_namespace_read_write/20_2family_looks_like_dynamic.json new file mode 100644 index 0000000..af40dbd --- /dev/null +++ b/tests/results/test_namespace_read_write/20_2family_looks_like_dynamic.json @@ -0,0 +1,89 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write/20_2family_looks_like_variable.json b/tests/results/test_namespace_read_write/20_2family_looks_like_variable.json new file mode 100644 index 0000000..4babb52 --- /dev/null +++ b/tests/results/test_namespace_read_write/20_2family_looks_like_variable.json @@ -0,0 +1,69 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "default": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory/00_6string.json b/tests/results/test_namespace_read_write_mandatory/00_6string.json index 02c82f6..ca5d7c3 100644 --- a/tests/results/test_namespace_read_write_mandatory/00_6string.json +++ b/tests/results/test_namespace_read_write_mandatory/00_6string.json @@ -9,7 +9,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "GROUP2_01": { @@ -20,7 +22,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "GROUP2_02": { @@ -31,7 +35,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "group4.net": { @@ -42,7 +48,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } }, "group5.net": { @@ -53,7 +61,9 @@ "var3": "string1", "var4": "string1", "var5": "string1", - "var6": "string1" + "var6": "string1", + "var7": "string1", + "var8": "string1" } } } diff --git a/tests/results/test_namespace_read_write_mandatory/04_5disabled_calculation_optional_default.json b/tests/results/test_namespace_read_write_mandatory/04_5disabled_calculation_optional_default.json index 1cb9038..bb1cf7c 100644 --- a/tests/results/test_namespace_read_write_mandatory/04_5disabled_calculation_optional_default.json +++ b/tests/results/test_namespace_read_write_mandatory/04_5disabled_calculation_optional_default.json @@ -4,31 +4,36 @@ "GROUP1_01": { "ansible_host": "group1.net", "rougail": { - "condition": true + "condition": true, + "var1": "string1" } }, "GROUP2_01": { "ansible_host": "group2.net", "rougail": { - "condition": true + "condition": true, + "var1": "string1" } }, "GROUP2_02": { "ansible_host": "group3.net", "rougail": { - "condition": true + "condition": true, + "var1": "string1" } }, "group4.net": { "ansible_host": "group4.net", "rougail": { - "condition": true + "condition": true, + "var1": "string1" } }, "group5.net": { "ansible_host": "group5.net", "rougail": { - "condition": true + "condition": true, + "var1": "string1" } } } diff --git a/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_dynamic.json b/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_dynamic.json new file mode 100644 index 0000000..dbcb999 --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_dynamic.json @@ -0,0 +1,94 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "dynamic": [ + "string1", + "string2", + "string3" + ], + "var": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_variable.json b/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_variable.json new file mode 100644 index 0000000..4babb52 --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory/20_2family_looks_like_variable.json @@ -0,0 +1,69 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "default": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory_errors/04_5disabled_calculation_optional_default.json b/tests/results/test_namespace_read_write_mandatory_errors/04_5disabled_calculation_optional_default.json index 08df0bc..15739f7 100644 --- a/tests/results/test_namespace_read_write_mandatory_errors/04_5disabled_calculation_optional_default.json +++ b/tests/results/test_namespace_read_write_mandatory_errors/04_5disabled_calculation_optional_default.json @@ -5,6 +5,7 @@ "ansible_host": "group1.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -13,6 +14,7 @@ "ansible_host": "group2.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -21,6 +23,7 @@ "ansible_host": "group3.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -29,6 +32,7 @@ "ansible_host": "group4.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } @@ -37,6 +41,7 @@ "ansible_host": "group5.net", "rougail": { "condition": false, + "var1": null, "var3": null, "var4": null } diff --git a/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_dynamic.json b/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_dynamic.json new file mode 100644 index 0000000..af40dbd --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_dynamic.json @@ -0,0 +1,89 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "dynamic": [ + "val1", + "val2" + ], + "var": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file diff --git a/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_variable.json b/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_variable.json new file mode 100644 index 0000000..4babb52 --- /dev/null +++ b/tests/results/test_namespace_read_write_mandatory_errors/20_2family_looks_like_variable.json @@ -0,0 +1,69 @@ +{ + "_meta": { + "hostvars": { + "GROUP1_01": { + "ansible_host": "group1.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_01": { + "ansible_host": "group2.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "GROUP2_02": { + "ansible_host": "group3.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group4.net": { + "ansible_host": "group4.net", + "rougail": { + "my_family": { + "default": true + } + } + }, + "group5.net": { + "ansible_host": "group5.net", + "rougail": { + "my_family": { + "default": true + } + } + } + } + }, + "group1": { + "hosts": [ + "GROUP1_01" + ] + }, + "group2": { + "hosts": [ + "GROUP2_01", + "GROUP2_02" + ] + }, + "group3": { + "hosts": [ + "group4.net", + "group5.net" + ] + }, + "groups": { + "children": [ + "group1", + "group2" + ] + } +} \ No newline at end of file