Skip to main content

Update an existing LUN

Contributors

PATCH /storage/luns/{uuid}

Introduced In: 9.6

Updates an existing LUN in one of several ways:

  • Updates the properties of a LUN.

  • Writes data to a LUN. LUN data write requests are distinguished by the header entry Content-Type: multipart/form-data. When this header entry is provided, query parameter data.offset is required and used to specify the location within the LUN at which to write the data; no other query parameters are allowed. The request body must be multipart/form-data content with exactly one form entry containing the data to write. The content type entry of the form data is ignored and always treated as application/octet-stream. Writes are limited to one megabyte (1MB) per request.

  • Overwrites the contents of a LUN as a clone of another.

  • Begins the movement of a LUN between volumes. PATCH can also pause and resume the movement of a LUN between volumes that is already in active.

  • lun copy modify

  • lun copy pause

  • lun copy resume

  • lun modify

  • lun move-in-volume

  • lun move modify

  • lun move pause

  • lun move resume

  • lun move start

  • lun resize

  • volume file clone autodelete

Learn more

Parameters

Name Type In Required Description

uuid

string

path

True

The unique identifier of the LUN to retrieve.

data.offset

integer

query

False

The offset, in bytes, at which to begin writing LUN data.

LUN data write requests are distinguished by the header entry Content-Type: multipart/form-data. When this header entry is provided, query parameter data.offset is required and used to specify the location within the LUN at which to write the data; no other query parameters are allowed. The request body must be multipart/form-data content with exactly one form entry containing the data to write. The content type entry of the form data is ignored and always treated as application/octet-stream. Writes are limited to one megabyte (1MB) per request.

  • format: int64

  • Min value: 0

  • Introduced in: 9.11

Request Body

Name Type Description

_links

_links

attributes

array[attributes]

An array of name/value pairs optionally stored with the LUN. Attributes are available to callers to persist small amounts of application-specific metadata. They are in no way interpreted by ONTAP.

Attribute names and values must be at least one byte and no more than 4091 bytes in length. The sum of the name and value lengths must be no more than 4092 bytes.

Valid in POST except when creating a LUN clone. A cloned can already have attributes from its source. You can add, modify, and delete the attributes of a LUN clone in separate requests after creation of the LUN.

Attributes may be added/modified/removed for an existing LUN using the /api/storage/luns/{lun.uuid}/attributes endpoint. For further information, see DOC /storage/luns/{lun.uuid}/attributes .

There is an added computational cost to retrieving property values for attributes. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

  • Introduced in: 9.10

  • readCreate: 1

auto_delete

boolean

This property marks the LUN for auto deletion when the volume containing the LUN runs out of space. This is most commonly set on LUN clones.

When set to true, the LUN becomes eligible for automatic deletion when the volume runs out of space. Auto deletion only occurs when the volume containing the LUN is also configured for auto deletion and free space in the volume decreases below a particular threshold.

This property is optional in POST and PATCH. The default value for a new LUN is false.

There is an added computational cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

class

string

The class of LUN.

Optional in POST.

clone

clone

This sub-object is used in POST to create a new LUN as a clone of an existing LUN, or PATCH to overwrite an existing LUN as a clone of another. Setting a property in this sub-object indicates that a LUN clone is desired. Consider the following other properties when cloning a LUN: auto_delete, qos_policy, space.guarantee.requested and space.scsi_thin_provisioning_support_enabled.

When used in a PATCH, the patched LUN's data is over-written as a clone of the source and the following properties are preserved from the patched LUN unless otherwise specified as part of the PATCH: class, auto_delete, lun_maps, serial_number, status.state, and uuid.

Persistent reservations for the patched LUN are also preserved.

comment

string

A configurable comment available for use by the administrator. Valid in POST and PATCH.

consistency_group

consistency_group

The LUN's consistency group. This property is populated for LUNs that are members of a consistency group. If the LUN is a member of a child consistency group, the parent consistency group is reported.

Platform Specifics

  • Unified ONTAP: A LUN's consistency group is the consistency group of its containing volume.

  • ASA.Next: A LUN is optionally associated directly with a consistency group.

  • readOnly: 1

  • Introduced in: 9.10

convert

convert

This sub-object is used in POST to convert a valid in-place NVMe namespace to a LUN. Setting a property in this sub-object indicates that a conversion from the specified NVMe namespace to LUN is desired.

copy

copy

This sub-object applies to LUN copy operations. A LUN can be copied with a POST request that supplies copy.source properties.

Copying a LUN is an asynchronous activity begun by a POST request that specifies the source of the copy in the copy.source properties. The data for the LUN is then asynchronously copied from the source to the destination. The time required to complete the copy depends on the size of the LUN and the load on the cluster. The copy sub-object is populated while a LUN copy is in progress and for two (2) minutes following completion of a copy.

While LUNs are being copied, the status of the LUN copy operations can be obtained using a GET of the source or destination LUN that requests the copy properties. If the LUN is the source LUN for one or more copy operations, the copy.destinations array is populated in GET. If the containing LUN is the destination LUN for a copy operation, the copy.source sub-object is populated in GET. The LUN copy operation can be further modified using a PATCH on the properties on the copy.source sub-object of the copy destination LUN.

There is an added computational cost to retrieving property values for copy. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

create_time

string

The time the LUN was created.

enabled

boolean

The enabled state of the LUN. LUNs can be disabled to prevent access to the LUN. Certain error conditions also cause the LUN to become disabled. If the LUN is disabled, you can consult the state property to determine if the LUN is administratively disabled (offline) or has become disabled as a result of an error. A LUN in an error condition can be brought online by setting the enabled property to true or brought administratively offline by setting the enabled property to false. Upon creation, a LUN is enabled by default. Valid in PATCH.

encryption

encryption

Encryption related properties for the LUN.

