AnsibleModule i specyfikacja argumentów
Definiowanie i sprawdzanie poprawności danych wejściowych modułu.
AnsibleModule i specyfikacja argumentów to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Poznaj AnsibleModule
Klasa AnsibleModule jest zestawem narzędzi. Analizuje argumenty przesyłane przez Ansible, sprawdza je i udostępnia pomocnicze metody do zwracania wyników.
from ansible.module_utils.basic import AnsibleModuleSłownik argument_spec
Każde dane wejściowe akceptowane przez moduł opisuje się w słowniku argument_spec. Ansible odczytuje go, aby sprawdzić dane przekazywane przez użytkowników.
argument_spec=dict(
name=dict(type='str', required=True)
)Nadaj każdemu argumentowi typ
Ustaw type na przykład na str, int, bool, list lub dict. Ansible konwertuje typy i odrzuca niepoprawne dane, zanim kod w ogóle się uruchomi.
count=dict(type='int', default=1)Oznacz wymagane elementy
Dodaj required=True, a Ansible przerwie działanie z wyraźnym błędem, jeśli użytkownik zapomni tego argumentu. Nie trzeba dodawać własnego sprawdzania.
path=dict(type='str', required=True)Ustaw rozsądne wartości domyślne
Użyj default, aby opcjonalne argumenty automatycznie otrzymywały wartość. Użytkownik ustawia tylko to, co chce zmienić.
state=dict(type='str', default='present')Ogranicz do prawidłowych wartości
Lista choices ogranicza argument do dozwolonych wartości. Każda inna wartość zostaje od razu odrzucona wraz z pomocnym komunikatem.
state=dict(choices=['present', 'absent'])Utwórz obiekt modułu
Przekaż specyfikację do AnsibleModule, aby utworzyć obiekt. Od tej chwili wszystkie dane wejściowe są bezpiecznie dostępne w module.params.
module = AnsibleModule(argument_spec=argument_spec)Odczytaj zweryfikowane dane wejściowe
Uzyskuj dostęp do argumentów przez module.params, czyli zwykły słownik. Wartości mają już odpowiednie typy i zostały zweryfikowane, więc wystarczy ich użyć.
name = module.params['name']Reguły między argumentami
Czy dwa argumenty muszą wystąpić razem albo nigdy jednocześnie? Przekaż do AnsibleModule reguły takie jak required_together lub mutually_exclusive, a Ansible będzie ich przestrzegać.
mutually_exclusive=[['src', 'content']]Ukryj sekrety za pomocą no_log
Oznacz dane wrażliwe za pomocą no_log=True, aby hasła nigdy nie pojawiały się w dziennikach Ansible ani w szczegółowych danych wyjściowych.
password=dict(type='str', no_log=True)Pozwól, aby specyfikacja wykonała pracę
Dobre argument_spec zastępuje stosy ręcznych walidacji. Opisuje Pan/Pani dane wejściowe raz, a Ansible zajmuje się typami, błędami i dokumentacją bez dodatkowej pracy.
Szybki sprawdzian
Proszę zastanowić się, jak dane wprowadzane przez użytkownika trafiają do kodu modułu.
Podsumowanie
Proszę zdefiniować dane wejściowe w argument_spec, określając typy, wartości domyślne, wymagane pola i dostępne opcje, utworzyć AnsibleModule, a następnie odczytywać poprawne wartości z module.params. ✅
Często zadawane pytania
Czy lekcja „AnsibleModule i specyfikacja argumentów” jest bezpłatna?
Tak — pełny tekst „AnsibleModule i specyfikacja argumentów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „AnsibleModule i specyfikacja argumentów”?
Definiowanie i sprawdzanie poprawności danych wejściowych modułu. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?
Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „AnsibleModule i specyfikacja argumentów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?
Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Kiedy utworzyć własny moduł
- AnsibleModule i specyfikacja argumentów
- Zwracanie JSON i respektowanie changed
- Obsługa trybu check w module