constrict0r.unify
unifier
.. image:: https://gitlab.com/constrict0r/unify/badges/master/pipeline.svg :alt: pipeline
.. image:: https://travis-ci.com/constrict0r/unify.svg :alt: travis
.. image:: https://readthedocs.org/projects/unify/badge :alt: readthedocs
.. image:: https://coveralls.io/repos/github/constrict0r/unify/badge.svg :alt: couverture
.. image:: https://gitlab.com/constrict0r/unify/badges/master/coverage.svg :alt: couverture_gitlab
Rôle Ansible pour unifier des collections en une seule collection unifiée.
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/avatar.png :alt: avatar
Documentation complète sur Readthedocs <https://unify.readthedocs.io>
_.
Code source sur :
Github <https://github.com/constrict0r/unify>
_
Gitlab <https://gitlab.com/constrict0r/unify>
_
Partie de : <https://gitlab.com/explore/projects?tag=doombot>
_
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/doombot.png :alt: doombot
Ingrédients
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/ingredient.png :alt: ingrédient
Contenu
Description <#Description>
_Utilisation <#Usage>
_Variables <#Variables>
_Entrée <#input>
_valider <#validate>
_mise Ă jour <#update>
_éléments <#items>
_développer <#expand>
_titres <#titles>
_secondaire <#secondary>
_items_b <#items-b>
_expand_b <#expand-b>
_titles_b <#titles-b>
_
Sortie <#output>
_unifié <#unified>
_unifié_b <#unified-b>
_
Modules <#Modules>
_module_unify <#unify-module>
_Résumé <#synopsis>
_Paramètres <#parameters>
_Exemples <#examples>
_Valeurs de retour <#return-values>
_Statut <#status>
_Auteurs <#authors>
_
Plugins <#Plugins>
_user_root <#user-root>
_variable_boolean <#variable-boolean>
_variable_boolean_true <#variable-boolean-true>
_variable_collection <#variable-collection>
_variable_empty <#variable-empty>
_variable_path <#variable-path>
_variable_url <#variable-url>
_variable_url_existent <#variable-url-existent>
_
YAML <#YAML>
_Attributs <#Attributes>
_item_expand <#item-expand>
_item_path <#item-path>
_
Exigences <#Requirements>
_Compatibilité <#Compatibility>
_Limitations <#Limitations>
_Licence <#License>
_Liens <#Links>
_UML <#UML>
_Classe <#class>
_Déploiement <#deployment>
_Principal <#main>
_user-root <#user-root>
_variable-boolean <#variable-boolean>
_variable-boolean-true <#variable-boolean-true>
_variable-collection <#variable-collection>
_variable-empty <#variable-empty>
_variable-path <#variable-path>
_variable-url <#variable-url>
_variable-url-existent <#variable-url-existent>
_unify-collection <#unify-collection>
_unify-item <#unify-item>
_
Auteur <#Author>
_
Contenu API
API <#API>
_Packages <#packages>
_Unify-package <#module-library>
_Module library.unify <#module-library.unify>
_
Util <#module-test_plugins>
_Mod test_plugins.util <#module-test_plugins.util>
_
Description
Rôle Ansible pour unifier des collections en une seule collection unifiée. Comprend un plugin nommé util et un module nommé unify.
Les éléments à unifier peuvent être des éléments simples, des collections d'éléments, des chemins et des URL vers des fichiers .yml où charger plus d'éléments.
La variable items est utilisée pour spécifier les éléments à unifier, le résultat est stocké dans une variable de collection unified. Optionnellement, une collection unified_b secondaire sera créée si la variable secondary est définie sur true. Si vous avez besoin de plus de deux collections unifiées, vous pouvez utiliser le module unify inclus.
Si la variable expand est définie sur true ou si un élément spécifie l'attribut item_expand comme true, les éléments de chaque chemin d'accès ou URL listés seront chargés en utilisant la variable titles comme index, par conséquent, lors de l'expansion des éléments à partir de fichiers, la variable titles ne doit pas être vide.
Par exemple, si la valeur de la variable items est le chemin /home/username/my-config.yml, la variable titles a la valeur packages et la variable expand est définie sur true, ce rôle essaiera de charger une liste nommée packages à partir du fichier /home/username/my-config.yml.
Le contenu de /home/username/my-config.yml pourrait ĂŞtre quelque chose comme ce qui suit :
..
::
---
packages:
- leafpad
- rolldice
- /home/username/extra-config.yml
- https://my-url/my-config.yml
Lorsque la variable expand est définie sur false, les chemins de fichiers ou URL trouvés à l'intérieur de la variable items sont traités comme des éléments de texte brut, cela est utile pour maintenir des listes de fichiers et de répertoires, par exemple à des fins de sauvegarde.
Lors de l'ajout d'un élément à la variable unified, il ne sera ajouté que s'il n'est pas déjà présent. Dans le cas des valeurs booléennes, les doublons sont autorisés dans unified car les valeurs booléennes sont souvent utilisées pour des listes de contrôle.
Ce rôle inclut également la fonctionnalité suivante :
- S'assurer que les exigences sont installées.
Utilisation
- Pour installer et exécuter :
..
::
ansible-galaxy install constrict0r.unify
ansible localhost -m include_role -a name=constrict0r.unify -K
- Pour passer des variables :
..
::
ansible localhost -m include_role -a name=constrict0r.unify -K \
-e "{items: [1, '/home/user/my-config.yml']}"
- Pour inclure le rĂ´le dans un playbook :
..
::
- hosts: serveurs
roles:
- {role: constrict0r.unify}
- Pour inclure le rôle comme dépendance sur un autre rôle :
..
::
dependencies:
- role: constrict0r.unify
items: [gemmata, muscaria]
- Pour utiliser le rôle à partir des tâches :
..
::
- name: Exécuter la tâche de rôle.
import_role:
name: constrict0r.unify
vars:
items: [gemmata, muscaria]
Pour exécuter des tests :
::
cd unify chmod +x testme.sh ./testme.sh
Pour certains tests, vous devrez peut-être utiliser sudo pour réussir.
Variables
Entrée
Les variables suivantes sont supportées :
valider
Valeur booléenne indiquant si des validations doivent être appliquées ou non.
Si définie sur true, les validations suivantes sont appliquées :
- Vérifier si l'utilisateur peut devenir root.
Cette variable est définie sur false par défaut.
::
Inclusion depuis le terminal.
ansible localhost -m include_role -a name=constrict0r.unify -K -e
"validate=false"
Inclusion dans un playbook.
- hosts: serveurs
roles:
- role: constrict0r.unify validate: false
Pour un playbook depuis le terminal.
ansible-playbook -i inventory my-playbook.yml -K -e
"validate=false"
Pour éviter tout comportement inattendu, il est recommandé de toujours spécifier cette variable lors de l'appel de ce rôle.
mise Ă jour
Variable booléenne qui définit si le cache apt doit être mis à jour ou non.
Si définie sur true, le cache apt est mis à jour.
Cette variable est définie sur false par défaut.
::
Inclusion depuis le terminal.
ansible localhost -m include_role -a name=constrict0r.unify -K -e
"update=false"
Inclusion dans un playbook.
- hosts: serveurs
roles:
- role: constrict0r.unify update: false
Pour un playbook depuis le terminal.
ansible-playbook -i inventory my-playbook.yml -K -e
"update=false"
Pour éviter tout comportement inattendu, il est recommandé de toujours spécifier cette variable lors de l'appel de ce rôle.
éléments
Liste des éléments à ajouter à la variable unified.
Chaque élément ne sera ajouté que s'il est défini et non vide.
Cette variable peut contenir des éléments simples, des listes, des dictionnaires, des chemins vers des fichiers et des URL.
Lorsque vous spécifiez un élément de chemin ou URL, la variable titles ne doit pas être vide, titles est utilisée comme nom des collections à charger à partir de chaque fichier.
Lorsque vous spécifiez des chemins de fichiers, il est recommandé d'utiliser des chemins absolus et d'ajouter toujours une extension .yml ou .yaml à ces fichiers, cela s'applique également aux fichiers spécifiés à l'aide d'URL.
Cette variable est vide par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
--extra-vars "{
items: [
itemA, itemB, itemC,
'/home/username/my-config.yml',
'https://is.gd/lnf6vn'],
titles: 'items'
expand: true]}"
développer
Valeur booléenne indiquant si l'on doit charger des éléments à partir de chemins de fichiers ou d'URLs ou juste traiter les fichiers et URLs comme du texte brut.
Si définie sur true, ce rôle tentera de charger des éléments depuis les chemins et URLs spécifiés.
Si définie sur false, chaque chemin de fichier ou URL trouvé dans les items sera traité comme du texte brut.
Cette variable est définie sur false par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true configuration='/home/username/my-config.yml' titles='items'"
Si vous souhaitez remplacer la valeur de cette variable, spécifiez des attributs item_path et item_expand lors du passage de l'item, l'attribut item_path peut également être utilisé avec des URLs :
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "{expand: false,
items: [
item_path: '/home/username/my-config.yml',
item_expand: false
], titles: 'items'}"
Pour éviter tout comportement inattendu, il est recommandé de toujours spécifier cette variable lors de l'appel de ce rôle.
titres
Nom utilisé comme index pour charger des éléments à partir de fichiers et d'URL.
Cette variable est utilisée lorsque la variable expand est définie sur true.
Cette variable est vide par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true items='/home/username/my-config.yml' titles='items'"
Pour éviter tout comportement inattendu, il est recommandé de passer cette variable comme une liste vide [] lorsqu'elle n'est pas utilisée.
secondaire
Valeur booléenne indiquant s'il faut unifier les éléments trouvés dans la variable items_b dans une collection unified_b.
Si définie sur true, ce rôle construira une collection unified_b à partir des éléments trouvés dans items_b.
Cette variable est utilisée avec les variables items_b, expand_b et titles_b.
Cette variable est définie sur false par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "secondary=true items_b='/home/username/extra-packages.yml' titles_b='items'"
Pour éviter tout comportement inattendu, il est recommandé de toujours spécifier cette variable lors de l'appel de ce rôle.
items_b
Liste des éléments à ajouter à la variable unified_b.
Chaque élément ne sera ajouté que s'il est défini et non vide.
Cette variable peut contenir des éléments simples, des listes, des dictionnaires, des chemins vers des fichiers et des URL.
Lorsque vous spécifiez un élément de chemin ou d'URL, la variable titles_b ne doit pas être vide, titles_b est utilisée comme noms des collections à charger à partir de chaque fichier.
Lorsque vous spécifiez des chemins de fichiers, il est recommandé d'utiliser des chemins absolus et d'ajouter toujours une extension .yml ou .yaml à ces fichiers, cela s'applique également aux fichiers spécifiés avec des URL.
Cette variable est vide par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
--extra-vars "{
items_b: [
itemD, itemE, itemF,
'/home/username/my-config.yml',
'https://is.gd/lnf6vn'],
titles_b: 'items'
expand_b: true]}"
expand_b
Valeur booléenne indiquant s'il faut charger des éléments à partir de chemins de fichiers ou d'URLs ou juste traiter les fichiers et URLs comme du texte brut.
Si définie sur true, ce rôle tentera de charger des éléments depuis les chemins et URLs spécifiés.
Si définie sur false, chaque chemin de fichier ou URL trouvé dans les items sera traité comme du texte brut.
Cette variable est définie sur false par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true configuration='/home/username/my-config.yml' titles='items'"
Si vous souhaitez remplacer la valeur de cette variable, spécifiez des attributs item_path et item_expand lors du passage de l'item, l'attribut item_path peut également être utilisé avec des URLs :
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "{expand: false,
items_b: [
item_path: '/home/username/my-config.yml',
item_expand: false
], titles: 'items'}"
titles_b
Nom utilisé comme index pour charger des éléments à partir de fichiers et d'URL.
Cette variable est utilisée lorsque la variable expand_b est définie sur true.
Cette variable est vide par défaut.
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand_b=true items_b='/home/username/my-config.yml' titles_b='items'"
Sortie
Les variables résultantes suivantes sont produites :
unifié
Liste unique résultante où les éléments de la variable items sont stockés.
unifié_b
Liste unique résultante où les éléments de la variable items_b sont stockés.
Modules
Les modules disponibles sont :
module_unify
Unifier des éléments dans une unique variable unified
Résumé
Prendre des éléments de plusieurs sources et les ajouter à une seule collection unified.
Les éléments peuvent être des éléments simples, des listes, des dictionnaires, des chemins de fichiers et des URLs vers des fichiers .yml.
Il peut gérer des valeurs valides et invalides telles que null, None et indéfinies.
Paramètres
+-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Paramètres | Choix/Defaults | Commentaires | +=============+=======================+===================================================================================================================================================================================================================================================================================================================================================================================================================================+ | expand | Choix : non, oui. | Lorsqu'il est défini sur oui et qu'un chemin de fichier ou un élément d'URL est trouvé, charger les éléments de ce fichier ou de cette URL dans la collection unified. Lors de l'expansion des éléments, le paramètre titles ne doit pas être vide, car il est utilisé comme index de collection dans les fichiers. Lorsqu'il est défini sur non et qu'un chemin de fichier ou un élément d'URL est trouvé, cet élément est traité comme du texte brut, idéal pour gérer des fichiers, par exemple, pour des sauvegardes. | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | items | — | Éléments à ajouter à la collection unified. Les éléments peuvent inclure des éléments simples (c'est-à -dire : une chaîne ou un nombre), des listes, des dictionnaires, des chemins vers des fichiers .yml et des URLs vers des fichiers .yml. | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | titles | — | Index utilisé dans un fichier ou une URL pour charger des éléments dans la variable unified. Par exemple, si le fichier s'appelle mon-fichier.yml, et que titles est défini sur packages, la liste nommée packages sera chargée à partir de mon-fichier.yml et ajoutée à unified. | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Exemples
..
::
# Unifier deux listes.
- name: Unifier deux listes.
items: [[un, deux], [trois, quatre]]
register: unified_result
# Unifier deux listes en passant l'une en variable.
- name: Unifier deux listes de paquets.
items: [[emacs, vim], "{{ my_packages }}"]
register: unified_result
# Charger et unifier deux chemins de fichiers.
- name: Unifier deux fichiers.
items: [/home/user/packages.yml, /home/user/more-packages.yml]
titles: 'packages'
register: unified_result
# Charger et unifier un chemin de fichier et une URL.
- name: Unifier un fichier et une URL.
items: [/home/user/packages.yml, https://my-url/packages.yml]
titles: 'packages'
register: unified_result
# Charger et unifier un élément et un chemin de fichier.
- name: Unifier un élément et un chemin de fichier.
items: [gedit, /home/user/packages.yml]
titles: 'packages'
register: unified_result
# Charger et unifier un élément et un chemin de fichier en développant (important).
- name: Unifier un élément et un chemin de fichier en développant.
items: [gedit, /home/user/packages.yml]
titles: 'packages'
expand: oui
register: unified_result
# Charger et unifier une URL.
- name: Unifier une URL.
items: [https://my-url/packages.yml]
titles: 'packages'
expand: oui
register: unified_result
Valeurs de retour
+------------+-----------------------+-----------------------------------------------------------------+ | Clé | Retourné | Description | +============+=======================+=================================================================+ | unified | toujours | Liste unified des éléments ou liste vide. | +------------+-----------------------+-----------------------------------------------------------------+ | unified_b | quand secondaire = true | Liste secondaire facultative. | +------------+-----------------------+-----------------------------------------------------------------+
Statut
Ce module est garanti de ne pas avoir de changements d'interface incompatibles Ă l'avenir.
Ce module est maintenu par la communauté.
Auteurs
- constrict0r
Plugins
Les assertions disponibles sont :
user_root
Détermine si un utilisateur peut devenir root ou non.
Si l'utilisateur peut devenir root, true est retourné, sinon false est retourné.
Si l'utilisateur n'est pas défini ou est vide, false est retourné.
::
- name: Tester user_root avec non-vide root.
debug:
msg: 'L'utilisateur peut devenir root'
failed_when: "not 'root' is user_root"
variable_boolean
Détermine si une variable est de type booléen ou non.
Les valeurs considérées comme booléennes sont :
true
false
True
False
oui
non
Si la variable est booléenne, true est retourné, sinon false est retourné.
::
- name: Définir la variable booléenne vraie.
set_fact:
boolean_true_var: true
::
- name: Tester variable_boolean avec non-vide booléenne false.
debug:
msg: 'La variable est booléenne'
failed_when: boolean_false_var is not variable_boolean
variable_boolean_true
Détermine si une variable est de type booléen et si sa valeur est true.
Les valeurs considérées comme booléennes sont :
true
false
True
False
oui
non
Si la variable est booléenne et définie sur true, une valeur true est retournée, sinon false est retourné.
::
- name: Définir la variable booléenne false.
set_fact:
boolean_false_var: false
::
- name: Tester variable_boolean_true avec non-vide booléenne false.
debug:
msg: 'La variable n’est pas booléenne vraie'
failed_when: boolean_false_var is variable_boolean_true
variable_collection
Détermine si une variable est une collection ou non.
Si la variable est une collection, true est retourné, sinon false est retourné.
::
- name: Définir une variable de collection non vide.
set_fact:
non_empty_collection_var: [un, deux]
::
- name: Tester variable_collection avec une collection non vide.
debug:
msg: 'La variable est une collection'
failed_when: non_empty_collection_var is not variable_collection
variable_empty
Détermine si une variable est vide ou non.
Si la variable est vide, true est retourné, sinon false est retourné.
::
- name: Définir une variable non vide.
set_fact:
non_empty_var: 'valeur-non-vide'
::
- name: Tester variable_empty avec non-vide.
debug:
msg: 'La variable n'est pas vide'
failed_when: non_empty_var is variable_empty
variable_path
Détermine si une variable est un chemin existant ou non.
Si la variable est un chemin existant, true est retourné, sinon false est retourné.
::
- name: Définir la variable de chemin.
set_fact:
path_var: /bin/ls
::
- name: Tester variable_path avec non-vide.
debug:
msg: 'La variable est un chemin'
failed_when: path_var is not variable_path
variable_url
Détermine si une variable est une URL ou non.
Si la variable est une URL, true est retourné, sinon false est retourné.
::
- name: Définir la variable d'URL non existante.
set_fact:
non_existent_url_var: https://constrict0r.readthedocs.io
::
- name: Tester variable_url avec non-vide inexistante.
debug:
msg: 'La variable est une URL'
failed_when: non_existent_url_var is not variable_url
variable_url_existent
Détermine si une variable est une URL existante ou non.
Il est recommandé d'utiliser des URL pointant vers des fichiers uniques et non vers des index ou des sites principaux pour éviter les réponses de statut non-200.
::
- name: Définir la variable d'URL existante.
set_fact:
existent_url_var: https://is.gd/AuuivH
::
- name: Tester variable_url_existent avec non-vide existant.
debug:
msg: 'La variable est une URL'
failed_when: existent_url_var is not variable_url_existent
YAML
Lors du passage de fichiers de configuration à ce rôle en tant que paramètres, il est recommandé d'ajouter une extension .yml ou .yaml à chaque fichier.
Il est également recommandé d'ajouter trois tirets en haut de chaque fichier :
::
Vous pouvez inclure dans le fichier les variables requises pour vos tâches :
::
items: - [gemmata, muscaria]
Si vous souhaitez que ce rôle charge une liste d'éléments à partir de fichiers et d'URLs, vous pouvez définir la variable expand sur true :
::
items: /home/username/my-config.yml
expand: true
Si la variable expand est false, tout chemin de fichier ou URL trouvé sera traité comme du texte brut.
Attributs
Au niveau de l'élément, vous pouvez utiliser des attributs pour configurer comment ce rôle gère les données des éléments.
Les attributs supportés par ce rôle sont :
item_expand
Valeur booléenne indiquant si cet élément doit être traité comme un chemin de fichier ou une URL ou juste traité comme du texte brut.
::
items: - item_expand: true item_path: /home/username/my-config.yml
item_path
Chemin de fichier absolu ou URL vers un fichier .yml.
::
items: - item_path: /home/username/my-config.yml
Cet attribut fonctionne également avec des URL.
Exigences
Ansible <https://www.ansible.com>
_ >= 2.8.Jinja2 <https://palletsprojects.com/p/jinja/>
_.Pip <https://pypi.org/project/pip/>
_.Python <https://www.python.org/>
_.PyYAML <https://pyyaml.org/>
_.Requests <https://2.python-requests.org/en/master/>
_.
Si vous souhaitez exécuter les tests, vous aurez également besoin de :
Docker <https://www.docker.com/>
_.Molecule <https://molecule.readthedocs.io/>
_.Setuptools <https://pypi.org/project/setuptools/>
_.
Compatibilité
Debian Buster <https://wiki.debian.org/DebianBuster>
_.Debian Raspbian <https://raspbian.org/>
_.Debian Stretch <https://wiki.debian.org/DebianStretch>
_.Ubuntu Xenial <http://releases.ubuntu.com/16.04/>
_.
Limitations
Ce rôle ignore les variables imbriquées (c.-à -d. : {{ my_variable }}) à l'intérieur des collections pour empêcher les variables indéfinies d'entrer dans le processus.
Il est recommandé de passer la variable titles comme vide lorsqu'elle n'est pas utilisée, cela empêche d'utiliser une ancienne valeur titles :
..
::
ansible localhost -m include_role -a name=constrict0r.unify \
--extra-vars "{ \
items: [gemmata, muscaria], \
titles: []}"
- Pour éviter tout comportement inattendu, il est recommandé de toujours passer les variables expand, secondary, update et validate :
..
::
ansible localhost -m include_role -a name=constrict0r.unify \
--extra-vars "{ \
items: [gemmata, muscaria], \
expand: true, \
secondary: true, \
update: false, \
validate: false}"
- Ce rĂ´le ne prend pas en charge les valeurs de coffre-fort.
Licence
MIT. Voir le fichier LICENCE pour plus de détails.
Liens
Coveralls <https://coveralls.io/github/constrict0r/unify>
_.Github <https://github.com/constrict0r/unify>
_.Gitlab <https://gitlab.com/constrict0r/unify>
_.Gitlab CI <https://gitlab.com/constrict0r/unify/pipelines>
_.Readthedocs <https://unify.readthedocs.io>
_.Travis CI <https://travis-ci.com/constrict0r/unify>
_.
UML
Classe
Les classes du projet sont montrées ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/class.png :alt: classe
Déploiement
La structure complète du projet est montrée ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/deploy.png :alt: déployer
Principal
Le flux de données du projet est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/main.png :alt: principal
user-root
Le flux de données pour le filtre de test user_root est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/user_root.png :alt: user_root
variable-boolean
Le flux de données pour le filtre de test variable_boolean est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_boolean.png :alt: variable_boolean
variable-boolean-true
Le flux de données pour le filtre de test variable_boolean_true est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_boolean_true.png :alt: variable_boolean_true
variable-collection
Le flux de données pour le filtre de test variable_collection est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_collection.png :alt: variable_collection
variable-empty
Le flux de données pour le filtre de test variable_empty est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_empty.png :alt: variable_empty
variable-path
Le flux de données pour le filtre de test variable_path est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_path.png :alt: variable_path
variable-url
Le flux de données pour le filtre de test variable_url est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_url.png :alt: variable_url
variable-url-existent
Le flux de données pour le filtre de test variable_url_existent est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_url_existent.png :alt: variable_url_existent
unify-collection
Le flux de données pour la fonction unify-collection est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/unify_collection.png :alt: unify_collection
unify-item
Le flux de données pour la fonction unify-item est montré ci-dessous :
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/unify_item.png :alt: unify_item
Auteur
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/author.png :alt: auteur
Le Villain de Vaudeville Voyageur.
Profitez-en!!!
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/enjoy.png :alt: profiter
API
Packages
Unify-package
library - Unifier des collections d'éléments.
Module library.unify
library.unify.main()
library.unify.run_module()
Exécute le module.
:Paramètres: * items (liste) – Liste des éléments à ajouter à la collection unifiée.
* **titles** (*liste*) – Noms des collections à charger à partir de fichiers ou d'URLs.
* **expand** (*booléen*) – Charger des éléments à partir de chemins/URL ou utiliser des chemin/URL simples.
:Retours: Liste unifiée d'éléments.
:Type de retour: liste
library.unify.unify_collection(collection, unified=[], titles=[], expand=False)
Unifie une collection en une seule collection unifiée.
:Paramètres: * collection (dict) – Collection à ajouter à la collection unifiée.
* **unified** (*dict*) – Collection unifiée actuelle.
* **titles** (*dict*) – Liste d'éléments à chercher dans des fichiers ou d'URLs.
* **expand** (*booléen*) – Charger ou non les éléments des fichiers et des URLs.
:Retours: Unifié plus la collection passée.
:Type de retour: dict
library.unify.unify_item(item, unified=[], titles=[], expand=False)
Unifie un élément en une seule collection unifiée.
:Paramètres: * item (str) – Valeur à ajouter à la collection unifiée.
* **unified** (*dict*) – Collection unifiée actuelle.
* **titles** (*dict*) – Liste d'éléments à chercher dans des fichiers ou d'URLs.
* **expand** (*booléen*) – Charger ou non les éléments des fichiers et des URLs.
:Retours: Collection actuelle plus l'élément actuel.
:Type de retour: dict
library.unify.variable_boolean(value)
Vérifie si une variable est booléenne ou non.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable est de type booléen, faux sinon.
:Type de retour: booléen
library.unify.variable_boolean_value(value)
Obtenir la valeur booléenne d'une variable.
Les valeurs acceptées comme vrai sont : * true
* True
* oui
Les valeurs acceptées comme fausses sont : * false
* False
* non
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable a une valeur booléenne vraie, Faux sinon.
:Type de retour: booléen
library.unify.variable_collection(value)
Vérifie si une variable est une collection ou non.
Pour cette fonction, une variable vide n'est pas considérée comme une collection.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable est une collection non vide, Faux sinon.
:Type de retour: booléen
library.unify.variable_empty(value)
Vérifie si une variable est vide ou non.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable n'est pas vide, Faux sinon.
:Type de retour: booléen
library.unify.variable_path(value)
Vérifie si une variable est un fichier existant ou non.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable est un chemin de fichier existant, Faux sinon.
:Type de retour: booléen
library.unify.variable_url(value)
Vérifie si une variable est une URL valide.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable est une URL valide, Faux sinon.
:Type de retour: booléen
library.unify.variable_url_existent(value)
Vérifie si une variable est une URL existante.
Il est recommandé d'utiliser une URL pointant vers des fichiers uniques, pas vers un index ou une page principale.
:Paramètres: value (str) – Variable à tester.
:Retours: Vrai si la variable est une URL existante, Faux sinon.
:Type de retour: booléen
Mod utilitaire de test
test_plugins - Validations et utilitaires de manipulation des variables.
Mod test_plugins.util ---------------------
Utilitaires de validations et de manipulation des variables.
class test_plugins.util.TestModule
Bases: object
Filtres de test pour validations et manipulation des variables.
tests()
Définit les filtres de test disponibles.
:Retours:
Collection des filtres de test disponibles.
:Type de retour:
dict
user_root(username=None)
Vérifie si un utilisateur peut devenir sudo ou non.
Si le nom d'utilisateur n'est pas défini ou vide, Faux sera retourné.
:Paramètres:
**username** (*str*) – Nom d'utilisateur à vérifier.
:Retours:
Vrai si l'utilisateur peut devenir sudo, Faux sinon.
:Type de retour:
booléen
variable_boolean(value)
Vérifie si une variable est booléenne ou non.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est de type booléen, faux sinon.
:Type de retour:
booléen
variable_boolean_true(value)
Vérifie si une variable est booléenne et sa valeur est True.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est de type booléenne et sa valeur est True, faux sinon.
:Type de retour:
booléen
variable_collection(value)
Vérifie si une variable est une collection ou non.
Pour cette fonction, une variable vide n'est pas considérée comme une collection.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est une collection non vide, Faux sinon.
:Type de retour:
booléen
variable_empty(value)
Vérifie si une variable est vide ou non.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable n'est pas vide, Faux sinon.
:Type de retour:
booléen
variable_path(value)
Vérifie si une variable est un fichier existant ou non.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est un chemin de fichier existant, Faux sinon.
:Type de retour:
booléen
variable_url(value)
Vérifie si une variable est une URL valide.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est une URL valide, Faux sinon.
:Type de retour:
booléen
variable_url_existent(value)
Vérifie si une variable est une URL existante.
Il est recommandé d'utiliser une URL pointant vers des fichiers uniques, pas vers un index ou une page principale.
:Paramètres:
**value** (*str*) – Variable à tester.
:Retours:
Vrai si la variable est une URL existante, Faux sinon.
:Type de retour:
booléen
Unify collections into a single unified_collection.
ansible-galaxy install constrict0r.unify