Platform Specifics

  • Unified ONTAP: These properties are not available on the LUN object in the REST API and are not reported for GET requests. See the containing volume object for this information.

  • ASA.Next: Available for GET, POST and PATCH.

location

location

The location of the LUN within the ONTAP cluster. Valid in POST and PATCH.

  • Introduced in: 9.6

lun_maps

array[lun_maps]

The LUN maps with which the LUN is associated.

There is an added computational cost to retrieving property values for lun_maps. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

metric

metric

Performance numbers, such as IOPS latency and throughput.

movement

movement

This sub-object applies to LUN movement between volumes. A LUN can be moved to a new volume with a PATCH request that changes either the volume portion of property name, location.volume.uuid, or location.volume.name. If the volume is changed using more than one of these properties, the supplied properties used must refer to the same volume.

Moving a LUN between volumes is an asynchronous activity begun by a PATCH request. The data for the LUN is then asynchronously copied from the source volume to the destination volume. The time required to complete the move depends on the size of the LUN and the load on the cluster. The movement sub-object is populated while a LUN movement is in progress and for two (2) minutes following completion of a movement.

While the LUN is being moved, the status of the LUN movement operation can be obtained using a GET for the LUN that requests the movement properties. The LUN movement operation can be further modified using a PATCH on the properties on the movement sub-object.

There is an added computational cost to retrieving property values for movement. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

name

string

The fully qualified path name of the LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. Valid in POST and PATCH.

A PATCH that modifies the qtree and/or base name portion of the LUN path is considered a rename operation.

A PATCH that modifies the volume portion of the LUN path begins an asynchronous LUN movement operation.

os_type

string

The operating system type of the LUN.

Required in POST when creating a LUN that is not a clone of another. Disallowed in POST when creating a LUN clone.

qos_policy

qos_policy

The QoS policy for the LUN. Both traditional and adaptive QoS policies are supported. If both property qos_policy.uuid and qos_policy.name are specified in the same request, they must refer to the same QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set property qos_policy.name to an empty string ("") in a PATCH request. Valid in POST and PATCH.

serial_number

string

The LUN serial number. The serial number is generated by ONTAP when the LUN is created.

  • maxLength: 12

  • minLength: 12

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

space

space

The storage space related properties of the LUN.

statistics

statistics

These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.

status

status

Status information about the LUN.

svm

svm

The SVM in which the LUN is located.

uuid

string

The unique identifier of the LUN. The UUID is generated by ONTAP when the LUN is created.

  • example: 1cd8a442-86d1-11e0-ae1c-123478563412

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

vvol

vvol

A VMware virtual volume (vVol) binding is an association between a LUN of class protocol_endpoint and a LUN of class vvol. Class protocol_endpoint LUNs are mapped to igroups and granted access using the same configuration as class regular LUNs. When a class vvol LUN is bound to a mapped class protocol_endpoint LUN, VMware can access the class vvol LUN through the class protocol_endpoint LUN mapping.

See link:post-protocols-san-vvol-bindings(#-san-vvol-binding-create)tolearnmoreaboutcreatingvvolbindingsanddelete-protocols-san-vvol-bindings.htmlPOST /protocols/san/vvol-bindings to learn more about creating vVol bindings and [DELETE /protocols/san/vvol-bindings] to learn more about deleting vVol bindings.

There is an added computational cost to retrieving property values for vvol. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "attributes": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "name1",
      "value": "value1"
    }
  ],
  "class": "string",
  "clone": {
    "source": {
      "name": "/vol/volume1/lun1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  },
  "comment": "string",
  "consistency_group": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "cg1",
    "uuid": "4abc2317-4332-9d37-93a0-20bd29c22df0"
  },
  "convert": {
    "namespace": {
      "name": "/vol/volume1/namespace1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  },
  "copy": {
    "destinations": [
      {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "max_throughput": 0,
        "name": "/vol/vol1/lun1",
        "peer": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "peer1",
          "uuid": "4204cf77-4c82-9bdb-5644-b5a841c097a9"
        },
        "progress": {
          "elapsed": 0,
          "failure": {
            "arguments": [
              {
                "code": "string",
                "message": "string"
              }
            ],
            "code": "4",
            "message": "entry doesn't exist"
          },
          "percent_complete": 0,
          "state": "string"
        },
        "uuid": "1bc327d5-4654-5284-a116-f182282240b4"
      }
    ],
    "source": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "/vol/vol2/lun1",
      "peer": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "peer1",
        "uuid": "4204cf77-4c82-9bdb-5644-b5a841c097a9"
      },
      "progress": {
        "elapsed": 0,
        "failure": {
          "arguments": [
            {
              "code": "string",
              "message": "string"
            }
          ],
          "code": "4",
          "message": "entry doesn't exist"
        },
        "percent_complete": 0,
        "state": "string"
      },
      "uuid": "03c05019-40d9-3945-c767-dca4c3be5e90"
    }
  },
  "create_time": "2018-06-04 15:00:00 -0400",
  "encryption": {
    "action": "string",
    "key_create_time": "2022-01-01 14:00:00 -0500",
    "key_id": "string",
    "key_manager_attribute": "CRN=v1:bluemix:public:containers-kubernetes:us-south:a/asdfghjkl1234:asdfghjkl1234:worker:kubernetes-asdfghjkl-worker1",
    "state": "string",
    "status": {
      "code": "string",
      "message": "string"
    }
  },
  "location": {
    "logical_unit": "lun1",
    "node": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "node1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    },
    "qtree": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "id": 1,
      "name": "qt1"
    },
    "volume": {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "name": "volume1",
      "uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
    }
  },
  "lun_maps": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "igroup": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "igroup1",
        "uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
      },
      "logical_unit_number": 0
    }
  ],
  "metric": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "duration": "PT15S",
    "iops": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "latency": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "status": "ok",
    "throughput": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "timestamp": "2017-01-25 06:20:13 -0500"
  },
  "movement": {
    "paths": {
      "destination": "/vol/vol1/lun1",
      "source": "/vol/vol2/lun2"
    },
    "progress": {
      "elapsed": 0,
      "failure": {
        "arguments": [
          {
            "code": "string",
            "message": "string"
          }
        ],
        "code": "4",
        "message": "entry doesn't exist"
      },
      "percent_complete": 0,
      "state": "string"
    }
  },
  "name": "/vol/volume1/qtree1/lun1",
  "os_type": "string",
  "qos_policy": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "qos1",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "serial_number": "string",
  "space": {
    "size": 1073741824,
    "used": 0
  },
  "statistics": {
    "iops_raw": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "latency_raw": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "status": "ok",
    "throughput_raw": {
      "read": 200,
      "total": 1000,
      "write": 100
    },
    "timestamp": "2017-01-25 06:20:13 -0500"
  },
  "status": {
    "container_state": "string",
    "state": "online"
  },
  "svm": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "svm1",
    "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
  },
  "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412",
  "vvol": {
    "bindings": [
      {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "id": 1,
        "partner": {
          "_links": {
            "self": {
              "href": "/api/resourcelink"
            }
          },
          "name": "/vol/vol1/lun1",
          "uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
        },
        "secondary_id": "0000D20000010000h"
      }
    ]
  }
}

