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
Ă€ propos du projet

Unify collections into a single unified_collection.

Installer
ansible-galaxy install constrict0r.unify
Licence
mit
Téléchargements
4k
Propriétaire
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy