Compare commits

...

No commits in common. "a51cfb8bfda10bbf53b215976b904a4c74b1039e" and "48b51260bd4366bb4ccbf5503452160ff4b48aec" have entirely different histories.

3687 changed files with 132 additions and 277648 deletions

View file

@ -1,53 +0,0 @@
## 1.0.0 (2026-06-21)
### Feat
- better customize vars documentation
- can change the directory where documentation are placed + remove empty vars/main.yml file + better tests
- leadership => sequence
- gen doc for ansible output
- add dot
- doc rougail integration
- gen doc of ansible type
- add vars for an specified host
- add doc
- can sort variable per namespace
- can remove namespace name in host vars
- add some tests
- remove json.read_write option
- default value for a calculated variable with an unknown optional variable
- update tests for integer type
- add ansible.export_warnings option
- output return status too
- add namespace_is_hostname option
- add tests
### Fix
- rougail dependencies
- black
- update french translation
- update tests
- yaml for all output format
- update tests
- update tests
- update tests
- tests
- ansible in config is a family
- tests for formatter
- dictionary => structure
- all group is not necesary
- "all" group are now compose with host and we remove duplicated hostname
- rougail separation
- update tests
- black
- do not force use_data usage
- remove negative_description support
- update tests
- better mandatory support in test
- version
- update tests
- translation
- user data ansible is loaded before
- better errors support
- first commit

View file

@ -1,64 +0,0 @@
---
gitea: none
include_toc: true
---
[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
## Génère un inventaire Ansible
> [!NOTE]
>
> **Chemin** : ansible\
> *`désactivé`*\
> **Désactivé** : lorsque la variable "[sélection pour sortie](#step.output)" est accessible et n'a pas la valeur "ansible".
| Variable | Description | Valeur par défaut | Type | Validateur |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------|--------------------------------------------------|
| **<a id="ansible.output" name="ansible.output">ansible.output</a>**<br/>**Ligne de commande** : <br/>--ansible.output<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.OUTPUT | Type de sortie. | inventory | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | **Choix** : <br/>•&nbsp;inventory<br/>•&nbsp;doc |
| **<a id="ansible.host_namespace" name="ansible.host_namespace">ansible.host_namespace</a>**<br/>**Ligne de commande** : <br/>--ansible.host_namespace<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.HOST_NAMESPACE | Espace de nom avec les valeurs de l&#x27;hôte. | hosts | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | |
### Configuration de la doc
> [!NOTE]
>
> **Chemin** : ansible.doc\
> *`désactivé`*\
> **Désactivé** : lorsque la variable "[Type de sortie](#ansible.output)" n'a pas la valeur "doc".
| Variable | Description | Valeur par défaut | Type | Validateur |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="ansible.doc.project_name" name="ansible.doc.project_name">ansible.doc.project_name</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.project_name<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.PROJECT_NAME | Nom du projet Ansible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | |
| **<a id="ansible.doc.author" name="ansible.doc.author">ansible.doc.author</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.author<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.AUTHOR | Nom de l&#x27;auteur Ansible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | |
| **<a id="ansible.doc.output_format" name="ansible.doc.output_format">ansible.doc.output_format</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.output_format<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.OUTPUT_FORMAT | Le format de sorti de la documentation générée. | console | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | **Choix** : <br/>•&nbsp;console<br/>•&nbsp;asciidoc<br/>•&nbsp;html<br/>•&nbsp;github<br/>•&nbsp;gitlab<br/>•&nbsp;restructuredtext<br/>•&nbsp;json |
| **<a id="ansible.doc.collection_type" name="ansible.doc.collection_type">ansible.doc.collection_type</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.collection_type<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.COLLECTION_TYPE | Contenu de la collection. | auto | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | **Choix** : <br/>•&nbsp;auto<br/>•&nbsp;playbooks<br/>•&nbsp;roles |
#### Informations sur le Playbooks
> [!NOTE]
>
> Cette famille contient des listes de bloc de variable.\
> **Chemin** : ansible.doc.playbooks\
> *`désactivé`*\
> **Désactivé** : si le contenu est une rôle.
| Variable | Description | Type | Validateur |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|--------------|
| **<a id="ansible.doc.playbooks.name" name="ansible.doc.playbooks.name">ansible.doc.playbooks.name</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.playbooks.name<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.PLAYBOOKS.NAME | Nom du Playbook.<br/>Les Playbooks sont placés dans le répertoire playbooks/. Par défaut, la description du &quot;type&quot; est utilisée comme nom de Playbook dans l&#x27;exemple généré. Il est possible de personnalisé la description ici. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` |
| **<a id="ansible.doc.playbooks.description" name="ansible.doc.playbooks.description">ansible.doc.playbooks.description</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.playbooks.description<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.PLAYBOOKS.DESCRIPTION | Description du Playbook. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | |
| Variable | Description | Type | Validateur |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="ansible.doc.root_directory" name="ansible.doc.root_directory">ansible.doc.root_directory</a>**<br/>**Ligne de commande** : <br/>--ansible.doc.root_directory<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.DOC.ROOT_DIRECTORY | Répertoire racine de la documentation générée. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) | •&nbsp;le nom de fichier peut être une chemin relatif<br/>•&nbsp;le fichier doit exister<br/>•&nbsp;type de fichier autorisé: "directory". |
### Configuration de l&#x27;inventaire
> [!NOTE]
>
> **Chemin** : ansible.inventory\
> *`désactivé`*\
> **Désactivé** : lorsque la variable "[Type de sortie](#ansible.output)" n'a pas la valeur "inventory".
| Variable | Description | Valeur par défaut | Type |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|---------------------|---------------------------------------------------------------------------------------------------|
| **<a id="ansible.inventory.no_namespace_in_vars" name="ansible.inventory.no_namespace_in_vars">ansible.inventory.no_namespace_in_vars</a>**<br/>**Ligne de commande** : <br/>•&nbsp;--ansible.inventory.no_namespace_in_vars<br/>•&nbsp;--ansible.inventory.no-no_namespace_in_vars<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.INVENTORY.NO_NAMESPACE_IN_VARS | Supprime le nom de l&#x27;espace de nom dans les vars de l&#x27;hôte. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` |
| **<a id="ansible.inventory.export_warnings" name="ansible.inventory.export_warnings">ansible.inventory.export_warnings</a>**<br/>**Ligne de commande** : <br/>•&nbsp;--ansible.inventory.export_warnings<br/>•&nbsp;--ansible.inventory.no-export_warnings<br/>**Variable d'environnement** : ROUGAILCLI_ANSIBLE.INVENTORY.EXPORT_WARNINGS | Affiche les avertissements dans les données d&#x27;exportation Ansible. | true | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` |

View file

