Create a QoS policy
- PDF of this doc site
Collection of separate PDF docs
Creating your file...
POST /storage/qos/policies
Introduced In: 9.6
Creates a QoS policy.
Required properties
-
svm.uuid
orsvm.name
- The existing SVM owning the QoS policy. -
name
- The name of the QoS policy. -
fixed.*
oradaptive.*
- Either of the fixed or adaptive parameters.
Default property values
-
If
fixed.*
parameters are specified, then capacity.shared is set to false by default.
Related ONTAP commands
-
qos policy-group create
-
qos adaptive-policy-group create
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
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.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
adaptive |
Adaptive QoS policy-groups define measurable service level objectives (SLOs) that adjust based on the storage object used space and the storage object allocated space. |
|
fixed |
QoS policy-groups define a fixed service level objective (SLO) for a storage object. |
|
name |
string |
Name of the QoS policy. |
object_count |
integer |
Number of objects attached to this policy. |
pgid |
integer |
Policy group ID of the QoS policy. |
policy_class |
string |
Class of the QoS policy. |
scope |
string |
Scope of the entity. Set to "cluster" for cluster owned objects and to "svm" for SVM owned objects. |
svm |
||
uuid |
string |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"adaptive": {
"block_size": "string",
"expected_iops_allocation": "string",
"peak_iops_allocation": "string"
},
"name": "extreme",
"object_count": 0,
"pgid": 0,
"policy_class": "string",
"scope": "string",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
8454147 |
The maximum limit for QoS policies has been reached. |
8454154 |
The name specified for creating conflicts with an existing QoS policy name. |
8454260 |
Invalid value for maximum and minimum fields. Valid values for max_throughput_iops and max_throughput_mbps combination is for the ratio of max_throughput_mbps and max_throughput_iops to be within 1 to 4096. |
8454273 |
Invalid value for an adaptive field. Value should be non-zero. |
8454277 |
The name specified for creating an adaptive QoS policy conflicts with an existing fixed QoS policy name. |
8454278 |
The name specified for creating a fixed QoS policy conflicts with an existing adaptive QoS policy name. |
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 |
adaptive
Adaptive QoS policy-groups define measurable service level objectives (SLOs) that adjust based on the storage object used space and the storage object allocated space.
Name | Type | Description |
---|---|---|
absolute_min_iops |
integer |
Specifies the absolute minimum IOPS that is used as an override when the expected_iops is less than this value. These floors are not guaranteed on non-AFF platforms or when FabricPool tiering policies are set. |
block_size |
string |
Specifies the block size |
expected_iops |
integer |
Expected IOPS. Specifies the minimum expected IOPS per TB allocated based on the storage object allocated size. These floors are not guaranteed on non-AFF platforms or when FabricPool tiering policies are set. |
expected_iops_allocation |
string |
Specifies the size to be used to calculate expected IOPS per TB. The size options are either the storage object allocated space or the storage object used space. |
peak_iops |
integer |
Peak IOPS. Specifies the maximum possible IOPS per TB allocated based on the storage object allocated size or the storage object used size. |
peak_iops_allocation |
string |
Specifies the size to be used to calculate peak IOPS per TB. The size options are either the storage object allocated space or the storage object used space. |
fixed
QoS policy-groups define a fixed service level objective (SLO) for a storage object.
Name | Type | Description |
---|---|---|
capacity_shared |
boolean |
Specifies whether the capacities are shared across all objects that use this QoS policy-group. Default is false. |
max_throughput_iops |
integer |
Maximum throughput defined by this policy. It is specified in terms of IOPS. 0 means no maximum throughput is enforced. |
max_throughput_mbps |
integer |
Maximum throughput defined by this policy. It is specified in terms of Mbps. 0 means no maximum throughput is enforced. |
min_throughput_iops |
integer |
Minimum throughput defined by this policy. It is specified in terms of IOPS. 0 means no minimum throughput is enforced. These floors are not guaranteed on non-AFF platforms or when FabricPool tiering policies are set. |
min_throughput_mbps |
integer |
Minimum throughput defined by this policy. It is specified in terms of Mbps. 0 means no minimum throughput is enforced. |
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
qos_policy
Name | Type | Description |
---|---|---|
_links |
||
adaptive |
Adaptive QoS policy-groups define measurable service level objectives (SLOs) that adjust based on the storage object used space and the storage object allocated space. |
|
fixed |
QoS policy-groups define a fixed service level objective (SLO) for a storage object. |
|
name |
string |
Name of the QoS policy. |
object_count |
integer |
Number of objects attached to this policy. |
pgid |
integer |
Policy group ID of the QoS policy. |
policy_class |
string |
Class of the QoS policy. |
scope |
string |
Scope of the entity. Set to "cluster" for cluster owned objects and to "svm" for SVM owned objects. |
svm |
||
uuid |
string |
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. |