Bien que vous puissiez utiliser vars_file, vars ou include_var pour configurer des variables dans vos manuels, le module set_fact est l'une des meilleures façons de le faire, principalement en raison de sa flexibilité.
Ce tutoriel expliquera ce qu'est un Set_fact Ansible, comment il fonctionne et comment vous pouvez l'utiliser.
Comprendre Ansible Set_fact
Contrairement à d'autres modules qui vous permettent de définir des variables ANNIBLES-Think Vars_file, vars ou include_var-où vous devez connaître les valeurs variables au préalable, le module ANSIBLE SET_FACT - Cas à hôte.
Les variables set à l'aide de set_facts sont disponibles pour l'exécution du livre de jeu dans le même jeu. Cependant, en utilisant le paramètre mis en cache défini sur oui, vous pouvez transformer ces variables en faits dans le cache des faits, ce qui les rend exécutables à travers le livre de jeu avec la priorité du «fait mis en cache».
Paramètres Set_FACT ANSIBLE
Anible set_fact prend en charge les paramètres suivants:
Voici quelques caractéristiques essentielles du module set_fact.
Exemple Set_fact Ansible
Regardons quelques exemples pour illustrer en utilisant le set_fact.
Dans l'exemple ci-dessous, nous utilisons le set_fact pour attribuer une valeur spécifique à une variable et créer un utilisateur.
---
- hôtes: tout
devenir vrai
Tâches:
- Nom: Créer un utilisateur.
set_fact:
Nom d'utilisateur: Linuxhint
utilisateur:
Nom: "nom d'utilisateur"
groupe: "nom d'utilisateur"
shell: / bin / bash
Dans l'exemple ci-dessus, nous utilisons le module set_fact pour créer un utilisateur sur un hôte distant.
Un autre exemple consiste à utiliser le set_fact avec des conditions. Par exemple:
---
- hôtes: tout
devenir vrai
Tâches:
- Nom: Apache
set_fact:
pkg: "apache2"
Quand: ANSIBLE_DISTRIBUTION == "Debian" ou ANSIBLE_DISTRIBUTION == "Ubuntu"
- Nom: httpd
set_fact:
pkg: "httpd"
Quand: ANSIBLE_DISTRIBUTION == 'CENTOS' ou ANSIBLE_DISTRIBUTION == 'Red Hat Enterprise Linux'
Dans l'exemple de playbook ci-dessus, nous définissons le package sur Apache2 lorsque la distribution est Debian ou Ubuntu et Httpd pour Centos et Rehl.
Fermeture
Le module ANSIBLE SET_FACT vous permet d'ajouter de la flexibilité à vos livres de jeu en fonction des informations recueillies à partir de l'hôte.
Merci pour la lecture!