Was ist Ansible set_fact

Was ist Ansible set_fact
Variablen helfen uns, Ansible -Playbooks und -Tasks so anzupassen, dass sie mit verschiedenen Hostsystemen und Arbeitsumgebungen arbeiten.

Während Sie Vars_file, VARs oder include_var verwenden können, um Variablen in Ihren Spielbüchern einzurichten, ist das set_fact -Modul eine der besten Möglichkeiten, dies zu tun, vor allem aufgrund seiner Flexibilität.

In diesem Tutorial wird erklärt, was Ansible set_fact ist, wie es funktioniert und wie Sie es verwenden können.

Verständnis von Ansible set_fact

Im Gegensatz zu anderen Modulen, mit denen Sie Ansible-Variablen einstellen können. -Host.

Variablen, die mit set_facts eingestellt sind. Mit dem auf Ja eingestellten Parameter mit dem Gespeicher können Sie diese Variablen jedoch in Tatsachen-Cache in Fakten verwandeln, wodurch sie über das Spielbuch ausgeführt werden, die mit der „zwischengespeicherten Tatsachen“ -Priorzie ausgeführt werden.

Ansible set_fact -Parameter

Ansible set_fact unterstützt die folgenden Parameter:

  • Zwischengespeichert: Dieser Boolesche Parameter hat zwei Optionen: Ja und Nein. Dieser Parameter verwandelt eine SET_FACT.
  • Schlüsselwert: Variablen, die mit dem Modul set_fact eingestellt sind.

Im Folgenden finden Sie einige wesentliche Funktionen des set_fact -Moduls.

  • Der Key = Value-OR-Schlüssel: Wertparameter für YAML-Nur-YAML erstellt Boolesche und Zeichenfolgen, aber Sie können VAR verwenden: [Val20, Val30], um Wörterbücher oder Arrays zu erstellen.
  • Set_fact erstellt statische Variablenwerte
  • Variablen, die mit set_fact festgelegt werden, befolgen Sie die Standard -Variablenvorrangregeln für Variable; Somit können andere variable Typen mit einer höheren Priorität den wertvollen Wert mit set_fact überschreiben
  • Sie können nicht "zwischengespeichert werden" als gültiger Faktenname verwendet, da Ansible Version 2.4 und später als Modulparameter
  • Set-fact-Variablen basieren auf Host-to-Host-Basis und sind für nachfolgende Ansible-Playbook-Läufe verfügbar
  • Das Modul set_fact unterstützt auch Windows -Ziele

Ansible set_fact Beispiel

Sehen wir uns einige Beispiele an, die wir mit dem set_fact veranschaulichen können.

Im folgenden Beispiel verwenden wir den set_fact, um einer Variablen einen bestimmten Wert zuzuweisen und einen Benutzer zu erstellen.

---
- Hosts: Alles
wahr werden
Aufgaben:
- Name: Benutzer erstellen.
set_fact:
Benutzername: LinuxHint
Benutzer:
Name: "Benutzername"
Gruppe: "Benutzername"
Shell: /bin /bash

Im obigen Beispiel verwenden wir das Modul set_fact, um einen Benutzer auf einem Remote -Host zu erstellen.

Ein weiteres Beispiel ist die Verwendung des set_fact mit Bedingungen. Zum Beispiel:

---
- Hosts: Alles
wahr werden
Aufgaben:
- Name: Apache
set_fact:
PKG: "Apache2"
Wann: ansible_distribution == "Debian" oder Ansible_Distribution == "Ubuntu"
- Name: httpd
set_fact:
PKG: "httpd"
Wann: ansible_distribution == 'Centos' oder Ansible_Distribution == 'Red Hat Enterprise Linux' '

Im obigen Beispiel -Playbook haben wir das Paket auf Apache2 festgelegt, wenn die Verteilung Debian oder Ubuntu und HTTPD für CentOS und REL ist.

Schließen

Mit dem Ansible set_fact -Modul können Sie Ihren Spielbüchern auf der Grundlage der vom Host gesammelten Informationen Flexibilität hinzufügen.

Vielen Dank für das Lesen!