diff --git a/docs/ogdhcp_api_documentation.md b/docs/ogdhcp_api_documentation.md new file mode 100644 index 0000000..02e5562 --- /dev/null +++ b/docs/ogdhcp_api_documentation.md @@ -0,0 +1,121 @@ +## API de DHCP + +La API de DHCP proporciona una interfaz para interactuar con el servidor DHCP de Kea. Esta API permite realizar operaciones como obtener la configuración actual del servidor DHCP, actualizar la configuración y obtener información sobre las reservas de direcciones IP. + +Los endpoints están agrupados en el recurso al que hace referencia. Actualmente se gestionan dos recursos: + +- `/dhcp/subnets/`: CRUD de subredes de Kea DHCP. Las subredes serán donde se organizarán los hosts y hacen referencia a las subredes montadas por el aula. +- `/dhcp/subnets/hosts/`: CRUD de hosts en la configuración de Kea DHCP. Los hosts hacen referencia a los ordenadores dados de alta en las aulas. Esta sección en Kea DHCP se encarga de asignar, dada la MAC del dispositivo, la IP y el boot-file-name del ordenador. + +El presente documento detalla los endpoints del API con sus respectivos parámetros de entrada así como los cambios que aplican sobre la configuración de Kea DHCP. + + + +### Recurso `/dhcp/subnets` + +#### Obtener configuración de las subredes + +Devuelve las subredes dadas de alta en la configuración de Kea DHCP. + + +**Método HTTP:** GET + +**URL:** `/dhcp/subnets` + + +#### Añadir subred + +Añade un nueva subred a la configuración de Kea DHCP. + +**Método HTTP:** POST + +**URL:** `/dhcp/subnets` + +**Parámetros de entrada:** + +- `name`: Nombre de la subred. +- `subnet`: DirecciónIP de la subred. +- `boot-file-name`: Archivo de arranque de la subred. +- `nextServer`: Dirección IP del next-server. + +#### Borrar subred DHCP + +Borrar una subred de la configuración de Kea DHCP. + +**Método HTTP:** DELETE + +**URL:** `/dhcp/subnets/{id_subnet}` + + +#### Modificar Host DHCP + +Modificar la subred en la configuración de Kea DHCP. + +**Método HTTP:** PUT + +**URL:** `/dhcp/subnets/{id_subnet}` + +**Parámetros de entrada:** + +- `name`: Nombre de la subred. +- `subnet`: DirecciónIP de la subred. +- `boot-file-name`: Archivo de arranque de la subred. +- `nextServer`: Dirección IP del next-server. + + +### Recurso `/dhcp/subnets/hosts` + +#### Obtener configuración de los hosts + +Devuelve la configuración de los hosts que se encuentran bajo una subred en la configuración de Kea DHCP. + + +**Método HTTP:** GET + +**URL:** `/dhcp/subnets/{id_subnet}/hosts` + + +#### Añadir Host DHCP + +Añade un nuevo host a la subnet especificada. + +**Método HTTP:** POST + +**URL:** `/dhcp/subnets/{id_subnet}/hosts` + +**Parámetros de entrada:** + +- `host`: Nombre del host. +- `macAddress`: Dirección MAC del host. +- `address`: Dirección IP del host. +- `nextServer`: Dirección IP del next-server. + +#### Borrar Host DHCP + +Borrar un host de la subnet especificada. + +**Método HTTP:** DELETE + +**URL:** `/dhcp/subnets/{id_subnet}/hosts` + +**Parámetros de entrada:** + +- `host`: Nombre del host. + +#### Modificar Host DHCP + +Modificar la configuración de un host en la subnet especificada. + +**Método HTTP:** PUT + +**URL:** `/dhcp/subnets/{id_subnet}/hosts` + +**Parámetros de entrada:** + +- `host`: Nombre del host. +- `oldMacAddress`: Dirección MAC antigua del host. +- `oldAddress`: Dirección IP antigua del host. +- `macAddress`: Nueva dirección MAC del host. +- `address`: Nueva dirección IP del host. +- `nextServer`: Nueva dirección IP del servidor siguiente. +