Create a vVol binding
POST /protocols/san/vvol-bindings
Introduced In: 9.10
Creates a vVol binding. The binding between any two specific LUNs is reference counted. When a binding is created that already exists, the binding count is incremented.
Required properties
-
svm.uuidorsvm.name- Existing SVM in which to create the vVol binding. -
protocol_endpoint.uuidorprotocol_endpoint.name- Existing classprotocol_endpointLUN to bind to the specified classvvolLUN. -
vvol.uuidorvvol.name- Existing classvvolLUN to bind to the specified classprotocol_endpointLUN.
Related ONTAP commands
-
lun bind create
Learn more
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
| Name | Type | Description |
|---|---|---|
count |
integer |
The vVol binding between any two specific LUNs is reference counted. When a REST POST is executed for a vVol binding that already exists, the vVol binding reference count is incremented. When a REST DELETE is executed, the vVol binding reference count is decremented. Only when the vVol binding count reaches zero, or the query parameter |
id |
integer |
The ONTAP internal identifier assigned to the vVol binding. The bind identifier is unique amongst all class This property was included in early releases of the REST API for vVols and is maintained for backward compatibility. See the
|
is_optimal |
boolean |
Indicates if the class |
protocol_endpoint |
The class |
|
secondary_id |
string |
The identifier assigned to the vVol binding, known as the secondary LUN ID. The identifier is unique amongst all class The format for a secondary LUN ID is 16 hexadecimal digits (zero-filled) followed by a lower case "h". |
svm |
The SVM in which the vVol binding and its LUNs are located. Required in POST. |
|
vvol |
The class |
Example request
{
"count": 1,
"id": 1,
"is_optimal": 1,
"protocol_endpoint": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"secondary_id": "0000D20000010000h",
"svm": {
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"vvol": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
Response
Status: 201, Created
| Name | Type | Description |
|---|---|---|
num_records |
integer |
The number of records in the response. |
records |
array[vvol_binding] |
Example response
{
"num_records": 1,
"records": [
{
"count": 1,
"id": 1,
"is_optimal": 1,
"protocol_endpoint": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"secondary_id": "0000D20000010000h",
"svm": {
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"vvol": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
]
}
Headers
| Name | Description | Type |
|---|---|---|
Location |
Useful for tracking the resource location |
string |
Error
Status: Default
ONTAP Error Response Codes
| Error Code | Description |
|---|---|
2621462 |
The specified SVM does not exist or is not accessible to the caller. |
2621706 |
Both the SVM UUID and SVM name were supplied, but don't refer to the same SVM. |
2621707 |
No SVM was specified. Either |
5374238 |
A LUN in a Snapshot copy was specified. |
5374323 |
The LUN specified as the protocol endpoint LUN is not of class |
5374325 |
The LUN specified as the vVol LUN is not of class |
5374874 |
The UUID and name supplied for the protocol endpoint of Vvol LUN do not refer to the same LUN. Use to the |
5374875 |
The protocol endpoint or vVol LUN was not found or is not accessible to the caller. Use to the |
5374876 |
The protocol endpoint or vVol LUN was not found in the SVM. Use to the |
5374924 |
No protocol endpoint LUN was supplied. |
5374925 |
No vVol LUN was supplied. |
Also see the table of common errors in the Response body overview section of this documentation.
Definitions
See Definitions
href
| Name | Type | Description |
|---|---|---|
href |
string |
_links
protocol_endpoint
The class protocol_endpoint LUN in the vVol binding. Required in POST.
| Name | Type | Description |
|---|---|---|
name |
string |
The fully qualified path name of the LUN composed of the "/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 LUN. |
svm
The SVM in which the vVol binding and its LUNs are located. Required in POST.
| Name | Type | Description |
|---|---|---|
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. |
vvol
The class vvol LUN in the vVol binding. Required in POST.
| Name | Type | Description |
|---|---|---|
name |
string |
The fully qualified path name of the LUN composed of the "/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 LUN. |
vvol_binding
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.
Class protocol_endpoint and vvol LUNs support many-to-many vVol bindings. A LUN of one class can be bound to zero or more LUNs of the opposite class.
The vVol binding between any two specific LUNs is reference counted. When a REST POST is executed for a vVol binding that already exists, the vVol binding reference count is incremented. When a REST DELETE is executed, the vVol binding reference count is decremented. Only when the vVol binding count reaches zero, or the query parameter delete_all_references is supplied, is the vVol binding destroyed.
| Name | Type | Description |
|---|---|---|
count |
integer |
The vVol binding between any two specific LUNs is reference counted. When a REST POST is executed for a vVol binding that already exists, the vVol binding reference count is incremented. When a REST DELETE is executed, the vVol binding reference count is decremented. Only when the vVol binding count reaches zero, or the query parameter |
id |
integer |
The ONTAP internal identifier assigned to the vVol binding. The bind identifier is unique amongst all class This property was included in early releases of the REST API for vVols and is maintained for backward compatibility. See the
|
is_optimal |
boolean |
Indicates if the class |
protocol_endpoint |
The class |
|
secondary_id |
string |
The identifier assigned to the vVol binding, known as the secondary LUN ID. The identifier is unique amongst all class The format for a secondary LUN ID is 16 hexadecimal digits (zero-filled) followed by a lower case "h". |
svm |
The SVM in which the vVol binding and its LUNs are located. Required in POST. |
|
vvol |
The class |
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. |