Omitir vínculos de navegación | |
Salir de la Vista de impresión | |
![]() |
Guía de API de RESTful de Oracle® ZFS Storage Appliance, versión 2013.1.3.0 |
Introducción a la API de RESTful de Oracle ZFS Storage Appliance
Servicio de alertas de la API de RESTful
Servicio de problemas de la API de RESTful
Servicio de rol de la API de RESTful
Servicio de SAN de la API de RESTful
Servicio de almacenamiento de la API de RESTful
Operaciones de la agrupación de almacenamiento
Agregar almacenamiento a una agrupación
Operaciones del sistema de archivos
Cuota y uso del sistema de archivos
Operaciones de clonación e instantánea
Cambiar el nombre de la instantánea
Mostrar dependientes de la instantánea
Obtener servicio de replicación
Modificar el estado del servicio de replicación
Mostrar destinos de replicación
Obtener destino de replicación
Suprimir destino de replicación
Mostrar acciones de replicación
Modificar acción de replicación
Suprimir una acción de replicación
Mostrar fuentes de replicación
Mostrar paquetes de replicación
Todas las operaciones de los proyectos se pueden acotar a una agrupación específica. Los comandos que funcionan a través de todos los proyectos anexan "/projects" al identificador uniforme de recursos (URI), y comandos que operan en un solo anexo de proyecto "/projects/{project}".
|
La tabla siguiente muestra la lista de propiedades editables dentro de un recurso de proyecto.
|
Este comando muestra todos los proyectos de una agrupación específica. Cada proyecto devuelto contiene la lista de propiedades modificables enumeradas arriba, además del nombre de la agrupación, la hora de reacción, el estado de carga, las acciones de replicación y uso de datos.
Filtro de parámetros de consulta: un filtro de coincidencia de cadenas simple que requiere una propiedad dentro del proyecto para contener la misma cadena de filtros dentro de su valor.
|
Ejemplo de solicitud:
GET /api/storage/v1/pools/gold/projects HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
En un comando get correcto, se devuelve un HTTP code 200 (OK) (código HTTP 200 [correcto]) junto con una matriz de las propiedades del proyecto en formato JSON.
Resultado de ejemplo:
HTTP/1.1 200 OK Content-Type: application/json { “projects”: [{ “name”: “proj-01”, ... }, { “name”: “proj-02”, ... } }
También se admite una lista de proyectos a través de todas las agrupaciones; la URI contendrá solamente la ruta de los proyectos.
Solicitud de ejemplo para obtener todos los proyectos con "backup" como parte de sus propiedades:
GET /projects?filter=backup HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Este comando muestra las propiedades de un solo proyecto en una agrupación específica. Un comando get correcto devuelve HTTP Code 200 (OK) (código HTTP 200 [correcto]) junto con las propiedades del proyecto en formato JSON.
|
Solicitud de ejemplo para mostrar el proyecto denominado "proj-01" en la agrupación "gold":
GET /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Ejemplo de respuesta:
HTTP/1.1 200 OK Content-Type: application/json { "project": { "default_volblocksize": 8192.0, "logbias": "latency", "creation": "20130411T20:02:35", "nodestroy": false, "dedup": false, "sharenfs": "on", "sharesmb": "off", "default_permissions": "700", "mountpoint": "/export", "snaplabel": "", "id": "042919bb-0882-d903-0000-000000000000", "readonly": false, "rrsrc_actions": [], "compression": "off", "sharetftp": "", "default_sparse": false, "snapdir": "hidden", "aclmode": "discard", "copies": 1, "aclinherit": "restricted", "shareftp": "", "canonical_name": "gold/local/default", "recordsize": 131072.0, "usage": { "available": 1758424767306.0, "loading": false, "quota": 0.0, "snapshots": 0.0, "compressratio": 100.0, "child_reservation": 0.0, "reservation": 0.0, "total": 45960.0, "data": 45960.0 }, "default_volsize": 0.0, "secondarycache": "all", "collection": "local", "exported": true, "vscan": false, "reservation": 0.0, "atime": true, "pool": "gold", "default_user": "nobody", "name": "default", "checksum": "fletcher4", "default_group": "other", "sharesftp": "", "nbmand": false, "sharedav": "", "rstchown": true } }
El comando de creación de proyecto crea un proyecto con un nombre determinado que reside en una agrupación de almacenamiento determinada. Se devuelve el proyecto nuevo con propiedades predeterminadas.
|
Parámetros de solicitud del cuerpo JSON:
name: se debe suministrar el nombre del proyecto para crear un proyecto.
project properties: cualquiera de las propiedades del proyecto se puede configurar como los valores iniciales del proyecto nuevo.
Ejemplo de solicitud (para crear un proyecto denominado "proj-01"):
POST /api/storage/v1/pools/gold/projects HTTP/1.1 Hosta: zfs-storage.example.com Content-Type: application/json Accept: application/json { “name”: “proj-01”, “sharenfs”: “ro” }
La creación satisfactoria devuelve HTTP Status 201 (Created) (estado HTTP 201 [creado]) con el encabezado de ubicación que contiene el URI del proyecto nuevo. El cuerpo contiene todas las propiedades del proyecto en formato JSON.
Ejemplo de resultados:
HTTP/1.1 201 Created Content-Type: application/json Location: http://zfs-storage.example.com:215 /pools/gold/projects/proj-01 { “project”: { “name”: “proj-01”, "href": "/api/storage/v1/pools/gold/projects/proj-01", “mountpoint”: “/export/acme/gold”, ... } }
El comando de modificación de proyecto cambia los atributos de un proyecto existente.
|
Solicitar parámetros (propiedades del proyecto): cualquiera de las propiedades del proyecto se puede configurar como los valores iniciales del proyecto nuevo.
Ejemplo de solicitud (para cambiar el nombre de un proyecto de "proj-01" a "new-name"):
POST /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1 Host: zfs-storage.example.com Content-Type: application/json Accept: application/json { “name”: “new-name”, “sharenfs”: “rw”, “compression”: “gzip-9” }
La respuesta satisfactoria devuelve el estado HTTP Status 202 (Accepted) (HTTP 202 [aceptado]) y muestra todas las propiedades del proyecto.
Ejemplo de respuesta:
HTTP/1.1 201 Created Content-Type: application/json Location: /api/storage/v1/pools/gold/projects/new-name { “project”: { “name”: “new-name”, “sharenfs”: “rw”, “compression: “gzip-9”, ... } }
El comando suprimir proyecto elimina un solo proyecto de una agrupación determinada.
|
Ejemplo de solicitud:
DELETE /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Los recursos de uso de proyecto de las solicitudes GET se pueden usar para obtener datos de uso por usuario o por grupo para el proyecto.