brgalloway.phpipam_api

Podręczniki do interakcji z API phpipam

Posiadając działającą instalację phpipam, możesz włączyć API i używać tych interakcji w skryptach. Będziesz musiał skonfigurować identyfikator aplikacji oraz stworzyć użytkownika, który będzie korzystał z tego API, aby uzyskać token.

Konfigurowanie API do użycia w Ansible

W interfejsie graficznym musisz przejść do sekcji API w zakładce administracji. Tam możesz skonfigurować identyfikator aplikacji dla API. Następnie należy przejść do sekcji Użytkownicy, aby stworzyć użytkownika API.

Interakcja z API

Aby znaleźć podsieci i uzupełnić konkretne zmienne, będziesz musiał użyć API, korzystając z Postmana lub curl.

przykład użycia curl do uzyskania tokena: curl -k https://ipam.example.com/api/phpipamappid/user/ -X POST -u <nazwa_użytkownika>:<hasło>

pobieranie tokena z zwróconego wyniku JSON: curl -k https://ipam.example.com/api/phpipamappid/sections/ --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

Gdy masz już ID sekcji, możesz użyć go do uzyskania podsieci w tej sekcji. curl -k https://ipam.example.com/api/phpipamappid/sections/{ID}/subnets --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

To wyświetli wszystkie podsieci w tej sekcji, a ty będziesz chciał pobrać id z zwróconych obiektów:

"id": <numer>,
...

Tutaj populowana jest zmienna subnet_id:.

Przykład playbooka do rezerwacji IP

Główny plik playbooka main.yml jest przykładem użycia modułu URI do wywołania API, rejestracji wyniku w celu populacji zmiennych, wywoływania rejestracji IP oraz aktualizacji bazy danych phpipam.

Aby wygenerować zaszyfrowaną wartość do zasobnika hasła dla zmiennej api_pass, musisz to wygenerować za pomocą ansible-vault. https://docs.ansible.com/ansible/2.4/vault.html

Gdy wszystkie wartości w pliku group_vars/all są skonfigurowane zgodnie z twoim środowiskiem, dopiero wtedy playbook zakończy się sukcesem. Wywołanie API pobierze token, który jest następnie przechowywany w zmiennej i używany w całym playbooku.

Dokumentacja phpipam https://phpipam.net/api/api_documentation/

O projekcie

Get available ip from phpipam and reserve returned ip address

Zainstaluj
ansible-galaxy install brgalloway.phpipam_api
Licencja
gpl-2.0
Pobrania
317
Właściciel