Schema
Manages custom schema properties.
Table 13-12 Schema Commands
Request | Append to Path /api/storage/v{1|2} | Description |
---|---|---|
GET |
/schema |
List all NAS schema property objects |
GET |
/schema/property |
Get the specified NAS schema property properties |
POST |
/schema |
Create a new NAS schema property |
PUT |
/schema/property |
Modify the specified NAS schema property object |
DELETE |
/schema/property |
Delete the specified NAS schema property object |
Each custom schema property can be set on projects, filesystems, and LUNs by adding the prefix custom:
to the custom property name.
For example, the following PUT body modifies a custom int
property named priority
:
{"custom:priority": 5}
Table 13-13 Schema Parameters
Parameter | Description |
---|---|
|
Name of property (immutable) |
|
Property description (for browser interface) |
|
Type (“String”, “Integer”, “PositiveInteger”, “Boolean”, “EmailAddress”, “Host”) |
List Properties
Lists schema properties.
Example Request:
GET /api/storage/v1/schema
Example Result:
{ "properties": [{ "description": "bob", "href": "/api/storage/v1/schema/bob", "property": "bob", "type": "String" },{ "description": "pat", "href": "/api/storage/v1/schema/pat", "property": "pat", "type": "String" }] }
Get Property
Gets a schema property.
Example Request:
GET /api/storage/v1/schema/priority
Example Result:
{ "property": { "description": "priority", "href": "/api/storage/v1/schema/priority", "property": "bob", "type": "Integer" } }
Create Property
Creates a new schema property.
Example Request:
POST /api/storage/v1/schema HTTP/1.1 Host: zfs-storage.example.com:215 Content-Type: application/json Content-Length: 64 {"property":"priority", "type":"Integer", "description":"Oh my"}
Example Result:
HTTP/1.1 201 Created Content-Length: 89 X-Zfssa-Nas-Api: 1.0 Content-Type: application/json Location: /api/storage/v1/schema/priority { "property": { "href": "/api/storage/v1/schema", "type": "Integer", "description": "Oh my" } }
Modify Property
Modifies a schema property.
Example Request:
PUT /api/storage/v1/schema/priority {"description":"My custom priority level"}
Example Result:
HTTP/1.1 202 Accepted X-Zfssa-Nas-Api: 1.0 Content-Type: application/json Content-Length: 90 { "property": { "href": "//api/storage/v1/schema/priority", "type": "Integer", "description": "My custom priority level" } }