refs #208 First draft of Ogboot API documentation
parent
e096fa9210
commit
09fb6ed078
698
README.md
698
README.md
|
@ -10,513 +10,281 @@ 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
|
||||
|
||||
### Obtener Lista de Clientes
|
||||
Configura el modo de arranque PXE para un cliente específico.
|
||||
|
||||
Obtiene la lista de clientes registrados en el sistema.
|
||||
**URL:** `ogboot/clients/setclientmode`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**URL:** /clients
|
||||
**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.
|
||||
|
||||
|
||||
|
||||
### Obtener Configuración de ogboot
|
||||
|
||||
Devuelve la configuración actual del ogboot.
|
||||
|
||||
**URL:** `ogboot/config`
|
||||
**Método HTTP:** GET
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```
|
||||
curl -X GET -H "Authorization: $API_KEY" http://127.0.0.1:8888/clients
|
||||
```
|
||||
|
||||
### Encender Equipos Remotamente (Wake-on-LAN)
|
||||
|
||||
Envía comandos de encendido remoto a uno o varios equipos utilizando Wake-on-LAN.
|
||||
|
||||
**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.
|
||||
|
||||
**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
|
||||
|
||||
Gestiona las sesiones de usuario en el sistema.
|
||||
|
||||
**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.
|
||||
|
||||
**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/config
|
||||
```
|
||||
|
||||
### Apagar Equipos
|
||||
**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"
|
||||
}
|
||||
```
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. La configuración del ogboot no se ha obtenido correctamente.
|
||||
|
||||
Envía comandos de apagado a uno o varios equipos.
|
||||
|
||||
**URL:** /poweroff
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
### Mostrar Información de Todos los Clientes ogLive Instalados
|
||||
|
||||
Muestra información en formato JSON sobre todos los clientes ogLive instalados.
|
||||
|
||||
**URL:** `/clients/oglives/`
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Reiniciar Equipos
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/
|
||||
|
||||
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.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Detener Operaciones en Curso
|
||||
|
||||
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.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Reiniciar Equipos
|
||||
|
||||
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.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Actualizar Información de Equipos
|
||||
|
||||
???????
|
||||
|
||||
**URL:** /refresh
|
||||
**Método HTTP:** POST
|
||||
**Parámetros de entrada:**
|
||||
- clients (array): Lista de direcciones IP de los clientes.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Obtener Información de Hardware
|
||||
|
||||
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.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
### Obtener Información de Software
|
||||
|
||||
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.
|
||||
|
||||
**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" ] }
|
||||
```
|
||||
|
||||
|
||||
### 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" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Crear Imagen Básica del Sistema
|
||||
|
||||
Crea una imagen básica del sistema en los equipos especificados.
|
||||
|
||||
**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)
|
||||
|
||||
**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"
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
```
|
||||
|
||||
### Crear Imagen Incremental del Sistema
|
||||
**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.
|
||||
|
||||
Crea una imagen incremental del sistema en los equipos especificados.
|
||||
### Mostrar Información del Cliente ogLive Predeterminado
|
||||
|
||||
**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)
|
||||
Muestra información en formato JSON sobre el cliente ogLive marcado como predeterminado.
|
||||
|
||||
**URL:** `/clients/oglives/show-default`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**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
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/show-default
|
||||
|
||||
{
|
||||
"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"
|
||||
}
|
||||
"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"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Restaurar Imagen Básica del Sistema
|
||||
**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.
|
||||
|
||||
Restaura una imagen básica del sistema en los equipos especificados.
|
||||
### Mostrar Información de un Cliente ogLive Específico
|
||||
|
||||
**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)
|
||||
Muestra información en formato JSON sobre un cliente ogLive instalado específico, identificado por su índice o directorio.
|
||||
|
||||
**URL:** `/clients/oglives/show/{Index|Dir}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de entrada:**
|
||||
- `Index|Dir`: Índice numérico o directorio del cliente ogLive.
|
||||
|
||||
**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
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/show/0
|
||||
|
||||
{
|
||||
"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"
|
||||
}
|
||||
"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"
|
||||
}
|
||||
|
||||
```
|
||||
### Restaurar Imagen Incremental del Sistema
|
||||
|
||||
Restaura una imagen incremental del sistema en los equipos especificados.
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La información sobre el cliente ogLive específico se obtuvo exitosamente.
|
||||
- **Contenido:** Información sobre el cliente ogLive específico en formato JSON.
|
||||
|
||||
**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)
|
||||
### Buscar Índice o Directorio del Cliente ogLive Correspondiente
|
||||
|
||||
Muestra el ogLive correspondiente al proporcionar su índice o directorio
|
||||
**URL:** `/clients/oglives/{Index}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de entrada:**
|
||||
- `Index|Dir`: Índice numérico o directorio del cliente ogLive.
|
||||
|
||||
**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 GET -H "Authorization: $API_KEY" http://example.com/openGnsys/clients/oglives/0
|
||||
|
||||
ogLive-5.11.0-r20210413
|
||||
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La búsqueda del índice o directorio del cliente ogLive correspondiente se realizó exitosamente.
|
||||
- **Contenido:** Índice numérico o directorio del cliente ogLive correspondiente en formato JSON.
|
||||
|
||||
### Run Schedule
|
||||
|
||||
??????
|
||||
|
||||
**URL:** /run/schedule
|
||||
**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ú para descargar una imagen de ogLive desde el sitio web de OpenGnsys.
|
||||
|
||||
**URL:** `/images/download`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/images/download
|
||||
|
||||
Available downloads (+ = installed, * = full compatibility):
|
||||
1) (*) (+) ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso
|
||||
2) (*) (+) ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
|
||||
3) (*) ogLive-focal-5.8.0-50-generic-amd64-r20210413.992ebb9.iso
|
||||
4) (*) ogLive-bionic-5.4.0-40-generic-amd64-r20200629.85eceaf.iso
|
||||
5) (*) ogLive-bionic-5.0.0-27-generic-amd64-r20190830.7208cc9.iso
|
||||
6) (*) ogLive-bionic-5.0.0-15-generic-amd64-r20190605.527cd97.iso
|
||||
7) ogLive-xenial-4.8.0-39-generic-amd64-r5652.iso
|
||||
8) ogLive-xenial-4.13.0-17-generic-amd64-r5520.iso
|
||||
9) ogLive-precise-3.2.0-23-generic-r5159.iso
|
||||
10) ogLive-xenial-4.8.0-39-generic-amd64-r5331.iso
|
||||
11) ogLive-xenial-4.8.0-39-generic-amd64-r5225.iso
|
||||
12) ogLive-precise-3.2.0-23-generic-r4820.iso
|
||||
13) ogLive-xenial-4.4.0-34-generic-r4999.iso
|
||||
14) ogLive-wily-4.2.0-35-generic-r4919.iso
|
||||
15) ogLive-vivid-3.19.0-49-generic-r4795.iso
|
||||
16) ogLive-precise-3.2.0-23-generic-r4311.iso
|
||||
17) ogLive-precise-3.11.0-26-generic-r4413.iso
|
||||
18) ogLive-raring-3.8.0-22-generic-r3836.iso
|
||||
19) ogLive-quantal-3.7.6-030706-generic-r3619.iso
|
||||
20) ogLive-precise-3.2.0-23-generic-r3257.iso
|
||||
21) ogLive-precise-3.2.0-23-generic-pae-r3017.iso
|
||||
22) ogLive-oneiric-3.0.0-14-generic-r2439.iso
|
||||
23) ogLive-natty-2.6.38-8-generic-pae-r2303.iso
|
||||
24) ogLive-natty-2.6.38-8-generic-pae-r2268.iso
|
||||
#?
|
||||
|
||||
```
|
||||
curl -X POST -H "Authorization: $API_KEY" http://127.0.0.1:8888/run/schedule -d @run_schedule.json
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El menú de descarga de la imagen de ogLive se muestra exitosamente.
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. El menú de descarga de la imagen de ogLive no se ha mostrado correctamente.
|
||||
|
||||
### Descargar Imagen de ogLive Específica
|
||||
|
||||
Descarga una imagen de ogLive específica desde el sitio web de OpenGnsys.
|
||||
|
||||
**URL:** `/images/download/{iso}`
|
||||
**Método HTTP:** GET
|
||||
|
||||
**Parámetros de entrada:**
|
||||
- `iso`: Nombre de la imagen de ogLive a descargar.
|
||||
|
||||
**Ejemplo de Solicitud:**
|
||||
|
||||
```bash
|
||||
curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/images/download/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso
|
||||
```
|
||||
**Contenido de run_schedule.json:**
|
||||
```json
|
||||
{
|
||||
"clients":["192.168.56.11"]
|
||||
}
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** La imagen de ogLive se descargó exitosamente.
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. La imagen de ogLive no se ha descargado correctamente.
|
||||
|
||||
### Instalar Nuevo Cliente ogLive desde Imagen Descargada
|
||||
|
||||
Instala un nuevo cliente ogLive utilizando una imagen de ogLive previamente descargada.
|
||||
|
||||
**URL:** `/images/install/{iso}`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Parámetros de entrada:**
|
||||
- `iso`: Nombre de la imagen de ogLive a instalar.
|
||||
|
||||
**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
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El cliente ogLive se instaló exitosamente desde la imagen descargada.
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. El cliente ogLive no se ha instalado correctamente.
|
||||
|
||||
### Desinstalar Cliente ogLive y Eliminar Imagen
|
||||
|
||||
Desinstala un cliente ogLive y elimina la imagen asociada.
|
||||
|
||||
**URL:** `/images/uninstall/{iso}`
|
||||
**Método HTTP:** POST
|
||||
|
||||
**Parámetros de entrada:**
|
||||
- `iso`: Nombre de la imagen de ogLive a desinstalar.
|
||||
|
||||
**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
|
||||
```
|
||||
|
||||
**Respuestas:**
|
||||
- **Código 200 OK:** El cliente ogLive se desinstaló y la imagen asociada se eliminó exitosamente.
|
||||
- **Código 400 Bad Request:** La solicitud es incorrecta. El cliente ogLive no se ha desinstalado correctamente.
|
||||
|
||||
|
|
Loading…
Reference in New Issue