@ -1,64 +1,2 @@
--- # rougail-output-ansible
gitea: none
include_toc: true
---
[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
## Generate Ansible inventory
> [!NOTE]
>
> **Path**: ansible\
> *`disabled`*\
> **Disabled**: when the variable "[select for output](#step.output)" is accessible and hasn't the value "ansible".
| Variable | Description | Default value | Type | Validator |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|-----------------|------------------------------------------------------------------------------------------------|---------------------------------------------------|
| **<a id="ansible.output" name="ansible.output">ansible.output</a>**<br/>**Command line**: <br/>--ansible.output<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.OUTPUT | Output type. | inventory | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | **Choices**: <br/>•&nbsp;inventory<br/>•&nbsp;doc |
| **<a id="ansible.host_namespace" name="ansible.host_namespace">ansible.host_namespace</a>**<br/>**Command line**: <br/>--ansible.host_namespace<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.HOST_NAMESPACE | Namespace with host values. | hosts | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | |
### Doc configuration
> [!NOTE]
>
> **Path**: ansible.doc\
> *`disabled`*\
> **Disabled**: when the variable "[Output type](#ansible.output)" hasn't the value "doc".
| Variable | Description | Default value | Type | Validator |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="ansible.doc.project_name" name="ansible.doc.project_name">ansible.doc.project_name</a>**<br/>**Command line**: <br/>--ansible.doc.project_name<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.PROJECT_NAME | Ansible project name. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | |
| **<a id="ansible.doc.author" name="ansible.doc.author">ansible.doc.author</a>**<br/>**Command line**: <br/>--ansible.doc.author<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.AUTHOR | Ansible author name. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | |
| **<a id="ansible.doc.output_format" name="ansible.doc.output_format">ansible.doc.output_format</a>**<br/>**Command line**: <br/>--ansible.doc.output_format<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.OUTPUT_FORMAT | The output format of the generated documentation. | console | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | **Choices**: <br/>•&nbsp;console<br/>•&nbsp;asciidoc<br/>•&nbsp;html<br/>•&nbsp;github<br/>•&nbsp;gitlab<br/>•&nbsp;restructuredtext<br/>•&nbsp;json |
| **<a id="ansible.doc.collection_type" name="ansible.doc.collection_type">ansible.doc.collection_type</a>**<br/>**Command line**: <br/>--ansible.doc.collection_type<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.COLLECTION_TYPE | Collection contents. | auto | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | **Choices**: <br/>•&nbsp;auto<br/>•&nbsp;playbooks<br/>•&nbsp;roles |
#### Playbooks informations
> [!NOTE]
>
> This family contains lists of variable blocks.\
> **Path**: ansible.doc.playbooks\
> *`disabled`*\
> **Disabled**: if the content is a role.
| Variable | Description | Type | Validator |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-------------|
| **<a id="ansible.doc.playbooks.name" name="ansible.doc.playbooks.name">ansible.doc.playbooks.name</a>**<br/>**Command line**: <br/>--ansible.doc.playbooks.name<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.PLAYBOOKS.NAME | Playbook name.<br/>Playbooks are placed in the playbooks/ directory. By default, the description of the &quot;type&quot; is used as the Playbook name in the generated example. It is possible to customize this description here. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` |
| **<a id="ansible.doc.playbooks.description" name="ansible.doc.playbooks.description">ansible.doc.playbooks.description</a>**<br/>**Command line**: <br/>--ansible.doc.playbooks.description<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.PLAYBOOKS.DESCRIPTION | Playbook description. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | |
| Variable | Description | Type | Validator |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| **<a id="ansible.doc.root_directory" name="ansible.doc.root_directory">ansible.doc.root_directory</a>**<br/>**Command line**: <br/>--ansible.doc.root_directory<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.DOC.ROOT_DIRECTORY | Root directory of generated documents. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) | •&nbsp;this filename could be a relative path<br/>•&nbsp;this file must exist<br/>•&nbsp;file type allowed: "directory". |
### Inventory configuration
> [!NOTE]
>
> **Path**: ansible.inventory\
> *`disabled`*\
> **Disabled**: when the variable "[Output type](#ansible.output)" hasn't the value "inventory".
| Variable | Description | Default value | Type |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|-----------------|-------------------------------------------------------------------------------------------------|
| **<a id="ansible.inventory.no_namespace_in_vars" name="ansible.inventory.no_namespace_in_vars">ansible.inventory.no_namespace_in_vars</a>**<br/>**Command line**: <br/>•&nbsp;--ansible.inventory.no_namespace_in_vars<br/>•&nbsp;--ansible.inventory.no-no_namespace_in_vars<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.INVENTORY.NO_NAMESPACE_IN_VARS | Remove namespace name in host vars. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` |
| **<a id="ansible.inventory.export_warnings" name="ansible.inventory.export_warnings">ansible.inventory.export_warnings</a>**<br/>**Command line**: <br/>•&nbsp;--ansible.inventory.export_warnings<br/>•&nbsp;--ansible.inventory.no-export_warnings<br/>**Environment variable**: ROUGAILCLI_ANSIBLE.INVENTORY.EXPORT_WARNINGS | Displays warnings inside Ansible exportation datas. | true | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` |

View file

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2026-06-20 07:30+0200\n" "POT-Creation-Date: 2024-11-01 11:03+0100\n"
"PO-Revision-Date: 2026-06-20 07:32+0200\n" "PO-Revision-Date: 2024-11-01 11:04+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -14,254 +14,44 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.9\n" "X-Generator: Poedit 3.5\n"
#: src/rougail/output_ansible/annotator.py:39 #: src/rougail/output_exporter/__init__.py:73
#: src/rougail/output_ansible/annotator.py:43 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_ansible/annotator.py:46 #: src/rougail/output_exporter/__init__.py:84
msgid "cannot find host namespace \"{0}\"" msgid "The following variables are inaccessible but are empty and mandatory :"
msgstr "ne peut trouve l'espace de nom de l'hôte \"{0}\"" msgstr "Les variables suiveuses sont inaccessibles mais sont vides et obligatoires :"
#: src/rougail/output_ansible/annotator.py:51 #: src/rougail/output_exporter/output/console.py:53
msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key" msgid "Undocumented variable"
msgstr "" msgstr "Variable non documentée"
"l'espace de nom de l'hôte \"{0}\" est mal formaté, devrait avoir la clé "
"\"hostnames\""
#: src/rougail/output_ansible/annotator.py:56 #: src/rougail/output_exporter/output/console.py:54
msgid "malformated host namespace \"{0}\", \"{1}\" is not a family" msgid "Undocumented but modified variable"
msgstr "" msgstr "Variable non documentée mais modifiée"
"l'espace de nom de l'hôte \"{0}\" mal formaté, \"{1}\" n'est pas une famille"
#: src/rougail/output_ansible/annotator.py:62 #: src/rougail/output_exporter/output/console.py:57
msgid "malformated ansible hosts \"{0}\", is not a \"domainname\" variable" msgid "Unmodifiable variable"
msgstr "" msgstr "Variable non modifiable"
"l'espace de nom de l'hôte \"{0}\" mal formaté, n'est pas une variable "
"\"domainname\""
#: src/rougail/output_ansible/annotator.py:65 #: src/rougail/output_exporter/output/console.py:61
msgid "malformated ansible hosts \"{0}\", it must be a multiple variable" msgid "Default value"
msgstr "" msgstr "Valeur par défaut"
"l'espace de nom de l'hôte \"{0}\" mal formaté, il doit être une variable "
"multiple"
#: src/rougail/output_ansible/ansible.py:91 #: src/rougail/output_exporter/output/console.py:62
msgid "cannot find \"hostnames\" in \"{0}\" namespace" msgid "Modified value"
msgstr "ne peut trouve \"hostnames\" dans l'espace de nom \"{0}\"" msgstr "Valeur modifiée"
#: src/rougail/output_ansible/config.py:39 #: src/rougail/output_exporter/output/console.py:63
msgid "parameter added only to be compatible with Ansible" msgid "Original default value"
msgstr "paramètre ajouté seulement pour être compatible avec Ansible" msgstr "Valeur par défaut d'origine"
#: src/rougail/output_ansible/config.py:45 #: src/rougail/output_exporter/output/console.py:67
msgid "if ansible is not set in \"step.output\"" msgid "Caption"
msgstr "si ansible n'est pas défini dans \"step.output\"" msgstr "Légende"
#: src/rougail/output_ansible/config.py:51 #: src/rougail/output_exporter/output/console.py:92
msgid "Load Ansible encrypt inventory or generate Ansible inventory" msgid "Variables:"
msgstr "Charge un inventaire chiffré Ansible ou génère un inventaire Ansible" msgstr "Variables :"
#: src/rougail/output_ansible/config.py:56
msgid "if ansible is not in \"step.output\" and not in \"step.user_data\""
msgstr "si ansible n'est pas dans \"step.output\" ni dans \"step.user_data\""
#: src/rougail/output_ansible/config.py:62
msgid "Generate Ansible inventory"
msgstr "Génère un inventaire Ansible"
#: src/rougail/output_ansible/config.py:74
msgid "Output type"
msgstr "Type de sortie"
#: src/rougail/output_ansible/config.py:83
msgid "Namespace with host values"
msgstr "Espace de nom avec les valeurs de l'hôte"
#: src/rougail/output_ansible/config.py:86
msgid "Doc configuration"
msgstr "Configuration de la doc"
#: src/rougail/output_ansible/config.py:91
msgid "Ansible project name"
msgstr "Nom du projet Ansible"
#: src/rougail/output_ansible/config.py:93
msgid "Ansible author name"
msgstr "Nom de l'auteur Ansible"
#: src/rougail/output_ansible/config.py:96
msgid "The output format of the generated documentation"
msgstr "Le format de sorti de la documentation générée"
#: src/rougail/output_ansible/config.py:104
msgid "collection contents"
msgstr "contenu de la collection"
#: src/rougail/output_ansible/config.py:112
msgid "Playbooks informations"
msgstr "Informations sur le Playbooks"
#: src/rougail/output_ansible/config.py:118
msgid "if the content is a role"
msgstr "si le contenu est une rôle"
#: src/rougail/output_ansible/config.py:121
msgid "Playbook name"
msgstr "Nom du Playbook"
#: src/rougail/output_ansible/config.py:122
msgid ""
"Playbooks are placed in the playbooks/ directory. By default, the "
"description of the \"type\" is used as the Playbook name in the generated "
"example. It is possible to customize this description here."
msgstr ""
"Les Playbooks sont placés dans le répertoire playbooks/. Par défaut, la "
"description du \"type\" est utilisée comme nom de Playbook dans l'exemple "
"généré. Il est possible de personnalisé la description ici."
#: src/rougail/output_ansible/config.py:126
msgid "Playbook description"
msgstr "Description du Playbook"
#: src/rougail/output_ansible/config.py:129
msgid "Root directory of generated documents"
msgstr "Répertoire racine de la documentation générée"
#: src/rougail/output_ansible/config.py:139
msgid "Inventory configuration"
msgstr "Configuration de l'inventaire"
#: src/rougail/output_ansible/config.py:144
msgid "Remove namespace name in host vars"
msgstr "Supprime le nom de l'espace de nom dans les vars de l'hôte"
#: src/rougail/output_ansible/config.py:146
msgid "Displays warnings inside Ansible exportation datas"
msgstr "Affiche les avertissements dans les données d'exportation Ansible"
#: src/rougail/output_ansible/doc.py:102
msgid "This repository contains the {0} Ansible collection."
msgstr "Le dépôt contient la collection Ansible {0}."
#: src/rougail/output_ansible/doc.py:109
msgid "The group variables \"{0}\" - {1}"
msgstr "Le groupe de variables \"{0}\" - {1}"
#: src/rougail/output_ansible/doc.py:111
msgid "The group variables {0}"
msgstr "Le groupe de variables {0}"
#: src/rougail/output_ansible/doc.py:116
msgid "Variables"
msgstr "Variables"
#: src/rougail/output_ansible/doc.py:131
msgid "Hidden variables can only be modified within a structure file."
msgstr ""
"Les variables cachées ne peuvent être modifiées que dans un fichier de "
"structure."
#: src/rougail/output_ansible/doc.py:136
msgid "Usage"
msgstr "Usage"
#: src/rougail/output_ansible/doc.py:137
msgid "Example Playbook with Rougail"
msgstr "Exemple de playbook avec Rougail"
#: src/rougail/output_ansible/doc.py:145
msgid "Add to your structural file something like:"
msgstr "Ajouter à votre fichier de structure quelque chose comme :"
#: src/rougail/output_ansible/doc.py:149
msgid "Customizing hidden variables in structure file:"
msgstr "Personnalisation des variables cachées dans le fichier de structure :"
#: src/rougail/output_ansible/doc.py:152
msgid "Do not forget to add Rougail structure file as Rougail types."
msgstr ""
"Ne pas oublier d'ajouter le fichier de structure Rougail comme types Rougail."
#: src/rougail/output_ansible/doc.py:159
msgid "For example you can add an YAML user data with something like:"
msgstr ""
"Par exemple vous pouvez ajouter une donnée utilisateur de type YAML avec "
"quelque chose comme :"
#: src/rougail/output_ansible/doc.py:161
msgid "Add to your Play:"
msgstr "Ajouter à votre Play :"
#: src/rougail/output_ansible/doc.py:176
msgid "Example Playbook without Rougail"
msgstr "Exemple de Playbook sans Rougail"
#: src/rougail/output_ansible/doc.py:177
msgid "The variables will not be properly validated without Rougail."
msgstr "Les variables ne seront pas validées correctement sans Rougail."
#: src/rougail/output_ansible/doc.py:229
msgid ""
"Unable to find a Playbook in playbooks/ directory or a role in roles/ "
"directory"
msgstr ""
"Impossible de trouver un Playbook dans le répertoire playbooks/ ou un rôle "
"dans le répertoire roles/"
#~ msgid "if ansible or json are not set in \"step.output\""
#~ msgstr "si ansible ou json ne sont pas définis dans \"step.output\""
#~ msgid "Ansible role"
#~ msgstr "Rôle Ansible"
#~ msgid "{0}: {1}"
#~ msgstr "{0} : {1}"
#~ msgid "Example playbook"
#~ msgstr "Exemple de playbook"
#~ msgid "Configuration of user data or output Ansible"
#~ msgstr "Configuration de Ansible comme donnée utilisateur ou sortie"
#~ msgid "Configuration of output Ansible"
#~ msgstr "Configuration de la sortie Ansible"
#~ msgid "Only variables in host namespace is available by a host"
#~ msgstr ""
#~ "Seules les variables de l'espace de nom de l'hôte est valable pour un hôte"
#~ msgid "All variables is available for all hosts"
#~ 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"

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: 2026-06-20 21:21+0200\n" "POT-Creation-Date: 2024-11-01 11:03+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,120 +15,43 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_ansible/annotator.py:39 #: src/rougail/output_exporter/__init__.py:73
#: src/rougail/output_ansible/annotator.py:43 msgid "The following variables are mandatory but have no value:"
msgid "no namespace configured"
msgstr "" msgstr ""
#: src/rougail/output_ansible/annotator.py:46 #: src/rougail/output_exporter/__init__.py:84
msgid "cannot find host namespace \"{0}\"" msgid "The following variables are inaccessible but are empty and mandatory :"
msgstr "" msgstr ""
#: src/rougail/output_ansible/annotator.py:51 #: src/rougail/output_exporter/output/console.py:53
msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key" msgid "Undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_ansible/annotator.py:56 #: src/rougail/output_exporter/output/console.py:54
msgid "malformated host namespace \"{0}\", \"{1}\" is not a family" msgid "Undocumented but modified variable"
msgstr "" msgstr ""
#: src/rougail/output_ansible/annotator.py:62 #: src/rougail/output_exporter/output/console.py:57
msgid "malformated ansible hosts \"{0}\", is not a \"domainname\" variable" msgid "Unmodifiable variable"
msgstr "" msgstr ""
#: src/rougail/output_ansible/annotator.py:65 #: src/rougail/output_exporter/output/console.py:61
msgid "malformated ansible hosts \"{0}\", it must be a multiple variable" msgid "Default value"
msgstr "" msgstr ""
#: src/rougail/output_ansible/ansible.py:91 #: src/rougail/output_exporter/output/console.py:62
msgid "cannot find \"hostnames\" in \"{0}\" namespace" msgid "Modified value"
msgstr "" msgstr ""
#: src/rougail/output_ansible/config.py:39 #: src/rougail/output_exporter/output/console.py:63
msgid "parameter added only to be compatible with Ansible" msgid "Original default value"
msgstr "" msgstr ""
#: src/rougail/output_ansible/config.py:45 #: src/rougail/output_exporter/output/console.py:67
msgid "if ansible is not set in \"step.output\"" msgid "Caption"
msgstr "" msgstr ""
#: src/rougail/output_ansible/config.py:51 #: src/rougail/output_exporter/output/console.py:92
msgid "Load Ansible encrypt inventory or generate Ansible inventory" msgid "Variables:"
msgstr ""
#: src/rougail/output_ansible/config.py:56
msgid "if ansible is not in \"step.output\" and not in \"step.user_data\""
msgstr ""
#: src/rougail/output_ansible/config.py:62
msgid "Generate Ansible inventory"
msgstr ""
#: src/rougail/output_ansible/config.py:74
msgid "Output type"
msgstr ""
#: src/rougail/output_ansible/config.py:83
msgid "Namespace with host values"
msgstr ""
#: src/rougail/output_ansible/config.py:86
msgid "Doc configuration"
msgstr ""
#: src/rougail/output_ansible/config.py:91
msgid "Ansible project name"
msgstr ""
#: src/rougail/output_ansible/config.py:93
msgid "Ansible author name"
msgstr ""
#: src/rougail/output_ansible/config.py:96
msgid "The output format of the generated documentation"
msgstr ""
#: src/rougail/output_ansible/config.py:104
msgid "collection contents"
msgstr ""
#: src/rougail/output_ansible/config.py:112
msgid "Playbooks informations"
msgstr ""
#: src/rougail/output_ansible/config.py:118
msgid "if the content is a role"
msgstr ""
#: src/rougail/output_ansible/config.py:121
msgid "Playbook name"
msgstr ""
#: src/rougail/output_ansible/config.py:122
msgid "Playbooks are placed in the playbooks/ directory. By default, the description of the \"type\" is used as the Playbook name in the generated example. It is possible to customize this description here."
msgstr ""
#: src/rougail/output_ansible/config.py:126
msgid "Playbook description"
msgstr ""
#: src/rougail/output_ansible/config.py:129
msgid "Root directory of generated documents"
msgstr ""
#: src/rougail/output_ansible/config.py:139
msgid "Inventory configuration"
msgstr ""
#: src/rougail/output_ansible/config.py:144
msgid "Remove namespace name in host vars"
msgstr ""
#: src/rougail/output_ansible/config.py:146
msgid "Displays warnings inside Ansible exportation datas"
msgstr ""
#: src/rougail/output_ansible/doc.py:58
msgid "{0} is not set as step.output"
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 = "1.0.0" version = "0.1.0"
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"
@ -13,10 +13,11 @@ license = {file = "LICENSE"}
classifiers = [ classifiers = [
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
"Programming Language :: Python", "Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Natural Language :: English", "Natural Language :: English",
@ -24,9 +25,8 @@ classifiers = [
] ]
dependencies = [ dependencies = [
"rougail >= 1.2.0,<2", "rougail >= 1.1,<2",
"rougail-output-json >= 1.0.0,<2", "rougail-output-json >= 0.1",
"ansible",
] ]
[project.urls] [project.urls]
@ -37,9 +37,5 @@ name = "cz_conventional_commits"
tag_format = "$version" tag_format = "$version"
version_scheme = "pep440" version_scheme = "pep440"
version_provider = "pep621" version_provider = "pep621"
version_files = [
"src/rougail/output_ansible/__version__.py",
"pyproject.toml:version"
]
update_changelog_on_bump = true update_changelog_on_bump = true
changelog_merge_prerelease = true changelog_merge_prerelease = true

View file

@ -1,7 +1,7 @@
""" """
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2022-2026 Copyright (C) 2022-2024
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
Free Software Foundation, either version 3 of the License, or (at your Free Software Foundation, either version 3 of the License, or (at your
@ -16,50 +16,69 @@ 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 .ansible import Inventory from typing import Optional
from .__version__ import __version__ from json import dumps
from ..output_json import RougailOutputJson
class RougailOutputAnsible: class RougailOutputAnsible(RougailOutputJson):
output_name = "ansible"
def __init__( def __init__(
self, self,
config: "Config", config: "Config",
*,
rougailconfig: "RougailConfig" = None, rougailconfig: "RougailConfig" = None,
**kwargs, user_data_errors: Optional[list] = None,
user_data_warnings: Optional[list] = None,
) -> None: ) -> None:
self.config = config if rougailconfig is None:
from rougail import RougailConfig
rougailconfig = RougailConfig
self.rougailconfig = rougailconfig self.rougailconfig = rougailconfig
self.kwargs = kwargs self.host_namespace = self.rougailconfig["ansible.host_namespace"]
self.config = config
self.read_write = False
self.is_mandatory = True
self.dico = {}
self.errors = []
self.warnings = []
def run(self): def run(self) -> None:
output = self.rougailconfig["ansible.output"] self.exporter()
if output == "doc": print(dumps(self.json_to_ansible(), ensure_ascii=False, indent=2))
from .doc import Doc
data = Doc(self.config, rougailconfig=self.rougailconfig, **self.kwargs) def json_to_ansible(self):
else: if self.host_namespace not in self.dico:
data = Inventory( self.errors.append(_('cannot find hosts namespace "{0}"').format(self.host_namespace))
self.config, rougailconfig=self.rougailconfig, **self.kwargs if 'hostnames' not in self.dico[self.host_namespace]:
) self.errors.append(_('malformated hosts namespace "{0}", should has "hostnames"').format(self.host_namespace))
return data.run() ret = {"_meta": {"hostvars": {}}, "all": {"children": ["ungrouped"]}}
# if self.errors:
def print(self): # ret["_meta"]["hostvars"]["localhost"] = {'_errors': self.errors}
output = self.rougailconfig["ansible.output"] # ret["ungrouped"] = {"hosts": ["localhost"]}
if output == "doc": # else:
from .doc import Doc hostnames = self.dico[self.host_namespace]['hostnames']
ret_hosts = {}
data = Doc(self.config, rougailconfig=self.rougailconfig, **self.kwargs) for name, hosts in hostnames.items():
else: if 'hosts' in hosts:
data = Inventory( for idx, host in enumerate(hosts['hosts']):
self.config, rougailconfig=self.rougailconfig, **self.kwargs index = str(idx + 1)
) if idx < 9:
return data.print() index = '0' + index
host_name = hosts['prefix_name'] + index
ret_hosts.setdefault(name, {})[host_name] = host
ret.setdefault(name, {}).setdefault('hosts', []).append(host_name)
else:
ret["all"]["children"].append(name)
ret[name] = hosts
for hosts in ret_hosts.values():
for host, domain_name in hosts.items():
ret['_meta']['hostvars'][host] = {'ansible_host': domain_name}
ret['_meta']['hostvars'][host].update(self.dico)
return ret
RougailOutput = RougailOutputAnsible RougailOutput = RougailOutputAnsible
__all__ = ("RougailOutputAnsible", "__version__") __all__ = ("RougailOutputAnsible",)

View file

@ -1 +0,0 @@
__version__ = "1.0.0"

View file

@ -1,74 +0,0 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2026
distribued with GPL-2 or later license
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
from rougail.error import DictConsistencyError
from rougail.output_doc.i18n import _
try:
from rougail.output_doc.annotator import Annotator as AnnotatorDoc
except:
AnnotatorDoc = None
if AnnotatorDoc:
class Annotator(AnnotatorDoc):
level = 96
def __init__(self, *args):
super().__init__(
*args,
force_default_value=True,
force_display_unknown_optional_variable=True,
)
# host_namespace = self.objectspace.rougailconfig["ansible.inventory.host_namespace"]
# namespaces = self.objectspace.parents["."]
# if not namespaces:
# msg = _("no namespace configured")
# raise DictConsistencyError(msg, 300, [])
# first_namespace = self.objectspace.paths[namespaces[0]]
# if first_namespace.name != first_namespace.namespace:
# msg = _("no namespace configured")
# raise DictConsistencyError(msg, 301, first_namespace.xmlfiles)
# if host_namespace not in namespaces:
# msg = _('cannot find host namespace "{0}"').format(host_namespace)
# raise DictConsistencyError(msg, 302, first_namespace.xmlfiles)
# hostnames = f"{host_namespace}.hostnames"
# if hostnames not in self.objectspace.parents[host_namespace]:
# hosts = self.objectspace.paths[host_namespace]
# msg = _('malformated host namespace "{0}", should have the "hostnames" key').format(host_namespace)
# raise DictConsistencyError(msg, 303, hosts.xmlfiles)
# for hostname in self.objectspace.parents[hostnames]:
# hosts = self.objectspace.paths[hostname]
# if hostname not in self.objectspace.families:
# msg = _('malformated host namespace "{0}", "{1}" is not a family').format(host_namespace, hostname)
# raise DictConsistencyError(msg, 304, hosts.xmlfiles)
# hosts_name = f"{hostname}.hosts"
# if hosts_name in self.objectspace.parents[hostname]:
# hosts_obj = self.objectspace.paths[hosts_name]
# if hosts_obj.type != "domainname":
# msg = _('malformated ansible hosts "{0}", is not a "domainname" variable').format(hosts_name)
# raise DictConsistencyError(msg, 305, hosts_obj.xmlfiles)
# if hosts_obj.multi is False:
# msg = _('malformated ansible hosts "{0}", it must be a multiple variable').format(hosts_name)
# raise DictConsistencyError(msg, 306, hosts_obj.xmlfiles)

View file

@ -1,175 +0,0 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2022-2026
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
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
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/>.
"""
from tiramisu import groups
from .i18n import _
from ..output_json import RougailOutputJson
class Inventory(RougailOutputJson):
output_name = "ansible"
def __init__(
self,
config: "Config",
*,
rougailconfig: "RougailConfig" = None,
**kwargs,
) -> None:
self.config = config
self.rougailconfig = rougailconfig
super().__init__(config, rougailconfig=rougailconfig, **kwargs)
def exporter(self) -> None:
self.host_namespace = self.rougailconfig["ansible.host_namespace"]
self.no_namespace_in_vars = self.rougailconfig[
"ansible.inventory.no_namespace_in_vars"
]
self.export_warnings = self.rougailconfig["ansible.inventory.export_warnings"]
self.hosts = {}
super().exporter()
self.json_to_ansible()
# never return code 1, error are in the output data
return True
def parse_variable(self, option, child, namespace):
if (
self.support_namespace
and namespace
and "ansible_host" in option.information.get("tags", tuple())
):
hosts = option.value.get()
if not isinstance(hosts, list):
hosts = [hosts]
if namespace in self.hosts:
self.hosts[namespace].update(hosts)
else:
self.hosts[namespace] = hosts
super().parse_variable(option, child, namespace)
#
# def manage_errors(self) -> bool:
# if not super().manage_errors():
# hosts_config = self.config.option(self.host_namespace)
# # error is added, so replay manage_errors
# return super().manage_errors()
# return True
def json_to_ansible(self):
ret = {"_meta": {"hostvars": {}}}
namespaces = {}
extra_vars = {}
if "_warnings" in self.dico:
_warnings = self.dico.pop("_warnings")
if self.export_warnings:
ret["_meta"]["hostvars"]["localhost"] = {
"_warnings": _warnings,
}
ret["ungrouped"] = {"hosts": ["localhost"]}
if "_errors" in self.dico:
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)
# manage groups
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 = {}
for name, hosts in hostnames.items():
if "hosts" in hosts:
if "vars" in hosts and "all" in hosts["vars"]:
current_extra_vars = hosts["vars"]["all"]
else:
current_extra_vars = {}
if not isinstance(hosts["hosts"], list):
pass
for idx, host in enumerate(hosts["hosts"]):
index = str(idx + 1)
if idx < 9:
index = "0" + index
if "prefix_name" in hosts:
host_name = hosts["prefix_name"] + index
else:
host_name = host
if "namespaces" in hosts:
namespaces[host] = hosts["namespaces"]
ret_hosts.setdefault(name, {})[host_name] = host
ret.setdefault(name, {}).setdefault("hosts", []).append(
host_name
)
if "vars" in hosts and str(idx) in hosts["vars"]:
extra_vars[host_name] = current_extra_vars.copy()
extra_vars[host_name].update(hosts["vars"][str(idx)])
elif current_extra_vars:
extra_vars[host_name] = current_extra_vars
elif "vars" in hosts:
extra_vars[host_name] = hosts["vars"]
else:
ret[name] = hosts
# manage hostsnames and vars in hostsname
for hosts in ret_hosts.values():
for host, domain_name in hosts.items():
ret["_meta"]["hostvars"][host] = {"ansible_host": domain_name}
if self.no_namespace_in_vars:
from rougail.tiramisu import normalize_family
host_namespace = normalize_family(host)
if host_namespace in self.dico:
ret["_meta"]["hostvars"][host].update(
self.dico[host_namespace]
)
else:
if host in namespaces:
for namespace in namespaces[host]:
if namespace in self.dico:
ret["_meta"]["hostvars"][host][namespace] = (
self.dico[namespace]
)
else:
ret["_meta"]["hostvars"][host].update(self.dico)
if host in extra_vars:
ret["_meta"]["hostvars"][host].update(extra_vars[host])
# manage hostnames define with tag ansible_host and add groups
for namespace, hosts in self.hosts.items():
if namespace not in ret:
ret[namespace] = {"hosts": []}
for host in hosts:
if host not in ret["_meta"]["hostvars"]:
ret["_meta"]["hostvars"][host] = {"ansible_host": host}
if self.no_namespace_in_vars:
ret["_meta"]["hostvars"][host].update(self.dico[namespace])
elif namespace not in ret["_meta"]["hostvars"][host]:
ret["_meta"]["hostvars"][host][namespace] = self.dico[namespace]
if host not in ret[namespace]["hosts"]:
ret[namespace]["hosts"].append(host)
self.dico = ret

View file

@ -1,6 +1,6 @@
""" """
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2024-2026 Copyright (C) 2024
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,150 +16,32 @@ 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
try:
from ..output_doc.config import OutPuts
except:
OutPuts = None
def get_rougail_config( def get_rougail_config(
*, *,
backward_compatibility=True, backward_compatibility=True,
) -> dict: ) -> dict:
if OutPuts: options = """
doc_outputs = list(OutPuts().get())
doc_output_format_default = doc_outputs[0]
else:
doc_outputs = None
options = [
f"""
list:
description: {_('parameter added only to be compatible with Ansible')}
default: false
disabled:
jinja: |-
{{{{ step.output is propertyerror or step.output != 'ansible' }}}}
return_type: boolean
description: {_('if ansible is not set in "step.output"')}
""",
f"""
ansible: ansible:
exists: true description: Configuration of output Ansible
redefine: true
description: {_('Load Ansible encrypt inventory or generate Ansible inventory')}
disabled: disabled:
jinja: |- type: jinja
{{{{ step.output is propertyerror or (step.output != 'ansible' and (step.user_data is propertyerror or 'ansible' not in step.user_data)) }}}} jinja: |
return_type: boolean {% if step.output != 'ansible' %}
description: {_('if ansible is not in "step.output" and not in "step.user_data"')} disabled
{% endif %}
""", host_namespace:
f""" description: Namespace with host values
ansible: default: "hosts"
type: family
description: {_('Generate Ansible inventory')}
exists: false
disabled:
variable: step.output
when_not: ansible
propertyerror: false
""",
f"""
ansible:
output:
description: {_('Output type')}
default: inventory
choices:
- inventory
""",
]
if doc_outputs:
options[
-1
] += f"""
- doc
host_namespace: hosts # {_('Namespace with host values')}
doc:
description: {_("Doc configuration")}
disabled: disabled:
variable: _.output type: jinja
when_not: doc jinja: |
{% if step.output != 'ansible' %}
project_name: # {_('Ansible project name')} disabled
{% endif %}
author: # {_('Ansible author name')}
output_format:
description: {_('The output format of the generated documentation')}
default: { doc_output_format_default }
choices:
"""
for output in doc_outputs:
options[-1] += f" - {output}\n"
options[
-1
] += f"""
collection_type:
description: {_('collection contents')}
choices:
- auto
- playbooks
- roles
default: auto
playbooks:
_description: {_('Playbooks informations')}
type: sequence
disabled:
jinja: |-
{{{{ _.collection_type == "roles" }}}}
return_type: boolean
description: {_('if the content is a role')}
name:
description: {_('Playbook name')}
help: {_('Playbooks are placed in the playbooks/ directory. By default, the description of the "type" is used as the Playbook name in the generated example. It is possible to customize this description here.')}
mandatory: false
multi: true
description: # {_('Playbook description')}
root_directory:
description: {_('Root directory of generated documents')}
type: unix_filename
params:
allow_relative: true
test_existence: true
types:
- directory
mandatory: false
extra_vars:
description: {_('Add extra vars inside Playbook or Role')}
type: sequence
key:
description: {_('Key name')}
mandatory: false
value: # {_('Value')}
inventory:
description: {_("Inventory configuration")}
disabled:
variable: _.output
when_not: inventory
no_namespace_in_vars: false # {_('Remove namespace name in host vars')}
export_warnings: true # {_('Displays warnings inside Ansible exportation datas')}
""" """
return { return {
"name": "ansible", "name": "ansible",

View file

@ -1,307 +0,0 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2026
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
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
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/>.
"""
from ruamel.yaml import CommentedMap
from pathlib import Path
from copy import deepcopy
from rougail import SUPPORTED_VERSION
from ..output_doc import RougailOutputDoc
from ..output_doc.utils import dump
from .i18n import _
class Doc(RougailOutputDoc):
output_name = "ansible"
# This documentation is not only for operator but also for integrator
# That means we want to have hidden variable too in documentation
only_disabled = True
def __init__(
self,
config: "Config",
*,
rougailconfig: "RougailConfig" = None,
**kwargs,
) -> None:
self.config = config
self.ori_rougailconfig = rougailconfig
self.doc_rougailconfig = {
"doc.tabulars.with_commandline": False,
"doc.tabulars.with_environment": False,
"main_namespace": None,
"step.output": "ansible",
"doc.tabulars.without_family": False,
"doc.tabular_template": "six_columns",
"doc.output_format": rougailconfig["ansible.doc.output_format"],
"doc.true_color": True,
"doc.document_a_type": True,
"doc.examples.comment": False,
"doc.examples.comment": True,
"doc.examples.comment_column": 40,
"doc.other_root_filenames": {},
"modes_level": rougailconfig["modes_level"],
"doc.title_level": 3,
}
self.comment_examples = True
self.comment_examples_column = None
super().__init__(config, rougailconfig=self.doc_rougailconfig, **kwargs)
def run(self) -> str:
types = [
config.name()
for config in self.config
if config.name() != self.ori_rougailconfig["ansible.host_namespace"]
]
self.root_config = self.config
self.load()
self.load_formatter()
self.root_directory = self.ori_rougailconfig["ansible.doc.root_directory"]
self.extra_vars = dict(self.ori_rougailconfig["ansible.doc.extra_vars"].items())
if self.root_directory is None:
self.root_directory = Path(".")
else:
self.root_directory = Path(self.root_directory)
config = self._build_example_config()
examples = self._gen_doc_examples(config, True, with_secret_manager=False)
config.property.read_only()
hidden = CommentedMap()
config.property.remove("mandatory")
self._example_parse_family(
config.value.get(), hidden, dump_type="hidden", with_true_path=True
)
config.property.read_write()
self.ansible_name = self.ori_rougailconfig["ansible.doc.project_name"]
self._build_defaults(config)
# FIXME self._build_vars(examples)
# Description
author = self.ori_rougailconfig["ansible.doc.author"]
name = f"{author}.{self.ansible_name}"
help_ = None
description = None
if self.ansible_name in self.informations:
if "help" in self.informations[self.ansible_name]["informations"]:
help_ = self.informations[self.ansible_name]["informations"].pop("help")
if "description" in self.informations[self.ansible_name]["informations"]:
description = self.informations[self.ansible_name]["informations"][
"description"
]
title = f"{name} - {description}"
else:
title = name
else:
title = name
datas = [self.formatter.title(title, 1, collapse=False)]
datas.append(
_("This repository contains the {0} Ansible collection.").format(
self.formatter.prop(name, False, False, False)
)
)
if help_:
datas.append("\n".join(help_))
self.doc_rougailconfig["doc.title_level"] = 2
for type_ in self.informations:
current_informations = self.informations[type_]["informations"]
if "description" in current_informations:
current_informations["description"] = _(
'The group variables "{0}" - {1}'
).format(
current_informations["name"], current_informations["description"]
)
else:
current_informations["description"] = _(
"The group variables {0}"
).format(current_informations["name"])
datas.append(self.formatter.title(_("Variables"), 2, collapse=False))
self.formatter.options()
datas.extend(self.formatter.dict_to_dict(self.informations, level=3))
yaml = self._build_collection(description, name)
for t in types:
tags = self.config.option(t).information.get("tags", [])
for y in yaml:
if self.extra_vars:
y["vars"].update(self.extra_vars)
for y in yaml:
if tags:
found = True
for tag in tags:
if y["ansible.builtin.import_playbook"].endswith("." + tag):
break
else:
found = False
if not found:
continue
y["vars"][t] = f"{{{{ my_{t} }}}}"
#
rougail_version = float(SUPPORTED_VERSION[-1])
if "version" in types:
key = "_version"
else:
key = "version"
if hidden:
msg = "Hidden variables can only be modified within a structure file."
datas.append(self.formatter.display_family_informations([msg]))
end_family = self.formatter.end_family(level=2, collapse=False)
if end_family:
datas.append(end_family)
datas.append(self.formatter.title(_("Usage"), 2, collapse=False))
datas.append(self.formatter.title(_("Example Playbook with Rougail"), 3))
structural = {key: rougail_version}
for t in types:
structural[f"my_{t}"] = {"type": t}
if structural:
customize = CommentedMap()
old_config = self.config
test_config = config.config.copy()
test_config.property.read_only()
test_config.property.remove("mandatory")
test_config = test_config.forcepermissive
self.config = test_config
self._example_parse_family(
test_config.value.get(),
customize,
dump_type="empty",
with_secret_manager=False,
with_true_path=True,
)
self.config = old_config
datas.append(_("Add to your structural file something like:"))
datas.append(self.formatter.yaml(dump(structural), yaml_version="1.2"))
for t in types:
if t in customize and t in hidden:
structural[f"my_{t}"].update(customize[t])
datas.append(_("Customizing hidden variables in structure file:"))
datas.append(self.formatter.yaml(dump(structural), yaml_version="1.2"))
text = [_("Do not forget to add Rougail structure file as Rougail types.")]
datas.append(self.formatter.display_family_informations(text))
user_data = {}
for t in types:
if t in examples:
user_data.update({f"my_{t}": examples[t]})
if user_data:
datas.append(
_("For example you can add an YAML user data with something like:")
)
datas.append(self.formatter.yaml(dump(user_data)))
datas.append(_("Add to your Play:"))
_dump = "\n".join([d[2:] for d in (" " + dump(yaml)).split("\n")])
datas.append(self.formatter.yaml(_dump))
#
examples = self._gen_doc_examples(config, True)
for t in types:
if t in examples:
for y in yaml:
if t in y["vars"]:
y["vars"][t] = deepcopy(examples[t])
if not y["vars"]:
del y["vars"][t]
else:
for y in yaml:
if not y["vars"]:
del y["vars"][t]
_dump = "\n".join([d[2:] for d in (" " + dump(yaml)).split("\n")])
end_family = self.formatter.end_family(level=3)
if end_family:
datas.append(end_family)
datas.append(self.formatter.title(_("Example Playbook without Rougail"), 3))
datas.append(
self.formatter.display_family_informations(
[_("The variables will not be properly validated without Rougail.")]
)
)
datas.append(self.formatter.yaml(_dump))
end_family = self.formatter.end_family(level=3)
if end_family:
datas.append(end_family)
end_family = self.formatter.end_family(level=2, collapse=False)
if end_family:
datas.append(end_family)
end_family = self.formatter.end_family(level=1, collapse=False)
if end_family:
datas.append(end_family)
return True, self.formatter.compute(datas)
def _build_collection(self, description, name):
self.collection_type = self.ori_rougailconfig["ansible.doc.collection_type"]
done = False
if self.collection_type != "roles":
playbooks = dict(self.ori_rougailconfig["ansible.doc.playbooks"].items())
playbooks_dir = self.root_directory / "playbooks"
if playbooks_dir.is_dir():
lst = []
for playbook in playbooks_dir.iterdir():
if playbook.is_file() and playbook.suffix in [".yml", ".yaml"]:
playbook_name = playbook.stem
playbook_import = f"{name}.{playbook_name}"
done = True
if playbook_name in playbooks:
playbook_description = playbooks[playbook_name]
else:
playbook_description = f"Collection | {playbook_import}"
yaml = {
"name": playbook_description,
"hosts": "servers",
"vars": {},
}
yaml["ansible.builtin.import_playbook"] = playbook_import
lst.append(yaml)
if self.collection_type != "playbooks" and not done:
roles_dir = self.root_directory / "roles"
if roles_dir.is_dir():
yaml = {
"name": description,
"hosts": "servers",
"vars": {},
}
yaml["roles"] = []
for role in roles_dir.iterdir():
if role.is_dir():
role_name = role.name
done = True
yaml["roles"].append({"role": f"{name}.{role_name}"})
lst = [yaml]
if not done:
raise Exception(
_(
"Unable to find a Playbook in playbooks/ directory or a role in roles/ directory"
)
)
return lst
def _build_defaults(self, config):
values = config.value.get()
results = CommentedMap()
self._example_parse_family(values, results, dump_type="default")
self._build_write("defaults", results)
def _build_vars(self, results):
self._build_write("vars", results)
def _build_write(self, write_type, results):
if not results:
return
role_dir = self.root_directory / "roles" / self.ansible_name
if role_dir.is_dir():
filedir = role_dir / write_type
else:
filedir = self.root_directory / write_type
filedir.mkdir(exist_ok=True)
with (filedir / "main.yml").open("w") as fh:
fh.write(f"---\n{dump(results)}\n")

View file

@ -1,6 +1,6 @@
"""Internationalisation utilities """Internationalisation utilities
Silique (https://www.silique.fr) Silique (https://www.silique.fr)
Copyright (C) 2024-2026 Copyright (C) 2024
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,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from gettext import translation from gettext import translation
from pathlib import Path from pathlib import Path
t = translation( t = translation("rougail_output_ansible", str(Path(__file__).parent / "locale"), fallback=True)
"rougail_output_ansible", str(Path(__file__).parent / "locale"), fallback=True
)
_ = t.gettext _ = t.gettext

View file

@ -1,50 +0,0 @@
---
version: "1.1"
hostnames:
group1:
hosts:
type: domainname
multi: true
default:
- group1.net
prefix_name:
default: GROUP1_
group2:
hosts:
type: domainname
multi: true
default:
- group2.net
- group3.net
prefix_name:
default: GROUP2_
vars:
all:
added_var1: true
a_family:
with_a_variable: 1
"0":
added_var2: true
group3:
hosts:
type: domainname
multi: true
default:
- group4.net
- group5.net

View file

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

View file

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

View file

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

View file

@ -1,76 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Description  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ version │ A variable. │  string    │  basic  │
│ │ │ mandatory  │ │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 version: string1 # A variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 version: string1 # A variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,75 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ empty │  string   mandatory  │  basic  │
└─────────────────────────┴──────────────────────────┴─────────────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 empty: string1 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 empty: string1 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,5 +0,0 @@
---
rougail: # Rougail
var1: no # A first variable
var2: # A second variable
- no

View file

@ -1,74 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A first │ no │  string    │  standard  │ │
│ │ variable. │ │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A second │ the value │  string    │  standard  │  unique  │
│ │ variable. │ of var1. │ multiple  │ │ │
│ │ │ │ mandatory  │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,10 +0,0 @@
---
rougail: # Rougail
var1: # A first variable
- no
- yes
- maybe
var2: # A second variable
- no
- yes
- maybe

View file

@ -1,77 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A first │ • no │  string    │  standard  │  unique  │
│ │ variable. │ • yes │ multiple  │ │ │
│ │ │ • maybe │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A second │ the value │  string    │  standard  │  unique  │
│ │ variable. │ of "a │ multiple  │ │ │
│ │ │ first │ mandatory  │ │ │
│ │ │ variable" │ │ │ │
│ │ │ (var1). │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var2: a_value # A second variable

View file

@ -1,94 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
leadership
▌ 🛈 Informations
▌ 
▌ This family contains lists of variable blocks.
▌ Path: leadership
▌  standard   hidden 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ leadershi… │ A first │ • a_value │  string    │  standard  │  unique  │
│ │ variable. │ │ multiple  │ │ │
│ │ │ │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ leadershi… │ A first │ a_value │  string    │  standard  │ │
│ │ variable. │ │ mandatory  │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var2 │ A second │ depends on a │  string    │  standard  │
│ │ variable. │ calculation. │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
▌ 🛈 Informations
▌ 
▌ Hidden variables can only be modified within a structure file.
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,5 +0,0 @@
---
rougail: # Rougail
var2: # A second variable
- domain1.lan
- domain2.lan

View file

@ -1,93 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A first │ │  domainna… │  basic  │  unique  │
│ │ variable. │ │ multiple  │ │ • type │
│ │ │ │ mandatory  │ │ domainname │
│ │ │ │ │ │ • the │
│ │ │ │ │ │ domain │
│ │ │ │ │ │ name can │
│ │ │ │ │ │ be an IP. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A second │ the value │  domainna… │  standard  │  unique  │
│ │ variable. │ of the │ multiple  │ │ Type │
│ │ │ variable │ mandatory  │ │ domainnam… │
│ │ │ "a first │ │ │ │
│ │ │ variable" │ │ │ │
│ │ │ (var1). │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: # A first variable 
 - domain1.lan 
 - domain2.lan 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: # A first variable 
 - domain1.lan 
 - domain2.lan 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var2: string1 # A second variable

View file

@ -1,80 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ A first │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ A second │ value of a │  string    │  standard  │
│ │ variable. │ variable! │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # A first variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # A first variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var2: string1 # A second variable

View file

@ -1,87 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ A first │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ A second │ value │  string    │  standard  │
│ │ variable. │ of │ mandatory  │ │
│ │ │ a │ │ │
│ │ │ variable! │ │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ A new │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # A first variable 
 var3: string1 # A new variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # A first variable 
 var3: string1 # A new variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,5 +0,0 @@
---
rougail: # Rougail
var2: # A second variable
- domain1.lan
- domain2.lan

View file

@ -1,94 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A first │ │  domainna… │  basic  │  unique  │
│ │ variable. │ │ multiple  │ │ • type │
│ │ │ │ mandatory  │ │ domainname │
│ │ │ │ │ │ • the │
│ │ │ │ │ │ domain │
│ │ │ │ │ │ name can │
│ │ │ │ │ │ be an IP. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A second │ the value │  domainna… │  standard  │  unique  │
│ │ variable. │ of the │ multiple  │ │ • type │
│ │ │ variable │ mandatory  │ │ domainname │
│ │ │ "a first │ │ │ • the │
│ │ │ variable" │ │ │ domain │
│ │ │ (var1). │ │ │ name can │
│ │ │ │ │ │ be an IP. │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: # A first variable 
 - domain1.lan 
 - domain2.lan 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: # A first variable 
 - domain1.lan 
 - domain2.lan 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,81 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Description  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ var1 │ A variable. │  string    │  basic  │
│ │ │ mandatory  │ │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│ var2 │ A variable. │  string    │  basic  │
│ │ │ mandatory  │ │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # A variable 
 var2: string1 # A variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # A variable 
 var2: string1 # A variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
without_type: non # A variable

View file

@ -1,70 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ without_type │ A variable. │ non │  string    │  standard  │
│ │ │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,8 +0,0 @@
---
rougail: # Rougail
var1: true # The first variable
var2: true # The second variable
var3: true # The third variable
var4: false # The forth variable
var5: false # The fifth variable
var6: false # The sixth variable

View file

@ -1,85 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ The first │ true │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ The second │ true │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ The third │ true │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var4 │ The forth │ false │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var5 │ The fifth │ false │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var6 │ The sixth │ false │  boolean    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: true # A variable

View file

@ -1,69 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ variable │ A variable. │ true │  boolean  │  standard  │
└───────────────┴───────────────┴───────────────┴───────────────┴──────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,6 +0,0 @@
---
rougail: # Rougail
var3: null # The third variable
var4: null # The forth variable
var5: a # The fifth variable
var6: 1 # The sixth variable

View file

@ -1,107 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ The first │ │  choice    │  basic  │ Choices: │
│ │ variable. │ │ mandatory  │ │ • a │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ The second │ │  choice    │  basic  │ Choices: │
│ │ variable. │ │ mandatory  │ │ • a │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var3 │ The third │ │  choice  │  standard  │ Choices: │
│ │ variable. │ │ │ │ • a │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
│ │ │ │ │ │ • null │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var4 │ The forth │ │  choice  │  standard  │ Choices: │
│ │ variable. │ │ │ │ • null │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var5 │ The fifth │ a │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ • a │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var6 │ The sixth │ 1 │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ • 1 │
│ │ │ │ │ │ • 2 │
│ │ │ │ │ │ • 3 │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: a # The first variable 
 var2: a # The second variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: a # The first variable 
 var2: a # The second variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var: 9 # A variable

View file

@ -1,71 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var │ A │ 9 │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ choices is │
│ │ │ │ │ │ 0 to 9. │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var2: a # The second variable

View file

@ -1,86 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ The first │ │  choice    │  basic  │ Choices: │
│ │ variable. │ │ mandatory  │ │ • a │
│ │ │ │ │ │ • b │
│ │ │ │ │ │ • c │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ The second │ the value │  choice    │  standard  │ Choices: │
│ │ variable. │ of the │ mandatory  │ │ • a │
│ │ │ variable │ │ │ • b │
│ │ │ "the first │ │ │ • c │
│ │ │ variable" │ │ │ │
│ │ │ (var1). │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: a # The first variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: a # The first variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,7 +0,0 @@
---
rougail: # Rougail
var1: # A second variable
- a
- b
- c
var2: a # A first variable

View file

@ -1,79 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A second │ • a │  string    │  standard  │  unique  │
│ │ variable. │ • b │ multiple  │ │ │
│ │ │ • c │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A first │ a │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ the value │
│ │ │ │ │ │ of the │
│ │ │ │ │ │ variable │
│ │ │ │ │ │ "a second │
│ │ │ │ │ │ variable" │
│ │ │ │ │ │ (var1). │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,8 +0,0 @@
---
rougail: # Rougail
var1: # A second variable
- a
- b
- c
var2: a # A first variable
var3: a # A third variable

View file

@ -1,87 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A second │ • a │  string    │  standard  │  unique  │
│ │ variable. │ • b │ multiple  │ │ │
│ │ │ • c │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A first │ a │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ the value │
│ │ │ │ │ │ of the │
│ │ │ │ │ │ variable │
│ │ │ │ │ │ "a second │
│ │ │ │ │ │ variable" │
│ │ │ │ │ │ (var1). │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var3 │ A third │ the value │  choice    │  standard  │ Choices: │
│ │ variable. │ of the │ mandatory  │ │ the value │
│ │ │ variable │ │ │ of the │
│ │ │ "a first │ │ │ variable │
│ │ │ variable" │ │ │ "a second │
│ │ │ (var2). │ │ │ variable" │
│ │ │ │ │ │ (var1). │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,9 +0,0 @@
---
rougail: # Rougail
var1: # A second variable
- a
- b
- c
var2: a # A first variable
family:
var3: a # A third variable

View file

@ -1,99 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A second │ • a │  string    │  standard  │  unique  │
│ │ variable. │ • b │ multiple  │ │ │
│ │ │ • c │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A first │ a │  choice    │  standard  │ Choices: │
│ │ variable. │ │ mandatory  │ │ the value │
│ │ │ │ │ │ of the │
│ │ │ │ │ │ variable │
│ │ │ │ │ │ "a second │
│ │ │ │ │ │ variable" │
│ │ │ │ │ │ (var1). │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
family
▌ 🛈 Informations
▌ 
▌ Path: family
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ family.va… │ A third │ the value │  choice    │  standard  │ Choices: │
│ │ variable. │ of the │ mandatory  │ │ the value │
│ │ │ variable │ │ │ of the │
│ │ │ "a first │ │ │ variable │
│ │ │ variable" │ │ │ "a second │
│ │ │ (var2). │ │ │ variable" │
│ │ │ │ │ │ (var1). │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
custom2: value # The seconf variable

View file

@ -1,80 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ custom1 │ The first │ │  custom    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ custom2 │ The seconf │ value │  custom    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 custom1: string1 # The first variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 custom1: string1 # The first variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: my.domain.name # A domain name variable

View file

@ -1,71 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ variable │ A domain │ my.domain… │  domainna… │  standard  │ Type │
│ │ name │ │ mandatory  │ │ domainnam… │
│ │ variable. │ │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: my.domain.name # A domain name variable

View file

@ -1,74 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ variable │ A domain │ my.domain… │  domainna… │  standard  │ • type │
│ │ name │ │ mandatory  │ │ domainname │
│ │ variable. │ │ │ │ • the │
│ │ │ │ │ │ domain │
│ │ │ │ │ │ name can │
│ │ │ │ │ │ be an IP. │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,8 +0,0 @@
---
rougail: # Rougail
var1: 0.0 # The first variable
var2: 0.0 # The second variable
var3: 0.0 # The third variable
var4: 10.1 # The forth variable
var5: 10.1 # The fifth variable
var6: 10.1 # The sixth variable

View file

@ -1,85 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ The first │ 0.0 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ The second │ 0.0 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ The third │ 0.0 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var4 │ The forth │ 10.1 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var5 │ The fifth │ 10.1 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var6 │ The sixth │ 10.1 │  float    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,8 +0,0 @@
---
rougail: # Rougail
var1: 0 # The first variable
var2: 0 # The second variable
var3: 0 # The third variable
var4: 10 # This forth variable
var5: 10 # The fifth variable
var6: 10 # The sixth variable

View file

@ -1,85 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ The first │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ The second │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ The third │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var4 │ This forth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var5 │ The fifth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var6 │ The sixth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,5 +0,0 @@
---
rougail: # Rougail
var1: 1.1.1.1 # An IP
var2: 1.1.1.1/24 # An IP in CIDR format
var3: 1.1.1.1/24 # An IP in CIDR format with obsolete CIDR type

View file

@ -1,85 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ An IP. │ 1.1.1.1 │  IP    │  standard  │ Reserved │
│ │ │ │ mandatory  │ │ IP are │
│ │ │ │ │ │ allowed. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ An IP in │ 1.1.1.1/24 │  IP    │  standard  │ • IP must │
│ │ CIDR │ │ mandatory  │ │ be in CIDR │
│ │ format. │ │ │ │ format │
│ │ Example: │ │ │ │ • reserved │
│ │ 192.168.0… │ │ │ │ IP are │
│ │ │ │ │ │ allowed. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var3 │ An IP in │ 1.1.1.1/24 │  CIDR    │  standard  │ IP must be │
│ │ CIDR │ │ mandatory  │ │ in CIDR │
│ │ format │ │ │ │ format. │
│ │ with │ │ │ │ │
│ │ obsolete │ │ │ │ │
│ │ CIDR type. │ │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,5 +0,0 @@
---
rougail: # Rougail
var1: 1.1.1.0 # An network
var2: 1.1.1.0/24 # An network in CIDR format
var3: 1.1.1.0/24 # An network in CIDR format with obsolete CIDR type

View file

@ -1,82 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ An │ 1.1.1.0 │  network  │  standard  │ │
│ │ network. │ │ mandatory  │ │ │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ An network │ 1.1.1.0/24 │  network  │  standard  │ Network │
│ │ in CIDR │ │ mandatory  │ │ must be in │
│ │ format. │ │ │ │ CIDR │
│ │ │ │ │ │ format. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var3 │ An network │ 1.1.1.0/24 │  network  │  standard  │ Network │
│ │ in CIDR │ │ CIDR    │ │ must be in │
│ │ format │ │ mandatory  │ │ CIDR │
│ │ with │ │ │ │ format. │
│ │ obsolete │ │ │ │ │
│ │ CIDR type. │ │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,8 +0,0 @@
---
rougail: # Rougail
var1: 0 # The first variable
var2: 0 # The second variable
var3: 0 # The third variable
var4: 10 # This forth variable
var5: 10 # The fifth variable
var6: 10 # The sixth variable

View file

@ -1,85 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ The first │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ The second │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ The third │ 0 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var4 │ This forth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var5 │ The fifth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var6 │ The sixth │ 10 │  integer    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,4 +0,0 @@
---
rougail: # Rougail
variable2: '8080' # A port variable with default value
variable3: '8080' # A port variable with integer default value

View file

@ -1,131 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ variable1 │ A port │ │  port    │  basic  │ • │
│ │ variable. │ │ mandatory  │ │ well-known │
│ │ │ │ │ │ ports (1 │
│ │ │ │ │ │ to 1023) │
│ │ │ │ │ │ are │
│ │ │ │ │ │ allowed │
│ │ │ │ │ │ • │
│ │ │ │ │ │ registred │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (1024 to │
│ │ │ │ │ │ 49151) are │
│ │ │ │ │ │ allowed │
│ │ │ │ │ │ • private │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (greater │
│ │ │ │ │ │ than │
│ │ │ │ │ │ 49152) are │
│ │ │ │ │ │ allowed. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ variable2 │ A port │ 8080 │  port    │  standard  │ • │
│ │ variable │ │ mandatory  │ │ well-known │
│ │ with │ │ │ │ ports (1 │
│ │ default │ │ │ │ to 1023) │
│ │ value. │ │ │ │ are │
│ │ │ │ │ │ allowed │
│ │ │ │ │ │ • │
│ │ │ │ │ │ registred │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (1024 to │
│ │ │ │ │ │ 49151) are │
│ │ │ │ │ │ allowed │
│ │ │ │ │ │ • private │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (greater │
│ │ │ │ │ │ than │
│ │ │ │ │ │ 49152) are │
│ │ │ │ │ │ allowed. │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ variable3 │ A port │ 8080 │  port    │  standard  │ • │
│ │ variable │ │ mandatory  │ │ well-known │
│ │ with │ │ │ │ ports (1 │
│ │ integer │ │ │ │ to 1023) │
│ │ default │ │ │ │ are │
│ │ value. │ │ │ │ allowed │
│ │ │ │ │ │ • │
│ │ │ │ │ │ registred │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (1024 to │
│ │ │ │ │ │ 49151) are │
│ │ │ │ │ │ allowed │
│ │ │ │ │ │ • private │
│ │ │ │ │ │ ports │
│ │ │ │ │ │ (greater │
│ │ │ │ │ │ than │
│ │ │ │ │ │ 49152) are │
│ │ │ │ │ │ allowed. │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 variable1: '80' # A port variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 variable1: '80' # A port variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var: '#a1a1a1' # A first variable

View file

@ -1,73 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var │ A first │ #a1a1a1 │  regexp    │  standard  │ Text based │
│ │ variable. │ │ mandatory  │ │ with │
│ │ Examples: │ │ │ │ regular │
│ │ • #b1b1b1 │ │ │ │ expressio… │
│ │ • #b2b2b2 │ │ │ │ "^#(?:[0-… │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,4 +0,0 @@
---
rougail: # Rougail
var1: '#a1a1a1' # A first variable
var2: '#a1a1a1' # A second variable

View file

@ -1,80 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var1 │ A first │ #a1a1a1 │  regexp    │  standard  │ Text based │
│ │ variable. │ │ mandatory  │ │ with │
│ │ Examples: │ │ │ │ regular │
│ │ • #b1b1b1 │ │ │ │ expressio… │
│ │ • #b2b2b2 │ │ │ │ "^#(?:[0-… │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ var2 │ A second │ the value │  regexp    │  standard  │ Text based │
│ │ variable. │ of the │ mandatory  │ │ with │
│ │ Examples: │ variable │ │ │ regular │
│ │ • #b2b1b1 │ "a first │ │ │ expressio… │
│ │ • #b3b2b2 │ variable" │ │ │ "^#(?:[0-… │
│ │ │ (var1). │ │ │ │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
secret2: value # The second variable

View file

@ -1,80 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ secret1 │ The first │ │  secret    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ secret2 │ The second │ value │  secret    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 secret1: onE7vaLues_len1 # The first variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 secret1: onE7vaLues_len1 # The first variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,4 +0,0 @@
---
rougail: # Rougail
secret2: value # The second variable
secret3: value # The third variable

View file

@ -1,101 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ secret1 │ The first │ │  secret    │  basic  │ Minimum │
│ │ variable. │ │ mandatory  │ │ length for │
│ │ Example: │ │ │ │ the secret │
│ │ ALongS4cr… │ │ │ │ is 10 │
│ │ │ │ │ │ character… │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ secret2 │ The second │ value │  secret    │  standard  │ • maximum │
│ │ variable. │ │ mandatory  │ │ length for │
│ │ │ │ │ │ the secret │
│ │ │ │ │ │ is 10 │
│ │ │ │ │ │ characters │
│ │ │ │ │ │ • │
│ │ │ │ │ │ forbidden │
│ │ │ │ │ │ character… │
│ │ │ │ │ │ "$" and │
│ │ │ │ │ │ "^". │
├────────────┼────────────┼────────────┼────────────┼─────────────┼────────────┤
│ secret3 │ The third │ value │  secret    │  standard  │ • maximum │
│ │ variable. │ │ mandatory  │ │ length for │
│ │ │ │ │ │ the secret │
│ │ │ │ │ │ is 10 │
│ │ │ │ │ │ characters │
│ │ │ │ │ │ • │
│ │ │ │ │ │ forbidden │
│ │ │ │ │ │ character… │
│ │ │ │ │ │ "$". │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 secret1: onE7vaLues_len1 # The first variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 secret1: onE7vaLues_len1 # The first variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,7 +0,0 @@
---
rougail: # Rougail
var4: value # The forth variable
var5: value # The fifth variable
var6: value # The sixth variable
var7: '8080' # The seventh variable
var8: 'true' # The height variable

View file

@ -1,102 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ var1 │ The first │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var2 │ The second │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var3 │ The third │ │  string    │  basic  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var4 │ The forth │ value │  string    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var5 │ The fifth │ value │  string    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var6 │ The sixth │ value │  string    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var7 │ The seventh │ 8080 │  string    │  standard  │
│ │ variable. │ │ mandatory  │ │
├───────────────┼───────────────┼───────────────┼──────────────┼───────────────┤
│ var8 │ The height │ true │  string    │  standard  │
│ │ variable. │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
 var3: string1 # The third variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
 var3: string1 # The third variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
var: quote' # A choice

View file

@ -1,72 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ ┃ ┃ Default  ┃ ┃ Access  ┃ ┃
┃ Variable  ┃ Descripti… ┃ value  ┃ Type  ┃ control  ┃ Validator  ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ var │ A choice. │ quote' │  choice    │  standard  │ Choices: │
│ │ │ │ mandatory  │ │ • quote' │
│ │ │ │ │ │ • quote" │
│ │ │ │ │ │ • quote"' │
└────────────┴────────────┴────────────┴────────────┴─────────────┴────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,91 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Description  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ var1 │ The first │  string    │  basic  │
│ │ variable. │ mandatory  │ │
│ │ Multi line │ │ │
│ │ │ │ │
│ │ Help │ │ │
│ │ │ │ │
│ │ With useful │ │ │
│ │ information. │ │ │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│ var2 │ The second │  string    │  basic  │
│ │ variable. │ mandatory  │ │
│ │ Multi line │ │ │
│ │ Help │ │ │
│ │ With useful │ │ │
│ │ information. │ │ │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,83 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Description  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ var1 │ The first │  string    │  basic  │
│ │ variable. │ mandatory  │ │
│ │ Message with '. │ │ │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│ var2 │ The second │  string    │  basic  │
│ │ variable. │ mandatory  │ │
│ │ Message with ". │ │ │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # The first variable 
 var2: string1 # The second variable 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,91 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  basic 
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Variable  ┃ Description  ┃ Type  ┃ Access control  ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ var1 │ The first │  string    │  basic  │
│ │ <variable>. │ mandatory  │ │
│ │ Multi line │ │ │
│ │ │ │ │
│ │ <Help> │ │ │
│ │ │ │ │
│ │ With useful │ │ │
│ │ information. │ │ │
├───────────────────┼───────────────────┼───────────────────┼──────────────────┤
│ var2 │ The second │  string    │  basic  │
│ │ <variable>. │ mandatory  │ │
│ │ Multi line │ │ │
│ │ <Help> │ │ │
│ │ With useful │ │ │
│ │ information. │ │ │
└───────────────────┴───────────────────┴───────────────────┴──────────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
For example you can add an YAML user data with something like:
--- 
my_rougail: 
 var1: string1 # The first <variable> 
 var2: string1 # The second <variable> 
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: 
 var1: string1 # The first <variable> 
 var2: string1 # The second <variable> 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: quote" # A variable

View file

@ -1,70 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ variable │ A variable. │ quote" │  string    │  standard  │
│ │ │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: quote'" # A variable

View file

@ -1,70 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ variable │ A variable. │ quote'" │  string    │  standard  │
│ │ │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

View file

@ -1,3 +0,0 @@
---
rougail: # Rougail
variable: quote\"\' # A variable

View file

@ -1,70 +0,0 @@
rougail.rougail - Rougail
This repository contains the  rougail.rougail  Ansible collection.
This family is a namespace
Variables
The group variables "rougail" - Rougail
▌ 🛈 Informations
▌ 
▌  standard 
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ Access  ┃
┃ Variable  ┃ Description  ┃ Default value ┃ Type  ┃ control  ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ variable │ A variable. │ quote\"\' │  string    │  standard  │
│ │ │ │ mandatory  │ │
└───────────────┴───────────────┴───────────────┴──────────────┴───────────────┘
Usage
Example Playbook with Rougail
Add to your structural file something like:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
Customizing hidden variables in structure file:
%YAML 1.2 
--- 
version: 1.1 
my_rougail: 
 type: rougail 
... 
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structure file as Rougail types.
Add to your Play:
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 
Example Playbook without Rougail
▌ 🛈 Informations
▌ 
▌ The variables will not be properly validated without Rougail.
--- 
- name: Collection | rougail.rougail.install 
 hosts: servers 
 vars: 
 rougail: '{{ my_rougail }}' 
 ansible.builtin.import_playbook: rougail.rougail.install 

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