Qu'est-ce que ANSIBLE SET_FACT

Qu'est-ce que ANSIBLE SET_FACT
Les variables nous aident à personnaliser des manuels et des tâches ansibles pour travailler avec différents systèmes hôtes et environnements de travail.

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:

  • Cacheable: Ce paramètre booléen a deux options: oui et non. Ce paramètre transforme une variable set_fact en un «fait» stocké dans le cache de faits, mais seulement si vous avez une mise en cache de fait activée.
  • Valeur clé: Variables SET à l'aide du module set_fact Utilisez la «clé Key = Value» -Or »: Valeur“ pour les paires de chaînes YAML, où la clé est le nom et la valeur de la variable définit la valeur de la variable.

Voici quelques caractéristiques essentielles du module set_fact.

  • Le paramètre KEY = Value-Or Key: Value pour YAML uniquement crée des booléens et des chaînes, mais vous pouvez utiliser Var: [VAL20, VAL30] pour créer des dictionnaires ou des tableaux.
  • Set_fact crée des valeurs de variables statiques
  • Variables set à l'aide de set_fact Suivre les règles de priorité des variables ANSIBL standard; Ainsi, d'autres types de variables avec une priorité plus élevée peuvent remplacer le jeu de valeur précieux à l'aide de set_fact
  • Vous ne pouvez pas utiliser «cacheable» comme nom de fait valide car ANSIBLE Version 2.4 et plus tard l'avoir comme paramètre de module
  • Les variables de set-FACT sont basées sur l'hôte et sont disponibles pour les courses de jeu de jeu ANSIBL ultérieures
  • Le module set_fact prend également en charge les cibles Windows

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!