Changes between Version 9 and Version 10 of ApiRest


Ignore:
Timestamp:
Feb 2, 2017, 2:28:09 PM (7 years ago)
Author:
ramon
Comment:

Reorganizar la página y crear secciones para documentar API REST de repositorio y agente.

Legend:

Unmodified
Added
Removed
Modified
  • ApiRest

    v9 v10  
    1313
    1414
    15 == Acceso autentificado a la API ==
    16 
    17 El acceso al API REST de OpenGnSys debe estar autentificado por una clave aleatoria que se asociada a aquellos usuarios con acceso al servidor.
    18 
    19 La aplicación que acceda al API REST debe usar una petición POST a una URL de conexión donde incluya los datos de usuario y clave y que devuelva la clave de acceso a la API. El resto de conexiones REST deberá usar una cabecera HTTP {{{Authentication}}} con el contenido de dicha clave.
    20 
    21 
    22 == Rutas de la API REST ==
    23 
    24 La API REST estará bajo la URL {{{https://}}}''{{{Servidor}}}''{{{/opengnsys/rest}}}.
     15== Generalidades de la API REST ==
    2516
    2617=== Métodos HTTP en REST ===
     
    3526
    3627
     28=== Acceso autentificado a la API ===
     29
     30El acceso al API REST de OpenGnSys debe estar autentificado por una clave aleatoria que se generará automáticamente a la hora de iniciar un servicio o se asociará a los usuarios con acceso al servidor.
     31
     32La aplicación que acceda al API REST debe usar una petición POST a una URL de conexión donde incluya los datos de usuario y clave y que devuelva la clave de acceso a la API. El resto de conexiones REST deberá usar una cabecera HTTP {{{Authentication}}} con el contenido de dicha clave.
     33
     34
    3735=== Consultas REST ===
    3836
     
    5957
    6058
    61 === Rutas definidas ===
     59== Rutas definidas en OpenGnsys Server ==
     60
     61La API REST del servidor OpenGnsys estará bajo la URL {{{https://}}}''{{{Servidor}}}''{{{/opengnsys/rest}}}.
    6262
    6363Nota: Las rutas que se indican son relativas a la URL de la API REST y los identificadores variables se preceden del carácter "{{{:}}}".
    6464
    65 ==== Rutas generales ====
     65=== Rutas generales ===
    6666
    6767 - {{{/login}}}
     
    8383     - {{{release}}} (cadena): revisión instalada.
    8484     - {{{services}}} (array de cadenas): lista de servicios iniciados.
    85      - {{{ous}}} (array de objetos): datos de los clientes ogLive instalados.
     85     - {{{oglive}}} (array de objetos): datos de los clientes ogLive instalados.
    8686       - {{{distribution}}} (cadena): distribución Linux del cliente ogLive.
    8787       - {{{kernel}}} (cadena): versión del Kernel Linux.
     
    280280     - Datos incluidos si la imagen es de tipo incremental:
    281281       - {{{baseimg}}} (cadena): nombre de la imagen base.
    282        - {{{path}}} (cadena): camino de la imagen.
    283282     - Datos incluidos si la imagen ha sido generada en el cliente modelo:
    284283       - {{{client}}} (objeto): datos del cliente modelo.
     
    288287       - {{{creationdate}}} (cadena): fecha y hora de creación de la imagen (formato AAAA-MM-DD HH:MM:SS).
    289288       - {{{release}}} (entero): nº de revisión de la imagen.
     289     - Otros datos de interés (pueden ser ofrecidos por la API REST del repositorio):
     290       - {{{filesize}}} (entero): tamaño del fichero de imagen creado (en KB).
     291       - {{{fssize}}} (entero): tamaño mínimo del sistema de fichero donde alojar la imagen (en KB).
    290292
    291293 - {{{/ous/:id1/images/:id2/software}}}
     
    300302
    301303
    302 ==== Rutas para OGAgent ====
     304=== Rutas para OGAgent ===
    303305
    304306Rutas que atienden las notificaciones ''push'' de agentes OGAgent:
     
    338340
    339341
    340 ==== Rutas para Remote PC ====
     342=== Rutas para Remote PC ===
    341343
    342344Las siguientes rutas REST serán utilizadas por un servidor UDS para controlar procesos de iniciación y parada de clientes que tengan instalada una imagen en particular. El servidor OpenGnsys actuará como intermediario entre el servidor de UDS y los agentes OGAgent instalados en los sistemas operativos que podrán usarse en remoto.
     345
     346 - {{{/ous/:id1/images/:id2/reserve}}} o {{{/ous/:id1/images/:id2/reserve?lab=:id3}}}
     347   - Elegir al azar un cliente que tenga instalada una imagen (y, opcionalmente, que esté situado en una determinada aula), reservar su uso para acceso remoto y enviarle una operación de arranque en la partición de dicha imagen (o de reinicio, si el cliente está encendido).
     348   - Método: GET.
     349   - Parámetros:
     350     - {{{lab}}} (intero): identificador del aula del cliente (opcional).
     351   - Devuelve: objeto
     352     - {{{id}}} (entero): identificador del cliente seleccionado.
     353     - {{{mac}}} (cadena): dirección MAC de la interfaz de red (sin caracteres ":").
     354     - {{{ip}}} (cadena): dirección IP del cliente.
     355     - {{{ou}}} (objeto): OU a la que pertenecen.
     356       - {{{id}}} (entero): identificador de la UO.
     357     - {{{lab}}} (objeto): aula a la que pertenecen.
     358       - {{{id}}} (entero): identificador de la UO.
     359
     360 - {{{/ous/:id1/images/:id2/events}}}
     361   - Registrar URLs para redirigir a un servidor UDS aquellas notificaciones ''push'' enviadas por un agente OGAgent de un cliente reservado para acceso remoto.
     362   - Método: POST.
     363   - Parámetros:
     364     - {{{urllogin}}} (cadena): URL para redirigir una notificación de inicio de sesión de usuario.
     365     - {{{urllogout}}} (cadena): URL para redirigir una notificación de fin de sesión de usuario.
     366
     367 - {{{/ous/:id1/images/:id2/session}}}
     368   - Registrar parámetros específicos de la sesión del usuario enviados por un servidor UDS.
     369   - Método: POST.
     370   - Parámetros:
     371     - {{{poweroffAt}}} (cadena): hora para enviar una operación de apagado del cliente.
     372
     373 - {{{/ous/:id1/images/:id2/unreserve}}}
     374   - Liberar un cliente marcado para acceso remoto, borrando sus datos de registro y enviando una operación de apagado.
     375   - Método: GET.
    343376
    344377'''Notas de implementación:'''
     
    349382 - Estudiar la manera de reintentar el envío de peticiones fallidas.
    350383
    351  - {{{/ous/:id1/images/:id2/reserve}}} o {{{/ous/:id1/images/:id2/reserve?lab=:id3}}}
    352    - Elegir al azar un cliente que tenga instalada una imagen (y, opcionalmente, que esté situado en una determinada aula), reservar su uso para acceso remoto y enviarle una operación de arranque en la partición de dicha imagen (o de reinicio, si el cliente está encendido).
    353    - Método: GET.
    354    - Parámetros:
    355      - {{{lab}}} (intero): identificador del aula del cliente (opcional).
    356    - Devuelve: objeto
    357      - {{{id}}} (entero): identificador del cliente seleccionado.
    358      - {{{mac}}} (cadena): dirección MAC de la interfaz de red (sin caracteres ":").
    359      - {{{ip}}} (cadena): dirección IP del cliente.
    360      - {{{ou}}} (objeto): OU a la que pertenecen.
    361        - {{{id}}} (entero): identificador de la UO.
    362      - {{{lab}}} (objeto): aula a la que pertenecen.
    363        - {{{id}}} (entero): identificador de la UO.
    364 
    365  - {{{/ous/:id1/images/:id2/events}}}
    366    - Registrar URLs para redirigir a un servidor UDS aquellas notificaciones ''push'' enviadas por un agente OGAgent de un cliente reservado para acceso remoto.
    367    - Método: POST.
    368    - Parámetros:
    369      - {{{urllogin}}} (cadena): URL para redirigir una notificación de inicio de sesión de usuario.
    370      - {{{urllogout}}} (cadena): URL para redirigir una notificación de fin de sesión de usuario.
    371 
    372  - {{{/ous/:id1/images/:id2/session}}}
    373    - Registrar parámetros específicos de la sesión del usuario enviados por un servidor UDS.
    374    - Método: POST.
    375    - Parámetros:
    376      - {{{poweroffAt}}} (cadena): hora para enviar una operación de apagado del cliente.
    377 
    378  - {{{/ous/:id1/images/:id2/unreserve}}}
    379    - Liberar un cliente marcado para acceso remoto, borrando sus datos de registro y enviando una operación de apagado.
    380    - Método: GET.
    381 
     384
     385== Rutas definidas en OpenGnsys Repository ==
     386
     387La API REST de un repositorio OpenGnsys estará bajo la URL {{{https://}}}''{{{Repositorio}}}''{{{/opengnsys/rest}}}.
     388
     389 - {{{/repository/images}}}
     390   ''(documentar)''
     391
     392 - {{{/repository/poweron}}}
     393   ''(documentar)''
     394
     395
     396== Rutas definidas en OGAgent ==
     397
     398La API REST de un agente OpenGnsys para sistemas operativos estará bajo la URL {{{https://}}}''{{{Cliente}}}''{{{:8000/opengnsys}}}.
     399
     400   ''(documentar)''