Skip to main content

Update a QoS policy

Contributors

PATCH /storage/qos/policies/{uuid}

Introduced In: 9.6

Update a specific QoS policy.

  • qos policy-group modify

  • qos adaptive-policy-group modify

Parameters

Name Type In Required Description

uuid

string

path

True

  • Introduced in: 9.8

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

SVM, applies only to SVM-scoped objects.

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: 200, Ok
Name Type Description

job

job_link

Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "string"
  }
}

Response

Status: 202, Accepted

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.

8454286

Modifications on these cluster scoped preset policies is prohibited.

8454327

The existing fixed QoS policy cannot be modified to an adaptive QoS policy.

8454328

The existing adaptive QoS policy cannot be modified to a fixed QoS policy.

8454379

The name specified for creating a fixed QoS policy already exists.

8454380

The name specified for creating an adaptive QoS policy already exists.

Also see the table of common errors in the Response body overview section of this documentation.

Name Type Description

error

returned_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

SVM, applies only to SVM-scoped objects.

Name Type Description

_links

_links

name

string

The name of the SVM. This field cannot be specified in a PATCH method.

uuid

string

The unique identifier of the SVM. This field cannot be specified in a PATCH method.

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

SVM, applies only to SVM-scoped objects.

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

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