Response

Status: 200, Ok

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

917927

The specified volume was not found.

918236

The specified location.volume.uuid and location.volume.name do not refer to the same volume.

5242927

The specified qtree was not found.

5242950

The specified location.qtree.id and location.qtree.name do not refer to the same qtree.

5374124

The specified LUN size is too small.

5374125

The specified LUN size is too large.

5374127

An invalid LUN name was specified.

5374130

An invalid size value was provided.

5374241

A size value with invalid units was provided.

5374480

Modifying the LUN is not allowed because it is in a foreign LUN import relationship.

5374858

The volume specified by name is not the same as that specified by location.volume.

5374860

The qtree specified by name is not the same as that specified by location.qtree.

5374861

The LUN base name specified by name is not the same as that specified by location.logical_unit.

5374864

An error occurred after successfully overwriting data for the LUN as a clone. Some properties were not modified.

5374865

The LUN's aggregate is offline. The aggregate must be online to modify or remove the LUN.

5374866

The LUN's volume is offline. The volume must be online to modify or remove the LUN.

5374874

The specified clone.source.uuid and clone.source.name do not refer to the same LUN.

5374875

The specified LUN was not found. This can apply to clone.source or the target LUN. The target property of the error object identifies the property.

5374876

The specified LUN was not found. This can apply to clone.source or the target LUN. The target property of the error object identifies the property.

5374885

An error occurred after successfully modifying some of the properties of the LUN. Some properties were not modified.

5374889

An invalid value was specified for movement.progress.state. Active LUN movement operations can be PATCHed to only paused or replicating.

5374892

An attempt was made to reduce the size of a LUN.

5374904

The destination volume is not online.

5375059

An unsuitable QoS policy was specified.

7018877

Maximum combined total (50) of file and LUN copy and move operations reached. When one or more of the operations has completed, try the command again.

7018919

A copy or move job exists with the same destination LUN.

13565952

The LUN clone request failed.

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

attributes

A name/value pair optionally stored with the LUN. Attributes are available to callers to persist small amounts of application-specific metadata. They are in no way interpreted by ONTAP.

Attribute names and values must be at least one byte and no more than 4091 bytes in length. The sum of the name and value lengths must be no more than 4092 bytes.

Optional in POST.

Name Type Description

_links

_links

name

string

The attribute name.

value

string

The attribute value.

source

The source LUN for a LUN clone operation. This can be specified using property clone.source.uuid or clone.source.name. If both properties are supplied, they must refer to the same LUN.

Valid in POST to create a new LUN as a clone of the source.

Valid in PATCH to overwrite an existing LUN's data as a clone of another.

Name Type Description

name

string

The fully qualified path name of the clone source LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. Valid in POST and PATCH.

uuid

string

The unique identifier of the clone source LUN. Valid in POST and PATCH.

clone

This sub-object is used in POST to create a new LUN as a clone of an existing LUN, or PATCH to overwrite an existing LUN as a clone of another. Setting a property in this sub-object indicates that a LUN clone is desired. Consider the following other properties when cloning a LUN: auto_delete, qos_policy, space.guarantee.requested and space.scsi_thin_provisioning_support_enabled.

When used in a PATCH, the patched LUN's data is over-written as a clone of the source and the following properties are preserved from the patched LUN unless otherwise specified as part of the PATCH: class, auto_delete, lun_maps, serial_number, status.state, and uuid.

Persistent reservations for the patched LUN are also preserved.

Name Type Description

source

source

The source LUN for a LUN clone operation. This can be specified using property clone.source.uuid or clone.source.name. If both properties are supplied, they must refer to the same LUN.

Valid in POST to create a new LUN as a clone of the source.

Valid in PATCH to overwrite an existing LUN's data as a clone of another.

consistency_group

The LUN's consistency group. This property is populated for LUNs that are members of a consistency group. If the LUN is a member of a child consistency group, the parent consistency group is reported.

=== Platform Specifics

  • Unified ONTAP: A LUN's consistency group is the consistency group of its containing volume.

  • ASA.Next: A LUN is optionally associated directly with a consistency group.

Name Type Description

_links

_links

name

string

The name of the consistency group.

uuid

string

The unique identifier of the consistency group.

namespace

The source namespace for convert operation. This can be specified using property convert.namespace.uuid or convert.namespace.name. If both properties are supplied, they must refer to the same NVMe namespace.

Valid in POST. A convert request from NVMe namespace to LUN cannot be combined with setting any other LUN properties. All other properties of the converted LUN come from the source NVMe namespace.

