1 Descripción
WBSAirback dispone de una interfaz RESTful que permite gestionar una máquina WBSAirback® a través de peticiones HTTP.
Las operaciones CRUD (Create, Read, Update y Delete) sobre cada entidad se corresponden con peticiones HTTP de la siguiente manera:
En las peticiones de tipo GET obtenemos listados, elementos o mensajes de éxito. En las peticiones tipo POST y PUT, obtenemos, además, una cabecera de redirección a la página de consulta del elemento afectado. Una petición DELETE genera un mensaje de éxito. Cuando cualquiera de ellas falla por cualquier motivo, se genera un mensaje de error.
Esta capa REST ofrece los datos por defecto en formato XML, no obstante, también puede trabajar en formato JSON. Para ello, simplemente hay que enviar una cabecera tipo: Content-Type: application/json
2 Acceso a la interfaz
La URL base para WBSAirback®, desde la cual se puede acceder a la interfaz de gestión REST es:
http://ip.de.maquina.airback/resources
A partir de esa URL base, solamente hay que añadir el path de la operación deseada para empezar a trabajar. Por ejemplo, para obtener el listado de clientes en la máquina con ip 192.168.0.50, tendríamos:
Para utilizar la interfaz Restful, hay que autenticarse por HTTP (Basic HTTP Authentication) con alguno de los usuarios que estén registrados en el WBSAirback® en cuestión. Si se hace una primera llamada sin autenticación, se pedirán los credenciales, después se mantiene la sesión.
La autenticación básica en http consiste en codificar en base64 la cadena usuario:contraseña y enviar el resultado en una cabecera HTTP de nombre: Authorization y de contenido: Basic Base64(usuario:contraseña). Ejemplo de cabecera de autenticación HTTP:
- Datos de acceso:
- Usuario: admin
- Password: jorgegea
- Cabecera HTTP: Authorization: Basic YWRtaW46am9yZ2VnZWE=
En cuando a los permisos de acceso a esta capa REST:
- Podrán hacer peticiones de tipo GET usuarios con el rol REST-Lectura
- Podrán hacer peticiones de cualquier tipo (GET, POST, PUT, DELETE) usuarios con el rol REST-Escritura
- También podrá hacer peticiones de cualquier tipo el usuario root.
Por otro lado, cuando se envían peticiones POST o PUT con datos a la interfaz RestFul, hay que enviar alguna de estas tres cabeceras HTTP:
O bien, si se va a trabajar en formato JSON:
Solamente se interpretarán datos XML correctamente construidos, que respeten las especificaciones de la hoja XSD, cuyas peticiones contengan alguna de estas cabeceras, que estén autenticadas. Adicionalmente, el usuario solicitante ha de tener los permisos y licencias oportunas para ejecutar la operación solicitada.
3 WADL/XSD y WSDL 2.0
La hoja WADL, que lista todos los servicios disponibles indicando el método adecuado para invocarlos, la podemos consultar desde:
http://ip.de.maquina.airback/resources/application.wadl
Esta hoja se genera dinámicamente, por lo que, en ocasiones, puede tardar algunos segundos en obtenerse.
Para consultar los esquemas de datos asociados a las entidades, los cuales definen los parámetros y restricciones de cada elemento, lo podemos hacer en:
http://ip.de.maquina.airback/resources/application.wadl/xsd0.xsd
También se dispone de las hojas WSDL 2.0. Podemos ver el listado en este formato (además de enlaces a WADL y XSD) en la sección Sistema > Servicios Web de cualquier WBSAirback®. Es una sección pública, por lo que también podemos acceder directamente introduciendo la URL:
http://ip.de.maquina.airback/admin/WebServices
4 Petición-respuesta
Las respuestas que genera la interfaz RESTful de WBSAirback®, se presentan siempre envueltas de estas etiquetas
Dentro del elemento <response> podemos tener una de las siguientes opciones:
- Listado de elementos (<jobs> <job></job> <job></job> … <jobs>)
- Descripción de un elmento (<job><name>job1</name> … </job>)
- Valor concreto de alguna propiedad (<serialNumber>ADASDFD1ASDF</serialNumber>)
- Mensaje de confirmación (<success>El elemento se borró correctamente</success>)
Mensaje de error (<error>Se produjo en error al intentar … </error>)
En el caso de las peticiones, por el momento, se interpretan solamente en formato xml que respeten el formato establecido por las hojas xsd. Por ejemplo, para guardar un nuevo job, acompañaríamos la petición HTTP PUT correspondiente con un contenido así:
5 Probando el servicio
La manera más sencilla de testear la aplicación y comprobar ciertas peticiones o respuestas directamente, es utilizando el navegador Firefox con su plugin RESTclient:
https://addons.mozilla.org/en-US/firefox/addon/restclient/
Este plugin nos permite, de una manera muy sencilla, generar peticiones HTTP de todo tipo (GET, POST, PUT, DELETE …), añadirle cabeceras 'add-hoc' o cabeceras estándar (como la cabecera de autenticación) y añadir el contenido xml oportuno a cada petición. Además, permite visualizar las respuestas en diferentes formatos.
6 Listado de servicios
A continuación se describen los servicios y acciones que se pueden invocar mediante RESTful en WBSAirback®. Se exponen las urls omitiendo la url base, es decir, que para invocar cualquiera de ellos, es necesario concatenarle http://ip.de.maquina.airback/resources a la izquierda.
6.1 Servicios de Configuración
6.1.1 Gestión de usuarios
/users
- GET: Obtiene el listado de usuario
- PUT + user: Da de alta un nuevo usuario
- POST + user: Actualiza un usuario existente
/users/{name}
- GET: Obtiene los datos de un usuario
- DELETE: Elimina un usuario
/users/roles
- GET: Lista los roles de usuarios definidos en el sistema
/users/root/password/{newPassword}
- GET: Establece un nuevo password para el usuario root
6.1.2 Configuración del sistema
/system/configuration
- GET: Obtiene el objeto systemConfiguration con todos los parámetros configurados en ese momento (correo de administración, servidor snmp, etc)
POST + systemConfiguration: Establece nuevos parámetros de configuración para el sistema
/system/configuration/restart o bien /system/configuration/reboot
- GET: Reinicia el sistema
/system/configuration/shutdown
- GET: Apaga el sistema
/system/configuration/service
GET: Obtiene el listado de los servicios del sistema con su correspondiente estado (running o stopped)
/system/configuration/service/{nameService}
GET: Obtiene el estado de un servicio (running o stopped)
- Los nombres de servicio posibles son: BACKUP-DIRECTOR, BACKUP-STORAGE, BACKUP-FILE, BACKUP-DATABASE, ISCSI, NFS, CIFS, FTP, WATCHDOG
- No importa si es en minúsculas o mayúsculas
/system/configuration/service/{nameService}/start
GET: Inicia un servicio dado
- Los nombres de servicio posible son: BACKUP-DIRECTOR, BACKUP-STORAGE, BACKUP-FILE, BACKUP-DATABASE, ISCSI, NFS, CIFS, FTP, WATCHDOG
- No importa si es en minúsculas o mayúsculas
/system/configuration/service/{nameService}/stop
GET: Detiene un servicio dado
- Los nombres de servicio posible son: BACKUP-DIRECTOR, BACKUP-STORAGE, BACKUP-FILE, BACKUP-DATABASE, ISCSI, NFS, CIFS, FTP, WATCHDOG
- No importa si es en minúsculas o mayúsculas
/system/configuration/sendemail
GET: Envía el email de prueba
6.1.3 Configuración de red
/system/network/interfaces/{idInterface}
- GET: Obtiene los datos de la interfaz de red con identificador idInterface
- DELETE: Elimina la configuración de red asociada a la interfaz con identificador idInterface
/system/network/interfaces/configured
- GET: Obtiene el listado de interfaces de red configuradas en el sistema
/system/network/interfaces/available
- GET: Obtiene el listado de interfaces de red libres (no configuradas) en el sistema
/system/network/interfaces
- GET: Obtiene el listado total de interfaces de red en el sistema (configuradas y no configuradas)
- POST + networkInterfacesConfig: Establece la configuración de interfaces de red en el sistema
/system/network/routes
- GET: Obtiene la configuración de rutas estáticas del sistema
- POST + networkRoutesConfig: Establece la configuración de rutas estáticas del sistema
/routes/interface/{interface}
- GET; Obtiene las rutas estáticas establecidas para la interfaz identificada por interface.
/nameservers
- GET; Obtiene los servidores de nombres configurados
- POST + networkNameServersConfig: Establece los servidores de nombres del sistema
6.1.4 Configuración del reloj
/system/time/date
- GET; Obtiene la fecha actual en el sistema
- POST + timeDate: Establece una nueva fecha
/system/time/zones
- GET: Obtiene el listado de zonas horarias disponibles
- POST + timeZone: Establece una zona horaria
/system/time/zones/configured
- GET: Obtiene la zona horaria actualmente configurada
/system/time/servers
- GET: Obtiene el listado de servidores ntp configurados
- POST + timeServerSet: Establece una nueva configuración de servidores ntp
6.1.5 Tareas de mantenimiento
/system/maintenance
- GET: Obtiene la configuración de mantenimiento actual (configuración de bd y configuración de copia de seguridad del catálogo)
- POST + maintenanceConfiguration: Establece una nueva configuración de mantenimiento
/db/recomended
- GET: Obtiene los datos de la configuración recomendada para WBSAirback®
/db/vacuum:
- GET: Ejecuta el proceso de vacunación y generación de índices en la BD
/import/share/{share}:
- GET: Importa la configuración del catálogo que esté contenida en el volumen compartido share
/export/share/{share}:
- GET: Exporta la configuración del catálogo al volumen compartido share.
/password/storage o bien /password/sd
- GET: Obtiene la contraseña que deben utilizar los repositorios para contactar con el servicio director de airback
/password/client o bien /password/fd
- GET: Obtiene la contraseña del cliente de backup de WBSAirback® (airback-fd)
/alive
- GET: Consulta para comprobar si el equipo está activo
/alerts
- GET: Obtiene el listado de alertas de Watchdog activas en el sistema
/memory
- GET: Obtiene el estado de memoria del equipo
/cpu
- GET: Obtiene el estado de carga y cpu del equipo
/network
- GET: Lista las interfaces de red, sus estados y sus niveles de transferencia puntuales y acumulados
/network/{interface}
- GET: Obtiene el estado de una interfaz de red concreta
/ha
- GET: Obtiene el estado de los servicios asociados a HA, si está configurado; DRBD, estado de sincronización DRBD, Heartbeat (HA), rol del nodo, lista de nodos activos, estado CMAN..
/vdisks
- GET: Obtiene el listado de VDISKS asociado a controladoras RAID del sistema.
/vdisks/{controllerId}/{vdiskId}/init
- GET: Lanza un proceso de chequeo de consistencia para el VDISK identificado por el controlador de id: controllerId y el vdisk de id: vdiskId
/vdisks/{controllerId}/{vdiskId}/cancel
- GET: Cancela un proceso de chequeo de consistencia activo para el VDISK identificado por el controlador de id: controllerId y el vdisk de id: vdiskId
6.1.6 Configuración de proxy
/system/proxy
- GET: Obtiene la configuración de proxy
- POST + proxy: Establece una nueva configuración de proxy
- DELETE: Elimina la configuración actual de proxy
6.1.7 Servicios de actualización
/update
- GET: Obtiene el listado de licencias registradas en el producto
/update/upgrade
- GET: Lanza una actualización total del sistema (si hay paquetes para actualizar)
6.1.8 Servicios de subscripción
/subscription/serial
- GET: Obtiene el número de serie del producto
/subscription/register:
- GET: Obtiene el estado actual de registro del producto
/subscription/register/account/{account}
- GET: Registra una nueva cuenta de producto
/subscription/support/connect
- GET: Se conecta a la VPN de soporte remoto
/subscription/support/disconnect
- GET: Desconecta la VPN de soporte remoto
/subscription/licenses
- GET: Obtiene el listado de licencias registradas actualmente para este producto
/subscription/licenses/register/{code}
- GET: Registra una nueva licencia
6.1.9 Auditoría
/system/auditory/actions
- GET: Obtiene el listado de acciones de auditoría del sistema
- Filtros:
- page (int) y rows (int): permiten paginar el resultado.
- date_from (string): fecha desde en formato yyyy-MM-dd_HH:mm:ss
- date_to (string): fecha hasta en formato yyyy-MM-dd_HH:mm:ss
- type (string): tipo de entrada (WEB o REST)
- user (string): usuario
- origin (string): ip origen de la llamada
- operation (string): opearción ejecutada
- url (string): url completa que se invocó
/system/auditory/alerts
- GET: Obtiene el listado histórico de alertas del sistema
- Filtros:
- page (int) y rows (int): permiten paginar el resultado.
- date_from (string): fecha desde en formato yyyy-MM-dd_HH:mm:ss
- date_to (string): fecha hasta en formato yyyy-MM-dd_HH:mm:ss
- subject (string): resumen/asunto de alerta
- message (string); mensaje de alerta completo
6.2 Servicios de Backup
6.2.1 Gestión de clientes
/clients
- GET: Obtiene el listado de clientes
- PUT + client: Añade un nuevo cliente de backup.
- Opcional: Auto despliegue de agente => /clients?deployUsername={user}&&deployPassword={password}. Se intentará el autodespliegue y autoconfiguración del agente en el cliente configurado
- POST + client:
- Opcional: Auto despliegue de agente => /clients?deployUsername={user}&&deployPassword={password}. Se intentará el autodespliegue y autoconfiguración del agente en el cliente configurado
/clients/find/name/{clientName}
- GET: Busca por nombre un cliente y devuelve sus datos asociados
/clients{clientId}
- GET: Obtiene los datos de un cliente con identificador clientId.
- DELETE: Elimina un cliente con identificador clientId
/clients/checkonline/{clientid}
- GET: Comprueba si se puede conectar con un cliente con identificador clientID
/clients/status/{clientName}
- GET: Comprueba el estado del cliente nombrado 'clientName'. Devuelve los plugins instalados, jobs en ejecución, su conexión, la versión de Bacula instalada y la fecha de inicio del demonio.
6.2.2 Gestión de categorías
/categories
- GET: Obtiene el listado de categorías definidas
- PUT + category: Añade una nueva categoría
- POST + category: Modifica una categoría
/categories/{name}
- GET: Obtiene una categoría con nombre name.
- DELETE: Elimina una categoría con nombre name.
6.2.3 Gestión de patrones de ficheros
/filesets
- GET: Obtiene el listado de todos los filesets definidos en el sistema
- PUT + fileset: Añade un nuevo fileset
- Con este método se pueden dar de alta los siguientes tipos de filesets:
- Standard de Cliente: Ficheros, SystemState, Exchange, Hyper-V, MssqlServer, Delta
- Locales
- NDMP
- VMWare
- Con este método se pueden dar de alta los siguientes tipos de filesets:
- POST + fileset: Modifica un fileset
- Con este método se pueden modificar los siguientes tipos de filesets:
- Standard de Cliente: Ficheros, SystemState, Exchange, Hyper-V, MssqlServer, Delta
- Locales
- NDMP
- VMWare
- Con este método se pueden modificar los siguientes tipos de filesets:
/filesets/oracle
- PUT + filesetOracle: Añade un nuevo fileset oracle
- POST + filesetOracle: Modifica un fileset oracle
/filesets/netappacc
- PUT + filesetNetappAccelerator: Añade un nuevo fileset netapp accelerator
- POST + filesetNetappAccelerator: Modifica un fileset netapp accelerator
/filesets/mysql
- PUT + filesetMysql: Añade un nuevo fileset mysql
- POST + filesetMysql: Modifica un fileset mysql
/filesets/postgresql
- PUT + filesetPostgresql: Añade un nuevo fileset postgresql
- POST + filesetPostgresql: Modifica un fileset postgresql
/filesets/mssqlvdi
- PUT + filesetMssqlvdi: Añade un nuevo fileset mssql-vdi
- POST + filesetMssqlvdi: Modifica un fileset mssql-vdi
/filesets/ndmp
- GET: Obtiene los filesets de tipo ndmp
/filesets/local
- GET: Obtiene los filesets de tipo local
/filesets/vmware
- GET: Obtiene los filesets de tipo vmware
/filesets/rhv
- GET: Obtiene todos los filesets de tipo rhv
- PUT: Añade un nuevo fileset rhv
- POST + nameFileset: Modifica el fileset seleccionado en 'nameFileset'. Permite modificar todo excepto el nombre y cliente.
/filesets/rhv/{name}/tree/{path}
- GET: Obtiene la lista de elementos que se especifica en el {path} de un determinado fileset. Este path se encuentra bajo la estructura RHV.
/filesets/docker
- GET: Obtiene todos los filesets de tipo docker
- PUT: Añade un nuevo fileset docker
- POST + nameFileset: Modifica el fileset seleccionado en 'nameFileset'. Permite modificar todo excepto el nombre y cliente.
/filesets/docker/{name}/tree/{path}
- GET: Obtiene la lista de elementos que se especifica en el {path} de un determinado fileset. Este path se encuentra bajo la estructura Docker.
/filesets/kubernetes
- GET: Obtiene todos los filesets de tipo kubernetes
- PUT: Añade un nuevo fileset kubernetes
- POST + nameFileset: Modifica el fileset seleccionado en 'nameFileset'. Permite modificar cualquier parámetro excepto el nombre y cliente.
/filesets/oracle
- GET: Obtiene los filesets de tipo oracle
/filesets/mysql
- GET: Obtiene los filesets de tipo mysql
/filesets/postgresql
- GET: Obtiene los filesets de tipo postgresql
/filesets/netappacc
- GET: Obtiene los filesets de tipo netapp accelerator
/filesets/mssqlvdi
- GET: Obtiene los fielsets de tipo mssqlvdi
/filesets/vmware/tree
- GET: Obtiene el árbol de elementos vmware (vcenter > host > datastore > máquina) a los que tiene acceso WBSAirback® en base a los clientes vmware configurados. Es necesaria su consulta para obtener los datos necesarios para construir los filesets Vmware o llevar a cabo recuperaciones Vmware.
/filesets/{filesetName}
- GET: Devuelve los datos de un fileset de nombre filesetName
- DELETE: Elimina un fileset de nombre filesetName
/files/mssql/client/{clientName}/databases
- GET: Obtiene el listado de bases de datos de las que se tiene algún backup para el cliente clientName. Este listado muestra el nombre, fileset y PATH de cada base de datos. El PATH es necesario para lanzar recuperaciones
/files/mssql/client/{clientName}/databases/{databasePath}/jobs
- GET: Obtiene el listado de versiones (jobs) de cierta base de datos determinada por databasePath (el formato es INSTANCIA___NOMBREBBDD y se puede obtener del método anterio). Su consulta es necesaria para encontrar el identificador de versión deseado en una recuperación por versión.
/files/mssql/client/{clientName}/restore/version/{level}
- POST + restoreMSSQLVDI: Lanza una recuperación por versión para el cliente clientName.
- El parámetro level indica el tipo de recuperación: full, differential o pitr
- Recibe por URL el número de version: http://.....?version=123
- El resto de parámetros se especifican en el objeto restoreMSSQLVDI
/files/mssql/client/{clientName}/restore/date/{level}
- POST + restoreMSSQLVDI: Lanza una recuperación por fecha para el cliente clientName.
- El parámetro level indica el tipo de recuperación: full, differential o pitr
- Recibe por URL la fecha de recuperación: http://.....?date=yyyy-MM-dd_HH:mm:ss
- El resto de parámetros se especifican en el objeto restoreMSSQLVDI
6.2.4 Gestión de planificaciones
/schedules/{scheduleName}
- DELETE: Elimina la planificación con nombre scheduleName
/schedules/monthly
- GET: Obtiene el listado de planificaciones mensuales configuradas
- PUT + scheduleMonthly: Añade una nueva planificación mensual
- POST + scheduleMonthly: Edita una planificación mensual existente
/schedules/monthly/{name}
- GET: Obtiene todos los datos de una planificación mensual de nombre name.
/schedules/daily
- GET: Obtiene el listado de planificaciones diarias configuradas
- PUT + scheduleDaily: Añade una nueva planificación diaria
- POST + scheduleDaily: Edita una nueva planificación diaria existente
/schedules/daily/{name}
- GET: Obtiene todos los datos de una planficación diaria de nombre name.
/schedules/weekly
- GET: Obtiene el listado de planificaciones semanales
- PUT + scheduleWeekly: Añade una nueva planficiación semanal
- POST + scheduleWeekly: Edita una planficiacón semanal existente
/schedules/weekly/{name}
- GET: Obtiene todos los datos de una planificación semanal de nombre name
/schedules/yearly
- GET: Obtiene el listado de planificaciones anuales configuradas
- PUT + scheduleYearly:Añade una nueva planificación anual
- POST + scheduleYearly:Edita una planificación anual existente
/schedules/yearly/{name}
- GET: Obtiene todos los datos de una planificación anual de nombre name
6.2.5 Gestión de pools
/pools
- GET: Obtiene el listado de pools del sistema
- PUT + pool: Añade un nuevo pool
- POST + pool: Edita un pool existente
/pools/{poolName}
- GET: Obtiene los datos del pool de nombre poolName
- DELETE: Elimina el pool llamado poolName
/pools/{poolName}/jobs
- GET: Obtiene los jobs que utilizan el pool poolName
/pools/{poolName}/volumes
- GET: Obtiene los volúmenes generados para el pool poolName
/pools/{poolName}/volumes/purge
- GET: Lanza una operación de purgado de volúmenes para el pool poolName
/pools/{poolName}/volumes/add/volume/{nameVol}
- GET: Añade un volumen de nombre nameVol al pool de nombre poolName, en otras palabras, añade una cinta etiquetada al pool.
/pools/{poolName}/volumes/add/volume/{nameVol}/slot/{slot}/drive/{drive}
- GET: Añade un volumen de cita de una librería a partir de un slot y drive concretos.
/pools/{poolName}/volumes/{label}
- DELETE: Elimina un volumen llamado label del pool poolName. Esta operación elimina los datos y los registros del catálogo.
/pools/{poolName}/volumes/{nameVol}/status/{newstatus}
- GET: Cambia el estado de un volumen de un pool
/pool/volumes
- GET: Devuelve el listado de volúmenes. Se puede filtrar por los siguientes parámetros:
- pool (string): Nombre de un pool existente
- storage (string): Nombre de un repositorio existente
- name (string): Nombre de un volumen existente
- status (string): Estado del volumen (Full, Append, Error, Recycled, Purged ..)
- slot (int): Número de slot
- retention (long): Retención asociada (en segundos)
- type (string): MediaType asociado: LTO4, LTO5, LTO6, File, agg1-vol1-X2131331313 ...
- firstwrite_from (string): fecha de primera escritura desde en formato yyyy-MM-dd_HH:mm:ss
- firstwrite_to (string): fecha de primera escritura desde en formato yyyy-MM-dd_HH:mm:ss
- lastwrite_from (string): fecha de última escritura hasta en formato yyyy-MM-dd_HH:mm:ss
- lastwrite_to (string): fecha de última escritura hasta en formato yyyy-MM-dd_HH:mm:ss
6.2.6 Gestión de repositorios de disco
/storage/disks
- GET: Obtiene el listado de repositorios de tipo disco configurados
- PUT + storageDisk: Añade un nuevo repositorio de tipo disco al sistema
- POST + storageDisk: Modifica un repositorio de tipo disco existente
/storage/disks/{storageName}
- GET: Obtiene todos los datos de un repostorio de tipo disco de nombre storageName
- DELETE: Elimina un repositorio de tipo disco llamado storageName
6.2.7 Gestión de repositorios remotos
/storage/remotes
- GET: Obtiene el listado de repositorios remotos configurados
- PUT + storageRemote: Añade un nuevo repositorio remoto al sistema
- POST + storageRemote: Modifica un repositorio remoto existente
/storage/remotes/{storageName}
- GET: Obtiene todos los datos de un repositorio remoto de nombre storageName
- DELETE: Elimina un repositorio remoto llamado storageName
6.2.8 Gestión de repositorios de librería
/storage/libraries
- GET: Obtiene el listado de repositorios de tipo librería configurados
- PUT + storageLibrary: Añade un nuevo repositorio de tipo librería al sistema
- POST + storageLibrary: Modifica un repositorio de tipo librería existente
/storage/libraries/{storageName}
- GET: Obtiene todos los datos de un repostorio de tipo librería de nombre storageName
- DELETE: Elimina un repositorio de tipo librería llamado storageName
/storage/libraries/{storageName}/slots
- GET: Obtiene los slots disponibles del repositorio de tipo librería llamado storageName
/storage/libraries/{storageName}/umount/drive/{numDrive}
- GET: Desmonta el drive numDrive del repositorio de tipo librería llamado storageName
/storage/libraries/{storageName}/mount/drive/{numDrive}/slot/{numSlot}
- GET: Monta el slot numSlot en el drive numDrive del repositorio de tipo librería llamado storageName
/storage/libraries/{storageName}/format/drive/{numDrive}
- GET: Formate la cinta montada en en un drive numDrive del repositorio de tipo librería llamado storageName
/storage/libraries/{storageName}/drives
- GET: Obtiene el listado de drives de la librería
6.2.9 Gestión de repositorios de cinta
/storage/tapes
- GET: Obtiene el listado de repositorios de tipo cinta configurados
- PUT + storageTape: Añade un nuevo repositorio de tipo cinta al sistema
- POST + storageTape: Modifica un repositorio de tipo cinta existente
/storage/tapes/{storageName}
- GET: Obtiene todos los datos de un repositorio de tipo cinta de nombre storageName
- DELETE: Elimina un repositorio de tipo cinta llamado storageName
/format/{storageName}
- GET: Formatea la cinta asociada al repositorio
/mount/{storageName}
- GET: Monta la cinta asociada al repositorio
/umount/{storageName}
- GET: Desmonta la cinta asociada al repositorio
6.2.10 Gestión de hipervisores
/hypervisors
- GET: Obtiene el listado de hipervisores definidos
- PUT + hypervisor: Añade un nuevo hipervisor
- POST + hypervisor: Edita un hipervisor existente
/hypervisors/{name}
- GET: Obtiene la configuración de un hipervisor llamado name
- DELETE: Elimina un hipervisor llamado name
/hypervisors/jobs
- GET: Obtiene los jobs configurados de tipo hipervisor en el sistema
- PUT + hypervisorJob: Añade un nuevo trabajo de hipervisor
- POST+ hypervisorJob: Edita un trabajo de hipervisor existente
/hypervisors/jobs/{name}
- GET: Obtiene la configuracion de un trabajo de tipo hipervisor de nombre name
- DELETE: Elimina un trabajo de hipervisor de nombre name
/hypervisors/{name}/jobs
- GET: Obtiene los jobs de hipervisor de un hipervisor llamado name
/hypervisors/{name}/machines
- GET: Obtiene las máquinas accesibles mediante el hipervisor llamado name
/hypervisors/{hypervisorName}/machines/{machineName}
- GET: Obtiene los datos de una maquina virtual concreta
/hypervisors/{hypervisorName}/machines/storage/{storageName}
- GET: Obtiene las maquinas asociadas a cierto repositorio
/hypervisors/{hypervisorName}/stores
- GET: Obtiene los datastores accesibles mediante un hipervisor de nombre hypervisorName
6.2.11 Gestión de trabajos de backup
/jobs
- PUT + jobScheduled: Añade un nuevo trabajo planificado
- POST + jobScheduled: Edita un trabajo planificado existente
- Si no recibe listado de scripts (no se recibe etiqueta <scripts>), los scripts asociados al job no se modifican
- Si se recibe una etiqueta scripts vacía, los scripts se eliminarían
/jobs/archieved/
- GET: Obtiene el listado de todos los trabajos presentes en el catálogo.
- Filtro por fechas disponible en el formato: yyyy-MM-dd_HH:mm:ss usando los siguientes parámetros:
- starttime_from
- starttime_to
- endtime_from
- endtime_to
- realendtime_from
- realendtime_to
- modified_from
- modified_to
- Podemos usar los parámetros modifed_ para obtener los trabajos que han sido modificados desde esa fecha concreta (útil para procesos externos de lectura de jobs en equipos con infinidad de jobs en los que la query tarda mucho. De esta forma podemos obtener jobs de forma 'incremental')
- Otros filtros:
- pool (string): Nombre de un pool existente
- storage (string): Nombre de un repositorio existente
- clientName (string): Nombre de cliente asociado existente
- type (string): Tipo de job: Backup, Copy, Migration
- level (string): Nivel del job: Full, Incremental, Differential
- category (string): Nombre de categoría(s)
- status (string): Estado del job: (Running, Completed successfully, Fatal error ..)
- page (int) y recordsByPage (int): Paginación del resultado
- Filtro por fechas disponible en el formato: yyyy-MM-dd_HH:mm:ss usando los siguientes parámetros:
/jobs/archieved/deleted
- GET: Obtiene el listado de los jobs borrados desde una fecha indicada con en parámetro 'deleted_from' en formato yyyy-MM-dd_HH:mm:ss
/jobs/archieved/client/name/{clientname}
- GET: Obtiene el listado de trabajos presentes en el catálogo para un cliente de nombre clientname. Los clientes Vmware han de emplear este método para obtener el listado de sus jobs, ya que carecen de identificador.
/jobs/archieved/client/{clientid}
- GET: Obtiene el listado de trabajos presentes en el catálogo para un cliente de identificador clientId
/jobs/archieved/{jobid}
- DELETE: Elimina un trabajo con identificador jobId
/jobs/archieved/{jobname}
- GET: Obtiene el último trabajo incorporado en el catálogo (finalizado, corriendo...) para el trabajo de nombre jobname
/jobs/archieved/id/{jobid}
- GET: Obtiene un trabajo a partir de su identificador
/jobs/archieved/copyof/{jobid}
- GET: A partir del jobid de un job tipo 'c' coordinador de copias, obtiene el trabajo de datos tipo 'C' asociado (si existe).
/jobs/archieved/failed
- GET: Obtiene el listado de jobs (ejecuciones) cuya última ejecución no fue exitosa
- parámetro failedExecutions: Número entero que indica cuántas ejecuciones fallidas consecutivas hay que considerar para incluir a un trabajo en el listado (ej: /jobs/archieved/failed?failedExecutions=2)
- parámetro showOne: true | false: Indica si se muestra sólo una ocurrencia o todas, de cada uno de los trabajos/ejecuciones que cumplen la condición (/jobs/archieved/failed?showOne=true)
/jobs/log/{jobid}
- GET: Obtiene el log de un job
- parámetro text: Valor boolean (true | false) para obtener el log en formato texto. Si no se indica, se obtienen objetos tipo jobLog
/jobs/scheduled/
- GET: Obtiene el listado de configuraciones de todos los trabajos del sistema
- parámetro storage: Filtro por repositorio (obtener trabajos que usan el repositorio seleccionado. Ej: /jobs/scheduled?storage=STG-BACKUP-DISK-A)
- parámetro schedule: Filtro por planificación (obtener trabajos que usan la planificación seleccionada. Ej: /jobs/scheduled?schedule=PLAN-WED-9H)
- parámetro clientId: Filtro por cliente (obtener trabajos asociados a el cliente indicado. Ej: /jobs/scheduled?clientId=27)
/jobs/scheduled/{jobname}
- GET: Obtiene la configuración de un trabajo de nombre jobname
- DELETE: Elimina el trabajo configurado de nombre jobname
/jobs/scheduled/client/{clientid}
- GET: Obtiene los trabajos configurados para el cliente de identificador clientid
/jobs/scheduled/client/name/{clientname}
- GET: Obtiene los trabajos configurados para el cliente de nombre clientname. Los clientes Vmware han de emplear este método para obtener el listado de sus jobs, ya que carecen de identificador.
/jobs/inventory
- GET: Obtiene el inventario de bakups del sistema. El inventario es un resumen de los jobs configurados, con datos específicos sobre el cliente asociado, repositorio y filesets. Es una lista de objetos inventoryBackup.
/jobs/inventory/{job}
- GET: Obtiene los datos de inventario de un trabajo específico. El inventario contiene datos específicos sobre el cliente asociado, repositorio y filesets. Es un objeto inventoryBackup.
/jobs/plan
- GET: Obtiene la planificación de todos los trabajos del sistema para los próximos N días
- parametro days: Número de días para la obtención del plan. Si no se especifica, por defecto es 30 (ej: /jobs/plan?days=60)
/jobs/plan/{jobName}
- GET: Obtiene la planificación del trabajo indicado para los próximos N días
- parametro days: Número de días para la obtención del plan. Si no se especifica, por defecto es 30 (ej: /jobs/plan?days=60)
/jobs/restart/{jobid}
- GET: Reinicia un job
/jobs/run/{jobName}
- GET: Lanza un job
- parámetro when: Hora de lanzamiento del job. Si no se especifica, se lanza inmediatamente. Parámetro en formato fecha yyyy-MM-dd_HH:mm:ss. Ej: /jobs/run/backupOracle?when=2018-06-12_08:00:00)
- parámetro level: Nivel de lanzamiento del job (Full, Incremental Differential). Ej: /jobs/run/backupOracle?level=Incremental
/jobs/cancel/{jobid}
- GET: Cancela un job
/jobs/stop/{jobid}
- GET: Detiene/pausa un job
/jobs/prune/{clientId}
- GET: Elimina los trabajos antiguos para el cliente de identificador clientId
/jobs/running
- GET: Indica si hay jobs running o no con un mensaje <success>XX</success> que puede tomar los valores true o false
6.2.13 Recuperaciones
/files/{clientId}
- GET: Obtiene el listado de ficheros de los que se tiene copia para el cliente de identificador clientId
- Opcional: Se puede especificar el directorio en base al cual obtener el listado, así como parámetros de paginación con: directory, max_entries y pag.
- El directorio ha de ir codificado en formato URL y UTF-8. Por ejemplo:
- Directorio: C;/Backup | Resultados por pagina:20 | Pág. 2
/files/{clientId}?directory=C%3A%2FBackup%2F&&max_entries=20&pag=2
- Directorio: C;/Backup | Resultados por pagina:20 | Pág. 2
/files/job/{jobId}
- GET: Obtiene e listado de ficheros respaldados por el job de identificador jobId
- Opcionales:
- totalSize (boolean). Si se especifica (totalSize=true), se devuelve la suma total del tamaño respaldado por ese job
- omitSizeInfo (boolean); Si se especifica (omitSizeInfo=true), se omite la información de tamaño y fecha de cada archivo. Esto aumenta enormemente el rendimiento de estas consultas
- page (int) y recordsByPage (int): Permiten paginar el resultado para consultas de jobs muy grandes (casos VF, por ejemplo).
- Opcionales:
/files/versions/find?path=XX
- GET: Obtiene el listado de jobs que han respaldado un path completo dado que viene especificado por la variable path.
- Opcionales:
- clientId (int): Identificador de cliente
- level (string): Nivel para filtrar jobs (F, I, D..)
- Opcionales:
/files/{clientId}/jobs
- GET: Obtiene los jobs que han hecho backup para un determinado archivo, que se indica como parámetro:
- El archivo se indica con el parámetro file. Es posible especificar parámetros de paginación con: max_entries y pag.
- El archivo ha de ir codificado en formato URL y UTF-8. Por ejemplo: archivo: C;/Backup | Resultados por pagina:20
/files/{clientId}?file=C%3A%2FBackup%2F&&max_entries=20
/files/{clientId}/restore/version/{jobId}
- GET: Lanza una recuperación por versión del cliente clientId, utilizando el job jobId, del archivo especificado como parámetro file (en formato URL y UTF-8)
- Opcionales en la petición:
- destinationClientId: Identificador del cliente donde restaurar el/los archivo/s
- destinationPath: Path donde restaurar el/los archivo/s
- lv: Volúmen lógico donde restaurar el/los archivos si el cliente destino es el cliente local airback-fd
- share: Volúmen lógico compartido donde restaurar el/los archivos si el cliente destino es el cliente local airback-fd
- prescript: Script a ejecutar antes de lanzar la restauración
- postscript: Script a ejecutar después de lanzar la restauración
- dependentJobs: boolean que indica si se deben buscar y aplicar los posibles trabajos dependientes a la restauración
- Opcionales en la petición:
/files/{clientId}/restore/date
- GET: Lanza una recuperación por fecha del cliente clientId, utilizando:
- Fecha máxima: parámetro date en formato yyyy-MM-dd_HH:mm:ss
- Archivos: Parámetros file (en formato URL y UTF-8): http://.......?file=file1&file=file2&file=file3....
- Opcionales en la petición:
- destinationClientId: Identificador del cliente donde restaurar el/los archivo/s
- destinationPath: Path donde restaurar el/los archivo/s
- lv: Volúmen lógico donde restaurar el/los archivos si el cliente destino es el cliente local airback-fd
- share: Volúmen lógico compartido donde restaurar el/los archivos si el cliente destino es el cliente local airback-fd
- prescript: Script a ejecutar antes de lanzar la restauración
- postscript: Script a ejecutar después de lanzar la restauración
/files/job/{jobId}
- GET: Obtiene el listado completo de archivos respaldados por un trabajo, a partir de su jobid
/files/storages
- GET: Devuelve el listado de ficheros respaldados por un conjunto de repositorios entre dos fechas dadas:
- Fecha hasta: parámetro to en formato yyyy-MM-dd_HH:mm:ss
- Fecha desde: parámetro from en formato yyyy-MM-dd_HH:mm:ss
- Lista de storages: lista de parámetros storage con el nombre de cada repositorio implicado. Se debe indicar o bien esta lista, o bien el parámetro libraries=true.
- Búsqueda en librerías: parámetro booleano libraries que, si se utiliza con el valor true, buscaría en todos los repositorios de tipo librería (locales o remotas). Si se utiliza este parámetro, no se debe indicar ningún storage en 'Lista de storages'.
- Opcionales:
- Tipo: Permite filtrar con el parámetro type por el tipo de job ('B', 'C', 'c', 'R')
- Lista de paths por los que filtrar: lista de parámetros include con la ruta por las rutas por las cuales filtrar. Cualquier archivo que en su ruta contenga alguno de los includes indicados, será mostrado en la salida.
- Ejemplo:
- http://x.x.x.x/resources/files/storages?from=2016-09-20_00:00:00&to=2016-09-21_00:00:00&include=share&libraries=true
- Obtendría la lista de ficheros respaldados entre los días 20 y 21 de todas las librerías del sistema en los que estuviesen implicados volúmenes compartidos
- http://x.x.x.x/resources/files/storages?from=2016-09-20_00:00:00&to=2016-09-21_00:00:00&include=share&libraries=true
/vmware/client/{clientName}/machines
- GET: Obtiene el listado de máquinas virtuales de las que se tiene backup para el cliente clientName. Este listado muestra nombre e identificador vm-x de cada máquina.
/vmware/client/{clientName}/machines/{virtualMachineId}/jobs
- GET: Obtiene el listado de versiones (jobs) de cierta máquina virtual virtualMachineId (vm-x ó nombre de máquina). Su consulta es necesaria antes de lanzar una recuperación Vmware por versión.
/files/vmware/client/{clientName}/restore/date
- GET: Lanza una recuperación por fecha de un conjunto de máquinas virtuales para el cliente clientName, utilizando como parámetros en la URL:
- Fecha máxima: parámetro date en formato yyyy-MM-dd_HH:mm:ss
- Máquinas virtuales a restaurar: Parametros machine (en formato URL y UTF-8): http://.......?machine=vm-1334&machine=vm-34&machine=Windows2003X1....
- Host: parámetro host para indicar el nombre del host destino donde lanzar la restauración
- Datastore: parámetro datastore para indicar el datastore destino donde lanzar la restauración
/files/vmware/client/{clientName}/restore/version/job/{jobId}
- GET: Lanza una recuperación por versión de un conjunto de máquinas virtuales para el cliente clientName y la versión de job jobId, utilizando como parámetros en la URL:
- Máquinas virtuales a restaurar: Parametros machine (en formato URL y UTF-8): http://.......?machine=vm-1334&machine=vm-34&machine=Windows2003X1....
- Host: parámetro host para indicar el nombre del host destino donde lanzar la restauración
- Datastore: parámetro datastore para indicar el datastore destino donde lanzar la restauración
/files/rhv/job/{jobId}/machines?path={path}
- GET: Listado de máquinas respaldadas que tiene un determinado job {jobId}.
- (Opcional) Permite obtener los discos de una máquina específica {path}. Formatos permitidos: path=/vm1/ || path=vm1 || path=/vm1.
/files/rhv/client/{cName}/machines/{mName}/jobs
- GET: Listado de jobs pertenecientes al cliente {cName} que contienen un backup de la máquina especificada {mName}.
/files/rhv/restore
- POST: Realización de una restauración a partir de un jobId o una fecha en concreto. Prioriza el parámetro fecha.
/files/docker/job/{jobId}/machines?path={path}
- GET: Listado de los elementos respaldados que tiene un determinado job {jobId}.
- (Opcional) Permite obtener los discos de una máquina específica {path}. Formatos permitidos: path=/image/ || path=image || path=/image.
/files/docker/restore
- POST: Realización de una restauración a partir de un jobId o una fecha en concreto. Prioriza el parámetro fecha.
/files/kubernetes/job/{jobId}/machines?path={path}
- GET: Listado de los elementos respaldados que tiene un determinado job.
/kubernetes/client/{cName}/machines?path={path}
- GET: Listado de jobs del cliente definido en {cName} que almacenan los elementos definidos por el argumento {path}
/kubernetes/restore
- POST: Realización de una restauración a partir de un jobId o una fecha en concreto. Prioriza el parámetro fecha.
6.2.14 Plantillas
/templates/
- GET: Obtiene el listado de las plantillas configuradas
- PUT + template: Añade una nueva plantilla al sistema
- POST + template: Modifica una plantilla existente
/templates/{templateName}
- GET: Obtiene la plantilla con el nombre de {templateName}
- DELETE: Elimina la plantilla llamada {templateName}
6.3 Servicios de Almacenamiento
6.3.1 Gestión de agregados
/aggregates
- GET: Obtiene el listado de agregados definidos en el sistema
- PUT + aggregate: Añade un nuevo agregado
- POST + aggregate: Edita un agregado existente
/aggregates/{aggregateName}
- GET: Obtiene los datos de un agregado de nombre aggregateName
- DELETE: Elimina un agregado
/aggregates/refresh
- GET: Intenta montar todos los volúmenes de todos los agregados del sistema
/aggregates/{aggregateName}/umount
- GET: Desmonta todos los volúmenes del agregado aggregateName
/aggregates/devices
- GET: Obtiene los dispositivos sin asignar del sistema
/aggregates/recover/{aggregateName}
- GET: Intenta forzar la recuperación de un agregado de tipo ZFS que tuviese de nombre aggregateName
6.3.2 Gestión de volúmenes
/volumes
- GET: Obtiene el listado de volúmenes del sistema
- PUT + volumeAdd: Añade un nuevo volúmen
/volumes/aggregate/{aggregateName}
- GET: Obtiene los volúmenes definidos pertenecientes al agregado aggregateName
/volumes/extend
- POST + volumeExtend;
- Extiende el tamaño de un volumen
- (opcional) Modifica los parámetros zfs de cuotas y reservas
- (opcional) Establece la política de snapshots
/volumes/reduce
- POST + volumeExtend:
- Reduce el tamaño de un volumen
- (opcional) Modifica los parámetros zfs de cuotas y reservas
- (opcional) Establece la política de snapshots
/volumes/aggregate/{aggregateName}/volume/{volumeName}
- GET: Obtiene los datos de un volumen concreto llamado volumeName del agregado aggregateName
- DELETE: Elimina un volumen concreto llamado volumeName del agregado aggregateName
/volumes/aggregate/{aggregateName}/volume/{volumeName}/snapshot
- GET: Obtiene el listado de snapshots asociados a un volumen llamado volumeName del agregado aggregateName
/volumes/aggregate/{aggregateName}/volume/{volumeName}/snapshot/make
- GET: Realiza un snapshot manual sobre el volumen volumeName perteneciente al agregado aggregateName
/volumes/aggregate/{aggregateName}/volume/{volumeName}/snapshot/{snapshotName}
- GET: Obtiene los datos del snapshot snapshotName, del volumen volumeName perteneciente al agregado aggregateName
- DELETE: Elimina el snapshot snapshotName, del volumen volumeName perteneciente al agregado aggregateName
6.3.3 Dispositivos iscsi
/iscsi
- GET: Obtiene el listado de targets iscsi definidos en el sistema
- PUT + iscsiTarget: Añade un nuevo target iscsi
- DELETE: Elimina todos los targets iscsi definidos
/iscsi/{iqn}
- DELETE: Elimina el target iscsi de iqn iqn
/iscsi/vg/{vg}/lv/{lv}
- GET: Obtiene los targets iscsi definidos para el volumen lv del agregado vg
/iscsi/type/{type}
- GET: Lista los targets iscsi por tipo. El tipo puede ser autochanger, tape o volume.
/iscsi/external
- GET: Obtiene los targets iscsi externos de la sesión
/iscsi/external/outdated
- GET: Obtiene el listado de accesos de targets iscsi externos que no son accesibles
/iscsi/external/outdated/remove/address/{address}/port/{port}
- DELETE: Elimina del histórico de accesos de targets iscsi externos el registro de ip address y puerto port
/iscsi/external/send
- GET: Obtiene los targets iscsi nuevos disponibles para la sesión
/iscsi/external/search/address/{address}
- GET: Lanza una búsqueda de targets iscsi externos disponibles en la dirección ip address
/iscsi/external/login
- PUT + iscsiExternalTargetLogin: Lleva a cabo un login iscsi en un target externo
/iscsi/external/logout
- POST + iscsiExternalTargetLogin: Lleva a cabo un logout iscsi de un target externo
/iscsi/airback/name
- GET: Obtiene el nombre de iniciador iscsi de WBSAirback
/iscsi/vg/{vg}/lv/{lv}/snapshot/{snapshot}
- GET: Obtiene un target de tipo snapshot, de nombre snapshot, del volumen lv perteneciente al agregado vg.
- PUT: Añade un target de tipo snapshot llamado snapshot para el volumen lv del agregado vg.
6.3.4 Configuración de replicas de almacenamiento
/replication/sources
- GET: Obtiene el listado de orígenes de replicación configuradas.
- PUT + replicationDestination: Añade un nuevo origen de replicación
- POST + replicationDestination: Edita un origen de replicación
/replication/sources/vg/{vg}/lv/{lv}/address/{address}
- GET: Obtiene los datos de configuración de un origen de replicación de agregado vg, volumen lv y dirección address
- DELETE: Elimina un origen de replicación de agregado vg, volumen lv y dirección address
/replication/destinations
- GET: Obtiene el listado de destinos de replicación configuradas.
- PUT + replicationDestination: Añade un nuevo destino de replicación
- POST + replicationDestination: Edita un destino de replicación
/replication/destinations/vg/{vg}/lv/{lv}/address/{address}
- GET: Obtiene los datos de configuración de un destino de replicación de agregado vg, volumen lv y dirección address
- DELETE: Elimina un destino de replicación de agregado vg, volumen lv y dirección address
/replication/interval
- GET: Obtiene el intervalo de replicación configurado
/replication/interval/{minutes}
- GET: Establece un nuevo intervalo de replicación
/replication/executions
- GET: Obtiene el listado de ejecuciones de sincronización
6.3.5 Cuentas y discos cloud
/cloud/accounts
- GET: Obtiene el listado de cuentas en la nube configuradas
- PUT + cloudAccount: Añade una nueva cuenta en la nube
- POST + cloudAccount: Edita una cuenta en la nube existente
/cloud/accounts/{alias}
- GET: Obtiene los datos de configuración de una cuenta en la nube de nombre alias
- DELETE: Elimina una cuenta en la nube de nombre alias
/cloud/disks
- GET: Obtiene los discos en la nube definidos
- PUT + cloudDisk: Añade un nuevo disco en la nube
/cloud/disks/device/{device}
- GET: Obtiene el disco en la nube definido con identificador de dispositivo device
DELETE: Elimina el disco en la nube con identificador de dispositivo device
/cloud/disks/unassigned
- GET: Obtiene el listado de discos en la nube definidos que no están asignados a ningún agregado
/cloud/disks/group/{group}/stats
- GET: Obtiene las estadísticas de I/O de un disco en la nube
/cloud/disks/group/{group}
- GET: Obtiene el listado de discos en la nube asociados al agregado de nombre group
6.3.6 Quotas de disco
/quota/users
- PUT + quotaAdd:Añade una nueva quota de disco de usuario
/quota/users/group/{group}/volume/{volume}
GET: Obtiene las quotas de usuario del volumen volume del agregado group
- Parametro de query match: Cadena por la que buscar el nombre del grupo
/quota/users/group/{group}/volume/{volume}/username/{username}
- GET: Obtiene los datos de una quota de usuario de nombre groupname del volumen volume del agregado group
- DELETE: Elimina la quota de usuario de nombre groupname del volumen volume del agregado group
/quota/groups
- PUT + quotaAdd:
/groups/group/{group}/volume/{volume}
- GET: Obtiene las quotas de grupo del volumen volume del agregado group
- Parametro de query match: Cadena por la que buscar el nombre de usuario
/quota/groups/group/{group}/volume/{volume}/groupname/{groupname}
- GET: Obtiene los datos de una quota de grupo de nombre groupname del volumen volume del agregado group
- DELETE: Elimina la quota de grupo de nombre groupname del volumen volume del agregado group
6.3.7 Volúmenes compartidos
/shares
- PUT + share: Añade un nuevo volumen compartido
- POST + share: Edita un volumen compartido existente
/shares/type/{type}
- GET: Obtiene el listado de volúmenes compartidos por tipo. El tipo puede ser: NFS, CIFS ó FTP
/shares/type/{type}/aggregate/{aggregateName}/volume/{volumeName}
- GET: Obtiene los datos de un volumen compartido del volumen volumeName del agregado aggregateName
- DELETE: Elimina el volumen compartido del volumen volumeName del agregado aggregateName
/shares/external
- GET: Obtiene el listado de volúmenes compartidos externos configurados
- PUT + shareExternalAdd: Añade un nuevo volumen compartido externo
- POST + shareExternalAdd: Modifica un volumen compartido externo existente
/shares/external/server/{server}?share={share}
- GET: Obtiene los datos de conrfiguración del volumen comparitdo externo share que se encuentra en el servidor server
- DELETE: Elimina el volumen comparitdo externo share que se encuentra en el servidor server
6.4 Servicios de Advanced Backup
6.4.1 Gestión de grupos de jobs
/groupjob
- GET: Obtiene el listado de group jobs
- PUT + group: Añade un grupo de jobs de tipo manual (agrupación de jobs existentes)
- POST + group: Modifica un grupo de jobs de tipo manual (agrupación de jobs existentes)
/groupjob/configure
- PUT + groupJobConfig: Añade un grupo de jobs a partir de la configuración de una plantilla
- POST + groupJobConfig: Añade un grupo de jobs a partir de la configuración de una plantilla
/groupjob/{name}/configuration
- GET: Obtiene la configuración de un grupo de jobs llamado name
- DELETE: Elimina la configuración de un grupo de jobs llamado name, pero no el grupo de jobs en si
/groupjob/{name}
- GET: Obtiene todos los datos de un grupo de jobs llamado name
- DELETE: Elimina un grupo de jobs llamado name
/groupjob/{name}/launch
- GET: Lanza la ejecución de un grupo de jobs llamado name
/groupjob/{name}/stop
- GET: Detiene la ejecución de un grupo de jobs llamado name
/groupjob/{name}/cancel
- GET: Cancela la ejecución de un grupo de jobs llamado name
/groupjob/{name}/restart
- GET; Reinicia la ejecución de un grupo de jobs llamado name
6.4.2 Gestión de plantillas
/advanced/templatejob
- GET: Obtiene el listado de las plantillas existentes
- PUT + templateJob: Añade una nueva plantilla al sistema
- POST + templateJob: Edita una plantilla existente
/advanced/templatejob/{name}
- GET: Obtiene todos los datos asociados a una plantilla llamada name
- DELETE: Elimina una plantilla de nombre name
6.4.3 Gestión de tipos de almacenamiento avanzado
/advanced/storage
- GET: Obtiene el listado de advanced storages configurados
- PUT + advancedStorage: Añade un nuevo elemento advanced storage
- POST + advancedStorage: Edita un elemento advanced storage existente
/advanced/storage/{name}
- GET: Obtiene los datos de un elemento advanced storage llamado name
- DELETE: Elimina un advanced storage llamado name
/advanced/storage/{storageName}/step/{stepName}
- DELETE: Elimina un paso llamado stepName asociado a un advanced storage llamado storageName
6.4.4 Gestión de pasos
/advanced/step
- GET: Obtiene el listado de pasos existente.
- PUT + step: Añade un nuevo paso
- POST + step: Edita un paso existente
/advanced/step/{name}
- GET: Obtiene el paso de nombre name
- DELETE: Elimina el paso de nombre name
/advanced/step/type/{type}
- GET: Obtiene el listado de pasos del tipo type.
- Los tipos validos son: backup, advanced_storage, script_process y script_application
6.4.5 Gestión de procesos de script
/advanced/script
- GET: Obtiene el listado de procesos de script configurados en el sistema
- PUT + scriptProcess: Añade un nuevo proceso de script
- POST + scriptProcess: Edita un proceso de script existente en el sistema
/advanced/script/{name}
- GET: Obtiene la configuración de un proceso de script llamado name
- DELETE: Elimina un proceso de script llamado name
6.4.6 Gestión de sistemas
/advanced/inventory/system
- GET: Obtiene el listado de sistemas configurados en el inventario
- PUT + system: Añade un nuevo sistema al inventario
- POST + system: Edita un sistema existente en el inventario
/advanced/inventory/system/{name}
- GET: Obtiene la configuración de sistema del inventario llamado name
- DELETE: Elimina un sistema llamado name del inventario
6.4.7 Gestión de aplicaciones
/advanced/inventory/application
- GET: Obtiene el listado de aplicaciones configuradas en el inventario
- PUT + application: Añade una nueva applicación al inventario
- POST + application: Edita una aplicación existente en el inventario
/advanced/inventory/application/{name}
- GET: Obtiene la configuración de una aplicación del inventario llamada name
- DELETE: Elimina una aplicación llamada name del inventario
6.4.8 Gestión de equipos de almacenamiento avanzado
/advanced/inventory/storage
- GET: Obtiene el listado de elementos storage configurados en el inventario
- PUT + storageInventory: Añade un nuevo storage al inventario
- POST + storageInventory: Edita un storage existente en el inventario
/advanced/inventory/storage/{name}
- GET: Obtiene la configuración de un elemento storage del inventario llamado name
- DELETE: Elimina un elemento storage llamado name del inventario
6.5 Continous Data Protection
/cdp/jobs
- GET: Obtiene el listado de jobs ejecutados en este módulo
- parámetro from: parámetro en formato fecha yyyy-MM-dd_HH:mm:ss. Ej: /cdp/jobs?from=2018-05-12_09:15:00
- parámetro to: parámetro en formato fecha yyyy-MM-dd_HH:mm:ss. Ej: /cdp/jobs?to=2018-06-12_23:15:00
/cdp/jobs/{userName}
- GET + userName: Obtiene el listado de jobs ejecutados en este módulo por el usuario indicado
- parámetro from: parámetro en formato fecha yyyy-MM-dd_HH:mm:ss. Ej: /cdp/jobs/Win2012SQL?from=2018-05-12_09:15:00
- parámetro to: parámetro en formato fecha yyyy-MM-dd_HH:mm:ss. Ej: /cdp/jobs/Win2012SQL?to=2018-06-12_23:15:00
7 Configuraciones masivas
Cuando se ejecutan configuraciones masivas, es muy importante que el script cliente que las ejecute, lo haga de forma secuencial. Es decir, se lanza el PUT/POST/DELETE correspondiete y cuando finaliza y retorna con éxito, se lanza el siguiente comando. En caso de error, la secuencia debería terminar. De esta forma se evitan errores de concurrencia y se puede detectar mejor posibles situaciones anómalas.
El motivo de estas acciones es que en WBSAirback todo depende de unos mismos ficheros de configuración centrales en su motor de backup (Bacula). Estos se han de cargar en memoria y modificar con cada acción de configuración, por lo tanto se debe tratar de evitar la configuración concurrente de muchos elementos.
Por otro lado, también es recomendable ejecutar la configuración en bloques, según la dependencia de unos elementos sobre otros. Así como configurar cada elemento una sola vez sin repetición en cada iteración. Una secuencia para reconfigurar por completo el equipo, en cuanto a backup, teniendo en cuenta el punto de ejecución secuencial comentado, podría ser:
- Configuramos todos los Clientes
- Configuramos todos los Repositorios
- Configuramos todos los Pools
- Configuramos todas las Planificaciones
- Configuramos todos los Patrones de ficheros
- Configuramos todos los Jobs
8 Tipos de datos
A continuación se expone un listado con los tipos de datos disponibles.
Es un listado orientativo para construir los xml de las peticiones post y put, así como de los objetos de respuesta. El esquema preciso y 100% actualizado, se puede consultar en cualquier momento en la hoja xsd de cada WBSAirback.
Nombre Campo | Tipo de dato | Opcional | Valores posibles | Descripción |
networkNameServersConfig | Elemento de configuración de DNS | |||
---|---|---|---|---|
nameServers | List<networkNameServer> | Listado clase networkNameServer | Listado de servidores de nombres | |
networkNameServer | ||||
address | string | IP válida | Dirección ip de un servidor | |
maintenanceConfiguration | Elemento de configuración de mantenimiento | |||
dbCache | int | Tamaño de la caché de la BD de WBSAirback® | ||
dbMaxConnections | int | Máximo número de conexiones a la BD de WBSAirback® | ||
dbSharedBuffers | int | Tamaño del buffer compartido | ||
exportHour | int | [opcional] | Hora de exportación del catálogo (copia seguridad catálogo) | |
exportRetention | int | [opcional] | Retención de la exportación del catáolog (copia seguridad catálogo) | |
exportShare | string | [opcional] | Volumen compartido existente | Volumen compartido para exportación del catálogo |
multipath | boolean | Activar / Desactivar multipath | ||
hypervisor | Elemento hypervisor para backup de máquinas virtuales | |||
address | string | IP válida | Dirección de hipervisor | |
name | string | Nombre de hipervisor | ||
os | string | vmware | xen | Sistema operativo | |
password | string | [opcional] | Contraseña de acceso | |
user | string | [opcional] | Usuario de acceso | |
storageRemote | Repositorio remoto de backup | |||
address | string | IP válida | Dirección ip donde se aloja el repositorio remoto | |
device | string | Repositorio remoto existente | Nombre del repositorio remoto de la otra máquina | |
mediatype | string | [opcional] | LTO1 | LTO2 | LTO3 | LTO4 | DLT | SDLT | DDS1 | DDS2 | DDS3 | DDS4 | DAT72 | DAT160 | TR | File | Tipo de datos |
name | string | Nombre del repositorio que se está configurando | ||
password | string | Password para repositorios del WBSAirback® remoto | ||
type | string | File | Tape | Autochanger | Tipo de origen de datos | |
remotediskname | string | [opcional] | Nombre del disco que aloja el repositorio remoto, en el formato "Agregado/volumen" | |
remoteparalel | string | [opcional] | Indica si el repositorio remoto utiliza paralelización | |
sharedWith | boolean | [opcional] | Repositorio local existente que tenga la opción Compartir marcada | Repositorio local con el cual se compartirá una librería accesible mediante una red SAN |
timeDate | Elemento de configuración de la hora de WBSAirback® | |||
day | int | 01 a 31 | Día del mes | |
hour | int | 00 a 23 | Hora | |
minute | int | 00 a 59 | Minutos | |
month | int | 01 a 12 | Mes | |
second | int | [opcional] | 00 a 59 | Segundos |
timeOfDay | string | [opcional] | am | pm | |
year | int | yyyy | Año | |
quotaAdd | Elemento de configuración de nuevas cuotas de disco | |||
groupName | string | Nombre del agregado | ||
name | string | Nombre del grupo ó usuario a quien aplicar la nueva cuota | ||
size | double | Tamaño de cuota | ||
volumeName | string | Nombre del volumen | ||
networkRoutesConfig | Elemento de configuración de rutas | |||
routes | List<networkRoute> | Listado de clase networkRoute | Lista de rutas | |
networkRoute | Representa una ruta de red | |||
address | string | IP válida | Dirección de red | |
gateway | string | IP válida | Gateway | |
iface | string | Interfaz existente en el sistema | Interfaz de la ruta | |
netmask | string | Máscara de red válida | Máscara de red | |
scheduleYearly | Planificación anual | |||
yearlyCalendar | List<yearlyCalendar> | Lista de elementos calendario anual | ||
name | string | Lista de clases yearlyCalendar | Nombre de planificación | |
scheduleYearlyCalendar | Elemento de calendario anual | |||
day | int | 01 a 31 | Dia | |
hour | int | 00 a 23 | Hora | |
level | string | Full | Differential | Virtual | Incremental | Nivel de backup | |
minute | int | 00 a 59 | Minutos | |
month | string | 01 a 12 | Mes | |
pool | string | Pool existente en el sistema | Nombre de pool | |
jobScheduled | Trabajo de backup. Para dar de alta y para obtener los trabajos planificados | |||
accurate | boolean | [opcional] | Con precisión / Sin precisión | |
bandwith | int | [opcional] | Ancho de banda | |
clientName | string | Cliente existente | Nombre de cliente | |
enabled | boolean | [opcional] | Activado / Desactivado | |
fileset | string | Patrón de ficheros de tipo cliente existente | Patrón de ficheros | |
hypervisorJob | string | [opcional] | Trabajo de hipervisor existente | Trabajo de hipervisor |
jobName | string | Nombre del trabajo | ||
level | string | Full | Differential | Virtual | Incremental | Nivel de backup | |
maxRunTime | int | [opcional] | Máximo tiempo de ejecución del trabajo | |
maxStartDelay | int | [opcional] | Máximo tiempo de espera antes de comenzar | |
maxWaitTime | int | [opcional] | Máximo tiempo de espera | |
nextJob | string | [opcional] | Trabajo existente | Ejecutar este trabajo al acabar el actual |
pool | string | Conjunto existente | Conjunto de backup | |
poolDifferential | string | [opcional] | Conjunto existente | Conjunto diferencial |
poolFull | string | [opcional] | Conjunto existente | Conjunto para copia total |
poolIncremental | string | [opcional] | Conjunto existente | Conjunto para copia incremental |
priority | int | [opcional] | Prioridad | |
rescheduleInterval | int | [opcional] | Intervalo de relanzamiento | |
rescheduleOnError | boolean | [opcional] | Relanzar si falla el trabajo | |
rescheduleTimes | int | [opcional] | Número de veces que se relanzará en caso de fallo | |
schedule | string | Planificación existente | Planificación asociada | |
spooldata | boolean | [opcional] | Activar / Desactivar caché previa a disco | |
storage | string | Repositorio existente | Repositorio | |
type | int | [opcional] | 1 = backup | 2 = copia | 3 = migración | Tipo de trabajo |
verifyPreviousJob | boolean | [opcional] | Verificar trabajo previo | |
allowDuplicate | boolean | [opcional] | Permitir un trabajo virtual duplicado (Para ejecuciones concurrentes de trabajo virtual y su incremental) | |
scripts | List<jobScript> | [opcional] | Lista de scripts | Lista de scripts |
Elemento de configuración de jobs | ||||
name | string | Nombre de la plantilla | ||
description | string | [opcional] | Descripción de la plantilla | |
type | string | [opcional] | backup | copy | migrate | Tipo de trabajo |
level | string | [opcional] | Full | Differential | Virtual | Incremental | Nivel de backup |
client_id | string | [opcional] | Id del cliente | |
client | string | [opcional] | Nombre de un cliente existente | Nombre del cliente (airback-fd si es virtual) |
client_real | string | [opcional] | Nombre del cliente (si no es virtual será el mismo que client) | |
schedule | string | [opcional] | Planificación existente | Planificación del backup |
fileset | string | [opcional] | Patrón de ficheros existente | Patrón de ficheros del cliente |
storage | string | [opcional] | Repositorio existente | Repositorio |
pool | string | [opcional] | Conjunto existente | Conjunto del backup |
full_backup_pool | string | [opcional] | Conjunto existente | Conjunto para copia total |
partial_pool | string | [opcional] | Conjunto existente | |
differential_backup_pool | string | [opcional] | Conjunto existente | Conjunto para copia diferencial |
incremental_backup_pool | string | [opcional] | Conjunto existente | Conjunto para copia incremental |
maximum_concurrent_jobs | string | [opcional] | Número máximo de jobs concurrentes para el cliente | |
max_start_delay | string | [opcional] | Máximo tiempo de ejecución del trabajo | |
max_run_time | string | [opcional] | Máximo tiempo de espera antes de comenzar | |
max_wait_time | string | [opcional] | Máximo tiempo de espera | |
accurate | string | [opcional] | Precisión | |
maximum_bandwidth | string | [opcional] | Ancho de banda | |
priority | string | [opcional] | Prioridad | |
enabled | string | [opcional] | Activo | |
spooldata | string | [opcional] | Activar / Desactivar caché previa a disco | |
groupJobConfig | Elemento de configuración de un grupo de jobs | |||
name | string | [opcional] | Nombre del grupo | |
schedule | string | [opcional] | Planificación existente | Planificación |
steps | List<groupStep> | Listado de clase groupStep | Listado de pasos asociados | |
storage | string | [opcional] | Repositorio existente | Repositorio por defecto |
templateJob | string | [opcional] | Plantilla existente | Plantilla asociada |
groupStep | Paso de grupo de jobs | |||
client | string | [opcional] | Cliente existente | Cliente |
job | jobScheduled | [opcional] | Trabajo existente | Trabajo |
name | string | [opcional] | Nombre | |
order | int | [opcional] | Orden dentro del grupo | |
storageInventory | string | [opcional] | Storage de inventario existente | Storage de inventario asociado |
type | string | [opcional] | Backup | advanced_storage | script_process | script_application | Tipo de paso |
variables | List<variableValue> | [opcional] | Listado de clase variableValue | Listado de valores de las variables implicadas |
variableValue | Variable con valor | |||
name | string | Nombre de variable | ||
value | string | [opcional] | Valor de variable | |
scheduleWeekly | Planificación semanal | |||
weeklyCalendar | List<weeklyCalendar> | Listado de clase weeklyCalendar | Listado de elementos de calendario semanal | |
name | string | Nombre de la planificación | ||
scheduleWeeklyCalendar | Elemento de calendario semanal | |||
day | string | L | M | X | J | V | S | D | Día de la semana | |
hour | int | 00 a 23 | Hora | |
level | string | Full | Differential | Virtual | Incremental | Nivel de backup | |
minute | int | 00 a 59 | Minutos | |
pool | string | [opcional] | Pool existente en el sistema | Nombre de pool |
cloudAccount | Cuenta de la nube | |||
id | string | Identificador de cuenta en el servicio de la nube | ||
key | string | Clave de cuenta en el servicio de la nube | ||
name | string | Nombre de la cuenta | ||
server | string | [opcional] | Servidor Atmos de la cuenta | |
type | string | [opcional] | S3 | Atmos | Tipo de la cuenta |
volumeAdd | Elemento para añadir nuevos volúmenes al sistema | |||
aggregate | string | agregado existente | Agregado | |
compression | string | [opcional] | gzip | lzjb | lzo | Tipo de compresión |
deduplication | boolean | [opcional] | Activar / Desactivar deduplicación | |
encryption | boolean | [opcional] | Activar / Desactivar encriptación (MD5) | |
lv_type | string | [opcional] | linear | mirror | stripped | Tipo de volumen lógico |
name | string | Nombre del volumen | ||
percent_snapshot | double | [opcional] | 0 a 60 | Porcentaje asignado a snapshots |
size | long | Tamaño | ||
size_units | string | Unidades del tamaño indicado | ||
storage_type | string | [opcional] | nas | san | Tipo de almacenamiento |
shareExternalAdd | Elemento para añadir nuevos volúmenes comparitdos externos | |||
domain | string | [opcional] | Dominio donde se encuentra el volumen externo | |
password | string | [opcional] | Contraseña de acceso | |
server | string | Servidor del volumen | ||
share | string | Path del recurso compartido | ||
type | string | NFS | CIFS | FTP | Tipo de recurso | |
user | string | [opcional] | Usuario del recurso | |
networkInterfacesConfig | Elemento de configuración de interfaces de red | |||
interfaces | List<networkInterface> | Lista de clases networkInterface | Listado de interfaces de red | |
networkInterface | Elemento interfaz de red | |||
address | string | IP válida | Dirección ip asociada a la interfaz | |
bondtype | string | [opcional] | LACP | RR | Tipo de bonding |
gateway | string | [opcional] | IP válida | Gateway |
iface | string | Interfaz existente en el sistema | Nombre de interfaz | |
netmask | string | Máscara IP válida | Máscara de red | |
slaves | List<networkSlaveInterface> | [opcional] | Listado de clases networkSlaveInterface | Listado de interfaces esclavas de bondig |
networkSlaveInterface | Interfaz esclava de bonding | |||
iface | string | Interfaz existente en el sistema | Nombre de interfaz | |
proxy | Elemento de configuración de proxy | |||
password | string | [opcional] | Contraseña de proxy | |
port | int | [opcional] | Puerto de proxy | |
server | string | IP válida | Servidor de proxy | |
user | string | [opcional] | Usuario de proxy | |
client | Cliente de backup. Sólo Los campos marcados con * se utlizan para el alta. | |||
address* | string | [opcional] | IP válida | Dirección ip del cliente* |
alert | string | [opcional] | Alerta de último backup finalizado. | |
autoprune* | boolean | [opcional] | Activar / Desactivar autopurgado* | |
catalog | string | [opcional] | Nombre de catálogo asociado | |
category* | List<CategoryRs> | [opcional] | Categorías a las que pertenecerá el cliente* | |
charset* | string | [opcional] | UTF-8 | ISO-8859-1 | ISO-8859-15 | Codificación de caracteres* |
dnsname* | string | [opcional] | Nombre DNS.* | |
fdport | int | [opcional] | Puerto | |
fileretention* | int | [opcional] | Tiempo de renteción de ficheros* | |
fileretentionPeriod* | string | [opcional] | days | months | years | Período de retención al que se refiere fileretention* |
id | int | [opcional] | Identificador de cliente | |
jobretention* | int | [opcional] | Tiempo de retención de jobs* | |
jobretentionPeriod* | string | [opcional] | days | months | years | Período de retención al que se refiere jobretention* |
maximumconcurrentjobs* | int | [opcional] | Número máximo de jobs concurrentes para el cliente* | |
name* | string | Nombre del cliente* | ||
os* | string | linux-debian-squeeze-32 | linux-debian-squeeze-64 | linux-debian-wheezy-32 | linux-debian-wheezy-64 | linux-ubuntu-precise-32 |linux-ubuntu-precise-64 | linux-redhat-6-32 | linux-redhat-6-64 | linux-suse-10-32 | linux-suse-10-64 | linux-suse-11-32 | linux-suse-11-64 | linux | win32 | win64 | solaris-8-sparc | solaris-9-sparc | solaris-10-sparc | solaris-10-i86 |solaris-11-i86 | mac | vmware | Sistema operativo* | |
password* | string | Password a usar en client-fd y el director de WBSAirback®* | ||
port* | int | [opcional] | Puerto* | |
starttime | string | [opcional] | Fecha de comienzo de último backup | |
status | string | [opcional] | Estado de último backup | |
uname | string | [opcional] | Descripción de cliente obtenida por el sistema | |
tls | boolean | [opcional] | true | false | Activar cifrado TLS |
step | Paso de advanced backup | |||
name | string | Nombre del paso | ||
type | string | BACKUP | ADVANCED_STORAGE | SCRIPT_PROCES | SCRIPT_APPILCATION | Tipo del paso | |
replicationDestination | Destion de replicación de disco | |||
address | string | IP válida | Dirección del servidor origen permitida | |
filesystem | boolean | [opcional] | Replicación a nivel de sistema de ficheros (ZFS) | |
lv | string | Volumen existente | Nombre de volúmen lógico | |
password | string | Password de replicación | ||
vg | string | Agregado existente | Agregado de replicación | |
application | Aplicación de advanced backup | |||
description | string | [opcional] | Descripción | |
name | string | Nombre | ||
systems | List<system> | Listado de clases system | Listado de sistemas donde está presente la aplicación | |
system | Sistemas de advanced backup. Sólo Los campos marcados con * se utlizan para el alta. | |||
applications | List<reference> | Listado de clases reference | Listado de aplicaciones definidas con este sistema | |
description* | string | [opcional] | Descripción | |
name* | string | Nombre | ||
scripts | List<reference> | Listado de clases reference | ||
reference | Clase envoltorio para encapsular listados de nombres en otras clases | |||
name | string | Nombre | ||
scheduleMonthly | Planificación mensual | |||
calendarsDifferential | List<monthlyCalendar> | [opcional] | Listado de clase monthlyCalendar | Listado de calendarios para hacer copias diferenciales |
calendarsIncremental | List<monthlyCalendar> | [opcional] | Listado de clase monthlyCalendar | Listado de calendarios para hacer copias incrementales |
calendarsVirtual | List<monthlyCalendar> | [opcional] | Listado de clase monthlyCalendar | Listado de calendarios para hacer copias virtuales |
differentialHour | int | [opcional] | Hora de copia diferencial | |
differentialMinute | int | [opcional] | Minuto de copia diferencial | |
differentialPool | string | [opcional] | Pool existente | Pool de copia diferencial |
fullHour | int | [opcional] | Hora de copia total | |
fullMinute | int | [opcional] | Minuto de copia total | |
fullPool | string | [opcional] | Pool existente | Pool de copia total |
incrementalHour | int | [opcional] | Hora de copia incremental | |
incrementalMinute | int | [opcional] | Minuto de copia incremental | |
incrementalPool | string | [opcional] | Pool existente | Pool de copia incremental |
name | string | Nombre | ||
virtualHour | int | [opcional] | Hora de copia virtual | |
virtualMinute | int | [opcional] | Minuto de copia virtual | |
virtualPool | string | [opcional] | Pool existente | Pool de copia virtual |
scheduleMonthlyCalendar | Elemento de calendario de planificación mensual | |||
day | string | L | M | X | J | V | S | D | Día de la semana | |
numWeek | int | 1 a 4 | Número de semana del mes | |
pool | Conjunto de backup | |||
copyDestination | string | [opcional] | Pool existente | Conjuto destino de copia |
durationHours | int | [opcional] | Máxima duración en horas de copia | |
id | string | [opcional] | Identificador de pool | |
migrationHours | int | [opcional] | Máxima duración de migración | |
name | string | Nombre del conjunto | ||
recyclePool | string | [opcional] | Pool existente | Conjunto de reciclaje |
retention | int | Retención de volúmenes en días | ||
scratchPool | string | [opcional] | Pool existente | Pool de scractch |
storage | string | Repositorio asociado | ||
type | string | [opcional] | Por defecto es Backup. No necesario para el alta | Tipo de pool |
autoRecycle | boolean | [opcional] | Auto-reciclado (bacula elimina los volúmenes purgados si necesita nuevos y no hay disponibles) | |
maximumVolumeJobs | int | [opcional] | Número máximo de jobs por volumen (recomendable a 1 con storages con paralelización) | |
storageDisk | Repositorio de tipo disco | |||
aligned | boolean | [opcional] | Activar / Desactivar alineamiento para deduplicación de datos | |
group | string | [opcional] | Agregado existente | Nombre de agregado |
name | string | Nombre de repositorio | ||
netInterface | string | [opcional] | Interfaz existente | Todas | Interfaz de red por la que es accesible el repositorio |
server | string | [opcional] | IP válida | Servidor si el repositorio se aloja en un volumen compartido |
share | string | [opcional] | Recurso compartido existente | Nombre del recurso compartido si es el caso |
type | string | No necesario para el alta | Tipo de repositorio | |
volume | string | [opcional] | Volumen existente | Nombre de volumen |
paralelJobs | int | [opcional] | Número máximo de jobs en paralelo que podrán ejecutarse sobre el repositorio | |
storageLibrary | Repositorio de tipo librería | |||
address | string | [opcional] | Dirección del storage | |
drive | string | Path del drive | ||
format | string | LTO1 | LTO2 | LTO3 | LTO4 | DLT | SDLT | DDS1 | DDS2 | DDS3 | DDS4 | DAT72 | DAT160 | TR | File | Formato de datos | |
name | string | Nombre del reposiitorio | ||
netInterface | string | Interfaz de red por la que es visible el repositorio | ||
spool | string | Nombre de volumen de caché previa a disco | ||
spoolSize | int | [opcional] | Tamaño de caché previa a disco | |
tapes | List<tape> | Lista de clases tape | Lista de cintas asociadas | |
unitsSize | string | [opcional] | M | G | T | Unidad de tamaño de caché previa a disco |
shared | boolean | [opcional] | Parámetro para compartir la librería utilizando el plugin 'Shared Storage' | |
storageLibraryTape | Cinta asociada a una librería | |||
name | string | Nombre / path de cinta | ||
cloudDiskAdd | Elemento para añadir discos cloud | |||
accountAlias | string | Cuenta asociada al disco | ||
bucket | string | [opcional] | Nombre del bucket en el caso de cuentas S3 | |
size | int | Tamaño del disco a crear | ||
sizeUnit | string | M | G | T | Unidad para el tamaño | |
type | string | S3 | Atmos | Tipo | |
iscsiTarget | Elemento de targets iscsi. Los campos necesarios para el alta están marcados con * | |||
device* | string | [opcional] | Identificador de dispositivo al dar de alta un target* | |
disk | string | [opcional] | Identificador de disco | |
iqn | string | Iqn del target | ||
lv* | string | Nombre del volúmen lógico* | ||
password* | string | [opcional] | Password (si tiene acceso CHAP)* | |
scsi | string | [opcional] | Identificador scsi en el equipo | |
tapeModel | string | [opcional] | Modelo de cinta | |
tapeSerial | string | [opcional] | Número de serie de cinta | |
tapeVendor | string | [opcional] | Fabricante de la cinta | |
type* | string | autochanger | tape | volume | Tipo de target* | |
user* | string | [opcional] | Usuario (para acceso CHAP)* | |
vg* | string | Nombre del agregado* | ||
templateJob | ||||
groupStatus | string | [opcional] | Plantilla para advanced backup. Los campos necesarios para el alta están marcados con * | |
name | string | Estado de grupos de jobs | ||
templateSteps | List<templateStep> | Listado de clases templateStep | Nombre de plantilla | |
Listado de pasos | ||||
templateStep | ||||
data | string | [opcional] | Valor asignado a la entidad asociada | |
name | string | Paso existente | Nombre del paso | |
order | int | [opcional] | Orden del paso en la plantilla | |
type | string | BACKUP | SCRIPT_PROCESS | SCRIPT_APPLICATION | ADVANCED_STORAGE | Tipo de paso | |
share | Recurso compartido | |||
address* | string | [opcional] | Dirección permitida de acceso | |
async* | boolean | [opcional] | Activar o desactivar transacciones asíncronas (NFS) | |
fstype | string | [opcional] | Tipo de sistema de ficheros (CIFS) | |
lv* | string | Volumen existente | Nombre de volumen lógico a compartir | |
name | string | [opcional] | Nombre del recurso compartido (CIFS) | |
path | string | [opcional] | Path del recurso compartido | |
protocol* | string | NFS | CIFS | FTP | Protocolo de volumen compartido | |
recycle* | boolean | [opcional] | Activar o desactivar directorio de reciclaje (CIFS) | |
squash* | boolean | [opcional] | Activar o desactivar squash (NFS) | |
vg* | string | Agregado existente | Nombre del agregado que contiene el volumen | |
hypervisorJob | Trabajo de hipervisor | |||
datastores | List<hypervisorDataStore> | [opcional] | Listado de clases hypervisorDataStore | Listado de datastores objetivo |
hypervisor | string | [opcional] | Hipervisor existente | Nombre de hipervisor asociado |
mode | string | [opcional] | generic | vmware | xen | Modo del trabajo de hipervisor |
name | string | [opcional] | Nombre | |
storage | string | [opcional] | Repositorio existente | Repositorio asociado |
virtualMachines | List<hypervisorVirtualMachine> | [opcional] | Listado de clases hypervisorVirtualMachine | Listado de máquinas virtuales objetivo |
hypervisorDataStore | Objeto datastore de hipervisor | |||
directoryBased | boolean | [opcional] | Basado o no en directorio | |
free | string | [opcional] | Espacio disponible | |
mode | string | [opcional] | Modo | |
name | string | Nombre | ||
path | string | [opcional] | Path | |
hypervisorVirtualMachine | Máquina virtual de hipervisor | |||
datastore | string | [opcional] | Datastore asociado | |
name | string | Nombre | ||
network | string | [opcional] | Datos de red | |
snapshot | string | [opcional] | Nombre de snapshot (si procede) | |
volumeExtend | Objeto para configurar un volumen existente | |||
aggregate | string | Agregado existente | Agregado al que pertenece el volumen | |
total_reservation | double | [opcional] | Tamaño de reserva total | |
data_reservation | double | [opcional] | Tamaño para reserva de datos | |
data_size | double | [opcional] | Tamaño para cuota de datos | |
name | string | Volumen existente | Nombre del volumen | |
size | int | Tamaño del volumen | ||
size_type | string | M | G | T | Unidad en la que se indican los tamaños | |
snap_reservation | double | [opcional] | Tamaño de reserva de snapshots | |
snap_size | double | [opcional] | Tamaño de cutoa de snapshots | |
snapshotDaily | boolean | [opcional] | Activar / Desactivar snapshots diarios (volúmenes de tipo ZFS) | |
snapshotDailyHour | int | [opcional] | Hora para snapshots diarios | |
snapshotDailyRetention | int | [opcional] | Días de retención de los snapshots diarios | |
snapshotHourly | boolean | [opcional] | Activar / Desactivar snapshots cada hora | |
snapshotHourlyRetention | int | [opcional] | Días de retención de snapshots de hora | |
snapshotManualRemove | boolean | [opcional] | Activa o desactiva el borrado horario de snapshots manuales en el volumen actual | |
timeZone | Objeto de zona horaria | |||
zone | string | Nombre de zona | ||
scriptProcess | Proceso de script de advanced backup | |||
abortType | boolean | [opcional] | Activar / desactivar abortar en caso de fallo | |
application | string | [opcional] | Aplicación existente | Aplicación asociada |
name | string | Nombre de proceso de script | ||
scriptItems | List<scriptItem> | Listado de clases scriptItem | Listado de elementos de comando | |
step | string | Paso existente | Paso de advanced backup asociado | |
system | string | Sistema existente | Sistema de advanced backup asociado | |
type | string | [opcional] | 0 = Después de ejecución | 1 = Antes de ejecución | Tipo de paso |
variables | List<variable> | [opcional] | Listado de clases variable | Listado de variables del script |
scriptItem | Elemento comando de script process | |||
content | string | Comando | ||
order | int | Orden dentro de un listado de scriptItems | ||
shell | string | [opcional] | sh | bash | csh | perl | win | others | Shell en la que se ejecutará |
variable | Objeto variable de advanced backup | |||
description | string | [opcional] | Descripción | |
name | string | Nombre | ||
password | boolean | [opcional] | Indicar si es una variable para un password o no | |
advancedStorage | Objeto de advanced storage de advanced backup | |||
name | string | Nombre | ||
steps | List<stepStorage> | [opcional] | Listado de clases stepStorage | Lista de pasos de advanced storage |
typeConnection | string | [opcional] | SSH | Tipo de conexión |
typeStorage | string | [opcional] | iscsi | fc | Tipo de storage |
variables | List<variable> | [opcional] | Listado de clases variable | Lista de variables asociadas |
stepStorage | Paso de advanced storage | |||
mount | boolean | [opcional] | Indica si es un paso de presentación de lun, que requiere posterior montaje | |
name | string | Nombre de paso | ||
scripts | List<scriptItem> | [opcional] | Lista de clases scriptItem | Listado de comandos |
lvm | boolean | Indica si es un paso de montaje en el que las luns a montar contienen un sistema lvm | ||
volsToMount | List<reference> | Nombres de las luns a montar, pueden contener variables: /vol/volX/{[[[lun1]]] | ||
lvmVols | List<reference> | Nombres de los volúmenes LVM a montar: agg1-vol1, agg2-vol2 ... | ||
storageTape | Repositorio de cinta. Alta: campos marcados con * | |||
address | string | [opcional] | Dirección del repositorio | |
autoMount* | boolean | [opcional] | Activar / desactivar automontaje | |
drive* | string | Path de dispositivo existente en el sistema | Dispositivo de cinta asociado | |
format* | string | LTO1 | LTO2 | LTO3 | LTO4 | DLT | SDLT | DDS1 | DDS2 | DDS3 | DDS4 | DAT72 | DAT160 | TR | File | Formato de cinta | |
name* | string | Nombre de repositorio | ||
netInterface* | string | Interfaz de red existente | Todas | Interfaz de red asociada | |
spool* | string | Volumen existente en el sistema | Volumen de spool | |
spoolSize* | int | [opcional] | Tamaño de spool en bytes | |
user | Usuario del sistema | |||
category | List<category> | [opcional] | Lista de categorías existentes | Categorías asociadas al usuario |
description | string | [opcional] | Descripción | |
name | string | Nombre de usuario | ||
password | string | [opcional] | Contraseña | |
roles | List<role> | [opcional] | Listado de clases role | Listado de roles del usuario |
role | Rol de usuarios del sistema | |||
description | string | [opcional] | Descripción | |
name | string | Nombre | ||
scheduleDaily | Planificación diaria | |||
dailyCalendar | List<dailyCalendar> | [opcional] | Listado de clases dailyCalendar | Listado de calendiarios diarios |
name | string | Nombre de planificación | ||
scheduleDailyCalendar | Objeto calendario de planirficación diaria | |||
hour | int | 00 a 23 | Hora de planificación | |
level | string | Virtual | Full | Incremental | Diferencial | Nivel de backup | |
minute | int | 00 a 59 | Minutos | |
pool | string | Conjunto existente | Conjunto de backup | |
fileset | Patrón de ficheros | |||
acl | boolean | [opcional] | Activar / Desactivar ACL | |
compression | string | [opcional] | no | gzip | lzo | Tipo de compresión |
extension | string | [opcional] | extensiones separadas por ',' | Extensiones a excluir |
exclude | string | [opcional] | Separar por \n | Paths a excluir |
include | string | [opcional] | Separar por \n | Paths a incluir |
local | boolean | [opcional] | Indica si es un fileset local | |
md5 | boolean | [opcional] | Activa / Desactiva encriptación md5 | |
multiplefs | boolean | [opcional] | Activa / Desactiva el soporte para múltiples sistemas de ficheros | |
name | string | Nombre del patrón | ||
ndmp | boolean | [opcional] | Indica si es un patrón ndmp | |
ndmpAddress | string | [opcional] | Dirección del servidor ndmp | |
ndmpAuth | string | [opcional] | none | text | md5 | Protocolo de autenticación |
ndmpPassword | string | [opcional] | Password ndmp | |
ndmpPort | int | [opcional] | Puerto ndmp | |
ndmpType | string | [opcional] | dump | Tipo de copia (actualmenet solamente se soporta dump) |
ndmpUser | string | [opcional] | Usuario ndmp | |
volumesNdmp | List<volumeNdmp> | [opcional] | Listado de volúmenes ndmp objetivo | |
plugins | List<plugin> | [opcional] | Listado de plugins a aplicar (patrón de ficheros normal de cliente) | |
volumes | List<volume> | [opcional] | Listado de volúmenes objetivo (patrón de ficheros local) | |
vss | boolean | [opcional] | Activar / desactivar vss | |
vmware | boolean | [opcional] | Indica si es un fileset vmware | |
vmwareCbt | boolean | [opcional] | Indica si el fileset utilizará tecnología cbt | |
vmwareIndex | boolean | [opcional] | Indica si se generarán en tiempo de backup los índices para la aceleración de las recuperaciones de ficheros individuales de máquinas virtuales | |
vmwareClient | string | [opcional] | Nombre de cliente vmware existente en el sistema | Cliente vmware existente en el sistema |
vmwareDatastores | List<vmwareDatastore> | [opcional] | Listado de datastores de los que hacer backup (datastore completo) | |
vmwareHosts | List<vmwareHost> | [opcional] | Listado de hosts de los que hacer backup (host completo) | |
vmwareMachines | List<vmwareMachine> | [opcional] | Listado de máquinas virtuales de las que hacer backup | |
vmwareVcenterComplete | boolean | Indica si se quiere efectuar backup del vcenter completo | ||
FilesetRhv | Patrón de ficheros RHV | |||
name | String | PUT:Obligatorio POST: Ausente | Nombre del fileset | |
description | String | Descripción del fileset | ||
client | String | PUT: Obligatorio POST: Ausente | Cliente | |
type | String | Tipo | ||
signature | String | Parámetro Bacula | ||
md5 | String | true or false | Parámetro Bacula | |
abort_on_error | String | true or false | Parámetro Bacula | |
dedup | String | no, storage, bothsides | Parámetro Bacula | |
compression | String | no, GZIP, LZO | Parámetro Bacula | |
path | String | PUT: Obligatorio | Ejemplo: /vms/vmPrueba, /vms/vmPrueba2, /datacenters/Default/clusters/Default/ | Ruta RHV de cada elemento separado por "," |
target_exclude_disks | String | Exclusión de discosId separados por "," | ||
target_exclude_vms | String | Exclusión de vms separadas por "," | ||
clone_storage | String | true or false | Clonación en el backup | |
restorecache_storage_domain | String | Dominio de almacenamiento de la cache | ||
restorecache_retention | String | restorecache_retention > 0 | Numero de copias almacenadas en el RHVM | |
target_configuration_only | String | true or false | Backup de sólo la configuración | |
num_tries_connection | String | num_tries_connection > 0 | Número de intentos de conexión antes de dar error. | |
timeout_request | String | timeout_request > 0 | Tiempo de espera entre cada intento de petición. | |
FilesetDocker | Patrón de ficheros Docker | |||
name | String | PUT:Obligatorio POST: Ausente | Nombre del fileset | |
description | String | Descripción del fileset | ||
client | String | PUT: Obligatorio POST: Ausente | Cliente | |
type | String | Tipo | ||
signature | String | Parámetro Bacula | ||
md5 | String | true or false | Parámetro Bacula | |
abort_on_error | String | true or false | Parámetro Bacula | |
dedup | String | no, storage, bothsides | Parámetro Bacula | |
compression | String | no, GZIP, LZO | Parámetro Bacula | |
volume | String | Ejemplo: volumeData,volume2 | Volúmenes Docker separadas por ",". Permite expresiones regulares. | |
all_volumes | String | Ejemplo: yes or no | Especifica el backup automático de los volúmenes indexados por los contenedores seleccionados. | |
include_container | String | Ejemplo: Debian10_1e796b22-f2ec-423d-96b2-97d336c0928c_0 | Contenedores Docker separados por ",". Permite expresiones regulares. | |
include_image | String | Ejemplo: Debian.*, Ubuntu.* | Imágenes Docker separadas por ",". Permite expresiones regulares. | |
exclude_container | String | Ejemplo: Debian9.* | Backup de sólo la configuración | |
exclude_image | String | Ejemplo: Debian9.*,Ubuntu16.* | Número de intentos de conexión antes de dar error. | |
mode | String | pause or nopause | Deshabilitación de las entradas E/S de los contenedores. | |
timeout | Integer | 60 | Timeout para la conexión con el contenedor 'Bacula Archive' durante el backup de volúmenes. | |
docker_host | String | Ejemplo: 192.168.0.10:2709 | Si se especifica, todas las operaciones serán ejecutadas utilizando esta dirección. Esta opción deshabilita el respaldo de volúmenes | |
FilesetKubernetes | Patrón de ficheros Kubernetes | |||
name | String | PUT:Obligatorio POST: Ausente | Nombre del fileset | |
description | String | Descripción del fileset | ||
client | String | PUT: Obligatorio POST: Ausente | Cliente | |
type | String | Tipo | ||
signature | String | Parámetro Bacula | ||
md5 | String | true or false | Parámetro Bacula | |
abort_on_error | String | true or false | Parámetro Bacula | |
dedup | String | no, storage, bothsides | Parámetro Bacula | |
compression | String | no, GZIP, LZO | Parámetro Bacula | |
config | String | /etc/kubernetes/admin.conf | Ruta de la configuración del cluster | |
incluster | String | yes o no | Definido cuando el agente se encuentra en un pod del cluster. | |
host | String | 192.168.0.23 | Define la url del API de kubernetes | |
token | String | (Hash token) | Define el token de la conexión. | |
verify_ssl | String | yes o no | Verificación SSL en la conexión | |
ssl_ca_cert | String | /etc/kubernetes/certs/ca.cert | Ruta del certificado | |
timeout | Integer | 10 | Timeout (segundos) en las operaciones de red. | |
debug | String | true o false | Activación del debug. Ruta '/opt/bacula/working/backendplugin/' | |
namespace | String | Ejemplo: default,kuber-control | Namespaces que se respaldarán. Permite múltiples valores separados por una ','. El valor '**' respaldará todos. | |
persistentvolume | String | Ejemplo:my-volume,volume-data | Configuración de los volúmenes persistentes que se respaldarán. Permite múltiples valores separados por una ','. El valor '**' respaldará todos. | |
pvconfig | String | true or false | Deshabilita el respaldo de la configuración del volumen persistente | |
pvcdata | String | Ejemplo: volumeClaim, myVolumeClaim | Persistent Volume Claims que se respaldarán. Permite múltiples valores separados por una ','. El valor '**' respaldará todos. Es necesario especificar namespaces concretos. | |
fdaddress | String | Ejemplo:192.168.0.32 | Ip o nombre dominio donde está alojado el plugin, accesible desde el Bacula Backup Proxy. | |
fdport | Integer | Ejemplo: 9104 | Puerto donde escuchará el plugin las conexiones entrantes del Bacula Backup Proxy. | |
pluginhost | String | Ejemplo: 192.168.0.32 | Ip o dominio donde el Bacula Backup Proxy se conecta durante las operaciones de respaldo. | |
pluginport | Integer | Ejemplo: 9104 | Puerto donde escuchará el plugin las conexiones entrantes del Bacula Backup Proxy. | |
fdcertfile | String | /etc/kubernetes/certs/bacula-backup.cert | Path del certficiado CA del FD | |
fdkeyfile | String | /etc/kubernetes/certs/bacula-backup.key | Path de la clave del certificado del FD | |
baculaimage | String | Ejemplo: bacula-backup:29Oct19 | Nombre de la imagen del pod del Bacula Backup Proxy en el registro del cluster. | |
imagepullpolicy | String | ifnotpresent, always or never | Conjutno de políticas de pull de las imágenes durante el despliegue del pod Bacula Backup Proxy. | |
filesetNdmpVolume | Volumen de patrón de ficheros ndmp | |||
file | string | Path a copiar | ||
volume | string | Nombre / Path del volumen | ||
filesetPlugin | Pugin de patrón de ficheros | |||
name | string | delta | systemstate | sharepoint | mssql | exchange | winbmr | Nombre del plugin | |
filesetLocalVolume | Volumen local para patrón de ficheros local | |||
name | string | Path existente de un volumen local | Path completo del volumen local | |
filesetNetappAccelerator | Patrón de ficheros para el plugin Netapp Accelerator | |||
name | string | Nombre | ||
type | string | NFS | CIFS | Tipo de volumen compartido que albergará los datos de Netapp (NFS ó CIFS) | |
host | string | Host donde se encuentra Netapp | ||
user | string | Usuario de acceso | ||
password | string | Password de acceso | ||
basevoldir | string | [opcional] | Volumen base donde se encuentran los directorios (No necesario especificar para altas/mod) | |
allvolumes | boolean | Coger todos los volúmenes presentes o no | ||
md5 | boolean | [opcional] | Ficheros con firma md5 | |
compression | string | [opcional] | no | gzip | lzo | Tipo de compresión |
volumes | List<filesetNetappAcceleratorVolume> | Lista de volúmenes de los que hacer backup | ||
filesetNetappAcceleratorVolume | Clase wrapper para especificar volúmenes en un patrón del plugin Netapp Acceleratro | |||
name | string | Nombre | ||
filesetOracle | Patrón de ficheros para el plugin oracle | |||
name | string | Nombre del patrón | ||
type | string | DUMP | RMAN | Tipo de patrón Oracle | |
oracle_user | string | [opcional] | Usuario | |
sid | string | [opcional] | SID de la BD | |
oracle_home | string | [opcional] | Ruta home de la instalación de Oracle | |
sbt | boolean | [opcional] | Activar modo SBT | |
verbose | boolean | [opcional] | Activar modo 'verbose' para ver más información en el log | |
oracle_sudo | boolean | [opcional] | Activar modo 'oracle_sudo' para ejecutar los comandos como sudo | |
md5 | boolean | [opcional] | Activar firma md5 en ficheros | |
compression | string | [opcional] | no | gzip | lzo | Tipo de compresión |
exCompression | boolean | [opcional] | Activar compresión en el comando de exportación | |
squemas | List<FilesetOracleSquema> | [opcional] | Listado de squemas de las bases de datos a respaldar | |
dump_opts | string | [opcional] | Opciones adicionales para el modo dump | |
FilesetOracleSquema | Representa pares de instancia-esquema para el plugin de oracle | |||
squema | string | Nombre de esquema | ||
instance | string | [opcional] | Nombre de instancia | |
storageInventory | Storage de inventario de advacned backup | |||
address | string | IP válida | Dirección del storage | |
certificate | string | [opcional] | Certificado digital de acceso | |
iqnwwn | string | IQN o WWN según el caso | ||
name | string | Nombre | ||
password | string | [opcional] | Contraseña de acceso SSH | |
port | int | Puerto de acceso SSH | ||
typesAdvanced | List<typeAdvanced> | [opcional] | Listado de clases typeAdvanced | Listado de advanced storages asociados |
user | string | [opcional] | Usuario de acceso | |
typeAdvanced | Tipo de advanced storage para dar de alta storage de inventario en advanced backup | |||
name | string | Advanced storage existente | Nombre de advanced storage | |
iscsiExternalTargetLogin | Objeto para hacer login en un target iscsi externo | |||
address | string | IP válida | Dirección del target | |
method | string | [opcional] | vacío | CHAP | Método de login |
password | string | [opcional] | Contraseña | |
port | string | [opcional] | Puerto | |
targets | List<iscsiTargetSimple> [opcional] | Listado de targets | ||
user | string | [opcional] | Usuario | |
iscsiTargetSimple | Target iscsi para login en targets externos | |||
target | string | [opcional] | Iqn existente en la máquina destino | Nombre iqn del target |
group | Objeto representante de un grupo de jobs (no es para alta) | |||
alert | string | [opcional] | Alerta de la última ejecución del grupo | |
end | string | [opcional] | Fecha de fin de la última ejecución | |
jobs | List<jobGroup> | Listado de jobs del grupo | ||
name | string | [opcional] | Nombre del grupo | |
schedule | string | [opcional] | Planificación asociada | |
start | string | [opcional] | Fecha de inicio de la última ejecución | |
status | string | [opcional] | Estado global del grupo | |
storage | string | [opcional] | Repositorio asociado al grupo | |
jobGroup | Objeto de trabajo que agrupa datos de configuración y ejecución para clase group | |||
jobConfiguration | jobScheduled | [opcional] | Datos de configuración del trabajo | |
lastJob | jobArchieved | [opcional] | Datos de la última ejecución del trabajo | |
name | string | [opcional] | Nombre del trabajo | |
order | int | [opcional] | Orden dentro del listado de trabajos del grupo | |
jobArchieved | Trabajo ejecutado. Datos de ejecución | |||
alert | string | Mensaje de alerta del trabajo | ||
endtime | string | Fecha de fin | ||
virtualEndtime | string | Fecha de fin para backups virtuales. Los backups virtuales muestran en su endtime por defecto el 'realendtime' o fecha de fin de ejecución | ||
errors | string | Errores en la ejecución | ||
files | int | Número de archivos copiados | ||
id | string | Identificador del trabajo | ||
level | string | Nivel de ejecución del trabajo | ||
name | string | Nombre del trabajo | ||
returned | string | Estado de retorno del trabajo | ||
size | string | Tamaño de archivos copiados | ||
sizeOrigin | string | Tamaño de archivos leídos o en origen | ||
starttime | string | Fecha de inicio | ||
status | string | Estado del trabajo | ||
type | string | Tipo de trabajo | ||
clientName | string | Nombre del cliente asociado | ||
speed | double | Velocidad del job | ||
returnCode | int | Código de retorno del job (si ha finalizado) | ||
returnCodeDescription | string | Descripción del mensaje del código de retorno | ||
storage | string | Repositorio asociado | ||
pool | string | Pool asociado | ||
category | string | Categorías del cliente asociado al trabajo | ||
replicationSource | Origen de replicación de volúmenes | |||
address | string | IP válida | Dirección destino con la cual se comunicará este origen | |
append | boolean | [opcional] | Activa | Desactiva el append de ficheros | |
checksum | boolean | [opcional] | Activa | Desactiva el checksum | |
compress | boolean | [opcional] | Activa | Desactiva la compresión | |
delete | boolean | [opcional] | Activa | Desactiva el borrado de ficheros en destino | |
delta | boolean | [opcional] | Activa | Desactiva las transferencias delta | |
destinationLv | string | Volumen existente y configurado en destnio | Volumen de destino | |
destinationVg | string | Agregado que contiene el volumen existente y configurado en destino | Agregado de destino | |
filesystem | boolean | [opcional] | Activa | Desactiva la réplica a nivel de sistema de ficheros | |
localAddress | string | IP válida | Dirección local por la que se comunica esta réplica | |
lv | string | Volumen existente | Volumen origen a replicar | |
mbs | int | [opcional] | Límite de megabytes por segundo de transferencia | |
password | string | Password de réplica | ||
vg | string | Agregado existente | Agregado contenedor del volumen origen a replicar | |
category | Categorías para clientes | |||
description | string | [opcional] | Descripción | |
string | [opcional] | Email asociado a la categoría para alertas | ||
name | string | Nombre de categoría | ||
systemConfiguration | Objeto de configuración del sistema | |||
https | boolean | [opcional] | Activar o desactivar https para la interfaz eb | |
httpsCertificate | string | [opcional] | Certificado https | |
httpsPassword | string | [opcional] | Password https | |
string | [opcional] | Email de administración del sistema para enviar alertas | ||
mailHost | string | [opcional] | Servidor de reenvío de correo | |
password | string | [opcional] | Password de administración del sistema | |
reporthour | string | [opcional] | xx:xx | Hora de envío de informe diario |
snmptraphost | string | [opcional] | ip válida | Servidor de envío de traps snmp |
snmptrapversion | int | [opcional] | 1 | 2 | Versión de snmp a utilizar |
reportMail | string | [opcional] | Dirección de email válida | Dirección de email a la que se enviarán los informes |
mailFrom | string | [opcional] | Dirección de email válida | Dirección de email que se utilizará como FROM en informes y correos de Watchdog / Bacula |
baculaMailLevel | string | [opcional] | only_error | only_ok | all | Nivel de correos de bacula: todos | solo error | solo ok |
maximumReloadRequests | int | [opcional] | Número máximo de reloads simultáneaos permitidos para bacula | |
aggregate | Objeto agregado para almacenamiento. Campos para alta marcados con * | |||
devices* | List<physicalDevice> | Listado de dispositivos físicos que componene el agregdo | ||
free | string | [opcional] | Tamaño libre restante en formato humano | |
freeRaw | string | [opcional] | Tamaño libre restante | |
local* | boolean | Indica si es un agregado local o no (para cluster) | ||
lv | string | [opcional] | lv (XFS) | |
name* | string | Nombre de agregado | ||
pv | string | [opcional] | pv (XFS) | |
quota | string | [opcional] | Cuota total establecida en formato humano | |
quotaRaw | string | [opcional] | Cuota total | |
reservation | string | [opcional] | Reservas totales en formato humano | |
reservationRaw | string | [opcional] | Reservas totales | |
size | string | [opcional] | Tamaño total en formato humano | |
sizeRaw | string | [opcional] | Tamaño total | |
type* | string | ZFS | XFS | Tipo de agregado | |
unused | string | [opcional] | Espacio sin utilizar en formato humano | |
unusedRaw | string | [opcional] | Espacio sin utilizar | |
usedPercent | string | [opcional] | Porcentaje de uso | |
physicalDevice | Dispositivo físico. Campos para alta marcados con * | |||
device | string | [opcional] | /dev/xx | Path sencillo de dispositivo |
deviceId* | string | [opcional] | /dev/disk/by-id/xxxx | Path del dispositivo por id |
free | string | [opcional] | Tamaño libre en formato humano | |
freeRaw | string | [opcional] | Tamaño libre | |
model | string | [opcional] | Modelo de dispositivo | |
size* | string | [opcional] | Tamaño del dispositivo en formato humano | |
sizeRaw | string | [opcional] | Tamaño del dispositivo | |
vendor | string | [opcional] | Fabricante del dispositivo | |
vg* | string | [opcional] | Agregado asociado | |
timeServerSet | Objeto de configuración de servidores ntp | |||
server1 | timeServer | Servidor 1 | ||
server2 | timeServer | [opcional] | Servidor 2 | |
server3 | timeServer | [opcional] | Servidor 3 | |
timeServer | Contenedor para objeto de servidores ntp | |||
server | string | Nombre del servidor | ||
filesetVmwareDatastore | Wrapper para el listado de datastores en un fileset vmware | |||
name | string | Nombre de datastore | ||
filesetVmwareHost | Wrapper para el listado de hosts en un fileset vmware | |||
name | string | Nombre de host | ||
filesetVmwareMachine | Wrapper para el listado de máquinas virtuales en un fileset vmware | |||
name | string | Nombre de máquina | ||
alert | Objeto de alerta de Watchdog | |||
id | string | Identificador de alerta | ||
subject | string | Asunto de la alerta | ||
message | string | Mensaje específico de alerta | ||
entity | string | Entidad generadora de la alerta | ||
date | string | Fecha de alerta | ||
memoryStatus | Objeto que representa el estado general de la memoria | |||
totalRamRaw | Double | Total RAM (bytes) | ||
totalRam | String | Total RAM (formato legible) | ||
usedRamPercentRaw | Double | Porcentaje RAM usado | ||
usedRamPercent | String | Porcentaje RAM usado (legible con %) | ||
totalUniqueDataRaw | Long | Cantidad de datos únicos presentes en el sistema (bytes) | ||
totalUniqueData | String | Cantidad de datos únicos presentes en el sistema (formato legible) | ||
recomendedRamRaw | Double | RAM recomendada para los datos únicos presentes (bytes) | ||
recomendedRam | String | RAM recomendada para los datos únicos presentes (formato legible) | ||
recomendedOverTotalRamAlert | Boolean | Alerta si la memoria recomendada supera a la disponible | ||
arcSizeRaw | Double | Tamaño de ARC (bytes) | ||
arcSize | String | Tamaño de ARC (formato legible) | ||
arcMetadataSizeRaw | Double | Tamaño metadatos de ARC (bytes) | ||
arcMetadataSize | String | Tamaño metadatos de ARC (formato legible) | ||
arcMetadataUsedPercentRaw | Double | Porcentaje de uso de metadatos | ||
arcMetadataUsedPercent | String | Porcentaje de uso de metadatos (legible con %) | ||
arcHitRatioRaw | Double | Porcentaje de acierto en Caché metadatos | ||
arcHitRatio | String | Porcentaje de acierto en Caché metadatos (legible con %) | ||
l2arcSizeRaw | Double | Tamaño de caché de segundo nivel (bytes) | ||
l2arcSize | String | Tamaño de caché de segundo nivel (legible) | ||
l2arcHitRatioRaw | Double | Porcentaje de acierto en caché de segundo nivel | ||
l2arcHitRatio | String | Porcentaje de acierto en caché de segundo nivel (legible con %) | ||
gedDedupRatio | Double | (Global Dedup) Factor de deduplicación | ||
gedCompressRatio | Double | (Global Dedup) Factor de compresión | ||
gedSavedRatio | Double | (Global Dedup)Factor total de ahorro (Factor dedup*Factor comp) | ||
gedUniqueData | String | (Global Dedup) Datos únicos (legible) | ||
gedUniqueDataRaw | Double | (Global Dedup) Datos únicos (bytes) | ||
gedUniqueCompressedData | String | (Global Dedup) Datos únicos comprimidos (legible) | ||
gedUniqueCompressedDataRaw | Double | (Global Dedup) Datos únicos comprimidos (bytes) | ||
gedTotalReferencedData | String | (Global Dedup) Datos totales referenciados (legible) | ||
gedTotalReferencedDataRaw | Double | (Global Dedup) Datos totales referenciados (bytes) | ||
gedSavedData | String | (Global Dedup) Datos ahorrados (legible) | ||
gedSavedDataRaw | Double | (Global Dedup) Datos ahorrados (bytes) | ||
gedRecommendedSSD | String | (Global Dedup) Tamaño recomendado SSD (legible) | ||
gedRecommendedSSDRaw | Double | (Global Dedup) Tamaño recomendado SSD (bytes) | ||
gedAllocatedData | String | (Global Dedup) Tamaño de datos de deduplicación escritos en disco (legible) | ||
gedAllocatedDataRaw | Double | (Global Dedup) Tamaño de datos de deduplicación escritos en disco (bytes) | ||
gedMLockMax | String | (Global Dedup) Máximo tamaño de metadatos para cargar en memoria | ||
gedMLockMin | String | (Global Dedup) Mínimo tamaño de metadatos para cargar en memoria | ||
gedMLocked | String | (Global Dedup) Metadatos cargados en memoria actualmente | ||
gedDdeErrors | Double | (Global Dedup) Número de errores en la tabla de dedup | ||
gedVacuumErrors | Double | (Global Dedup) Número de errores en último vacuum | ||
gedHashNum | String | (Global Dedup) Número de hashes en tabla dedup (legible) | ||
gedHashNumRaw | Double | (Global Dedup) Número de hashes en tabla dedup | ||
gedVacuumLastExecution | Date | (Global Dedup) Fecha de último proceso de optimizado | ||
gedVacuumDuration | String | (Global Dedup) Duración de último optimizado | ||
gedIndexesVolume | String | (Global Dedup) Volumen configurado para almacén de metadatos | ||
gedDataVolume | String | (Global Dedup) Volumen configurado para almacén de datos | ||
gedMetadata | String | (Global Dedup) Tamaño de metadatos (legible) | ||
gedMetadataRaw | Double | (Global Dedup) Tamaño de metadatos (bytes) | ||
gedReusable | String | (Global Dedup) Tamaño de disco reutilizable (por proceso de optimizado pendiente) (legible) | ||
gedReusableRaw | Double | (Global Dedup) Tamaño de disco reutilizable (por proceso de optimizado pendiente) (bytes) | ||
gedTotalUsed | String | (Global Dedup) Tamaño total utilizado en almacén de datos (legible) | ||
gedTotalUsedRaw | Double | (Global Dedup) Tamaño total utilizado en almacén de datos (bytes) | ||
gedIndexesUsed | String | (Global Dedup) Tamaño total utilizado en almacén de índices (legible) | ||
gedIndexesUsedRaw | Double | (Global Dedup) Tamaño total utilizado en almacén de índices (bytes) | ||
cpuStatus | Estado de carga de Proceso en el sistema | |||
cores | Integer | Número de núcleos | ||
usedCPUPercent | String | Porcentaje de uso general de CPUs (legible con %) | ||
usedCPUPercentRaw | Double | Porcentaje de uso general de CPUs | ||
systemLoad | Double | Carga en el sistema (indicador de espera de procesos en cola) | ||
haStatus | Estado de HA | |||
isHARunning | boolean | Indica si está activo HA en el equipo | ||
drbdStatus | String | Estado de DRBD | ||
drbdSyncStatus | String | Estado de sincronización DRBD | ||
heartbeatRunning | boolean | El servicio Heartbeat está funcionando | ||
drbdRunning | boolean | El servicio DRBD está funcionando | ||
cmanRunning | boolean | El servicio CMAN está funcionando | ||
nodeRole | String | Rol general del nodo (master o slave) | ||
isActiveNode | boolean | Indica si es el nodo activo en ese momento | ||
haNodeList | String | Lista de nodos del cluster | ||
haNodeName | String | Nombre de nodo (hostname) | ||
haInterface | String | Interfaz de cluster | ||
haManagementInterface | String | Interfaz de gestión (De IP virtual) | ||
virtualAddress | String | IP Virtual del cluster | ||
haInterfaceLinkStatus | String | Estado de la interfaz de cluster (hay o no conectividad al otro nodo) | ||
networkInterfaceStatus | Estado de interfaz de red | |||
nameInterface | String | Nombre de interfaz | ||
status | String | Estado | ||
instantOutMb | Double | Tasa de transferencia en ese instante (subida) | ||
instantInMb | Double | Tasa de transferencia en ese instante (bajada) | ||
cumulativeInOctects | Double | Tasa acumulada de trasnferencia (bajada) | ||
cumulativeOutOctects | Double | Tasa acumulada de trasnferencia (subida) | ||
inventoryBackup | Entrada de inventario de backup | |||
clientName | String | Nombre de cliente existente | Cliente del backup | |
clientAddress | String | Dirección o Nombre de dominio del cliente | Dirección de cliente | |
clientSO | String | Sistema operativo de cliente | SO cliente | |
clientCategory | String | Categorías asignadas al cliente separadas por ',' | Categorías del cliente | |
jobName | String | Nombre de trabajo de backup existente | Nombre del trabajo configurado | |
jobType | String | Tipo de backup (Backup, Copia) | Tipo de backup | |
jobLevel | String | Nivel de backup (Full, Level, Incremental, Virtual) | Nivel | |
enabled | boolean | Activo o no (true o false) | Trabajo activo o desactivado | |
filesetType | String | Tipo de fileset (local, client, vmware, mssqlvdi ...) | Tipo de copia | |
filesetPlugins | String | Plugins del fileset (delta, systemstate, mssql, exchange...) | Plugins de cliente configurados | |
filesetTarget | String | Listado de rutas de backup | Rutas objetivo del backup | |
filesetExcludes | String | Listado de rutas excluidas de backup | Rutas excluidas | |
poolName | String | Nombre de pool asociado | Conjunto de backup | |
poolRetention | String | Retención en días del pool asociado | Retención de este tipo de backup | |
storageName | String | Nombre de storage asociado | Nombre de storage | |
storageType | String | Tipo de storage asociado (remote, library...) | Tipo de storage | |
storageDevice | String | Dispositivo asociado al storage (nombre remoto, ruta volumen local ...) | Dispositivo asociado al storage | |
jobScript | Script asociado a un trabajo | |||
name | String | Nombre de scriptprocess existente | Nombre de scriptProcess existente | |
jobName | String | Nombre de trabajo existente | Nombre de job | |
order | int | Entero que indica el órden del script | Orden del script process dentro del listado de scripts del trabajo | |
runsWhen | String | 'BEFORE' | 'AFTER' | Cuándo se ejecuta el script | |
onSuccess | Boolean | [opcional] | true | false | Indica si se ejecuta cuando tiene éxito el trabajo |
onFailure | Boolean | [opcional] | true | false | Indica si se ejecuta cuando falla un trabajo |
abortOnError | Boolean | [opcional] | true | false | Abortar el trabajo en caso de error del script |
variables | List<variableValue> | [opcional] | Lista de objetos VariableValue | Listado de variables (nombre - valor) asociadas al script |
scriptItems | List<jobScriptItem> | Lista de objetos jobScriptItem | Listado de items con los comandos del script | |
jobScriptItem | Item de comando dentro de un jobScript | |||
command | String | Cadena con un comando | Comando | |
order | int | Entero | Orden del comando | |
shell | String | [opcional] | Tipo de shell | |
filesetMysql | Patrón de ficheros plugin Mysql | |||
name | String | Nombre del patrón | ||
type | String | [opcional] | dump | BINARY** | Tipo de backup mysql |
mysql_user | String | [opcional] | Superusuario | |
mysql_password | String | [opcional] | Contraseña superusuario | |
unix_user | String | [opcional] | Usuario sistema | |
name_service | String | [opcional] | Nombre del servicio | |
bin_path | String | [opcional] | Ruta binarios | |
tmp_path | String | [opcional] | Ruta archivos temporales | |
dump_opts | String | [opcional] | Parámetros adicionales | |
bin_format | String | [opcional] | **Formato fichero | |
config_file | String | [opcional] | Fichero de configuración | |
mycnf_dir | String | [opcional] | Directorio fichero de configuración | |
extra_file | String | [opcional] | Fichero de conexión | |
logbin_dir | String | [opcional] | **Directorio registro binario | |
character_set | String | [opcional] | Codificación de caracteres | |
innobackupex_tmpdir | String | [opcional] | **Ruta temporal BINARY | |
all_bbdd | boolean | [opcional] | true | false | Backup de todas las bases de datos |
sudo | boolean | [opcional] | true | false | Lanzar comandos como sudo |
global_consistency | boolean | [opcional] | true | false | Activar consistencia global |
abortOnError | boolean | [opcional] | true | false | Abortar trabajo en caso de cualquier error |
md5 | boolean | [opcional] | true | false | Activar firma md5 |
compression | String | [opcional] | no | gzip | lzo | Compresión de datos |
dedup | String | [opcional] | storage | bothsides | Tipo de dedupliación Global |
dataBaseNames | List<FilesetDataBaseName> | [opcional] | Lista de objetos FilesetDataBaseName | Lista de bases de datos a respaldar |
**El modo binary actualmente no está soportado | ||||
filesetPostgresql | Patrón de ficheros plugin Postgresql | |||
name | String | Nombre del patrón | ||
type | String | dump | pitr | Tipo de backup postgresql | |
md5 | boolean | [opcional] | true | false | Activar firma md5 |
compression | String | [opcional] | no | gzip | lzo | Compresión de datos |
dedup | String | [opcional] | storage | bothsides | Tipo de dedupliación Global |
postgresql_user | String | [opcional] | Superusuario | |
pathPassword | String | [opcional] | Ruta de archivo de password si no hay acceso directo | |
name_service | String | [opcional] | Nombre de servicio | |
bin_path | String | [opcional] | Ruta de binarios | |
tmp_path | String | [opcional] | Ruta de archivos temporales | |
wal_path | String | [opcional] | Ruta de archivado WAL | |
psql_dump_opts | String | [opcional] | Parámetros adicionales a backup DUMP | |
psql_compression | String | [opcional] | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Nivel de compresión nativa postgresql |
sudo | boolean | [opcional] | true | false | Lanzar comandos como sudo |
databaseName | String | [opcional] | Nombres de BBDD separados por ','. En caso de dejar vacío el campo, se haría backup de todas las BBDDs | Nombre(s) de BBDD |
filesetMssqlvdi | Patrón de ficheros del plugin MSSQL-VDI | |||
name | String | Nombre del patrón | ||
md5 | boolean | [opcional] | true | false | Activar firma md5 |
compression | String | [opcional] | no | gzip | lzo | Tipo de compresión |
dedup | String | [opcional] | storage | bothsides | Tipo de deduplicación |
allDataBases | boolean | true | false | Backup de todas las bases de datos | |
dataBaseNames | List<FilesetDataBaseName> | [opcional] | Lista de bases de datos a respaldar | |
copyOnly | String | [opcional] | no | all | incremental | Modo copy-only |
instance | String | [opcional] | Nombre de isntancia MSSQL | |
hostname | String | [opcional] | Nombre de host | |
connection | String | [opcional] | windows | server | Tipo de conexión |
domain | String | [opcional] | Nombre de dominio | |
user | String | [opcional] | Usuario de MSSQL | |
password | String | [opcional] | Password de MSSQL | |
abortOnError | boolean | [opcional] | true | false | Abortar trabajo en caso de cualquier error |
buffercount | Integer | [opcional] | Entero positivo > 10 | Número de buffers |
maxtransfersize | Integer | [opcional] | Cualquier múltiplo de 65536 (64 KB) hasta 4194304 bytes (4 MB) | Tamaño máximo de transferencia |
blocksize | Integer | [opcional] | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 65536 | Tamaño de bloque |
filesetDataBaseName | Nombre de base de datos en patrones de ficheros | |||
name | String | Nombre de base de datos | ||
jobLog | Entrada de log de un trabajo | |||
date | String | Fecha de la entrada | ||
error | Boolean | Indica si la línea indica la ocurrencia de algún error | ||
line | String | Contenido de la entrada de log | ||
restoreRhv | Restauración RHV | |||
id | String | Restauración por versión: Obligatorio | Id del job que se desea restaurar una vm. | |
client_name | String | Restauración por fecha: Obligatorio | Nombre del cliente origen | |
vm | String | Obligatorio | Nombre de la máquina para respaldar | |
postscript | String | Parámetro Bacula | ||
prescript | String | Parámetro Bacula | ||
summary | String | Parámetro Bacula | ||
date | String | Restauración por fecha: Obligatorio | dd/MM/yyyy HH:mm | Fecha para la restauración. Formato: dd/MM/yyyy HH:mm |
target_client | String | Obligatorio | Cliente objetivo | |
cluster | String | Cluster destino | ||
storage_domain | String | Dominio de almacenamiento destino | ||
vm_name | String | Nombre de la máquina virtual que tendrá después de la restauración | ||
vm_force_overwrite | String | true | false | Forzar sobreescritura | |
vm_swtichon | String | true | false | Encendido de la máquina cuando se recupere |
9 Versión de WBSAirback
Este documento se actualiza con cada versión o release que se publica de WBSAirback.
Para hacer uso de esta interfaz REST, además del documento, se recomienda siempre consultar las hojas WADL y XSD asociadas, las cuales se generan dinámicamente desde el propio equipo. De esta forma se pueden confirmar todos los parámetros y métodos, en caso de alguna inexactitud con lo aquí reflejado por diferencia de versiones de WBSAirback o cualquier otro motivo.
La versión sobre la que se basa actualmente este documento es v16.
groupJobConfig