Create a qtree in a FlexVol or FlexGroup volume
POST /storage/qtrees
Introduced In: 9.6
Creates a qtree in a FlexVol or a FlexGroup volume.
After a qtree is created, the new qtree is assigned an identifier. This identifier is obtained using a qtree GET request. This identifier is used in the API path for the qtree PATCH and DELETE operations.
Required properties
-
svm.uuid
orsvm.name
- Existing SVM in which to create the qtree. -
volume.uuid
orvolume.name
- Existing volume in which to create the qtree. -
name
- Name for the qtree.
Recommended optional properties
If not specified in POST, the values are inherited from the volume.
-
security_style
- Security style for the qtree. -
unix_permissions
- UNIX permissions for the qtree. -
export_policy.name or export_policy.id
- Export policy of the SVM for the qtree.
Related ONTAP commands
-
qtree create
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
export_policy |
Export Policy |
|
id |
integer |
The identifier for the qtree, unique within the qtree's volume. |
name |
string |
The name of the qtree. Required in POST; optional in PATCH. |
path |
string |
Client visible path to the qtree. This field is not available if the volume does not have a junction-path configured. Not valid in POST or PATCH. |
qos_policy |
||
security_style |
string |
Security style. Valid in POST or PATCH. |
statistics |
These are raw IOPS and throughput performance numbers. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
Required in POST |
|
unix_permissions |
integer |
The UNIX permissions for the qtree. Valid in POST or PATCH. |
volume |
Required in POST |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"export_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"id": "100",
"name": "default"
},
"id": "1",
"name": "string",
"path": "/volume3/qtree1",
"qos_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": "10000",
"max_throughput_mbps": "500",
"min_throughput_iops": "2000",
"min_throughput_mbps": "500",
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"security_style": "string",
"statistics": {
"iops_raw": {
"read": "200",
"total": "1000",
"write": "100"
},
"status": "ok",
"throughput_raw": {
"read": "200",
"total": "1000",
"write": "100"
},
"timestamp": "2017-01-25T11:20:13Z"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"unix_permissions": "0755",
"volume": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
917927 |
The specified volume was not found. |
918232 |
Either |
918236 |
The specified |
2621462 |
The specified SVM does not exist. |
2621706 |
The specified |
2621707 |
No SVM was specified. Either |
5242886 |
Failed to create qtree. |
5242951 |
Export Policy supplied does not belong to the specified Export Policy ID. |
5242952 |
Export Policy ID specified is invalid. |
5242953 |
Qtree name must be provided. |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
export_policy
Export Policy
Name | Type | Description |
---|---|---|
_links |
||
id |
integer |
|
name |
string |
qos_policy
Name | Type | Description |
---|---|---|
_links |
||
max_throughput_iops |
integer |
Specifies the maximum throughput in IOPS, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH. |
max_throughput_mbps |
integer |
Specifies the maximum throughput in Megabytes per sec, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH. |
min_throughput_iops |
integer |
Specifies the minimum throughput in IOPS, 0 means none. Setting "min_throughput" is supported on AFF platforms only, unless FabricPool tiering policies are set. This is mutually exclusive with name and UUID during POST and PATCH. |
min_throughput_mbps |
integer |
Specifies the minimum throughput in Megabytes per sec, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH. |
name |
string |
The QoS policy group name. This is mutually exclusive with UUID and other QoS attributes during POST and PATCH. |
uuid |
string |
The QoS policy group UUID. This is mutually exclusive with name and other QoS attributes during POST and PATCH. |
iops_raw
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput_raw
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
statistics
These are raw IOPS and throughput performance numbers. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.
Name | Type | Description |
---|---|---|
iops_raw |
The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time. |
|
status |
string |
Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled with the next closest collection and tagged with "backfilled_data". "inconsistent_delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "negative_delta" is returned when an expected monotonically increasing value has decreased in value. "inconsistent_old_data" is returned when one or more nodes does not have the latest data. |
throughput_raw |
Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time. |
|
timestamp |
string |
The timestamp of the performance data. |
svm
Required in POST
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
volume
Required in POST
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
qtree
A qtree is a directory at the top level of a volume to which a custom export policy (for fine-grained access control) and a quota rule can be applied, if required.
Name | Type | Description |
---|---|---|
_links |
||
export_policy |
Export Policy |
|
id |
integer |
The identifier for the qtree, unique within the qtree's volume. |
name |
string |
The name of the qtree. Required in POST; optional in PATCH. |
path |
string |
Client visible path to the qtree. This field is not available if the volume does not have a junction-path configured. Not valid in POST or PATCH. |
qos_policy |
||
security_style |
string |
Security style. Valid in POST or PATCH. |
statistics |
These are raw IOPS and throughput performance numbers. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
Required in POST |
|
unix_permissions |
integer |
The UNIX permissions for the qtree. Valid in POST or PATCH. |
volume |
Required in POST |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |