parent
6883ab1d67
commit
09eb1e1ef0
902
README.md
902
README.md
|
@ -10,513 +10,583 @@ 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
|
||||
|
||||
|
||||
### Tabla de Contenido
|
||||
|
||||
### Obtener Lista de Clientes
|
||||
1. [Obtener configuración de ogboot](#obtener-configuración-de-ogboot) - `GET /ogboot/v1/config`
|
||||
2. [Obtener datos de rendimiento](#obtener-datos-de-rendimiento) - `GET /ogboot/v1/status`
|
||||
3. [Mostrar información de todos los clientes ogLive instalados](#mostrar-información-de-todos-los-clientes-oglive-instalados) - `GET /ogboot/v1/oglives`
|
||||
4. [Mostrar información de un cliente ogLive instalado](#mostrar-información-de-todos-los-clientes-oglive-instalados) - `GET /ogboot/v1/oglives/{Index|Dir}`
|
||||
5. [Mostrar información del cliente ogLive predeterminado](#mostrar-información-del-cliente-oglive-predeterminado) - `GET /ogboot/v1/oglives/default`
|
||||
6. [Cambiar ogLive predeterminado](#cambiar-oglive-predeterminado) - `POST /ogboot/v1/oglives/default/{Index}`
|
||||
7. [Instalar nuevo cliente ogLive desde imagen descargada](#instalar-nuevo-cliente-oglive-desde-imagen-descargada) - `POST /ogboot/v1/oglive/{iso}`
|
||||
8. [Desinstalar cliente ogLive y eliminar imagen](#desinstalar-cliente-oglive-y-eliminar-imagen) - `DELETE /ogboot/v1/oglives/{iso}`
|
||||
9. [Regenerar archivo de información de los ogLive](#regenerar-archivo-de-información-de-los-oglive) - `PUT /ogboot/v1/oglives`
|
||||
10. [Mostrar menú de descarga de imagen de ogLive](#mostrar-menú-de-descarga-de-imagen-de-oglive) - `GET /ogboot/v1/images/download`
|
||||
11. [Obtener todos los archivos de arranque](#obtener-todos-los-archivos-de-arranque) - `GET /ogboot/v1/pxes`
|
||||
12. [Obtener archivo de arranque](#obtener-archivo-de-arranque) - `GET /ogboot/v1/pxes/{mac}`
|
||||
13. [Crear archivo de arranque](#crear-archivo-de-arranque) - `POST /ogboot/v1/pxes`
|
||||
14. [Eliminar archivo de arranque](#eliminar-archivo-de-arranque) - `DELETE /ogboot/v1/pxes`
|
||||
15. [Obtener todas las plantillas](#obtener-todas-las-plantillas) - `GET /ogboot/v1/pxe-templates`
|
||||
16. [Obtener contenido de la plantilla](#obtener-contenido-de-la-plantilla) - `GET /ogboot/v1/pxe-templates/{nombre}`
|
||||
17. [Crear plantilla](#crear-plantilla) - `POST /ogboot/v1/pxe-templates`
|
||||
18. [Regenerar plantilla](#regenerar-plantilla) - `PUT /ogboot/v1/pxe-templates`
|
||||
|
||||
Obtiene la lista de clientes registrados en el sistema.
|
||||
|
||||
**URL:** /clients
|
||||
### Obtener Configuración de ogboot
|
||||
|
||||
Devuelve la configuración actual del ogboot.
|
||||
|
||||
**URL:** `/ogboot/v1/config`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```
|
||||
curl -X GET -H "Authorization: $API_KEY" http://127.0.0.1:8888/clients
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/config
|
||||
```
|
||||
|
||||
### Encender Equipos Remotamente (Wake-on-LAN)
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La configuración del ogboot se obtuvo exitosamente.
|
||||
- **Contenido:** Configuración del ogboot en formato JSON.
|
||||
```json
|
||||
{
|
||||
"config-file": "/opt/opengnsys/etc/ogliveinfo.json",
|
||||
"download-url": "https://opengnsys.es/trac/downloads",
|
||||
"download-dir": "/opt/opengnsys/lib",
|
||||
"install-dir": "/opt/opengnsys/tftpboot",
|
||||
"default-name": "ogLive",
|
||||
"min-release": "r20190601"
|
||||
}
|
||||
```
|
||||
|
||||
Envía comandos de encendido remoto a uno o varios equipos utilizando Wake-on-LAN.
|
||||
- **config-file**: Ruta del archivo de configuración que usa oglivecli para guardar los oglives instalados.
|
||||
|
||||
**URL:** /wol
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- type (string): Tipo de envío de paquetes Wake-on-LAN (unicast, broadcast, multicast, etc.).
|
||||
- clients (array): Lista de objetos que contienen la dirección IP (addr) y la dirección MAC (mac) de los equipos a encender.
|
||||
- **download-url**: URL base desde la cual se descargan las imágenes de oglive.
|
||||
|
||||
- **download-dir**: Ruta del directorio en el cual se almacenan las imágenes de oglive descargadas
|
||||
|
||||
- **install-dir**: La ruta del directorio donde se instalan las imágenes de oglive
|
||||
|
||||
- **default-name**: Nombre predeterminado utilizado para los clientes ogLive.
|
||||
|
||||
- **min-release**: La versión mínima recomendada para la instalación de imágenes oglives.
|
||||
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. La configuración del ogboot no se ha obtenido correctamente.
|
||||
|
||||
|
||||
|
||||
### Obtener estado de ogboot
|
||||
|
||||
Devuelve la consistencia, errores de incompatibilidad y de configuración
|
||||
|
||||
**URL:** `/ogboot/v1/status`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/status
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El status de ogboot se obtuvo exitosamente.
|
||||
- **Contenido:**
|
||||
```
|
||||
Some installed ogLive aren't fully compatible: , , ogLive-3.19.0-i386-r4795
|
||||
Problems detected:
|
||||
```
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. La status de ogboot no se ha obtenido correctamente.
|
||||
|
||||
|
||||
|
||||
|
||||
### Mostrar Información de Todos los Clientes ogLive Instalados
|
||||
|
||||
Muestra información en formato JSON sobre todos los clientes ogLive instalados.
|
||||
|
||||
**URL:** `/ogboot/v1/oglives`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/oglives/
|
||||
|
||||
[
|
||||
{
|
||||
"distribution": "focal",
|
||||
"kernel": "5.11.0-22-generic",
|
||||
"architecture": "amd64",
|
||||
"revision": "r20210413",
|
||||
"directory": "ogLive-5.11.0-r20210413",
|
||||
"iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
|
||||
},
|
||||
{
|
||||
"distribution": "focal",
|
||||
"kernel": "5.13.0-27-beta",
|
||||
"architecture": "amd64",
|
||||
"revision": "r20210706",
|
||||
"directory": "ogLive-5.13.0-r20210706",
|
||||
"iso": "ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso"
|
||||
}
|
||||
]
|
||||
|
||||
```
|
||||
- **distribution**: Distribución del sistema operativo de la imagen ogLive
|
||||
|
||||
- **kernel**: Versión del kernel del sistema operativo utilizado por la imagen ogLive
|
||||
|
||||
- **architecture**: Arquitectura del hardware de la imagen ogLive
|
||||
|
||||
- **revision**: Versión de la imagen ogLive
|
||||
|
||||
- **directory**: Directorio donde se encuentra instalado el cliente ogLive en el sistema.
|
||||
|
||||
- **iso**: Nombre del archivo ISO utilizado para instalar el cliente ogLive.
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La información sobre todos los clientes ogLive instalados se obtuvo exitosamente.
|
||||
- **Contenido:** Información sobre todos los clientes ogLive instalados en formato JSON.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/wol -d @wol.json
|
||||
```
|
||||
**Contenido de wol.json:**
|
||||
```
|
||||
{ "type" : "unicast", "clients" : [ { "addr" : "192.168.2.1", "mac" : "00AABBCCDD01" } ] }
|
||||
```
|
||||
|
||||
### Gestión de Sesión
|
||||
### Mostrar Información de un Cliente ogLive Instalado
|
||||
|
||||
Gestiona las sesiones de usuario en el sistema.
|
||||
Muestra información en formato JSON sobre un cliente ogLive instalado específico.
|
||||
|
||||
**URL:** /session
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
**URL:** `/ogboot/v1/oglives/{Index}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{Index}`: El índice o directorio del cliente ogLive instalado.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/session -d @session.json
|
||||
```
|
||||
**Contenido de session.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ], "disk" : "0", "partition" : "1"}
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/oglives/1
|
||||
|
||||
{
|
||||
"distribution": "focal",
|
||||
"kernel": "5.11.0-22-generic",
|
||||
"architecture": "amd64",
|
||||
"revision": "r20210413",
|
||||
"directory": "ogLive-5.11.0-r20210413",
|
||||
"iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
|
||||
}
|
||||
```
|
||||
|
||||
### Apagar Equipos
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La información sobre el cliente ogLive instalado se obtuvo exitosamente.
|
||||
- **Contenido:** Información sobre el cliente ogLive instalado en formato JSON.
|
||||
- **Código 404 Not Found:** No se encontró ningún cliente ogLive instalado con el índice o directorio proporcionado.
|
||||
|
||||
Envía comandos de apagado a uno o varios equipos.
|
||||
### Mostrar Información del Cliente ogLive Predeterminado
|
||||
|
||||
**URL:** /poweroff
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
Muestra información en formato JSON sobre el cliente ogLive predeterminado.
|
||||
|
||||
**URL:** `/ogboot/v1/oglives/default`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/poweroff -d @poweroff.json
|
||||
```
|
||||
**Contenido de poweroff.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/oglives/default
|
||||
|
||||
{
|
||||
"distribution": "focal",
|
||||
"kernel": "5.11.0-22-generic",
|
||||
"architecture": "amd64",
|
||||
"revision": "r20210413",
|
||||
"directory": "ogLive-5.11.0-r20210413",
|
||||
"iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
|
||||
}
|
||||
```
|
||||
|
||||
### Reiniciar Equipos
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La información sobre el cliente ogLive predeterminado se obtuvo exitosamente.
|
||||
- **Contenido:** Información sobre el cliente ogLive predeterminado en formato JSON.
|
||||
|
||||
Envía comandos de reinicio a uno o varios equipos.
|
||||
|
||||
**URL:** /reboot
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
|
||||
|
||||
### Cambiar ogLive Predeterminado
|
||||
|
||||
Establece un nuevo cliente ogLive como predeterminado utilizando su índice.
|
||||
|
||||
**URL:** `/ogboot/v1/oglives/default`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{Index}`: El índice del cliente ogLive que se establecerá como predeterminado.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/reboot -d @reboot.json
|
||||
```
|
||||
**Contenido de reboot.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/oglives/default/1
|
||||
```
|
||||
|
||||
### Detener Operaciones en Curso
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El cliente ogLive se estableció como predeterminado exitosamente.
|
||||
- **Código 404 Not Found:** No se encontró ningún cliente ogLive con el índice proporcionado.
|
||||
|
||||
Detiene las operaciones en curso en los equipos.
|
||||
|
||||
**URL:** /stop
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
### Descargar e Instalar Nuevo Cliente ogLive desde Imagen Descargada
|
||||
|
||||
Descarga y luego instala un nuevo cliente ogLive utilizando la imagen descargada, especificada por su nombre de archivo ISO en el parámetro de entrada.
|
||||
|
||||
**URL:** `/ogboot/v1/oglive`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Parámetros de Entrada:**
|
||||
- `ISO: Nombre de la ISO que se desea descargar e instalar
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/stop -d @stop.json
|
||||
```
|
||||
**Contenido de stop.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Authorization: $API_KEY" -d "ISO=ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso" http://example.com/ogboot/v1/oglive
|
||||
```
|
||||
|
||||
### Reiniciar Equipos
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La descarga e instalación del nuevo cliente ogLive desde la imagen descargada fue exitosa.
|
||||
- **Código 404 Not Found:** No se encontró ninguna imagen ogLive con el índice o nombre de archivo ISO proporcionado.
|
||||
|
||||
Envía comandos de reinicio a uno o varios equipos.
|
||||
|
||||
**URL:** /reboot
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
### Desinstalar Cliente ogLive
|
||||
|
||||
Desinstala un cliente ogLive específico y elimina su imagen asociada.
|
||||
|
||||
**URL:** `/ogboot/v1/oglives/{Index}`
|
||||
**Método HTTP:** DELETE
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{Index}`: El índice deL archivo ISO del cliente ogLive que se desinstalará y eliminará.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/reboot -d @reboot.json
|
||||
```
|
||||
**Contenido de reboot.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X DELETE -H "Authorization: $API_KEY" http://example.com/ogboot/v1/oglives/1
|
||||
```
|
||||
|
||||
### Actualizar Información de Equipos
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El cliente ogLive se desinstaló y su imagen asociada se eliminó correctamente.
|
||||
- **Código 404 Not Found:** No se encontró ningún cliente ogLive con el índice o nombre de archivo ISO proporcionado.
|
||||
|
||||
???????
|
||||
|
||||
**URL:** /refresh
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
### Regenerar Archivo de Información de los ogLive
|
||||
|
||||
Regenera el archivo de información de los clientes ogLive instalados.
|
||||
|
||||
**URL:** `/ogboot/v1/oglives`
|
||||
**Método HTTP:** PUT
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/refresh -d @refresh.json
|
||||
```
|
||||
**Contenido de refresh.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X PUT -H "Authorization: $API_KEY" http://example.com/ogboot/v1/oglives
|
||||
```
|
||||
|
||||
### Obtener Información de Hardware
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El archivo de información de los clientes ogLive se regeneró correctamente.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al intentar regenerar el archivo de información de los clientes ogLive.
|
||||
|
||||
Obtiene información detallada sobre el hardware de los equipos.
|
||||
|
||||
**URL:** /hardware
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
### Mostrar Menú de Descarga de Imagen de ogLive
|
||||
|
||||
Muestra un menú con opciones para descargar imágenes de ogLive disponibles.
|
||||
|
||||
**URL:** `/ogboot/v1/images/download`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/hardware -d @post_clients.json
|
||||
```
|
||||
**Contenido de post_clients.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/images/download
|
||||
```
|
||||
|
||||
### Obtener Información de Software
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El menú de descarga de imágenes de ogLive se obtuvo exitosamente.
|
||||
- **Contenido:** Menú de descarga de imágenes de ogLive en formato JSON.
|
||||
|
||||
Obtiene información sobre el software instalado en los equipos.
|
||||
|
||||
**URL:** /software
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
### Obtener Todos los Archivos de Arranque
|
||||
|
||||
Obtiene una lista de todos los archivos de arranque disponibles.
|
||||
|
||||
**URL:** `/ogboot/v1/pxes`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/software -d @post_clients.json
|
||||
```
|
||||
**Contenido de post_clients.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1", "192.168.2.2" ] }
|
||||
```
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/pxes
|
||||
|
||||
### Crear Imagen del Sistema
|
||||
|
||||
Crea una imagen del sistema en los equipos especificados.
|
||||
|
||||
**URL:** /image/create
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- code (string): Código de la imagen.
|
||||
- id (string): Identificador único de la imagen.
|
||||
- name (string): Nombre de la imagen.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/create -d @create_image.json
|
||||
```
|
||||
**Contenido de create_image.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.2.1" ], "disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test", "repository" : "192.168.2.4" }
|
||||
```
|
||||
|
||||
### Restaurar Imagen del Sistema
|
||||
|
||||
Restaura una imagen del sistema en los equipos especificados.
|
||||
|
||||
**URL:** /image/restore
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- name (string): Nombre de la imagen a restaurar.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
- type (string): Tipo de envío de la imagen (UNICAST, BROADCAST, MULTICAST, etc.).
|
||||
- profile (string): Perfil de configuración de la imagen.
|
||||
- id (string): Identificador único de la imagen.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/restore -d @restore_image.json
|
||||
```
|
||||
**Contenido de restore_image.json:**
|
||||
```json
|
||||
{ "clients" : [ "192.168.56.11" ], "disk" : "1", "partition" : "1", "name" : "test", "repository" : "192.168.56.10", "type" : "UNICAST", "profile": "1", "id": "1"}
|
||||
```
|
||||
|
||||
### Configuración Inicial del Sistema
|
||||
|
||||
Realiza la configuración inicial del sistema en los equipos especificados.
|
||||
|
||||
**URL:** /setup
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- cache (string): Indicador de activación de la caché.
|
||||
- cache_size (string): Tamaño de la caché.
|
||||
- partition_setup (array): Configuración de particiones. Cada objeto dentro del array debe contener los siguientes campos:
|
||||
- partition (string): Número de la partición.
|
||||
- code (string): Código de tipo de partición.
|
||||
- filesystem (string): Sistema de archivos de la partición.
|
||||
- size (string): Tamaño de la partición.
|
||||
- format (string): Indicador de formateo de la partición.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/setup -d @setup_image.json
|
||||
```
|
||||
**Contenido de setup_image.json:**
|
||||
```json
|
||||
{
|
||||
"clients" : [ "192.168.56.11" ],
|
||||
"disk" : "1",
|
||||
"cache" : "1",
|
||||
"cache_size" : "0",
|
||||
"partition_setup": [
|
||||
{ "partition": "1", "code": "LINUX", "filesystem": "EMPTY", "size": "498688", "format": "0" },
|
||||
{ "partition": "2", "code": "LINUX-SWAP", "filesystem": "EMPTY", "size": "199987", "format": "0" },
|
||||
{ "partition": "3", "code": "LINUX", "filesystem": "EMPTY", "size": "31053824", "format": "0" },
|
||||
{ "partition": "4", "code": "EMPTY", "filesystem": "EMPTY", "size": "0", "format": "0" }
|
||||
{
|
||||
"boot_files": [
|
||||
"01-00:50:56:22:11:11",
|
||||
"01-00:50:56:22:11:12"
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La lista de todos los archivos de arranque se obtuvo exitosamente.
|
||||
- **Contenido:** Lista de archivos de arranque en formato JSON.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al intentar obtener la lista de todos los archivos de arranque disponibles.
|
||||
|
||||
### Crear Imagen Básica del Sistema
|
||||
|
||||
Crea una imagen básica del sistema en los equipos especificados.
|
||||
### Obtener Configuración de Arranque
|
||||
|
||||
**URL:** /image/create/basic
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- code (string): Código de la imagen.
|
||||
- id (string): Identificador único de la imagen.
|
||||
- name (string): Nombre de la imagen.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
- sync_params (object): Parámetros de sincronización. Debe contener los siguientes campos:
|
||||
- sync (string)
|
||||
- diff (string)
|
||||
- remove (string)
|
||||
- compress (string)
|
||||
- cleanup (string)
|
||||
- cache (string)
|
||||
- cleanup_cache (string)
|
||||
- remove_dst (string)
|
||||
Obtiene el contenido del archivo de configuración de arranque específico para un cliente utilizando su dirección MAC.
|
||||
|
||||
**URL:** `/ogboot/v1/pxes/{mac}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{mac}`: La dirección MAC del cliente cuyo archivo de configuración de arranque se desea obtener.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/create/basic -d @create_basic_image.json
|
||||
```
|
||||
**Contenido de create_basic_image.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"],
|
||||
"disk":"1",
|
||||
"partition":"1",
|
||||
"code":"131",
|
||||
"id":"8",
|
||||
"name":"debianbasica",
|
||||
"repository":"192.168.56.10",
|
||||
"sync_params":{
|
||||
"sync":"1",
|
||||
"diff":"0",
|
||||
"remove":"1",
|
||||
"compress":"0",
|
||||
"cleanup":"0",
|
||||
"cache":"0",
|
||||
"cleanup_cache":"0",
|
||||
"remove_dst":"0"
|
||||
}
|
||||
}
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/pxes/00:11:22:33:44:55
|
||||
|
||||
#!ipxe
|
||||
set timeout 0
|
||||
set timeout-style hidden
|
||||
|
||||
set ISODIR ogLive
|
||||
set default 0
|
||||
set kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788
|
||||
|
||||
set kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=$ISODIR LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788
|
||||
kernel tftp://172.17.8.71/ogLive/ogvmlinuz ${kernelargs}
|
||||
initrd tftp://172.17.8.71/ogLive/oginitrd.img
|
||||
boot
|
||||
|
||||
```
|
||||
|
||||
### Crear Imagen Incremental del Sistema
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El archivo de arranque para la dirección MAC especificada se encontró y se devuelve correctamente.
|
||||
- **Contenido:** El archivo de arranque en formato adecuado para su uso en el cliente correspondiente.
|
||||
- **Código 404 Not Found:** No se encontró ningún archivo de arranque para la dirección MAC especificada.
|
||||
|
||||
Crea una imagen incremental del sistema en los equipos especificados.
|
||||
|
||||
**URL:** /image/create/incremental
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- id (string): Identificador único de la imagen.
|
||||
- name (string): Nombre de la imagen.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
- sync_params (object): Parámetros de sincronización. Debe contener los siguientes campos:
|
||||
- sync (string)
|
||||
- path (string)
|
||||
- diff (string)
|
||||
- diff_id (string)
|
||||
- diff_name (string)
|
||||
- remove (string)
|
||||
- compress (string)
|
||||
- cleanup (string): Indicador de limpieza.
|
||||
- cache (string)
|
||||
- cleanup_cache (string)
|
||||
- remove_dst (string)
|
||||
|
||||
### Crear Archivo de Arranque
|
||||
|
||||
Crea un nuevo archivo de arranque utilizando los parámetros proporcionados.
|
||||
|
||||
**URL:** `/ogboot/v1/pxes`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Cuerpo de la Solicitud:**
|
||||
- Datos necesarios para la creación del archivo de arranque, como el nombre, la configuración, etc.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/create/incremental -d @create_incremental_image.json
|
||||
```
|
||||
**Contenido de create_incremental_image.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"],
|
||||
"disk":"1",
|
||||
"partition":"1",
|
||||
"id":"3",
|
||||
"name":"basica1",
|
||||
"repository":"192.168.56.10",
|
||||
"sync_params":{
|
||||
"sync":"1",
|
||||
"path":"",
|
||||
"diff":"0",
|
||||
"diff_id":"4",
|
||||
"diff_name":"p2",
|
||||
"remove":"1",
|
||||
"compress":"0",
|
||||
"cleanup":"0",
|
||||
"cache":"0",
|
||||
"cleanup_cache":"0",
|
||||
"remove_dst":"0"
|
||||
}
|
||||
}
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Authorization: $API_KEY" -d '{"mac": "00:50:56:22:11:12", "config": "#!ipxe\nset timeout 0\nset timeout-style hidden\n\nset ISODIR ogLive\nset default 0\nset kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788\n\nset kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=$ISODIR LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788\nkernel tftp://172.17.8.71/ogLive/ogvmlinuz ${kernelargs}\ninitrd tftp://172.17.8.71/ogLive/oginitrd.img\nboot"}' http://example.com/ogboot/v1/pxes
|
||||
```
|
||||
|
||||
### Restaurar Imagen Básica del Sistema
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El archivo de arranque se creó exitosamente.
|
||||
- **Código 400 Bad Request:** La solicitud no pudo ser procesada debido a un error en los datos proporcionados en el cuerpo de la solicitud.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al subir el archivo de arranque.
|
||||
|
||||
Restaura una imagen básica del sistema en los equipos especificados.
|
||||
### Eliminar Archivo de Arranque
|
||||
|
||||
**URL:** /image/restore/basic
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- id (string): Identificador único de la imagen.
|
||||
- name (string): Nombre de la imagen.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
- profile (string): Perfil de configuración de la imagen.
|
||||
- type (string): Tipo de envío de la imagen (UNICAST, BROADCAST, MULTICAST, etc.).
|
||||
- sync_params (object): Parámetros de sincronización. Debe contener los siguientes campos:
|
||||
- path (string)
|
||||
- method (string)
|
||||
- sync (string)
|
||||
- diff (string)
|
||||
- remove (string)
|
||||
- compress (string)
|
||||
- cleanup (string)
|
||||
- cache (string)
|
||||
- cleanup_cache (string)
|
||||
- remove_dst (string)
|
||||
Elimina un archivo de arranque específico utilizando su identificador único.
|
||||
|
||||
**URL:** `/ogboot/v1/pxes/{MAC}`
|
||||
**Método HTTP:** DELETE
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{mac}`: La dirección MAC del cliente cuyo archivo de arranque se desea obtener.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/restore/basic -d @restore_basic_image.json
|
||||
```
|
||||
**Contenido de restore_basic_image.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"],
|
||||
"disk":"1",
|
||||
"partition":"1",
|
||||
"id":"9",
|
||||
"name":"test",
|
||||
"repository":"192.168.56.10",
|
||||
"profile":"17",
|
||||
"type":"UNICAST",
|
||||
"sync_params":{
|
||||
"path":"",
|
||||
"method":"1",
|
||||
"sync":"1",
|
||||
"diff":"0",
|
||||
"remove":"1",
|
||||
"compress":"0",
|
||||
"cleanup":"0",
|
||||
"cache":"0",
|
||||
"cleanup_cache":"0",
|
||||
"remove_dst":"0"
|
||||
}
|
||||
}
|
||||
```
|
||||
### Restaurar Imagen Incremental del Sistema
|
||||
|
||||
Restaura una imagen incremental del sistema en los equipos especificados.
|
||||
```bash
|
||||
curl -X DELETE -H "Authorization: $API_KEY" http://example.com/ogboot/v1/clients/pxes/00:11:22:33:44:55
|
||||
```
|
||||
|
||||
**URL:** /image/restore/incremental
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
- disk (string): Número del disco duro.
|
||||
- partition (string): Número de la partición.
|
||||
- id (string): Identificador único de la imagen.
|
||||
- name (string): Nombre de la imagen.
|
||||
- repository (string): Dirección IP del repositorio de imágenes.
|
||||
- profile (string): Perfil de configuración de la imagen.
|
||||
- type (string): Tipo de envío de la imagen (UNICAST, BROADCAST, MULTICAST, etc.).
|
||||
- sync_params (object): Parámetros de sincronización. Debe contener los siguientes campos:
|
||||
- diff_id (string)
|
||||
- diff_name (string)
|
||||
- path (string)
|
||||
- method (string)
|
||||
- sync (string)
|
||||
- diff (string)
|
||||
- remove (string)
|
||||
- compress (string)
|
||||
- cleanup (string)
|
||||
- cache (string)
|
||||
- cleanup_cache (string)
|
||||
- remove_dst (string)
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El archivo de arranque se eliminó correctamente.
|
||||
- **Código 404 Not Found:** No se encontró ningún archivo de arranque con el identificador único especificado.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al eliminar el archivo de arranque.
|
||||
|
||||
|
||||
|
||||
### Actualizar Repositorio de Arranque
|
||||
|
||||
Actualiza el repositorio de archivos de arranque con los archivos modificados.
|
||||
|
||||
**URL:** `/ogboot/v1/pxes`
|
||||
**Método HTTP:** PUT
|
||||
|
||||
**Cuerpo de la Solicitud:**
|
||||
- Fichero en json con la configuración de arranque de la máquina
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/image/restore/incremental -d @restore_incremental_image.json
|
||||
```
|
||||
**Contenido de restore_incremental_image.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"],
|
||||
"disk":"1",
|
||||
"partition":"1",
|
||||
"id":"9",
|
||||
"name":"test",
|
||||
"repository":"192.168.56.10",
|
||||
"profile":"17",
|
||||
"type":"UNICAST",
|
||||
"sync_params":{
|
||||
"diff_id":"1",
|
||||
"diff_name":"test",
|
||||
"path":"",
|
||||
"method":"1",
|
||||
"sync":"1",
|
||||
"diff":"0",
|
||||
"remove":"1",
|
||||
"compress":"0",
|
||||
"cleanup":"0",
|
||||
"cache":"0",
|
||||
"cleanup_cache":"0",
|
||||
"remove_dst":"0"
|
||||
}
|
||||
}
|
||||
|
||||
```bash
|
||||
curl -X PUT -H "Authorization: $API_KEY" -H "Content-Type: application/json" -d '{"mac": "00:50:56:22:11:12", "config": "#!ipxe\nset timeout 0\nset timeout-style hidden\n\nset ISODIR ogLive\nset default 0\nset kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788\n\nset kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=$ISODIR LANG=es_ES.UTF-8 ip=192.168.2.11:192.168.2.1:192.168.2.1:255.255.255.0:pc11:eth0:none group=Aula_virtual ogrepo=192.168.2.1 oglive=192.168.2.1 oglog=192.168.2.1 ogshare=192.168.2.1 ogprof=false vga=788\nkernel tftp://172.17.8.71/ogLive/ogvmlinuz ${kernelargs}\ninitrd tftp://172.17.8.71/ogLive/oginitrd.img\nboot"}' http://example.com/ogboot/v1/pxes
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El repositorio de arranque se actualizó exitosamente con los archivos modificados.
|
||||
- **Código 400 Bad Request:** La solicitud no pudo ser procesada debido a un error en los datos proporcionados en el cuerpo de la solicitud.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al actualizar el archivo de arranque.
|
||||
|
||||
### Run Schedule
|
||||
|
||||
??????
|
||||
### Obtener Todas las Plantillas
|
||||
|
||||
**URL:** /run/schedule
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
Obtiene una lista de todas las plantillas de arranque disponibles.
|
||||
|
||||
**URL:** `/ogboot/v1/pxe-templates`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/pxe-templates
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/run/schedule -d @run_schedule.json
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La lista de todas las plantillas de arranque se obtuvo exitosamente.
|
||||
- **Contenido:** Lista de plantillas de arranque en formato JSON.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al obtener las plantillas de arranque.
|
||||
|
||||
|
||||
### Obtener Contenido de la Plantilla
|
||||
|
||||
Obtiene el contenido de una plantilla de arranque específica utilizando su nombre.
|
||||
|
||||
**URL:** `/ogboot/v1/pxe-templates/{nombre}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{nombre}`: El nombre de la plantilla de arranque cuyo contenido se desea obtener.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/v1/pxe-templates/template1
|
||||
|
||||
#!ipxe
|
||||
set timeout 0
|
||||
set timeout-style hidden
|
||||
|
||||
set ISODIR ogLive
|
||||
set default 0
|
||||
set kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.1.100:192.168.1.1:192.168.1.1:255.255.255.0:pc01:eth0:none group=Aula_virtual ogrepo=192.168.1.10 oglive=192.168.1.10 oglog=192.168.1.10 ogshare=192.168.1.10 ogprof=false vga=788
|
||||
time kernel tftp://172.17.8.71/ogLive/ogvmlinuz ${kernelargs}
|
||||
time initrd tftp://172.17.8.71/ogLive/oginitrd.img
|
||||
boot
|
||||
```
|
||||
**Contenido de run_schedule.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"]
|
||||
}
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El contenido de la plantilla de arranque se obtuvo exitosamente.
|
||||
- **Contenido:** Contenido de la plantilla de arranque en formato adecuado para su uso.
|
||||
- **Código 400 Bad Request:** La solicitud no pudo ser procesada debido a un error en los datos proporcionados en el cuerpo de la solicitud.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al obtener la plantilla de arranque.
|
||||
|
||||
---
|
||||
|
||||
### Crear Plantilla
|
||||
|
||||
Crea una nueva plantilla de arranque utilizando los datos proporcionados.
|
||||
|
||||
**URL:** `/ogboot/v1/pxe-templates`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Cuerpo de la Solicitud:**
|
||||
- {name_template}: Nombre de la plantilla
|
||||
- {ip}: Dirección IP del cliente.
|
||||
- {gateway}: Puerta de enlace predeterminada.
|
||||
- {netmask}: Máscara de red.
|
||||
- {hostname}: Nombre del host del cliente.
|
||||
- {interface}: Interfaz de red utilizada por el cliente.
|
||||
- {group}: Grupo al que pertenece el cliente.
|
||||
- {ogrepo}: Dirección IP del repositorio de ogLive.
|
||||
- {oglive}: Dirección IP del servidor ogLive.
|
||||
- {oglog}: Dirección IP del servidor de logs.
|
||||
- {ogshare}: Dirección IP del servidor de archivos compartidos.
|
||||
- {ogprof}: Valor booleano que indica si el perfil del cliente está habilitado o deshabilitado.
|
||||
- {vga}: Modo VGA utilizado para la interfaz de usuario.
|
||||
- {tftp_server_ip}: Dirección IP del servidor TFTP desde el cual se descargarán los archivos necesarios para el arranque del sistema
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Authorization: $API_KEY" -H "Content-Type: application/json" -d '{"name_template":"template1","ip": "192.168.1.100", "gateway": "192.168.1.1", "netmask": "255.255.255.0", "hostname": "pc01", "interface": "eth0", "group": "Aula_virtual", "ogrepo": "192.168.1.10", "oglive": "192.168.1.10", "oglog": "192.168.1.10", "ogshare": "192.168.1.10", "ogprof": false, "vga": 788, "tftp_server_ip": "172.17.8.71"}' http://example.com/ogboot/v1/pxe-templates
|
||||
|
||||
|
||||
#!ipxe
|
||||
set timeout 0
|
||||
set timeout-style hidden
|
||||
|
||||
set ISODIR ogLive
|
||||
set default 0
|
||||
set kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.1.100:192.168.1.1:192.168.1.1:255.255.255.0:pc01:eth0:none group=Aula_virtual ogrepo=192.168.1.10 oglive=192.168.1.10 oglog=192.168.1.10 ogshare=192.168.1.10 ogprof=false vga=788
|
||||
time kernel tftp://172.17.8.71/ogLive/ogvmlinuz ${kernelargs}
|
||||
time initrd tftp://172.17.8.71/ogLive/oginitrd.img
|
||||
boot
|
||||
|
||||
```
|
||||
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La plantilla de arranque se creó exitosamente.
|
||||
- **Contenido:** Plantilla generada a partir de los parámetros pasados en la petición.
|
||||
- **Código 400 Bad Request:** La solicitud no pudo ser procesada debido a un error en los datos proporcionados en el cuerpo de la solicitud.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al crear la plantilla de arranque.
|
||||
|
||||
|
||||
### Regenerar Plantilla
|
||||
|
||||
Regenera el contenido de una plantilla de arranque específica utilizando su nombre.
|
||||
|
||||
**URL:** `/ogboot/v1/pxe-templates/{nombre}`
|
||||
**Método HTTP:** PUT
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{nombre}`: El nombre de la plantilla de arranque que se desea regenerar.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X PUT -H "Authorization: $API_KEY" http://example.com/ogboot/v1/pxe-templates/template1
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El contenido de la plantilla de arranque se regeneró exitosamente.
|
||||
- **Código 404 Not Found:** No se encontró ninguna plantilla de arranque con el nombre especificado.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al regenerar la plantilla de arranque.
|
||||
|
||||
---
|
||||
|
||||
### Eliminar Plantilla
|
||||
|
||||
Elimina una plantilla de arranque específica utilizando su nombre.
|
||||
|
||||
**URL:** `/ogboot/v1/pxe-templates/{nombre}`
|
||||
**Método HTTP:** DELETE
|
||||
|
||||
**Parámetros de la URL:**
|
||||
- `{nombre}`: El nombre de la plantilla de arranque que se desea eliminar.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X DELETE -H "Authorization: $API_KEY" http://example.com/ogboot/v1/pxe-templates/template1
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La plantilla de arranque se eliminó correctamente.
|
||||
- **Código 404 Not Found:** No se encontró ninguna plantilla de arranque con el nombre especificado.
|
||||
- **Código 500 Internal Server Error:** Ocurrió un error al eliminar la plantilla de arranque.
|
||||
|
||||
|
|
Loading…
Reference in New Issue