Update an NVMe namespace
PATCH /storage/namespaces/{uuid}
Introduced In: 9.6
Updates an NVMe namespace.
Related ONTAP commands
-
volume file clone autodelete
-
vserver nvme namespace modify
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
The unique identifier of the NVMe namespace to update. |
Request Body
Name | Type | Description |
---|---|---|
_links |
||
auto_delete |
boolean |
This property marks the NVMe namespace for auto deletion when the volume containing the namespace runs out of space. This is most commonly set on namespace clones. When set to true, the NVMe namespace becomes eligible for automatic deletion when the volume runs out of space. Auto deletion only occurs when the volume containing the namespace 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 NVMe namespace 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 |
clone |
This sub-object is used in POST to create a new NVMe namespace as a clone of an existing namespace, or PATCH to overwrite an existing namespace as a clone of another. Setting a property in this sub-object indicates that a namespace clone is desired. When used in a PATCH, the patched NVMe namespace's data is over-written as a clone of the source and the following properties are preserved from the patched namespace unless otherwise specified as part of the PATCH: |
|
comment |
string |
A configurable comment available for use by the administrator. Valid in POST and PATCH. |
consistency_group |
The NVMe namespace's consistency group. This property is populated for NVMe namespaces that are members of a consistency group. If the NVMe namespace is a member of a child consistency group, the parent consistency group is reported. Platform Specifics
|
|
convert |
This sub-object is used in POST to convert a valid in-place LUN to an NVMe namespace. Setting a property in this sub-object indicates that a conversion from the specified LUN to NVMe namespace is desired. |
|
create_time |
string |
The time the NVMe namespace was created. |
enabled |
boolean |
The enabled state of the NVMe namespace. Certain error conditions cause the namespace to become disabled. If the namespace is disabled, you can check the |
encryption |
Encryption related properties for the NVMe namespace. Platform Specifics
|
|
location |
The location of the NVMe namespace within the ONTAP cluster. Valid in POST. NVMe namespaces do not support rename, or movement between volumes.
|
|
metric |
Performance numbers, such as IOPS latency and throughput |
|
name |
string |
The fully qualified path name of the NVMe namespace composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the namespace. Valid in POST. NVMe namespaces do not support rename, or movement between volumes. |
os_type |
string |
The operating system type of the NVMe namespace. Required in POST when creating an NVMe namespace that is not a clone of another. Disallowed in POST when creating a namespace clone. |
qos_policy |
The QoS policy for the NVMe namspace. Both traditional and adaptive QoS policies are supported. If both property Platform Specifics
|
|
space |
The storage space related properties of the NVMe namespace. |
|
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 information about the NVMe namespace. |
|
subsystem_map |
The NVMe subsystem with which the NVMe namespace is associated. A namespace can be mapped to zero (0) or one (1) subsystems. There is an added computational cost to retrieving property values for |
|
svm |
SVM, applies only to SVM-scoped objects. |
|
uuid |
string |
The unique identifier of the NVMe namespace. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"clone": {
"source": {
"name": "/vol/volume1/namespace1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"comment": "string",
"consistency_group": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cg1",
"uuid": "4abc2317-4332-9d37-93a0-20bd29c22df0"
},
"convert": {
"lun": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"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"
},
"type": "string"
},
"location": {
"namespace": "namespace1",
"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"
}
},
"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"
},
"name": "/vol/volume1/qtree1/namespace1",
"os_type": "string",
"qos_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "qos1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"block_size": 512,
"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"
},
"subsystem_map": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anagrpid": "00103050h",
"nsid": "00000001h",
"subsystem": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "subsystem1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 200, Ok
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
5374127 |
An invalid namespace name was specified. |
13565952 |
The namespace clone request failed. |
72089724 |
The specified namespace size is too large. |
72089730 |
The specified namespace cannot be updated as it resides in a Snapshot copy. |
72090005 |
The specified |
72090006 |
The specified namespace was not found. This can apply to |
72090007 |
The specified namespace was not found. This can apply to |
72090010 |
An error occurred after successfully overwriting data for the namespace as a clone. Some properties were not modified. |
72090011 |
An error occurred after successfully modifying some of the properties of the namespace. Some properties were not modified. |
72090016 |
The namespace's aggregate is offline. The aggregate must be online to modify or remove the namespace. |
72090017 |
The namespace's volume is offline. The volume must be online to modify or remove the namespace. |
72090038 |
An attempt was made to reduce the size of the specified namespace. |
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 |
source
The source NVMe namespace for a namespace 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 namespace.
Valid in POST to create a new NVMe namespace as a clone of the source.
Valid in PATCH to overwrite an existing NVMe namespace's data as a clone of another.
Name | Type | Description |
---|---|---|
name |
string |
The fully qualified path name of the clone source NVMe namespace composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the namespace. Valid in POST and PATCH. |
uuid |
string |
The unique identifier of the clone source NVMe namespace. Valid in POST and PATCH. |
clone
This sub-object is used in POST to create a new NVMe namespace as a clone of an existing namespace, or PATCH to overwrite an existing namespace as a clone of another. Setting a property in this sub-object indicates that a namespace clone is desired.
When used in a PATCH, the patched NVMe namespace's data is over-written as a clone of the source and the following properties are preserved from the patched namespace unless otherwise specified as part of the PATCH: auto_delete
(unless specified in the request), subsystem_map
, status.state
, and uuid
.
Name | Type | Description |
---|---|---|
source |
The source NVMe namespace for a namespace clone operation. This can be specified using property Valid in POST to create a new NVMe namespace as a clone of the source. Valid in PATCH to overwrite an existing NVMe namespace's data as a clone of another. |
consistency_group
The NVMe namespace's consistency group. This property is populated for NVMe namespaces that are members of a consistency group. If the NVMe namespace is a member of a child consistency group, the parent consistency group is reported.
=== Platform Specifics
-
Unified ONTAP: An NVMe namespace's consistency group is the consistency group of its containing volume.
-
ASA.Next: An NVMe namespace is optionally associated directly with a consistency group.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the consistency group. |
uuid |
string |
The unique identifier of the consistency group. |
lun
The source LUN for convert operation. This can be specified using property convert.lun.uuid
or convert.lun.name
. If both properties are supplied, they must refer to the same LUN.
Valid in POST. A convert request from LUN to NVMe namespace cannot be combined with setting any other namespace properties. All other properties of the converted NVMe namespace come from the source LUN.
Name | Type | Description |
---|---|---|
name |
string |
The fully qualified path name of the source LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name and base name of the LUN. Valid in POST. |
uuid |
string |
The unique identifier of the source LUN. Valid in POST. |
convert
This sub-object is used in POST to convert a valid in-place LUN to an NVMe namespace. Setting a property in this sub-object indicates that a conversion from the specified LUN to NVMe namespace is desired.
Name | Type | Description |
---|---|---|
lun |
The source LUN for convert operation. This can be specified using property Valid in POST. A convert request from LUN to NVMe namespace cannot be combined with setting any other namespace properties. All other properties of the converted NVMe namespace 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 NVMe namespace.
=== Platform Specifics
-
Unified ONTAP: These properties are not available on the NVMe namespace 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:
|
enabled |
boolean |
Creates an encrypted or an unencrypted NVMe namespace. For POST, when set to |
key_create_time |
string |
Encryption key creation time of the NVMe namespace. |
key_id |
string |
The key ID used for creating encrypted NVMe namespace. A new key-id is generated for creating an encrypted NVMe namespace. 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 |
rekey |
boolean |
If set to |
state |
string |
NVMe namespace encryption state.
|
status |
||
type |
string |
NVMe namespace encryption type.
|
node
The cluster node that hosts the NVMe namespace.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
qtree
The qtree in which the NVMe namespace is optionally located. Valid in POST.
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.
NVMe namespaces do not support rename.
Name | Type | Description |
---|---|---|
_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 NVMe namespace is located. Valid in POST.
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.
NVMe namespaces do not support movement between volumes.
Name | Type |
---|