Co to jest ansible set_fact

Co to jest ansible set_fact
Zmienne pomagają nam dostosować poradniki i zadania ansible do pracy z różnymi systemami hosta i środowiskami pracy.

Podczas gdy możesz użyć vars_file, vars lub include_var do konfigurowania zmiennych w swoich podręcznikach, moduł set_fact jest jednym z najlepszych sposobów na to, głównie ze względu na swoją elastyczność.

Ten samouczek wyjaśni, czym jest Ansible set_fact, jak to działa i jak można go użyć.

Zrozumienie ansible set_fact

W przeciwieństwie do innych modułów, które umożliwiają ustawienie zmiennych ansible-myśl vars_file, vars lub uwzględnienie_var-gdzie musisz znać wartości zmiennych wcześniej, moduł ansible set_facts umożliwia ustawianie zmiennych poza manołkiem w razie potrzeby, często na hosta -To-Host Case.

Zmienne zestaw za pomocą set_facts są dostępne do wykonywania podręczników w tym samym odtwarzaniu. Jednak używając ustawionego parametru parametru BEMABLE na tak, możesz przekształcić te zmienne w fakty w pamięci podręcznej, co czyni je wykonywalnymi w ramach poradników z „faktem buforowanym”.

Ansible set_fact parametry

Ansible set_fact obsługuje następujące parametry:

  • BOCKALLE: Ten parametr logiczny ma dwie opcje: tak i nie. Ten parametr zamienia zmienną SET_Fact w „fakt” przechowywaną w pamięci podręcznej, ale tylko jeśli masz włączone buforowanie faktów.
  • Kluczowa wartość: Zmienne Ustaw za pomocą modułu set_fact Użyj klawisza „key = wartość” -or: wartość ”dla pary ciągów YAML -, w których klawisz jest nazwa zmiennej i wartość definiuje wartość zmiennej.

Poniżej przedstawiono kilka podstawowych cech modułu set_fact.

  • Key = wartość-lub klucz: Parametr wartości tylko dla YAML tworzy logiki i struny, ale możesz użyć var: [val20, val30], aby tworzyć słowniki lub tablice.
  • Set_fact tworzy wartości zmiennych statycznych
  • Zmienne ustawione za pomocą set_fact są zgodne z standardowymi regułami precedypsu zmiennej ansible; Zatem inne typy zmiennych o wyższym priorytecie mogą zastąpić cenne ustawienie wartości za pomocą set_fact
  • Nie możesz użyć „Butakable” jako prawidłowej nazwy faktów, ponieważ Ansible wersja 2.4, a później mają go jako parametr modułu
  • Zmienne ustalone są oparte na hosta i są dostępne dla kolejnych przebiegów Poradnika Ansible
  • Moduł set_fact obsługuje również cele systemu Windows

Ansible set_fact Przykład

Spójrzmy na kilka przykładów, aby zilustrować przy użyciu set_fact.

W poniższym przykładzie używamy set_fact, aby przypisać określoną wartość do zmiennej i utworzyć użytkownika.

---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: Utwórz użytkownika.
set_fact:
Nazwa użytkownika: Linuxhint
użytkownik:
Nazwa: "nazwa użytkownika"
grupa: „nazwa użytkownika”
Shell: /bin /bash

W powyższym przykładzie używamy modułu set_fact, aby utworzyć użytkownika na zdalnym hoście.

Innym przykładem jest użycie set_fact z warunkowaniem. Na przykład:

---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: Apache
set_fact:
PKG: „Apache2”
Kiedy: ansible_distribution == „debian” lub ansible_distribution == „Ubuntu”
- Nazwa: httpd
set_fact:
PKG: „httpd”
Kiedy: ansible_distribution == „centos” lub ansible_distribution == 'Red Hat Enterprise Linux'

W powyższym przykładzie podręcznika ustawiamy pakiet na apache2, gdy dystrybucja jest debian lub ubuntu i httpd dla centrów i rehl.

Zamknięcie

Moduł ansible set_fact umożliwia zwiększenie elastyczności do swoich podręczników na podstawie informacji zebranych z hosta.

Dziękuję za przeczytanie!