Create a quota policy rule for a FlexVol or a FlexGroup volume
POST /storage/quota/rules
Introduced In: 9.6
Creates a quota policy rule for a FlexVol or a FlexGroup volume.
Important notes:
-
Unlike CLI/ONTAPI, the
quota policy
input is not needed for POST.
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. -
type
- Quota type for the rule. This type can beuser
,group
, ortree
. -
users.name
oruser.id
- If the quota type is user, this property takes the user name or user ID. For default user quota rules, the user name must be specified as "". -
group.name
orgroup.id
- If the quota type is group, this property takes the group name or group ID. For default group quota rules, the group name must be specified as "". -
qtree.name
- Qtree for which to create the rule. For default tree rules, the qtree name must be specified as "".
Recommended optional properties
-
space.hard_limit
- Specifies the space hard limit, in bytes. If less than 1024 bytes, the value is rounded up to 1024 bytes. -
space.soft_limit
- Specifies the space soft limit, in bytes. If less than 1024 bytes, the value is rounded up to 1024 bytes. -
files.hard_limit
- Specifies the hard limit for files. -
files.soft_limit
- Specifies the soft limit for files. -
user_mapping
- Specifies the user_mapping. This property is valid only for quota policy rules of typeuser
.
Related ONTAP commands
-
quota policy rule 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 |
||
files |
||
group |
This parameter specifies the target group to which the group quota policy rule applies. This parameter takes a group name or identifier. This parameter is only valid for the POST operation of a group quota policy rule. The POST operation will fail with an appropriate error if this parameter is used as an input to create a user or a tree quota policy rule. This input parameter for POST takes either a group name or a group identifier, but not both. For default quota rules, the group name must be chosen and should be specified as "". For explicit group quota rules, this parameter can contain a UNIX group name or a UNIX group identifier. |
|
qtree |
This parameter specifies the target qtree to which the user/group/tree quota policy rule applies. For a user/group quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST. For a user/group quota policy rule at volume level, this parameter is not valid in GET or POST. For a tree quota policy rule, this parameter is mandatory and is valid in both POST and GET. For a default tree quota policy rule, this parameter needs to be specified as "". For a tree quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST. |
|
space |
||
svm |
||
type |
string |
This parameter specifies the quota policy rule type. This is required in POST only and can take either one of the "user", "group" or "tree" values. |
user_mapping |
boolean |
This parameter enables user mapping for user quota policy rules. This is valid in POST or PATCH for user quota policy rules only. |
users |
array[users] |
This parameter specifies the target user to which the user quota policy rule applies. This parameter takes single or multiple user names or identifiers. This parameter is valid only for the POST operation of a user quota policy rule. If this parameter is used as an input to create a group or a tree quota policy rule, the POST operation will fail with an appropriate error. For POST, this input parameter takes either a user name or a user identifier, not both. For default quota rules, the user name must be chosen and specified as "". For explicit user quota rules, this parameter can indicate either a user name or user identifier. The user name can be a UNIX user name or a Windows user name. If a name contains a space, enclose the entire value in quotes. A UNIX user name cannot include a backslash () or an @ sign; user names with these characters are treated as Windows names. The user identifer can be a UNIX user identifier or a Windows security identifier. For multi-user quota, this parameter can contain multiple user targets separated by a comma. |
uuid |
string |
Unique identifier for the quota policy rule. This field is generated when the quota policy rule is created. |
volume |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"group": {
"id": "string",
"name": "string"
},
"qtree": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"id": "1",
"name": "qt1"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"type": "string",
"users": [
{
"id": "string",
"name": "string"
}
],
"uuid": "5f1d13a7-f401-11e8-ac1a-005056a7c3b9",
"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 |
5308501 |
Mapping from Windows user to UNIX user for user rule was unsuccessful. |
5308502 |
Mapping from UNIX user to Windows user for user rule was unsuccessful. |
5308552 |
Failed to get default quota policy name for SVM. |
5308561 |
Failed to obtain volume quota state or invalid quota state obtained for volume. |
5308562 |
users is a required input for creating a user rule and group is not allowed. |
5308563 |
group is a required input for creating a group rule and users is not allowed. |
5308564 |
qtree.name is a required input for creating a tree rule and users and group are not allowed. |
5308565 |
Only one of name or id is allowed for each entry in the users array. |
5308566 |
Only one of name or id is allowed for group. |
5308568 |
Quota policy rule create operation succeeded, but quota resize failed due to internal error. To activate the rule, disable and enable quotas for this volume. |
5308571 |
Quota policy rule create operation succeeded, but quota resize is skipped. To activate the rule, disable and enable quotas for this volume. |
5308573 |
Input value is greater than limit for field. |
5308574 |
Input value is out of range for field. |
5308575 |
Input value is incorrectly larger than listed field. |
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 |
files
Name | Type | Description |
---|---|---|
hard_limit |
integer |
This parameter specifies the hard limit for files. This is valid in POST or PATCH. |
soft_limit |
integer |
This parameter specifies the soft limit for files. This is valid in POST or PATCH. |
group
This parameter specifies the target group to which the group quota policy rule applies. This parameter takes a group name or identifier. This parameter is only valid for the POST operation of a group quota policy rule. The POST operation will fail with an appropriate error if this parameter is used as an input to create a user or a tree quota policy rule. This input parameter for POST takes either a group name or a group identifier, but not both. For default quota rules, the group name must be chosen and should be specified as "". For explicit group quota rules, this parameter can contain a UNIX group name or a UNIX group identifier.
Name | Type | Description |
---|---|---|
id |
string |
Quota target group ID |
name |
string |
Quota target group name |
qtree
This parameter specifies the target qtree to which the user/group/tree quota policy rule applies. For a user/group quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST. For a user/group quota policy rule at volume level, this parameter is not valid in GET or POST. For a tree quota policy rule, this parameter is mandatory and is valid in both POST and GET. For a default tree quota policy rule, this parameter needs to be specified as "". For a tree quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST.
Name | Type | Description |
---|---|---|
_links |
||
id |
integer |
The unique identifier for a qtree. |
name |
string |
The name of the qtree. |
space
Name | Type | Description |
---|---|---|
hard_limit |
integer |
This parameter specifies the space hard limit, in bytes. If less than 1024 bytes, the value is rounded up to 1024 bytes. Valid in POST or PATCH. For a POST operation where the parameter is either empty or set to -1, no limit is applied. For a PATCH operation where a limit is configured, use a value of -1 to clear the limit. |
soft_limit |
integer |
This parameter specifies the space soft limit, in bytes. If less than 1024 bytes, the value is rounded up to 1024 bytes. Valid in POST or PATCH. For a POST operation where the parameter is either empty or set to -1, no limit is applied. For a PATCH operation where a limit is configured, use a value of -1 to clear the limit. |
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
users
Name | Type | Description |
---|---|---|
id |
string |
Quota target user ID |
name |
string |
Quota target user name |
volume
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.
|
quota_rule
Name | Type | Description |
---|---|---|
_links |
||
files |
||
group |
This parameter specifies the target group to which the group quota policy rule applies. This parameter takes a group name or identifier. This parameter is only valid for the POST operation of a group quota policy rule. The POST operation will fail with an appropriate error if this parameter is used as an input to create a user or a tree quota policy rule. This input parameter for POST takes either a group name or a group identifier, but not both. For default quota rules, the group name must be chosen and should be specified as "". For explicit group quota rules, this parameter can contain a UNIX group name or a UNIX group identifier. |
|
qtree |
This parameter specifies the target qtree to which the user/group/tree quota policy rule applies. For a user/group quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST. For a user/group quota policy rule at volume level, this parameter is not valid in GET or POST. For a tree quota policy rule, this parameter is mandatory and is valid in both POST and GET. For a default tree quota policy rule, this parameter needs to be specified as "". For a tree quota policy rule at qtree level, this parameter takes a qtree name and is valid in GET or POST. |
|
space |
||
svm |
||
type |
string |
This parameter specifies the quota policy rule type. This is required in POST only and can take either one of the "user", "group" or "tree" values. |
user_mapping |
boolean |
This parameter enables user mapping for user quota policy rules. This is valid in POST or PATCH for user quota policy rules only. |
users |
array[users] |
This parameter specifies the target user to which the user quota policy rule applies. This parameter takes single or multiple user names or identifiers. This parameter is valid only for the POST operation of a user quota policy rule. If this parameter is used as an input to create a group or a tree quota policy rule, the POST operation will fail with an appropriate error. For POST, this input parameter takes either a user name or a user identifier, not both. For default quota rules, the user name must be chosen and specified as "". For explicit user quota rules, this parameter can indicate either a user name or user identifier. The user name can be a UNIX user name or a Windows user name. If a name contains a space, enclose the entire value in quotes. A UNIX user name cannot include a backslash () or an @ sign; user names with these characters are treated as Windows names. The user identifer can be a UNIX user identifier or a Windows security identifier. For multi-user quota, this parameter can contain multiple user targets separated by a comma. |
uuid |
string |
Unique identifier for the quota policy rule. This field is generated when the quota policy rule is created. |
volume |
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. |