Name Type Description

name

string

The fully qualified path name of the source NVMe namespace composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the NVMe namespace. Valid in POST.

uuid

string

The unique identifier of the source NVMe namespace. Valid in POST.

convert

This sub-object is used in POST to convert a valid in-place NVMe namespace to a LUN. Setting a property in this sub-object indicates that a conversion from the specified NVMe namespace to LUN is desired.

Name Type Description

namespace

namespace

The source namespace for convert operation. This can be specified using property convert.namespace.uuid or convert.namespace.name. If both properties are supplied, they must refer to the same NVMe namespace.

Valid in POST. A convert request from NVMe namespace to LUN cannot be combined with setting any other LUN properties. All other properties of the converted LUN come from the source NVMe namespace.

peer

The SVM peer relationship object for an inter-SVM LUN copy operation. The peer SVM in the relationship is the source SVM and the local SVM is the destination SVM.

This is only populated on GET when the LUN copy is inter-SVM.

Name Type Description

_links

_links

name

string

The local name of the peer SVM. This name is unique among all local and peer SVMs.

uuid

string

The unique identifier of the SVM peer relationship. This is the UUID of the relationship, not the UUID of the peer SVM itself.

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

error

Error information provided if the asynchronous LUN copy operation fails.

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

progress

Properties related to the progress of an active or recently completed LUN copy.

Name Type Description

elapsed

integer

The amount of time that has elapsed since the start of the LUN copy, in seconds.

failure

error

Error information provided if the asynchronous LUN copy operation fails.

percent_complete

integer

The percentage completed of the LUN copy.

state

string

The state of the LUN copy.

volume_snapshot_blocked

boolean

This property reports if volume Snapshot copies are blocked by the LUN copy. This property can be polled to identify when volume Snapshot copies can be resumed after beginning a LUN copy.

destinations

A LUN copy operation in which the containing LUN is the source of the copy.

Name Type Description

_links

_links

max_throughput

integer

The maximum data throughput, in bytes per second, that should be utilized in support of the LUN copy. See property copy.source.max_throughput for further details.

name

string

The fully qualified path of the LUN copy destination composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN.

peer

peer

The SVM peer relationship object for an inter-SVM LUN copy operation. The peer SVM in the relationship is the source SVM and the local SVM is the destination SVM.

This is only populated on GET when the LUN copy is inter-SVM.

progress

progress

Properties related to the progress of an active or recently completed LUN copy.

uuid

string

The unique identifier of the LUN copy destination.

peer

The SVM peer relationship object for an inter-SVM LUN copy operation. The peer SVM in the relationship is the source SVM and the local SVM is the destination SVM.

Set this in POST to specify the source SVM for an inter-SVM LUN copy. Only populated on GET when the LUN copy is inter-SVM.

Name Type Description

_links

_links

name

string

The local name of the peer SVM. This name is unique among all local and peer SVMs.

uuid

string

The unique identifier of the SVM peer relationship. This is the UUID of the relationship, not the UUID of the peer SVM itself.

progress

Properties related to the progress of an active or recently completed LUN copy.

Name Type Description

elapsed

integer

The amount of time that has elapsed since the start of the LUN copy, in seconds.

failure

error

Error information provided if the asynchronous LUN copy operation fails.

percent_complete

integer

The percentage completed of the LUN copy.

state

string

The state of the LUN copy.

Valid in PATCH when an LUN copy is active. Set to paused to pause a LUN copy. Set to replicating to resume a paused LUN copy.

volume_snapshot_blocked

boolean

This property reports if volume Snapshot copies are blocked by the LUN copy. This property can be polled to identify when volume Snapshot copies can be resumed after beginning a LUN copy.

source

The source LUN of a LUN copy operation in which the containing LUN is the destination of the copy.

Valid in POST except when creating a LUN clone. A LUN copy request cannot be combined with setting any other LUN properties except the destination location. All other properties of the destination LUN come from the source LUN.

Name Type Description

_links

_links

max_throughput

integer

The maximum data throughput, in bytes per second, that should be utilized in support of the LUN copy. This property can be used to throttle a transfer and limit its impact on the performance of the source and destination nodes. The specified value will be rounded up to the nearest megabyte.

If this property is not specified in a POST that begins a LUN copy, throttling is not applied to the data transfer.

For more information, see Size properties in the docs section of the ONTAP REST API documentation.

Valid only in a POST that begins a LUN copy or a PATCH when a LUN copy is already in process.

  • format: int64

  • Introduced in: 9.10

  • x-nullable: true

name

string

The fully qualified path of the LUN copy source composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN.

Set this property in POST to specify the source for a LUN copy operation.

peer

peer

The SVM peer relationship object for an inter-SVM LUN copy operation. The peer SVM in the relationship is the source SVM and the local SVM is the destination SVM.

Set this in POST to specify the source SVM for an inter-SVM LUN copy. Only populated on GET when the LUN copy is inter-SVM.

progress

progress

Properties related to the progress of an active or recently completed LUN copy.

uuid

string

The unique identifier of the LUN copy source.

Set this property in POST to specify the source for a LUN copy operation.

copy

This sub-object applies to LUN copy operations. A LUN can be copied with a POST request that supplies copy.source properties.

Copying a LUN is an asynchronous activity begun by a POST request that specifies the source of the copy in the copy.source properties. The data for the LUN is then asynchronously copied from the source to the destination. The time required to complete the copy depends on the size of the LUN and the load on the cluster. The copy sub-object is populated while a LUN copy is in progress and for two (2) minutes following completion of a copy.

While LUNs are being copied, the status of the LUN copy operations can be obtained using a GET of the source or destination LUN that requests the copy properties. If the LUN is the source LUN for one or more copy operations, the copy.destinations array is populated in GET. If the containing LUN is the destination LUN for a copy operation, the copy.source sub-object is populated in GET. The LUN copy operation can be further modified using a PATCH on the properties on the copy.source sub-object of the copy destination LUN.

