brgalloway.phpipam_api

Libros de jugadas para interactuar con la API de phpipam

Con una instalación de phpipam en funcionamiento, puedes habilitar la API y utilizar estas interacciones dentro de los libros de jugadas. Necesitarás configurar el ID de la aplicación y crear un usuario que accederá a esta API para obtener un token.

Configurando la API para su uso en Ansible

Dentro de la interfaz gráfica, deberás navegar a la sección de API bajo administración. Aquí podrás configurar el ID de la aplicación para la API. A continuación, necesitarás navegar a la sección de Usuarios para crear tu usuario de API.

Interactuando con la API

Para encontrar las subredes y poblar variables específicas, necesitarás explorar la API con Postman o curl.

usando curl para devolver un token: curl -k https://ipam.ejemplo.com/api/phpipamappid/user/ -X POST -u <usuario>:<contraseña>

obteniendo el token de la salida json devuelta: curl -k https://ipam.ejemplo.com/api/phpipamappid/sections/ --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

Una vez que tengas el ID de las secciones, esto puede ser utilizado para obtener las subredes dentro de esta sección. curl -k https://ipam.ejemplo.com/api/phpipamappid/sections/{ID}/subnets --header "token: .J1e9ipFZkPE6EvIRAqEf9hp" -X GET

Esto listará todas las subredes en esta sección, y querrás obtener el ID de los objetos devueltos:

"id": <número>,
...

Aquí es donde se poblará la variable subnet_id:.

Ejemplo de libro de jugadas para reservar IP

El libro de jugadas main.yml es un ejemplo de cómo usar el módulo URI para realizar una llamada a la API, registrar la salida para poblar variables, realizar llamadas para registrar una IP y actualizar la base de datos de phpipam.

Para generar el valor encriptado que poblará la contraseña del vault para la variable api_pass, necesitarás generarlo con ansible-vault. https://docs.ansible.com/ansible/2.4/vault.html

Una vez que todos los valores en el archivo group_vars/all estén configurados para que coincidan con tu entorno, solo entonces el libro de jugadas tendrá éxito. Realizar la llamada a la API descargará el token el cual se almacenará en una variable y se usará a lo largo del libro de jugadas.

documentación de phpipam https://phpipam.net/api/api_documentation/

Acerca del proyecto

Get available ip from phpipam and reserve returned ip address

Instalar
ansible-galaxy install brgalloway.phpipam_api
Licencia
gpl-2.0
Descargas
317
Propietario