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.uuid
orsvm.name
- Existing SVM in which to create the vVol binding. -
protocol_endpoint.uuid
orprotocol_endpoint.name
- Existing classprotocol_endpoint
LUN to bind to the specified classvvol
LUN. -
vvol.uuid
orvvol.name
- Existing classvvol
LUN to bind to the specified classprotocol_endpoint
LUN.
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 |
---|---|---|
_links |
||
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 identifier assigned to the vVol binding. The bind identifier is unique amongst all class |
is_optimal |
boolean |
Indicates if the class |
protocol_endpoint |
The class |
|
svm |
The SVM in which the vVol binding and its LUNs are located. Required in POST. |
|
vvol |
The class |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"count": 1,
"id": 1,
"is_optimal": 1,
"protocol_endpoint": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"vvol": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
Response
Status: 201, Created
Name | Type | Description |
---|---|---|
_links |
||
num_records |
integer |
The number of records in the response. |
records |
array[vvol_binding] |
Example response
{
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"num_records": 1,
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"count": 1,
"id": 1,
"is_optimal": 1,
"protocol_endpoint": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"vvol": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"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. |
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 |
protocol_endpoint
The class protocol_endpoint
LUN in the vVol binding. Required in POST.
Name | Type | Description |
---|---|---|
_links |
||
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 |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
vvol
The class vvol
LUN in the vVol binding. Required in POST.
Name | Type | Description |
---|---|---|
_links |
||
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 |
---|---|---|
_links |
||
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 identifier assigned to the vVol binding. The bind identifier is unique amongst all class |
is_optimal |
boolean |
Indicates if the class |
protocol_endpoint |
The class |
|
svm |
The SVM in which the vVol binding and its LUNs are located. Required in POST. |
|
vvol |
The class |
_links
Name | Type | Description |
---|---|---|
next |
||
self |
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. |