Add NVMe subsystem hosts
POST /protocols/nvme/subsystems/{subsystem.uuid}/hosts
Introduced In: 9.6
Adds NVMe subsystem host(s) to an NVMe subsystem.
Required properties
-
nqn
orrecords.nqn
- NVMe host(s) NQN(s) to add to the NVMe subsystem.
Related ONTAP commands
-
vserver nvme subsystem host add
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
subsystem.uuid |
string |
path |
True |
The unique identifier of the NVMe subsystem. |
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
dh_hmac_chap |
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol. |
|
io_queue |
The properties of the submission queue used to submit I/O commands for execution by the NVMe controller. |
|
nqn |
string |
The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the |
priority |
string |
The host priority setting allocates appropriate NVMe I/O queues (count and depth) for the host to submit I/O commands. Absence of this property in GET implies io_queue count and I/O queue depth are being used. |
records |
array[records] |
An array of NVMe hosts specified to add multiple NVMe hosts to an NVMe subsystem in a single API call. Valid in POST only. |
subsystem |
The NVMe subsystem to which the NVMe host has been provisioned. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"io_queue": {
"count": 4,
"depth": 32
},
"nqn": "nqn.1992-01.example.com:string",
"priority": "string",
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"io_queue": {
"count": 4,
"depth": 32
},
"nqn": "nqn.1992-01.example.com:string",
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
],
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"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[nvme_subsystem_host] |
Example response
{
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"num_records": 1,
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"io_queue": {
"count": 4,
"depth": 32
},
"nqn": "nqn.1992-01.example.com:string",
"priority": "string",
"records": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"dh_hmac_chap": {
"controller_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"group_size": "string",
"hash_function": "string",
"host_secret_key": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:",
"mode": "bidirectional"
},
"io_queue": {
"count": 4,
"depth": 32
},
"nqn": "nqn.1992-01.example.com:string",
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
],
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"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 |
---|---|
262186 |
The "records" array and other host properties are mutually exclusive. |
72089705 |
The NVMe subsystem host already exists for the NVMe subsystem. |
72089771 |
The NQN is invalid. A non-empty qualifier is required after the prefix. An example of a valid NQN is nqn.1992-01.com.example:string. |
72089772 |
The NQN is invalid. Add the prefix 'nqn'. An example of a valid NQN is nqn.1992-01.com.example:string. |
72089773 |
The NQN is invalid. The date field must be formatted yyyy-mm. An example of a valid NQN is nqn.1992-01.com.example:string. |
72090001 |
The NVMe subsystem does not exist. |
72090003 |
A host to be added to an NVMe subsystem is missing the "nqn" property. |
72090041 |
An element in the "records" array contains an invalid property. |
72090042 |
The |
Also see the table of common errors in the Response body overview section of this documentation.
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 |
dh_hmac_chap
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol.
Name | Type | Description |
---|---|---|
controller_secret_key |
string |
The controller secret for NVMe in-band authentication. The value of this property is used by the NVMe host to authenticate the NVMe controller while establishing a connection. If unset, the controller is not authenticated. When supplied, the property This property is write-only. The |
group_size |
string |
The Diffie-Hellman group size for NVMe in-band authentication. When property |
hash_function |
string |
The hash function for NVMe in-band authentication. When property |
host_secret_key |
string |
The host secret for NVMe in-band authentication. The value of this property is used by the NVMe controller to authenticate the NVMe host while establishing a connection. If unset, no authentication is performed by the host or controller. This property must be supplied if any other NVMe in-band authentication properties are supplied. Optional in POST. This property is write-only. The |
mode |
string |
The expected NVMe in-band authentication mode for the host. This property is an indication of which secrets are configured for the host. When set to:
|
io_queue
The properties of the submission queue used to submit I/O commands for execution by the NVMe controller.
Name | Type | Description |
---|---|---|
count |
integer |
The number of I/O queue pairs. Absence of this property in GET implies property priority is set and platform and transport protocol specific values for I/O queue count is being used. Valid in GET only. |
depth |
integer |
The I/O queue depth. Absence of this property in GET implies property priority is set and platform and transport protocol specific values for I/O queue depth is being used. Valid in GET only. |
io_queue
The properties of the submission queue used to submit I/O commands for execution by the NVMe controller.
Name | Type | Description |
---|---|---|
count |
integer |
The number of I/O queue pairs. The default value is inherited from the owning NVMe subsystem. |
depth |
integer |
The I/O queue depth. The default value is inherited from the owning NVMe subsystem. |
subsystem
The NVMe subsystem to which the NVMe host has been provisioned.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the NVMe subsystem. |
uuid |
string |
The unique identifier of the NVMe subsystem. |
records
The NVMe host provisioned to access NVMe namespaces mapped to a subsystem.
Name | Type | Description |
---|---|---|
_links |
||
dh_hmac_chap |
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol. |
|
io_queue |
The properties of the submission queue used to submit I/O commands for execution by the NVMe controller. |
|
nqn |
string |
The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the |
subsystem |
The NVMe subsystem to which the NVMe host has been provisioned. |
nvme_subsystem_host
The NVMe host provisioned to access NVMe namespaces mapped to a subsystem.
Name | Type | Description |
---|---|---|
_links |
||
dh_hmac_chap |
A container for properties of NVMe in-band authentication with the DH-HMAC-CHAP protocol. |
|
io_queue |
The properties of the submission queue used to submit I/O commands for execution by the NVMe controller. |
|
nqn |
string |
The NVMe qualified name (NQN) used to identify the NVMe storage target. Not allowed in POST when the |
priority |
string |
The host priority setting allocates appropriate NVMe I/O queues (count and depth) for the host to submit I/O commands. Absence of this property in GET implies io_queue count and I/O queue depth are being used. |
records |
array[records] |
An array of NVMe hosts specified to add multiple NVMe hosts to an NVMe subsystem in a single API call. Valid in POST only. |
subsystem |
The NVMe subsystem to which the NVMe host has been provisioned. |
_links
Name | Type | Description |
---|---|---|
next |
||
self |
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. |