There is an added computational cost to retrieving property values for copy. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

Name Type Description

destinations

array[destinations]

An array of destination LUNs of LUN copy operations in which the containing LUN is the source of the copy.

source

source

The source LUN of a LUN copy operation in which the containing LUN is the destination of the copy.

Valid in POST except when creating a LUN clone. A LUN copy request cannot be combined with setting any other LUN properties except the destination location. All other properties of the destination LUN come from the source LUN.

status

Name Type Description

code

string

Encryption progress message code.

message

string

Encryption progress message.

encryption

Encryption related properties for the LUN.

=== Platform Specifics

  • Unified ONTAP: These properties are not available on the LUN object in the REST API and are not reported for GET requests. See the containing volume object for this information.

  • ASA.Next: Available for GET, POST and PATCH.

Name Type Description

action

string

This property can be used to pause an ongoing rekey or conversion operation or resume a paused rekey or conversion operation. Valid in PATCH.

The following actions are supported for this field:

  • conversion_pause - Pause an encryption conversion operation currently in progress.

  • conversion_resume - Resume a paused encryption conversion operation.

  • rekey_pause - Pause an encryption rekey operation currently in progress.

  • rekey_resume - Resume a paused encryption rekey operation.

enabled

boolean

Creates an encrypted or an unencrypted LUN. For POST, when set to true, a new key is generated and used to encrypt the LUN. The underlying SVM must be configured with the key manager. When set to false, the LUN created will be unencrypted. For PATCH, when set to true, the API encrypts an unencrypted LUN. An encrypted LUN cannot be PATCHED to false.

key_create_time

string

Encryption key creation time of the LUN.

key_id

string

The key ID used for creating encrypted LUN. A new key-id is generated for creating an encrypted LUN. This key-id is associated with the generated key.

key_manager_attribute

string

Specifies an additional key manager attribute that is an identifier-value pair, separated by =. For example, CRN=unique-value. This parameter is required when using the POST method and an IBM Key Lore key manager is configured on the SVM.

rekey

boolean

If set to true, re-encrypts the LUN with a new key. Valid in PATCH.

state

string

LUN encryption type.

  • none - The LUN is not encrypted.

  • volume - The LUN is encrypted with LUN-level encryption.

status

status

node

The cluster node that hosts the LUN.

Name Type Description

_links

_links

name

string

uuid

string

qtree

The qtree in which the LUN is optionally located. Valid in POST and PATCH.

If properties name and location.qtree.name and/or location.qtree.uuid are specified in the same request, they must refer to the same qtree.

A PATCH that modifies the qtree of the LUN is considered a rename operation.

Name Type Description

_links

_links

id

integer

The identifier for the qtree, unique within the qtree's volume.

name

string

The name of the qtree.

volume

The volume in which the LUN is located. Valid in POST and PATCH.

If properties name and location.volume.name and/or location.volume.uuid are specified in the same request, they must refer to the same volume.

A PATCH that modifies the volume of the LUN begins an asynchronous LUN movement operation.

Name Type Description

_links

_links

name

string

The name of the volume. This field cannot be specified in a POST or PATCH method.

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.

  • example: 028baa66-41bd-11e9-81d5-00a0986138f7

  • Introduced in: 9.6

  • x-nullable: true

location

The location of the LUN within the ONTAP cluster. Valid in POST and PATCH.

Name Type Description

logical_unit

string

The base name component of the LUN. Valid in POST and PATCH.

If properties name and location.logical_unit are specified in the same request, they must refer to the base name.

A PATCH that modifies the base name of the LUN is considered a rename operation.

node

node

The cluster node that hosts the LUN.

qtree

qtree

The qtree in which the LUN is optionally located. Valid in POST and PATCH.

If properties name and location.qtree.name and/or location.qtree.uuid are specified in the same request, they must refer to the same qtree.

A PATCH that modifies the qtree of the LUN is considered a rename operation.

volume

volume

The volume in which the LUN is located. Valid in POST and PATCH.

If properties name and location.volume.name and/or location.volume.uuid are specified in the same request, they must refer to the same volume.

A PATCH that modifies the volume of the LUN begins an asynchronous LUN movement operation.

igroup

The initiator group to which the LUN is mapped.

Name Type Description

_links

_links

name

string

The name of the initiator group.

uuid

string

The unique identifier of the initiator group.

lun_maps

A LUN map with which the LUN is associated.

Name Type Description

_links

_links

igroup

igroup

The initiator group to which the LUN is mapped.

logical_unit_number

integer

The logical unit number assigned to the LUN for initiators in the initiator group.

iops

The rate of I/O operations observed at the storage object.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

latency

The round trip latency in microseconds observed at the storage object.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

throughput

The rate of throughput bytes per second observed at the storage object.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

metric

Performance numbers, such as IOPS latency and throughput.

Name Type Description

_links

_links

duration

string

The duration over which this sample is calculated. The time durations are represented in the ISO-8601 standard format. Samples can be calculated over the following durations:

iops

iops

The rate of I/O operations observed at the storage object.

latency

latency

The round trip latency in microseconds observed at the storage object.

status

string

Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data.

throughput

throughput

The rate of throughput bytes per second observed at the storage object.

timestamp

string

The timestamp of the performance data.

paths

The fully qualified LUN path names involved in the LUN movement.

Name Type Description

destination

string

The fully qualified path of the LUN movement destination composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN.

source

string

The fully qualified path of the LUN movement source composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN.

error

Error information provided if the asynchronous LUN movement operation fails.

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

progress

Properties related to the progress of an active or recently completed LUN movement.

Name Type Description

elapsed

integer

The amount of time that has elapsed since the start of the LUN movement, in seconds.

failure

error

Error information provided if the asynchronous LUN movement operation fails.

