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:
Poniżej przedstawiono kilka podstawowych cech modułu set_fact.
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!