Skip to main content
A newer release of this product is available.

Create a QoS policy

Contributors

POST /storage/qos/policies

Introduced In: 9.6

Creates a QoS policy.

Required properties

  • svm.uuid or svm.name - The existing SVM owning the QoS policy.

  • name - The name of the QoS policy.

  • fixed.* or adaptive.* - Either of the fixed or adaptive parameters.

Default property values

  • If fixed.* parameters are specified, then capacity.shared is set to false by default.

  • 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.

  • Default value:

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.

  • Default value: 1

  • Max value: 120

  • Min value: 0

Request Body

Name Type Description

_links

_links

adaptive

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

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

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

job_link

Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "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

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

Name Type Description

self

href

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

_links

name

string

The name of the SVM.

uuid

string

The unique identifier of the SVM.

qos_policy

Name Type Description

_links

_links

adaptive

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

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

svm

uuid

string

Name Type Description

_links

_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.