percent_complete

integer

The percentage completed of the LUN movement.

state

string

The state of the LUN movement.

Valid in PATCH when an LUN movement is active. Set to paused to pause a LUN movement. Set to replicating to resume a paused LUN movement.

volume_snapshot_blocked

boolean

This property reports if volume Snapshot copies are blocked by the LUN movement. This property can be polled to identify when volume Snapshot copies can be resumed after beginning a LUN movement.

movement

This sub-object applies to LUN movement between volumes. A LUN can be moved to a new volume with a PATCH request that changes either the volume portion of property name, location.volume.uuid, or location.volume.name. If the volume is changed using more than one of these properties, the supplied properties used must refer to the same volume.

Moving a LUN between volumes is an asynchronous activity begun by a PATCH request. The data for the LUN is then asynchronously copied from the source volume to the destination volume. The time required to complete the move depends on the size of the LUN and the load on the cluster. The movement sub-object is populated while a LUN movement is in progress and for two (2) minutes following completion of a movement.

While the LUN is being moved, the status of the LUN movement operation can be obtained using a GET for the LUN that requests the movement properties. The LUN movement operation can be further modified using a PATCH on the properties on the movement sub-object.

There is an added computational cost to retrieving property values for movement. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

Name Type Description

max_throughput

integer

The maximum data throughput, in bytes per second, that should be utilized in support of the LUN movement. This property can be used to throttle a transfer and limit its impact on the performance of the source and destination nodes. The specified value will be rounded up to the nearest megabyte.

If this property is not specified in a POST that begins a LUN movement, throttling is not applied to the data transfer.

For more information, see Size properties in the docs section of the ONTAP REST API documentation.

This property is valid only in a POST that begins a LUN movement or a PATCH when a LUN movement is already in process.

  • format: int64

  • Introduced in: 9.6

  • x-nullable: true

paths

paths

The fully qualified LUN path names involved in the LUN movement.

progress

progress

Properties related to the progress of an active or recently completed LUN movement.

qos_policy

The QoS policy for the LUN. Both traditional and adaptive QoS policies are supported. If both property qos_policy.uuid and qos_policy.name are specified in the same request, they must refer to the same QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set property qos_policy.name to an empty string ("") in a PATCH request. Valid in POST and PATCH.

Name Type Description

_links

_links

name

string

The name of the QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set this property to an empty string ("") in a PATCH request. Valid in POST and PATCH.

uuid

string

The unique identifier of the QoS policy. Valid in POST and PATCH.

guarantee

Properties that request and report the space guarantee for the LUN.

Name Type Description

requested

boolean

The requested space reservation policy for the LUN. If true, a space reservation is requested for the LUN; if false, the LUN is thin provisioned. Guaranteeing a space reservation request for a LUN requires that the volume in which the LUN resides is also space reserved and that the fractional reserve for the volume is 100%. Valid in POST and PATCH.

reserved

boolean

Reports if the LUN is space guaranteed.

If true, a space guarantee is requested and the containing volume and aggregate support the request. If false, a space guarantee is not requested or a space guarantee is requested and either the containing volume or aggregate do not support the request.

space

The storage space related properties of the LUN.

Name Type Description

guarantee

guarantee

Properties that request and report the space guarantee for the LUN.

scsi_thin_provisioning_support_enabled

boolean

To leverage the benefits of SCSI thin provisioning, it must be supported by your host. SCSI thin provisioning uses the Logical Block Provisioning feature as defined in the SCSI SBC-3 standard. Only hosts that support this standard can use SCSI thin provisioning in ONTAP.

When you disable SCSI thin provisioning support in ONTAP, you turn off the following SCSI thin provisioning features:

  • Unmapping and reporting space usage for space reclamation

  • Reporting resource exhaustion errors

The value of this property is not propagated to the destination when a LUN is cloned as a new LUN or copied; it is reset to false. The value of this property is maintained from the destination LUN when a LUN is overwritten as a clone.

Valid in POST and PATCH.

  • Default value: 1

  • Introduced in: 9.10

  • x-nullable: true

size

integer

The total provisioned size of the LUN. The LUN size can be increased but not be made smaller using the REST interface.

The maximum and minimum sizes listed here are the absolute maximum and absolute minimum sizes in bytes. The actual minimum and maxiumum sizes vary depending on the ONTAP version, ONTAP platform and the available space in the containing volume and aggregate.

For more information, see Size properties in the docs section of the ONTAP REST API documentation.

  • example: 1073741824

  • format: int64

  • Max value: 140737488355328

  • Min value: 4096

  • Introduced in: 9.6

  • x-nullable: true

used

integer

The amount of space consumed by the main data stream of the LUN.

This value is the total space consumed in the volume by the LUN, including filesystem overhead, but excluding prefix and suffix streams. Due to internal filesystem overhead and the many ways SAN filesystems and applications utilize blocks within a LUN, this value does not necessarily reflect actual consumption/availability from the perspective of the filesystem or application. Without specific knowledge of how the LUN blocks are utilized outside of ONTAP, this property should not be used as an indicator for an out-of-space condition.

For more information, see Size properties in the docs section of the ONTAP REST API documentation.

  • format: int64

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

iops_raw

The number of I/O operations observed at the storage object. This can be used along with delta time to calculate the rate of I/O operations per unit of time.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

latency_raw

The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

throughput_raw

Throughput bytes observed at the storage object. This can be used along with delta time to calculate the rate of throughput bytes per unit of time.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

statistics

These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.

Name Type Description

iops_raw

iops_raw

The number of I/O operations observed at the storage object. This can be used along with delta time to calculate the rate of I/O operations per unit of time.

latency_raw

latency_raw

The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation.

status

string

Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data.

throughput_raw

throughput_raw

Throughput bytes observed at the storage object. This can be used along with delta time to calculate the rate of throughput bytes per unit of time.

