Update a consistency group
PATCH /application/consistency-groups/{uuid}
Introduced In: 9.10
Updates a consistency group.
that this operation will never delete storage elements. You can specify only elements that should be added to the consistency group regardless of existing storage objects. |
Related ONTAP commands
N/A. There are no ONTAP commands for managing consistency groups.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
The unique identifier of the consistency group to modify. |
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
application |
||
clone |
Creates a clone of an existing consistency group from the current contents or an existing Snapshot copy. |
|
consistency_groups |
array[consistency_groups] |
A consistency group is a mutually exclusive aggregation of volumes or other consistency groups. A consistency group can only be associated with one direct parent consistency group. |
luns |
array[luns] |
The LUNs array can be used to create or modify LUNs in a consistency group on a new or existing volume that is a member of the consistency group. LUNs are considered members of a consistency group if they are located on a volume that is a member of the consistency group. |
metric |
Performance and capacity numbers, such as, IOPS, latency, throughput, used space, and available space. |
|
name |
string |
Name of the consistency group. The consistency group name must be unique within an SVM. If not provided and the consistency group contains only one volume, the name will be generated based on the volume name. If the consistency group contains more than one volume, the name is required. |
namespaces |
array[namespaces] |
An NVMe namespace is a collection of addressable logical blocks presented to hosts connected to the SVM using the NVMe over Fabrics protocol. In ONTAP, an NVMe namespace is located within a volume. Optionally, it can be located within a qtree in a volume. An NVMe namespace is created to a specified size using thin or thick provisioning as determined by the volume on which it is created. NVMe namespaces support being cloned. An NVMe namespace cannot be renamed, resized, or moved to a different volume. NVMe namespaces do not support the assignment of a QoS policy for performance management, but a QoS policy can be assigned to the volume containing the namespace. See the NVMe namespace object model to learn more about each of the properties supported by the NVMe namespace REST API. An NVMe namespace must be mapped to an NVMe subsystem to grant access to the subsystem's hosts. Hosts can then access the NVMe namespace and perform I/O using the NVMe over Fabrics protocol.
|
parent_consistency_group |
The parent consistency group. |
|
provisioning_options |
Options that are applied to the operation. |
|
qos |
||
replicated |
boolean |
Indicates whether or not replication has been enabled on this consistency group. |
replication_relationships |
array[replication_relationships] |
Indicates the SnapMirror relationship of this consistency group. |
replication_source |
boolean |
Since support for this field is to be removed in the next release, use replication_relationships.is_source instead. |
restore_to |
Use to restore a consistency group to a previous Snapshot copy |
|
snapshot_policy |
This is a reference to the Snapshot copy policy. |
|
space |
Space information for the consistency group. |
|
statistics |
These are raw performance and space numbers, such as, IOPS, latency, throughput, used space, and available space. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
The Storage Virtual Machine (SVM) in which the consistency group is located. |
|
tiering |
The tiering placement and policy definitions for volumes in this consistency group. |
|
uuid |
string |
The unique identifier of the consistency group. The UUID is generated by ONTAP when the consistency group is created.
|
volumes |
array[volumes] |
A consistency group is a mutually exclusive aggregation of volumes or other consistency groups. A volume can only be associated with one direct parent consistency group. The volumes array can be used to create new volumes in the consistency group, add existing volumes to the consistency group, or modify existing volumes that are already members of the consistency group. The total number of volumes across all child consistency groups contained in a consistency group is constrained by the same limit. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"application": {
"component_type": "string",
"type": "string"
},
"clone": {
"guarantee": {
"type": "string"
},
"parent_consistency_group": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "my_consistency_group",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"parent_snapshot": {
"name": "string"
},
"volume": {
"prefix": "string",
"suffix": "string"
}
},
"consistency_groups": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"application": {
"component_type": "string",
"type": "string"
},
"luns": [
{
"clone": {
"source": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"comment": "string",
"create_time": "2018-06-04 15:00:00 -0400",
"lun_maps": [
{
"igroup": {
"comment": "string",
"igroups": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "igroup1",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
],
"initiators": [
{
"comment": "my comment",
"name": "iqn.1998-01.com.corp.iscsi:name1"
}
],
"name": "igroup1",
"os_type": "string",
"protocol": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
}
],
"name": "/vol/volume1/lun1",
"os_type": "string",
"provisioning_options": {
"action": "string"
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"serial_number": "string",
"space": {
"size": 1073741824,
"used": 0
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"name": "string",
"namespaces": [
{
"comment": "string",
"create_time": "2018-06-04 15:00:00 -0400",
"name": "/vol/volume1/qtree1/namespace1",
"os_type": "string",
"provisioning_options": {
"action": "string"
},
"space": {
"block_size": 512,
"size": 1073741824,
"used": 0
},
"status": {
"container_state": "string",
"state": "online"
},
"subsystem_map": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anagrpid": "00103050h",
"nsid": "00000001h",
"subsystem": {
"comment": "string",
"hosts": [
{
"nqn": "nqn.1992-01.example.com:string"
}
],
"name": "subsystem1",
"os_type": "string",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"parent_consistency_group": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "my_consistency_group",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"provisioning_options": {
"action": "string",
"name": "string",
"storage_service": {
"name": "string"
}
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"restore_to": {
"snapshot": {
"name": "string",
"uuid": "string"
}
},
"snapshot_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "default",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"available": 5737418,
"size": 1073741824,
"used": 5737418
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412",
"volumes": [
{
"activity_tracking": {
"state": "string",
"unsupported_reason": {
"code": "124518405",
"message": "Volume activity tracking cannot be enabled on volumes that contain LUNs."
}
},
"analytics": {
"scan_progress": 17,
"state": "string",
"unsupported_reason": {
"code": "111411207",
"message": "File system analytics cannot be enabled on volumes that contain LUNs."
}
},
"comment": "string",
"language": "string",
"name": "vol_cs_dept",
"nas": {
"cifs": {
"shares": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"acls": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"permission": "string",
"type": "string",
"user_or_group": "ENGDOMAIN\\ad_user"
}
],
"comment": "HR Department Share",
"dir_umask": 18,
"file_umask": 18,
"name": "HR_SHARE",
"offline_files": "string",
"unix_symlink": "string",
"vscan_profile": "string"
}
]
},
"export_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "string",
"rules": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anonymous_user": "string",
"chown_mode": "string",
"clients": [
{
"match": "0.0.0.0/0"
}
],
"index": 0,
"ntfs_unix_security": "string",
"protocols": [
"string"
],
"ro_rule": [
"string"
],
"rw_rule": [
"string"
],
"superuser": [
"string"
]
}
],
"uuid": "string"
},
"junction_parent": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "vs1_root",
"uuid": "75c9cfb0-3eb4-11eb-9fb4-005056bb088a"
},
"path": "/user/my_volume",
"security_style": "string",
"unix_permissions": 493
},
"provisioning_options": {
"action": "string",
"storage_service": {
"name": "string"
}
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"snapshot_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "default",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"available": 0,
"used": 0
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
},
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
]
}
],
"luns": [
{
"clone": {
"source": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"comment": "string",
"create_time": "2018-06-04 15:00:00 -0400",
"lun_maps": [
{
"igroup": {
"comment": "string",
"igroups": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "igroup1",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
],
"initiators": [
{
"comment": "my comment",
"name": "iqn.1998-01.com.corp.iscsi:name1"
}
],
"name": "igroup1",
"os_type": "string",
"protocol": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
}
],
"name": "/vol/volume1/lun1",
"os_type": "string",
"provisioning_options": {
"action": "string"
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"serial_number": "string",
"space": {
"size": 1073741824,
"used": 0
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"available_space": 4096,
"duration": "PT15S",
"iops": {
"read": 200,
"total": 1000,
"write": 100
},
"latency": {
"read": 200,
"total": 1000,
"write": 100
},
"size": 4096,
"status": "ok",
"throughput": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500",
"used_space": 4096
},
"name": "string",
"namespaces": [
{
"comment": "string",
"create_time": "2018-06-04 15:00:00 -0400",
"name": "/vol/volume1/qtree1/namespace1",
"os_type": "string",
"provisioning_options": {
"action": "string"
},
"space": {
"block_size": 512,
"size": 1073741824,
"used": 0
},
"status": {
"container_state": "string",
"state": "online"
},
"subsystem_map": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anagrpid": "00103050h",
"nsid": "00000001h",
"subsystem": {
"comment": "string",
"hosts": [
{
"nqn": "nqn.1992-01.example.com:string"
}
],
"name": "subsystem1",
"os_type": "string",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"parent_consistency_group": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "my_consistency_group",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"provisioning_options": {
"action": "string",
"name": "string",
"storage_service": {
"name": "string"
}
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"replication_relationships": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
],
"restore_to": {
"snapshot": {
"name": "string",
"uuid": "string"
}
},
"snapshot_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "default",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"available": 5737418,
"size": 1073741824,
"used": 5737418
},
"statistics": {
"available_space": 4096,
"iops_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"latency_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"size": 4096,
"status": "ok",
"throughput_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500",
"used_space": 4096
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412",
"volumes": [
{
"activity_tracking": {
"state": "string",
"unsupported_reason": {
"code": "124518405",
"message": "Volume activity tracking cannot be enabled on volumes that contain LUNs."
}
},
"analytics": {
"scan_progress": 17,
"state": "string",
"unsupported_reason": {
"code": "111411207",
"message": "File system analytics cannot be enabled on volumes that contain LUNs."
}
},
"comment": "string",
"language": "string",
"name": "vol_cs_dept",
"nas": {
"cifs": {
"shares": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"acls": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"permission": "string",
"type": "string",
"user_or_group": "ENGDOMAIN\\ad_user"
}
],
"comment": "HR Department Share",
"dir_umask": 18,
"file_umask": 18,
"name": "HR_SHARE",
"offline_files": "string",
"unix_symlink": "string",
"vscan_profile": "string"
}
]
},
"export_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "string",
"rules": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"anonymous_user": "string",
"chown_mode": "string",
"clients": [
{
"match": "0.0.0.0/0"
}
],
"index": 0,
"ntfs_unix_security": "string",
"protocols": [
"string"
],
"ro_rule": [
"string"
],
"rw_rule": [
"string"
],
"superuser": [
"string"
]
}
],
"uuid": "string"
},
"junction_parent": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "vs1_root",
"uuid": "75c9cfb0-3eb4-11eb-9fb4-005056bb088a"
},
"path": "/user/my_volume",
"security_style": "string",
"unix_permissions": 493
},
"provisioning_options": {
"action": "string",
"storage_service": {
"name": "string"
}
},
"qos": {
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"max_throughput_iops": 10000,
"max_throughput_mbps": 500,
"min_throughput_iops": 2000,
"min_throughput_mbps": 500,
"name": "performance",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"snapshot_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "default",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"space": {
"available": 0,
"used": 0
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
},
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
]
}
Response
Status: 200, Ok
Response
Status: 202, Accepted
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
53411842 |
Consistency group does not exist. |
53411843 |
A consistency group with specified UUID was not found. |
53411844 |
Specified consistency group was not found in the specified SVM. |
53411845 |
The specified UUID and name refer to different consistency groups. |
53411846 |
Either name or UUID must be provided. |
53411852 |
A consistency group with the same identifier in the same scope exists. |
53411853 |
Fields provided in the request conflict with each other. |
53411856 |
Field provided is only supported when provisioning new objects. |
53411857 |
LUNs that are not members of the application are not supported by this API. LUNs can be added to an application by adding the volume containing the LUNs to the application. |
53411860 |
An object with the same identifier in the same scope exists. |
53411861 |
Volume specified does not exist in provided volume array. |
53411862 |
Modifying existing igroups is not supported using this API. |
53411864 |
Request content insufficient to add an existing volume to an application. |
53411865 |
Volumes contained in one consistency group cannot be added to a different consistency group. |
53411866 |
LUNs are not supported on FlexGroup volumes. |
53411867 |
LUN name is too long after appending a unique suffix. |
53411869 |
Volume name is too long after appending a unique suffix. |
53411870 |
When using the "round_robin" layout, the volume count must not be greater than the LUN count. |
53411959 |
Volumes with Snapshot copy locking enabled cannot be added to a consistency group. |
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 |
self_link
Name | Type | Description |
---|---|---|
self |
application
Name | Type | Description |
---|---|---|
component_type |
string |
Nested consistency group tag. |
type |
string |
Top level consistency group tag. |
guarantee
Name | Type | Description |
---|---|---|
type |
string |
The type of space guarantee of this volume in the aggregate. |
parent_consistency_group
Consistency group that is to be cloned.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the consistency group. |
uuid |
string |
The unique identifier of the consistency group. |
parent_snapshot
Name | Type | Description |
---|---|---|
name |
string |
Name of an existing Snapshot copy of a parent consistency group. |
volume
Volume name suffix/prefix for the cloned volumes.
Name | Type | Description |
---|---|---|
prefix |
string |
Volume name prefix for cloned volumes. |
suffix |
string |
Volume name suffix for cloned volumes. |
clone
Creates a clone of an existing consistency group from the current contents or an existing Snapshot copy.
Name | Type | Description |
---|---|---|
guarantee |
||
parent_consistency_group |
Consistency group that is to be cloned. |
|
parent_snapshot |
||
split_initiated |
boolean |
Splits volumes after cloning. Default is false. |
volume |
Volume name suffix/prefix for the cloned volumes. |
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 |
The source LUN for a LUN clone operation. This can be specified using property 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. |
igroups
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the initiator group. |
uuid |
string |
The unique identifier of the initiator group. |
initiators
The initiators that are members of the initiator group.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
name |
string |
Name of initiator that is a member of the initiator group. |
igroup
The initiator group that directly owns the initiator, which is where modification of the initiator is supported. This property will only be populated when the initiator is a member of a nested initiator group.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. Valid in POST and PATCH. |
igroups |
array[igroups] |
Separate igroup definitions to include in this igroup. |
initiators |
array[initiators] |
The initiators that are members of the group. |
name |
string |
The name of the initiator group. Required in POST; optional in PATCH. |
os_type |
string |
The host operating system of the initiator group. All initiators in the group should be hosts of the same operating system. Required in POST; optional in PATCH. |
protocol |
string |
The protocols supported by the initiator group. This restricts the type of initiators that can be added to the initiator group. Optional in POST; if not supplied, this defaults to mixed. The protocol of an initiator group cannot be changed after creation of the group. |
uuid |
string |
The unique identifier of the initiator group. |
lun_maps
A LUN map is an association between a LUN and an initiator group.
When a LUN is mapped to an initiator group, the initiator group's initiators are granted access to the LUN. The relationship between a LUN and an initiator group is many LUNs to many initiator groups.