Create a QoS policy
POST /storage/qos/policies
Creates a QoS policy.
Required properties
- 
svm.uuidorsvm.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 
Learn more
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.  | 
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.  | 
svm  | 
SVM, applies only to SVM-scoped objects.  | 
|
uuid  | 
string  | 
Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "name": "extreme",
  "object_count": 0,
  "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"
  }
}
Error
Status: Default
ONTAP Error Response Codes
| Error Code | Description | 
|---|---|
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.  | 
8454154  | 
The name specified for creating conflicts with an existing QoS policy name.  | 
8454147  | 
The maximum limit for QoS policies has been reached.  | 
8454273  | 
Invalid value for an adaptive field. Value should be non-zero.  | 
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.  | 
| 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.  | 
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.  | 
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.  | 
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.  | 
svm
SVM, applies only to SVM-scoped objects.
| 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.  | 
svm  | 
SVM, applies only to SVM-scoped objects.  | 
|
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.  |