timestamp

string

The timestamp of the performance data.

status

Status information about the LUN.

Name Type Description

container_state

string

The state of the volume and aggregate that contain the LUN. LUNs are only available when their containers are available.

mapped

boolean

Reports if the LUN is mapped to one or more initiator groups.

There is an added computational cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

read_only

boolean

Reports if the LUN allows only read access.

state

string

The state of the LUN. Normal states for a LUN are online and offline. Other states indicate errors.

svm

The SVM in which the LUN is located.

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.

partner

The LUN partner that this LUN is bound to. If this LUN is a vvol class LUN, the partner is a protocol_endpoint class LUN.

Name Type Description

_links

_links

name

string

The name of the partner LUN.

uuid

string

The unique identifier of the partner LUN.

bindings

A vVol binding with which the LUN is associated.

Name Type Description

_links

_links

id

integer

The ONTAP internal identifier assigned to the vVol binding. The bind identifier is unique amongst all class vvol LUNs bound to the same class protocol_endpoint LUN.

This property was included in early releases of the REST API for vVols and is maintained for backward compatibility. See the secondary_id property, which replaces id.

  • example: 1

  • readOnly: 1

  • x-ntap-deprecated: 9.13.1

  • Introduced in: 9.10

  • x-nullable: true

partner

partner

The LUN partner that this LUN is bound to. If this LUN is a vvol class LUN, the partner is a protocol_endpoint class LUN.

secondary_id

string

The identifier assigned to the vVol binding, known as the secondary LUN ID. The identifier is unique amongst all class vvol LUNs bound to the same class protocol_endpoint LUN.

The format for a secondary LUN ID is 16 hexadecimal digits (zero-filled) followed by a lower case "h".

vvol

A VMware virtual volume (vVol) binding is an association between a LUN of class protocol_endpoint and a LUN of class vvol. Class protocol_endpoint LUNs are mapped to igroups and granted access using the same configuration as class regular LUNs. When a class vvol LUN is bound to a mapped class protocol_endpoint LUN, VMware can access the class vvol LUN through the class protocol_endpoint LUN mapping.

