From b28ac5a96a4f0be8e27a3375c28d08f15487119b Mon Sep 17 00:00:00 2001 From: lgromero Date: Tue, 20 Feb 2024 13:47:22 +0100 Subject: [PATCH] refs #208 Adds new endpoints clientx/pxes --- README.md | 123 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 99 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index d7f000e..d01774a 100644 --- a/README.md +++ b/README.md @@ -10,28 +10,19 @@ La API de Ogboot proporciona una interfaz para facilitar el proceso de inicializ El presente documento detalla los endpoints del API con sus respectivos parámetros de entrada así como las acciones que llevan a cabo -### Configurar Modo de Cliente +### Tabla de Contenido -Configura el modo de arranque PXE para un cliente específico. +1. [Obtener configuración de ogboot](#obtener-configuración-de-ogboot) - `ogboot/config` +2. [Mostrar información de todos los clientes ogLive instalados](#mostrar-información-de-todos-los-clientes-oglive-instalados) - `/clients/oglives` +3. [Mostrar información del cliente ogLive predeterminado](#mostrar-información-del-cliente-oglive-predeterminado) - `/clients/oglives/show-default` +4. [Mostrar información de un cliente ogLive específico](#mostrar-información-de-un-cliente-oglive-específico) - `/clients/oglives/show/{Index|Dir}` +5. [Buscar índice o directorio del cliente ogLive correspondiente](#buscar-índice-o-directorio-del-cliente-oglive-correspondiente) - `/clients/oglives/{Index}` +6. [Configurar modo de cliente](#configurar-modo-de-cliente) - `/clients/setpxe` +7. [Mostrar menú de descarga de imagen de ogLive](#mostrar-menú-de-descarga-de-imagen-de-oglive) - `/images/download` +8. [Descargar imagen de ogLive específica](#descargar-imagen-de-oglive-específica) - `/images/download/{iso}` +9. [Instalar nuevo cliente ogLive desde imagen descargada](#instalar-nuevo-cliente-oglive-desde-imagen-descargada) - `/images/upload/{iso}` +10. [Elimina cliente ogLive](#desinstalar-cliente-oglive-y-eliminar-imagen) - `/images/remove/{iso}` -**URL:** `ogboot/clients/setclientmode` -**Método HTTP:** POST - -**Parámetros de entrada:** -- `template`: Nombre de la plantilla PXE. -- `scope`: Nombre del cliente (nombre de ordenador o nombre de aula). -- `mode`: Modo de configuración ("TEMP" para temporal o "PERM" para permanente). - -**Ejemplo de Solicitud:** - -```bash -curl -X POST -H "Authorization: $API_KEY" -d '{"template": "plantilla", "scope": "nombre_cliente", "mode": "PERM"}' http://example.com/ogboot/clients/setclientmode -``` - -**Respuestas:** -- **Código 200 OK:** La configuración de modo de cliente se realizó exitosamente. -- **Código 400 Bad Request:** La solicitud es incorrecta. La configuración de modo de cliente no se ha realizado correctamente. -- **Código 401 Unauthorized:** La solicitud no está autorizada. Se requiere un token de autenticación válido. @@ -65,6 +56,7 @@ curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/config + ### Mostrar Información de Todos los Clientes ogLive Instalados Muestra información en formato JSON sobre todos los clientes ogLive instalados. @@ -183,6 +175,89 @@ ogLive-5.11.0-r20210413 +### Obtener Todos los Archivos de Arranque + +Devuelve todos los archivos de arranque PXE y sus direcciones MAC asociadas. + +**URL:** `/ogboot/clients/pxes` +**Método HTTP:** GET + +**Respuestas:** +- **Código 200 OK:** La lista de archivos de arranque PXE se obtuvo exitosamente. + - **Contenido:** Lista de archivos de arranque PXE con sus direcciones MAC asociadas. +- **Código 400 Bad Request:** La solicitud es incorrecta. La lista de archivos de arranque PXE no se obtuvo correctamente. + + + +### Obtener Archivo de Arranque + +Devuelve el archivo de arranque PXE del ordenador con la dirección MAC correspondiente. + +**URL:** `/ogboot/clients/pxes/{mac}` +**Método HTTP:** GET + +**Parámetros de ruta:** +- `mac`: Dirección MAC del ordenador. + +**Respuestas:** +- **Código 200 OK:** El archivo de arranque PXE se obtuvo exitosamente. + - **Contenido:** Archivo de arranque PXE en formato deseado. +- **Código 400 Bad Request:** La solicitud es incorrecta. El archivo de arranque PXE no se obtuvo correctamente. + + + +### Crear Archivo de Arranque + +Crea un archivo de arranque PXE para el ordenador basado en la plantilla indicada y utilizando los datos almacenados en la base de datos. + +**URL:** `/ogboot/clients/pxes` +**Método HTTP:** POST + +**Parámetros de entrada:** +- `bootopt`: Plantilla de arranque PXE. +- `hostname`: Nombre del ordenador. +- `lang`: Idioma de arranque. + +**Respuestas:** +- **Código 200 OK:** El archivo de arranque PXE se creó exitosamente. +- **Código 400 Bad Request:** La solicitud es incorrecta. El archivo de arranque PXE no se creó correctamente. + +### Eliminar Archivo de Arranque + +Borra el archivo de arranque PXE del ordenador con la dirección MAC correspondiente. + +**URL:** `/ogboot/clients/pxes` +**Método HTTP:** DELETE + +**Parámetros de entrada:** +- `mac`: Dirección MAC del ordenador. + +**Respuestas:** +- **Código 200 OK:** El archivo de arranque PXE se eliminó exitosamente. +- **Código 400 Bad Request:** La solicitud es incorrecta. El archivo de arranque PXE no se eliminó correctamente. + + +### Actualizar Repositorio de Arranque + +Actualiza la IP del repositorio en los archivos de arranque PXE de todos los equipos asociados. + +**URL:** `/ogboot/clients/pxe/update-repo` +**Método HTTP:** POST + +**Parámetros de entrada:** +- `repoid`: Campo identificador del repositorio. + +**Respuestas:** +- **Código 200 OK:** La IP del repositorio se actualizó en los archivos de arranque PXE exitosamente. +- **Código 400 Bad Request:** La solicitud es incorrecta. La IP del repositorio no se actualizó correctamente. + + + + + + + + ### Mostrar Menú de Descarga de Imagen de ogLive Muestra un menú para descargar una imagen de ogLive desde el sitio web de OpenGnsys. @@ -252,7 +327,7 @@ curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/images/downlo Instala un nuevo cliente ogLive utilizando una imagen de ogLive previamente descargada. -**URL:** `/images/install/{iso}` +**URL:** `/images/upload/{iso}` **Método HTTP:** POST **Parámetros de entrada:** @@ -261,7 +336,7 @@ Instala un nuevo cliente ogLive utilizando una imagen de ogLive previamente desc **Ejemplo de Solicitud:** ```bash -curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/install/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso +curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/upload/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso ``` **Respuestas:** @@ -272,7 +347,7 @@ curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/insta Desinstala un cliente ogLive y elimina la imagen asociada. -**URL:** `/images/uninstall/{iso}` +**URL:** `/images/remove/{iso}` **Método HTTP:** POST **Parámetros de entrada:** @@ -281,7 +356,7 @@ Desinstala un cliente ogLive y elimina la imagen asociada. **Ejemplo de Solicitud:** ```bash -curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/uninstall/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso +curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/remove/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso ``` **Respuestas:**