See link:post-protocols-san-vvol-bindings(#-san-vvol-binding-create)tolearnmoreaboutcreatingvvolbindingsanddelete-protocols-san-vvol-bindings.htmlPOST /protocols/san/vvol-bindings to learn more about creating vVol bindings and [DELETE /protocols/san/vvol-bindings] to learn more about deleting vVol bindings.

There is an added computational cost to retrieving property values for vvol. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

Name Type Description

bindings

array[bindings]

Bindings between the LUN, which must be of class protocol_endpoint or vvol, and LUNs of the opposite class.

A class vvol LUN must be bound to a class protocol_endpoint LUN in order to be accessed. Class protocol_endpoint and vvol LUNs allow many-to-many bindings. A LUN of one class is allowed to be bound to zero or more LUNs of the opposite class. The binding between any two specific LUNs is reference counted. When a binding is created that already exists, the binding count is incremented. When a binding is deleted, the binding count is decremented, but the LUNs remain bound if the resultant reference count is greater than zero. When the binding count reaches zero, the binding is destroyed.

The bindings array contains LUNs of the opposite class of the containing LUN object.

There is an added computational cost to retrieving property values for vvol.bindings. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

is_bound

boolean

Reports if the LUN is part of a VMware virtual volume (vVol) bind relationship. This is true if the LUN is of class protocol_endpoint or vvol and has one or more bindings to a LUN of the opposite class. This is false if the LUN is of class regular or unbound.

lun

A LUN is the logical representation of storage in a storage area network (SAN).

In ONTAP, a LUN is located within a volume. Optionally, it can be located within a qtree in a volume.

A LUN can be created to a specified size using thin or thick provisioning. A LUN can then be renamed, resized, cloned, and moved to a different volume. LUNs support the assignment of a quality of service (QoS) policy for performance management or a QoS policy can be assigned to the volume containing the LUN. See the LUN object model to learn more about each of the properties supported by the LUN REST API.

A LUN must be mapped to an initiator group to grant access to the initiator group's initiators (client hosts). Initiators can then access the LUN and perform I/O over a Fibre Channel (FC) fabric using the Fibre Channel Protocol or a TCP/IP network using iSCSI.

Name Type Description

_links

_links

attributes

array[attributes]

An array of name/value pairs optionally stored with the LUN. Attributes are available to callers to persist small amounts of application-specific metadata. They are in no way interpreted by ONTAP.

Attribute names and values must be at least one byte and no more than 4091 bytes in length. The sum of the name and value lengths must be no more than 4092 bytes.

Valid in POST except when creating a LUN clone. A cloned can already have attributes from its source. You can add, modify, and delete the attributes of a LUN clone in separate requests after creation of the LUN.

Attributes may be added/modified/removed for an existing LUN using the /api/storage/luns/{lun.uuid}/attributes endpoint. For further information, see DOC /storage/luns/{lun.uuid}/attributes .

There is an added computational cost to retrieving property values for attributes. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

  • Introduced in: 9.10

  • readCreate: 1

auto_delete

boolean

This property marks the LUN for auto deletion when the volume containing the LUN runs out of space. This is most commonly set on LUN clones.

When set to true, the LUN becomes eligible for automatic deletion when the volume runs out of space. Auto deletion only occurs when the volume containing the LUN is also configured for auto deletion and free space in the volume decreases below a particular threshold.

This property is optional in POST and PATCH. The default value for a new LUN is false.

There is an added computational cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

class

string

The class of LUN.

Optional in POST.

clone

clone

This sub-object is used in POST to create a new LUN as a clone of an existing LUN, or PATCH to overwrite an existing LUN as a clone of another. Setting a property in this sub-object indicates that a LUN clone is desired. Consider the following other properties when cloning a LUN: auto_delete, qos_policy, space.guarantee.requested and space.scsi_thin_provisioning_support_enabled.

When used in a PATCH, the patched LUN's data is over-written as a clone of the source and the following properties are preserved from the patched LUN unless otherwise specified as part of the PATCH: class, auto_delete, lun_maps, serial_number, status.state, and uuid.

Persistent reservations for the patched LUN are also preserved.

comment

string

A configurable comment available for use by the administrator. Valid in POST and PATCH.

consistency_group

consistency_group

The LUN's consistency group. This property is populated for LUNs that are members of a consistency group. If the LUN is a member of a child consistency group, the parent consistency group is reported.

Platform Specifics

  • Unified ONTAP: A LUN's consistency group is the consistency group of its containing volume.

  • ASA.Next: A LUN is optionally associated directly with a consistency group.

  • readOnly: 1

  • Introduced in: 9.10

convert

convert

This sub-object is used in POST to convert a valid in-place NVMe namespace to a LUN. Setting a property in this sub-object indicates that a conversion from the specified NVMe namespace to LUN is desired.

copy

copy

This sub-object applies to LUN copy operations. A LUN can be copied with a POST request that supplies copy.source properties.

Copying a LUN is an asynchronous activity begun by a POST request that specifies the source of the copy in the copy.source properties. The data for the LUN is then asynchronously copied from the source to the destination. The time required to complete the copy depends on the size of the LUN and the load on the cluster. The copy sub-object is populated while a LUN copy is in progress and for two (2) minutes following completion of a copy.

While LUNs are being copied, the status of the LUN copy operations can be obtained using a GET of the source or destination LUN that requests the copy properties. If the LUN is the source LUN for one or more copy operations, the copy.destinations array is populated in GET. If the containing LUN is the destination LUN for a copy operation, the copy.source sub-object is populated in GET. The LUN copy operation can be further modified using a PATCH on the properties on the copy.source sub-object of the copy destination LUN.

There is an added computational cost to retrieving property values for copy. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

create_time

string

The time the LUN was created.

enabled

boolean

The enabled state of the LUN. LUNs can be disabled to prevent access to the LUN. Certain error conditions also cause the LUN to become disabled. If the LUN is disabled, you can consult the state property to determine if the LUN is administratively disabled (offline) or has become disabled as a result of an error. A LUN in an error condition can be brought online by setting the enabled property to true or brought administratively offline by setting the enabled property to false. Upon creation, a LUN is enabled by default. Valid in PATCH.

encryption

encryption

Encryption related properties for the LUN.

Platform Specifics

  • Unified ONTAP: These properties are not available on the LUN object in the REST API and are not reported for GET requests. See the containing volume object for this information.

  • ASA.Next: Available for GET, POST and PATCH.

location

location

The location of the LUN within the ONTAP cluster. Valid in POST and PATCH.

  • Introduced in: 9.6

lun_maps

array[lun_maps]

The LUN maps with which the LUN is associated.

There is an added computational cost to retrieving property values for lun_maps. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

metric

metric

Performance numbers, such as IOPS latency and throughput.

movement

movement

This sub-object applies to LUN movement between volumes. A LUN can be moved to a new volume with a PATCH request that changes either the volume portion of property name, location.volume.uuid, or location.volume.name. If the volume is changed using more than one of these properties, the supplied properties used must refer to the same volume.

Moving a LUN between volumes is an asynchronous activity begun by a PATCH request. The data for the LUN is then asynchronously copied from the source volume to the destination volume. The time required to complete the move depends on the size of the LUN and the load on the cluster. The movement sub-object is populated while a LUN movement is in progress and for two (2) minutes following completion of a movement.

While the LUN is being moved, the status of the LUN movement operation can be obtained using a GET for the LUN that requests the movement properties. The LUN movement operation can be further modified using a PATCH on the properties on the movement sub-object.

There is an added computational cost to retrieving property values for movement. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

name

string

The fully qualified path name of the LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. Valid in POST and PATCH.

A PATCH that modifies the qtree and/or base name portion of the LUN path is considered a rename operation.

A PATCH that modifies the volume portion of the LUN path begins an asynchronous LUN movement operation.

os_type

string

The operating system type of the LUN.

Required in POST when creating a LUN that is not a clone of another. Disallowed in POST when creating a LUN clone.

qos_policy

qos_policy

The QoS policy for the LUN. Both traditional and adaptive QoS policies are supported. If both property qos_policy.uuid and qos_policy.name are specified in the same request, they must refer to the same QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set property qos_policy.name to an empty string ("") in a PATCH request. Valid in POST and PATCH.

serial_number

string

The LUN serial number. The serial number is generated by ONTAP when the LUN is created.

  • maxLength: 12

  • minLength: 12

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

space

space

The storage space related properties of the LUN.

statistics

statistics

These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.

status

status

Status information about the LUN.

svm

svm

The SVM in which the LUN is located.

uuid

string

The unique identifier of the LUN. The UUID is generated by ONTAP when the LUN is created.

  • example: 1cd8a442-86d1-11e0-ae1c-123478563412

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

vvol

vvol

A VMware virtual volume (vVol) binding is an association between a LUN of class protocol_endpoint and a LUN of class vvol. Class protocol_endpoint LUNs are mapped to igroups and granted access using the same configuration as class regular LUNs. When a class vvol LUN is bound to a mapped class protocol_endpoint LUN, VMware can access the class vvol LUN through the class protocol_endpoint LUN mapping.

See link:post-protocols-san-vvol-bindings(#-san-vvol-binding-create)tolearnmoreaboutcreatingvvolbindingsanddelete-protocols-san-vvol-bindings.htmlPOST /protocols/san/vvol-bindings to learn more about creating vVol bindings and [DELETE /protocols/san/vvol-bindings] to learn more about deleting vVol bindings.

There is an added computational cost to retrieving property values for vvol. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

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.