Create a SnapMirror relationship
POST /snapmirror/relationships
Introduced In: 9.6
Creates a SnapMirror relationship. This API can optionally provision the destination endpoint when it does not exist. This API must be executed on the cluster containing the destination endpoint unless the destination endpoint is being provisioned. When the destination endpoint is being provisioned, this API can also be executed from the cluster containing the source endpoint. Provisioning of the destination endpoint from the source cluster is supported for the FlexVol volume, FlexGroup volume and Consistency Group endpoints. For SVM endpoint, provisioning of the destination SVM endpoint is not supported from the source cluster. When the destination endpoint exists the source SVM and the destination SVM must be in an SVM peer relationship. When provisioning the destination endpoint, the SVM peer relationship between the source SVM and the destination SVM is established as part of the destination, provision provided the source SVM has SVM peering permission for the destination cluster.
Important notes
-
Only "async" type policies with property "create_snapshot_on_source" set to false can be used in the creation of SnapMirror relationships having object store endpoints.
-
Policies with property "network_compression_enabled" to "true" cannot be used in the creation of SnapMirror relationships having object store endpoints.
-
Policies with property "retention.creation_schedule" cannot be used in the creation of SnapMirror relationships having object store endpoints.
-
Policies with the property "snapshot_lock_mode" set to "compliance" or "enterprise" can only be used in the creation of SnapMirror relationships having a source endpoint as a FlexVol volume and a destination endpoint as an object store.
-
Optional property "create_destination.size" is applicable only for ONTAP S3 Bucket destination endpoints.
Required properties
-
source.path
- Path to the source endpoint of the SnapMirror relationship. -
destination.path
- Path to the destination endpoint of the SnapMirror relationship. -
destination.consistency_group_volumes
- List of FlexVol volumes of type "RW" that are constituents of a Consistency Group. -
destination.consistency_group_volumes
- List of FlexVol volumes of type "DP" that are constituents of a Consistency Group.
Recommended optional properties
-
policy.name
orpolicy.uuid
- Policy governing the SnapMirror relationship. -
state
- Set the state to "snapmirrored" to automatically initialize the relationship. -
create_destination.enabled
- Enable this property to provision the destination endpoint. -
create_destination.size
- Specify the size to provision the ONTAP S3 Bucket destination endpoint.
Default property values
If not specified in POST, the following default property values are assigned:
-
policy.name
- Asynchronous -
restore
- false -
create_destination.tiering.policy
-snapshot_only
(whencreate_destination.tiering.supported
is true for FlexVol volume) -
create_destination.tiering.policy
-none
(whencreate_destination.tiering.supported
is true for FlexGroup volume) -
create_destination.storage_service.enforce_performance
-false
-
source.ipspace
-Default
-
destination.ipspace
-Default
-
throttle
- 0
Related ONTAP commands
-
snapmirror create
-
snapmirror protect
Important notes
-
The property "transfer_schedule" if set on a SnapMirror relationship overrides the "transfer_schedule" set on the policy being used with the SnapMirror relationship.
-
The property "throttle" if set on a SnapMirror relationship overrides the "throttle" set on the policy being used with the SnapMirror relationship.
-
The properties "transfer_schedule" and "throttle" are not supported when "restore" is set to "true".
-
The property "transfer_schedule" cannot be set to null (no-quotes) during SnapMirror relationship POST.
-
The property "throttle" is not supported when "create_destination.enabled" is set to "true".
-
The property "identity_preservation" is applicable to only SnapMirror relationships with SVM endpoints and it indicates which configuration of the source SVM is replicated to the destination SVM.
Examples
The following examples show how to create FlexVol, FlexGroup, object store, SVM and Consistency Group SnapMirror relationships. Note that the source SVM name should be the local name of the peer SVM.
Creating a FlexVol SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}}'
Creating a FlexGroup SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:source_flexgrp"}, "destination": { "path": "dst_svm:dest_flexgrp"}}'
Creating a SVM SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": { "path": "src_svm:"}, "destination": { "path": "dst_svm:"}}'
Creating a SnapMirror relationship in order to restore from a destination.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}, "restore": "true"}'
Provision the destination FlexVol volume endpoint and create a SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}, "create_destination": { "enabled": "true" }}'
Provision the destination FlexVol volume endpoint on a Fabricpool with a tiering policy and create a SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}, "create_destination": { "enabled": "true", "tiering": { "supported": "true", "policy": "auto" } } }'
Provision the destination FlexVol volume endpoint using storage service and create a SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}, "create_destination": { "enabled": "true", "storage_service": { "enabled": "true", "name": "extreme", "enforce_performance": "true" } } }'
Provision the destination SVM endpoint and create a SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:", "cluster": { "name": "cluster_src" }}, "destination": { "path": "dst_svm:"}, "create_destination": { "enabled: "true" }}'
Create a SnapMirror relationship with Consistency Group endpoint.
POST "/api/snapmirror/relationships/" '{"source": { "path": "src_svm:/cg/cg_src_vol", "consistency_group_volumes": "src_vol_1, src_vol_2"}, "destination": { "path": "dst_svm:/cg/cg_dst_vol", "consistency_group_volumes": "dst_vol_1, dst_vol_2"}, "policy": "AutomatedFailOver" }'
Provision the destination Consistency Group endpoint on a Fabricpool with a tiering policy, create a SnapMirror relationship with a SnapMirror policy of type "sync" and sync_type of "automated_failover", and initialize the SnapMirror relationship with state as "in_sync".
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:/cg/cg_src_vol", "consistency_group_volumes": "src_vol_1, src_vol_2"}, "destination": { "path": "dst_svm:/cg/cg_dst_vol", "consistency_group_volumes": "dst_vol_1, dst_vol_2"}, "create_destination": { "enabled": "true", "tiering": { "supported": "true" } }, "policy": "AutomatedFailOver", "state": "in_sync" }'
Provision the destination Consistency Group endpoint with storage service, create a SnapMirror relationship with a SnapMirror policy of type "sync" and sync_type of "automated_failover", and initialize the SnapMirror relationship with state as "in_sync".
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:/cg/cg_src_vol", "consistency_group_volumes": "src_vol_1, src_vol_2"}, "destination": { "path": "dst_svm:/cg/cg_dst_vol", "consistency_group_volumes": "dst_vol_1, dst_vol_2"}, "create_destination": { "enabled": "true", "storage_service": { "enabled": "true", "name": "extreme", "enforce_performance": "true" } }, "policy": "AutomatedFailOver", "state": "in_sync" }'
Creating a FlexVol volume SnapMirror relationship of type XDP with transfer_schedule and throttle.
POST "/api/snapmirror/relationships/" '{"source": {"path": "src_svm:src_vol"}, "destination": { "path": "dst_svm:dst_vol"}, "transfer_schedule":{"uuid":"817500fa-092d-44c5-9c10-7b54f7b2f20a", "name":"5min"}, "throttle":100}'
Creating an object store SnapMirror relationship of type XDP.
POST "/api/snapmirror/relationships/" '{"source": {"path": "test_vserv_src:source_vol_rw"}, "destination": { "path": "S3store1:/objstore/object1"}}'
Creating a SnapMirror relationship in order to restore from an object store destination.
POST "/api/snapmirror/relationships/" '{"source": {"path": "S3store1:/objstore/object1", "uuid":"817500fa-092d-44c5-9c10-7b54f7b2f20a"}, "destination": { "path": "test_vserv_dst:dst_vol_dp"}, "restore": "true"}'
Creating an object store SnapMirror relationship in order to resync.
POST "/api/snapmirror/relationships/" '{"source": {"path": "test_vserv_src:source_vol_rw2"}, "destination": { "path": "S3store1:/objstore/object1", "uuid":"817500fa-092d-44c5-9c10-7b54f7b2f20a"}}'
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.
|
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.
|
validate_only |
boolean |
query |
False |
Validate the operation and its parameters, without actually performing the operation.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
consistency_group_failover |
SnapMirror Consistency Group failover information. The SnapMirror Consistency Group failover can be a planned or an unplanned operation. Only active SnapMirror Consistency Group failover operation progress can be monitored using this object. In case of an error during the failover operation, the property "consistency_group_failover.error" holds the reason for the error. ONTAP automatically retries any failed SnapMirror Consistency Group failover operation.
|
|
create_destination |
Use this object to provision the destination endpoint when establishing a SnapMirror relationship for a FlexVol volume, FlexGroup volume, SVM, Consistency Group or ONTAP S3 Bucket. Given a source endpoint, the destination endpoint is provisioned in the SVM specified in the "destination.path" property. While protecting an SVM, the SVM destination endpoint can only be provisioned on the local cluster. To provision the SVM destination endpoint use the optional "source.cluster.name" property to specify the remote cluster name or use the optional "source.cluster.uuid" property to specify the remote cluster UUID. When "create_destination.enabled" option is specified while making a POST for a SnapMirror relationship, the relationship can be automatically initialized by setting the "state" either to "snapmirrored" when the policy is of type "async" or to "in_sync" when the policy is of type "sync". The "destination.path" property must specify the destination endpoint path. For example, for FlexVol volume and FlexGroup volume, the "destination.path" can be specified as
|
|
destination |
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, Consistency Group, ONTAP S3 bucket and NON-ONTAP object-store endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
|
|
exported_snapshot |
string |
Snapshot copy exported to clients on destination. |
fabriclink |
SnapMirror FabricLink relationship |
|
group_type |
string |
Specifies the group type of the top level SnapMirror relationship. The volume relationships are shown as none, the SVMDR relationships are shown as svm_dr, the Consistency Group relationships are shown as consistency_group, and the FlexGroup volume relationships are shown as flexgroup. |
healthy |
boolean |
Is the relationship healthy? |
identity_preservation |
string |
Specifies which configuration of the source SVM is replicated to the destination SVM. This property is applicable only for SVM data protection with "async" policy type. This "identity_preservation" overrides the "identity_preservation" set on the SnapMirror relationship's policy. |
lag_time |
string |
Time since the exported Snapshot copy was created. |
last_transfer_type |
string |
Specifies the operation type of the last transfer that occured on the relationship. The initialize transfer occurs when the relationship state changes from uninitialized to snapmirrored or in_sync. The update transfer occurs when the snapshots are transferred from the source endpoint to the destination endpoint as part of scheduled or manual update. The resync transfer occurs when the relationship state changes from broken_off to snapmirrored or in_sync. The restore transfer occurs when the snapshot is restored from a destination endpoint to another endpoint. |
policy |
Basic policy information of the relationship. |
|
preserve |
boolean |
Set to true on resync to preserve Snapshot copies on the destination that are newer than the latest common Snapshot copy. This property is applicable only for relationships with FlexVol volume or FlexGroup volume endpoints and when the PATCH state is being changed to "snapmirrored". |
quick_resync |
boolean |
Set to true to reduce resync time by not preserving storage efficiency. This property is applicable only for relationships with FlexVol volume endpoints and SVMDR relationships when the PATCH state is being changed to "snapmirrored". |
recover_after_break |
boolean |
Set to true to recover from a failed SnapMirror break operation on a FlexGroup volume relationship. This restores all destination FlexGroup constituent volumes to the latest Snapshot copy, and any writes to the read-write constituents are lost. This property is applicable only for SnapMirror relationships with FlexGroup volume endpoints and when the PATCH state is being changed to "broken_off". |
restore |
boolean |
Set to true to create a relationship for restore. To trigger restore-transfer, use transfers POST on the restore relationship. SnapMirror relationships with the policy type "async" can be restored. SnapMirror relationships with the policy type "sync" cannot be restored. |
restore_to_snapshot |
string |
Specifies the Snapshot copy to restore to on the destination during the break operation. This property is applicable only for SnapMirror relationships with FlexVol volume endpoints and when the PATCH state is being changed to "broken_off". |
source |
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, Consistency Group, ONTAP S3 bucket and NON-ONTAP object-store endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
|
|
state |
string |
State of the relationship. To initialize the relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". To break the relationship, PATCH the state to "broken_off" for relationships with a policy of type "async" or "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" cannot be "broken_off". To resync the relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" can be in "broken_off" state due to a failed attempt of SnapMirror failover. To pause the relationship, suspending further transfers, PATCH the state to "paused" for relationships with a policy of type "async" or "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" cannot be "paused". To resume transfers for a paused relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". The entries "in_sync", "out_of_sync", and "synchronizing" are only applicable to relationships with a policy of type "sync". A PATCH call on the state change only triggers the transition to the specified state. You must poll on the "state", "healthy" and "unhealthy_reason" properties using a GET request to determine if the transition is successful. To automatically initialize the relationship when specifying "create_destination" property, set the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". |
throttle |
integer |
Throttle, in KBs per second. This "throttle" overrides the "throttle" set on the SnapMirror relationship's policy. If neither of these are set, defaults to 0, which is interpreted as unlimited. |
transfer |
Basic information on the current transfer or the last transfer if there is no active transfer at the time of the request. |
|
transfer_schedule |
Schedule used to update asynchronous relationships. This "transfer_schedule" overrides the "transfer_schedule" set on the SnapMirror relationship's policy. To remove the "transfer_schedule", set its value to null (no-quotes). Only cron schedules are supported for SnapMirror. |
|
unhealthy_reason |
array[snapmirror_error] |
Reason the relationship is not healthy. It is a concatenation of up to four levels of error messages. |
uuid |
string |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"consistency_group_failover": {
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
},
"status": {
"code": "string",
"message": "string"
}
},
"create_destination": {
"storage_service": {
"name": "string"
},
"tiering": {
"policy": "string"
}
},
"destination": {
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"consistency_group_volumes": [
{
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
],
"ipspace": "Default",
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"exported_snapshot": "string",
"fabriclink": {
"destination_bucket": "string",
"destination_role": "string",
"source_bucket": "string",
"source_role": "string",
"status": "string",
"topology_uuid": "string"
},
"group_type": "consistency_group",
"identity_preservation": "string",
"lag_time": "PT8H35M42S",
"last_transfer_type": "initialize",
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "Asynchronous",
"transfer_schedule": {
"name": "hourly"
},
"type": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"restore_to_snapshot": "string",
"source": {
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"consistency_group_volumes": [
{
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
],
"ipspace": "Default",
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"state": "snapmirrored",
"throttle": 0,
"transfer": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"end_time": "2020-12-02T18:36:19-08:00",
"state": "string",
"total_duration": "PT28M41S",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"transfer_schedule": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "weekly",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"unhealthy_reason": [
{
"code": "6621444",
"message": "Failed to complete update operation on one or more item relationships.",
"parameters": []
},
{
"code": "6621445",
"message": "Group Update failed",
"parameters": []
}
],
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
1115545 |
Access token has an invalid signature. |
1115546 |
Access token expired at a time. |
1115547 |
Access token not valid until a time. |
1115548 |
Access token is malformed. |
1115549 |
Internal error. Failed to validate access token. |
6619637 |
Relationship with specified destination volume already exists. |
6620374 |
Internal error. Failed to get SVM information. |
6620478 |
Internal error. Failed to check SnapMirror capability. |
6621834 |
Object store configuration does not exist for specified vserver. |
13303819 |
Could not retrieve SnapMirror policy information. |
13303821 |
Invalid SnapMirror policy UUID. |
13303841 |
This operation is not supported for SnapMirror relationships between these endpoints. |
13303852 |
destination.path provided does not contain \":\". |
13303853 |
Restore relationships are not supported for SVM-DR endpoints. |
13303868 |
Create of destination endpoint and SnapMirror relationship failed. |
13303869 |
Creating a destination endpoint is not supported for restore relationships. |
13303870 |
A tiering policy cannot be specified if tiering is not being set to supported. |
13303871 |
Storage service properties cannot be specified if the storage service is not being enabled. |
13303872 |
Specified property requires a later effective cluster version. |
13303873 |
Specifying a state when creating a relationship is only supported when creating a destination endpoint. |
13303874 |
Specified state is not supported when creating this relationship. |
13303875 |
Destination aggregates do not have sufficient space for hosting copies of source volumes. |
13303876 |
Destination cluster does not have composite aggregates. |
13303877 |
Source or destination cluster must be specified. |
13303878 |
The specified fields do not match. |
13303879 |
Source cluster name or UUID is needed to provision a destination SVM on the local cluster. |
13303880 |
Source cluster must be remote for provisioning a destination SVM on the local cluster. |
13303881 |
Network validation failed. |
13303882 |
SVM validation failed. |
13303883 |
Encryption is not enabled on the destination cluster. |
13303887 |
Synchronous SnapMirror relationships between FlexGroup volumes are not supported. |
13303888 |
Synchronous SnapMirror relationships require an effective cluster version of 9.5 or later on both the source and destination clusters. |
13303889 |
Asynchronous SnapMirror relationships between FlexGroup volumes require an effective cluster version of 9.5 or later on both the source and destination clusters. |
13303890 |
Asynchronous SnapMirror relationships between FlexVol volumes require an effective cluster version of 9.3, 9.5, or later on both the source and destination clusters. |
13303891 |
Creating a destination endpoint with storage service requires an effective cluster version of 9.7 or later. |
13303892 |
Fetching remote information from the destination cluster failed. |
13303893 |
Updating job description failed. |
13303894 |
Destination volume name is invalid. It must contain the source volume name and have a suffix when creating a destination endpoint on a cluster with an effective cluster version of 9.6 or earlier. |
13303895 |
Operation on the remote destination cluster is not supported. |
13303897 |
Specifying transfer_schedule is only supported for an asynchronous SnapMirror relationship with a remote destination cluster that has an effective cluster version of 9.6 or earlier. |
13303916 |
FlexGroup volumes are not supported on SnapLock aggregates. |
13303918 |
No suitable destination aggregate type is available. |
13303919 |
Only FabricPool enabled aggregates are available on the destination. |
13303920 |
Only SnapLock aggregates are available on the destination. FlexGroup volumes are not supported on SnapLock aggregates. |
13303921 |
Unable to retrieve the SnapMirror capabilities of the destination cluster. |
13303922 |
Specified source SVM is not a data SVM. |
13303923 |
Specified destination SVM is not a data SVM. |
13303924 |
Source SVM has an invalid Snapshot copy policy. |
13303925 |
SnapMirror validation has failed. |
13303930 |
The specified tiering policy is not supported for destination volumes of Synchronous relationships. |
13303938 |
Fetching information from the local cluster failed. |
13303939 |
Could not create an SVM peer relationship. |
13303944 |
An SVM-DR relationship is not supported because the source SVM has CIFS configured and the associated SnapMirror policy has either the "identity_preservation" property not set or set to "exclude_network_and_protocol_config". |
13303945 |
Schedule specified cannot be associated with the relationship because the policy used for the relationship has a schedule. |
13303953 |
SnapMirror relationships between FlexGroup volumes and object store endpoints are not supported. |
13303957 |
Restore to the specified destination endpoint is not supported. |
13303958 |
The \"source.uuid\" property must be specified. |
13303959 |
The \"source.uuid\" property can only be specified when using the \"restore\" property to create a SnapMirror relationship from an object store endpoint. |
13303960 |
The \"destination.uuid\" property cannot be specified for these endpoints. |
13303961 |
Creating a destination endpoint is not supported with the \"source.uuid\" property. |
13303962 |
Creating a destination endpoint is not supported with the \"destination.uuid\" property. |
13303964 |
Specified property is not supported for object store relationships. |
13303965 |
Specified endpoint not found. |
13303966 |
Consistency Group relationships require a policy of type "sync" with a sync_type of "automated_failover". |
13303967 |
Consistency Group volume is not a FlexVol volume. |
13303968 |
Unsupported volume type for the Consistency Group. |
13303969 |
SnapMirror relationships between SVM endpoints and object store endpoints are not supported. |
13303970 |
Unsupported policy type for the Consistency Group. |
13303971 |
SnapMirror relationships between Consistency Group endpoints and object store endpoints are not supported. |
13303976 |
Source or destination SVM is already part of an SVM-DR relation. |
13303977 |
Destination Consistency Group volume UUIDs are not expected while provisioning the destination volumes. |
13303978 |
Number of Consistency Group volume names and UUIDs does not match. |
13303979 |
Number of Consistency Group volumes exceeds the allowed limit. |
13303980 |
Number of source and destination Consistency Group volumes do not match. |
13303981 |
ISCSI or FCP protocol is not configured. |
13303982 |
SAN data interface is not configured on the SVM. |
13304021 |
No suitable storage can be found meeting the specified requirements. No FabricPool enabled aggregates are available on the destination. |
13304022 |
No suitable storage can be found meeting the specified requirements. No non-root, non-taken-over, non-SnapLock, non-composite aggregates are available on the destination. |
13304026 |
API license token is required for this operation. |
13304027 |
Invalid API license token specified. |
13304032 |
In an "All SAN Array", an SVM-DR relationship is not supported when the associated SnapMirror policy does not have the "identity_preservation" property set to "exclude_network_and_protocol_config". |
13304034 |
SnapMirror Cloud license must be installed to use this feature. |
13304035 |
SnapMirror Cloud license capacity limit has been exceeded. |
13304036 |
SnapmMirror Cloud license term has expired. |
13304038 |
SnapMirror Cloud License capacity limit would be exceeded with this SnapMirror operation. |
13304042 |
The specified destination or source cluster for relationships with an object store destination must be local. |
13304043 |
The property must be specified for a restore from an object store endpoint. |
13304044 |
File restore from object store endpoints is not supported for relationship restore. |
13304045 |
Incremental restore from an object store endpoint is not supported. |
13304077 |
Specified property is only supported for creating a destination endpoint for FabricLink SnapMirror relationships.</private> |
13304080 |
Specified UUID and name do not match. |
13304082 |
Specified properties are mutually exclusive. |
13304083 |
The specified property is not supported because all nodes in the cluster are not capable of supporting the property. |
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 |
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. |
status
Name | Type | Description |
---|---|---|
code |
string |
Status code |
message |
string |
SnapMirror Consistency Group failover status. |
snapmirror_consistency_group_failover
SnapMirror Consistency Group failover information. The SnapMirror Consistency Group failover can be a planned or an unplanned operation. Only active SnapMirror Consistency Group failover operation progress can be monitored using this object. In case of an error during the failover operation, the property "consistency_group_failover.error" holds the reason for the error. ONTAP automatically retries any failed SnapMirror Consistency Group failover operation.
Name | Type | Description |
---|---|---|
error |
||
status |
storage_service
Name | Type | Description |
---|---|---|
enabled |
boolean |
This property indicates whether to create the destination endpoint using storage service. |
enforce_performance |
boolean |
Optional property to enforce storage service performance on the destination endpoint. This property is applicable to FlexVol volume, FlexGroup volume, and Consistency Group endpoints. |
name |
string |
Optional property to specify the storage service name for the destination endpoint. This property is considered when the property "create_destination.storage_service.enabled" is set to "true". When the property "create_destination.storage_service.enabled" is set to "true" and the "create_destination.storage_service.name" for the endpoint is not specified, then ONTAP selects the highest storage service available on the cluster to provision the destination endpoint. This property is applicable to FlexVol volume, FlexGroup volume, and Consistency Group endpoints.
|
tiering
Name | Type | Description |
---|---|---|
policy |
string |
Optional property to specify the destination endpoint's tiering policy when "create_destination.tiering.supported" is set to "true". This property is applicable to FlexVol volume, FlexGroup volume, and Consistency Group endpoints. This property determines whether the user data blocks of the destination endpoint in a FabricPool will be tiered to the cloud store when they become cold. FabricPool combines flash (performance tier) with a cloud store into a single aggregate. Temperature of the destination endpoint volume blocks increases if they are accessed frequently and decreases when they are not. all ‐ This policy allows tiering of both destination endpoint Snapshot copies and the user transfered data blocks to the cloud store as soon as possible by ignoring the temperature on the volume blocks. This tiering policy is not applicable for Consistency Group destination endpoints or for synchronous relationships. auto ‐ This policy allows tiering of both destination endpoint Snapshot copies and the active file system user data to the cloud store none ‐ Destination endpoint volume blocks will not be tiered to the cloud store. snapshot_only ‐ This policy allows tiering of only the destination endpoint volume Snapshot copies not associated with the active file system. The default tiering policy is "snapshot_only" for a FlexVol volume and "none" for a FlexGroup volume. |
supported |
boolean |
Optional property to enable provisioning of the destination endpoint volumes on FabricPool aggregates. This property is applicable to FlexVol volume, FlexGroup volume, and Consistency Group endpoints. Only FabricPool aggregates are used if this property is set to "true" and only non FabricPool aggregates are used if this property is set to "false". Tiering support for a FlexGroup volume can be changed by moving all of the constituents to the required aggregates. Note that in order to tier data, not only do the destination endpoint volumes need to support tiering by using FabricPools, the "create_destination.tiering.policy" must not be "none". A destination endpoint that uses FabricPools but has a tiering "policy" of "none" supports tiering but will not tier any data. |
snapmirror_destination_creation
Use this object to provision the destination endpoint when establishing a SnapMirror relationship for a FlexVol volume, FlexGroup volume, SVM, Consistency Group or ONTAP S3 Bucket. Given a source endpoint, the destination endpoint is provisioned in the SVM specified in the "destination.path" property. While protecting an SVM, the SVM destination endpoint can only be provisioned on the local cluster. To provision the SVM destination endpoint use the optional "source.cluster.name" property to specify the remote cluster name or use the optional "source.cluster.uuid" property to specify the remote cluster UUID. When "create_destination.enabled" option is specified while making a POST for a SnapMirror relationship, the relationship can be automatically initialized by setting the "state" either to "snapmirrored" when the policy is of type "async" or to "in_sync" when the policy is of type "sync". The "destination.path" property must specify the destination endpoint path. For example, for FlexVol volume and FlexGroup volume, the "destination.path" can be specified as
Name | Type | Description |
---|---|---|
enabled |
boolean |
Optional property to create the destination endpoint when establishing a SnapMirror relationship. It is assumed to be "false" if no other property is set and assumed to be "true" if any other property is set. |
size |
integer |
Optional property to specify the size of destination endpoint in bytes. This property is applicable only to ONTAP S3 Bucket endpoints. The minimum size for S3 bucket is 80MB and maximum size is 64TB. If not specified, system will create destination with default size of 800GB.
|
storage_service |
||
tiering |
cluster
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
consistency_group_volumes
Name | Type | Description |
---|---|---|
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
snapmirror_endpoint
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, Consistency Group, ONTAP S3 bucket and NON-ONTAP object-store endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
Name | Type | Description |
---|---|---|
cluster |
||
consistency_group_volumes |
array[consistency_group_volumes] |
Mandatory property for a Consistency Group endpoint. Specifies the list of FlexVol volumes for a Consistency Group. |
ipspace |
string |
Optional property to specify the IPSpace of the SVM. |
path |
string |
ONTAP FlexVol/FlexGroup - svm1:volume1 ONTAP SVM - svm1: ONTAP Consistency Group - svm1:/cg/cg_name ONTAP S3 - svm1:/bucket/bucket1 NON-ONTAP - objstore1:/objstore
|
svm |
||
uuid |
string |
UUID of the endpoint. Applicable for object store SnapMirror relationships only. |
fabriclink
SnapMirror FabricLink relationship
Name | Type | Description |
---|---|---|
destination_bucket |
string |
Specifies the name of the destination bucket of the FabricLink SnapMirror relationship. This parameter is supported for FabricLink SnapMirror relationships with ONTAP or external object store vendor endpoints. This parameter is only available on ONTAP 9.10.1 or later.
|
destination_role |
string |
This field represents the destination bucket's role within FabricLink. Possible values for this field are "active_mirror" and "backup". In a bi-directional ONTAP to ONTAP mirroring relationship, both FabricLink SnapMirror records will contain "active_mirror" in both the source-role and destination-role fields. This field conveys that both mirrors are capable of performing an active role at any time. In an ONTAP to Non-ONTAP FabricLink replication relationship, the source-role is "active_mirror" and the destination-role is "backup". This parameter is supported for FabricLink SnapMirror relationships with ONTAP or external object store vendor endpoints. This parameter is only available in ONTAP 9.10.1 or later.
|
pending_work_task_count |
integer |
Conveys how many discrete tasks the bucket in this unidirectional FabricLink SnapMirror relationship knows it will eventually have to perform to fully update the destination to reflect the source's state. Each work item might represent the need to push a newly created object from the source to the destination mirror, or perhaps to advise the destination mirror that an existing object has been modified or deleted. If the link is configured with an RPO of one hour and the user creates an object on the source bucket, that bucket will immediately show that it now has a pending work item to send that new object to the destination; FabricLink intentionally will not act on that work item until the hour has elapsed. This parameter is only available in ONTAP 9.10.1 or later.
|
pull_byte_count |
integer |
Represents the approximate number of bytes of data that the destination bucket anticipates reading from the source bucket for the FabricLink SnapMirror relationship. This parameter is only available in ONTAP 9.10.1 or later.
|
push_byte_count |
integer |
Represents the approximate number of bytes of data that must be pushed from the source bucket to the destination bucket for the FabricLink SnapMirror relationship. This parameter is only available in ONTAP 9.10.1 or later.
|
source_bucket |
string |
Specifies the name of the source bucket of the FabricLink SnapMirror relationship. This parameter is supported only for FabricLink SnapMirror relationships with ONTAP endpoints. This parameter is only available in ONTAP 9.10.1 or later.
|
source_role |
string |
This field represents the source bucket's role within FabricLink. One possible value for this field is "active_mirror". In a bi-directional ONTAP to ONTAP mirroring relationship, both FabricLink SnapMirror records will contain "active_mirror" in both the source-role and destination-role fields. This field conveys that both mirrors are capable of performing an active role at any time. In an ONTAP to Non-ONTAP FabricLink replication relationship, the source-role is "active_mirror" and the destination-role is "backup". This parameter is supported only for FabricLink SnapMirror relationships with an ONTAP endpoint. This parameter is only available in ONTAP 9.10.1 or later.
|
status |
string |
Specifies the status of the FabricLink SnapMirror relationship. This parameter is only available in ONTAP 9.10.1 or later.
|
topology_uuid |
string |
Topology UUID is used to refer to a unique data set. All the links that connect the same data set share the same topology UUID. Thus, in a fan-out topology, all links fanning from the same source bucket will carry the same topology-uuid value. Similarly, in a cascading mirror arrangement, all links in the cascade will carry the same topology-uuid value. This parameter is only available in ONTAP 9.10.1 or later.
|
transfer_schedule
The schedule used to update the asynchronous relationship. This is only applicable when provisioning a destination endpoint on a remote cluster with an effective cluster version of 9.6 or earlier. Only cron schedules are supported for SnapMirror.
Name | Type | Description |
---|---|---|
name |
string |
policy
Basic policy information of the relationship.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
transfer_schedule |
The schedule used to update the asynchronous relationship. This is only applicable when provisioning a destination endpoint on a remote cluster with an effective cluster version of 9.6 or earlier. Only cron schedules are supported for SnapMirror. |
|
type |
string |
|
uuid |
string |
transfer
Basic information on the current transfer or the last transfer if there is no active transfer at the time of the request.
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred. |
end_time |
string |
End time of the last transfer. |
state |
string |
|
total_duration |
string |
Transfer elapsed time. |
uuid |
string |
Transfer UUID. This property is applicable only for active transfers. |
transfer_schedule
Schedule used to update asynchronous relationships. This "transfer_schedule" overrides the "transfer_schedule" set on the SnapMirror relationship's policy. To remove the "transfer_schedule", set its value to null (no-quotes). Only cron schedules are supported for SnapMirror.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
Job schedule name |
uuid |
string |
Job schedule UUID |
snapmirror_error
SnapMirror error
Name | Type | Description |
---|---|---|
code |
integer |
Error code |
message |
string |
Error message |
parameters |
array[string] |
Parameters for the error message |
snapmirror_relationship
SnapMirror relationship information. The SnapMirror relatiosnhip can be either "async" or "sync" based on the type of SnapMirror policy associated with the relationship. The source and destination endpoints of a SnapMirror relationship must be of the same type, for example, if the source endpoint is a FlexVol volume then the destination endpoint must be a FlexVol volume. The SnapMirror policy type "async" can be used when the SnapMirror relationship has FlexVol volume or FlexGroup volume or SVM as the endpoint. The SnapMirror policy type "sync" can be used when the SnapMirror relationship has FlexVol volume as the endpoint. The SnapMirror policy type "sync" with "sync_type" as "automated_failover" can be used when the SnapMirror relationship has Consistency Group as the endpoint.
Name | Type | Description |
---|---|---|
_links |
||
consistency_group_failover |
SnapMirror Consistency Group failover information. The SnapMirror Consistency Group failover can be a planned or an unplanned operation. Only active SnapMirror Consistency Group failover operation progress can be monitored using this object. In case of an error during the failover operation, the property "consistency_group_failover.error" holds the reason for the error. ONTAP automatically retries any failed SnapMirror Consistency Group failover operation.
|
|
create_destination |
Use this object to provision the destination endpoint when establishing a SnapMirror relationship for a FlexVol volume, FlexGroup volume, SVM, Consistency Group or ONTAP S3 Bucket. Given a source endpoint, the destination endpoint is provisioned in the SVM specified in the "destination.path" property. While protecting an SVM, the SVM destination endpoint can only be provisioned on the local cluster. To provision the SVM destination endpoint use the optional "source.cluster.name" property to specify the remote cluster name or use the optional "source.cluster.uuid" property to specify the remote cluster UUID. When "create_destination.enabled" option is specified while making a POST for a SnapMirror relationship, the relationship can be automatically initialized by setting the "state" either to "snapmirrored" when the policy is of type "async" or to "in_sync" when the policy is of type "sync". The "destination.path" property must specify the destination endpoint path. For example, for FlexVol volume and FlexGroup volume, the "destination.path" can be specified as
|
|
destination |
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, Consistency Group, ONTAP S3 bucket and NON-ONTAP object-store endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
|
|
exported_snapshot |
string |
Snapshot copy exported to clients on destination. |
fabriclink |
SnapMirror FabricLink relationship |
|
group_type |
string |
Specifies the group type of the top level SnapMirror relationship. The volume relationships are shown as none, the SVMDR relationships are shown as svm_dr, the Consistency Group relationships are shown as consistency_group, and the FlexGroup volume relationships are shown as flexgroup. |
healthy |
boolean |
Is the relationship healthy? |
identity_preservation |
string |
Specifies which configuration of the source SVM is replicated to the destination SVM. This property is applicable only for SVM data protection with "async" policy type. This "identity_preservation" overrides the "identity_preservation" set on the SnapMirror relationship's policy. |
lag_time |
string |
Time since the exported Snapshot copy was created. |
last_transfer_type |
string |
Specifies the operation type of the last transfer that occured on the relationship. The initialize transfer occurs when the relationship state changes from uninitialized to snapmirrored or in_sync. The update transfer occurs when the snapshots are transferred from the source endpoint to the destination endpoint as part of scheduled or manual update. The resync transfer occurs when the relationship state changes from broken_off to snapmirrored or in_sync. The restore transfer occurs when the snapshot is restored from a destination endpoint to another endpoint. |
policy |
Basic policy information of the relationship. |
|
preserve |
boolean |
Set to true on resync to preserve Snapshot copies on the destination that are newer than the latest common Snapshot copy. This property is applicable only for relationships with FlexVol volume or FlexGroup volume endpoints and when the PATCH state is being changed to "snapmirrored". |
quick_resync |
boolean |
Set to true to reduce resync time by not preserving storage efficiency. This property is applicable only for relationships with FlexVol volume endpoints and SVMDR relationships when the PATCH state is being changed to "snapmirrored". |
recover_after_break |
boolean |
Set to true to recover from a failed SnapMirror break operation on a FlexGroup volume relationship. This restores all destination FlexGroup constituent volumes to the latest Snapshot copy, and any writes to the read-write constituents are lost. This property is applicable only for SnapMirror relationships with FlexGroup volume endpoints and when the PATCH state is being changed to "broken_off". |
restore |
boolean |
Set to true to create a relationship for restore. To trigger restore-transfer, use transfers POST on the restore relationship. SnapMirror relationships with the policy type "async" can be restored. SnapMirror relationships with the policy type "sync" cannot be restored. |
restore_to_snapshot |
string |
Specifies the Snapshot copy to restore to on the destination during the break operation. This property is applicable only for SnapMirror relationships with FlexVol volume endpoints and when the PATCH state is being changed to "broken_off". |
source |
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, Consistency Group, ONTAP S3 bucket and NON-ONTAP object-store endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
|
|
state |
string |
State of the relationship. To initialize the relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". To break the relationship, PATCH the state to "broken_off" for relationships with a policy of type "async" or "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" cannot be "broken_off". To resync the relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" can be in "broken_off" state due to a failed attempt of SnapMirror failover. To pause the relationship, suspending further transfers, PATCH the state to "paused" for relationships with a policy of type "async" or "sync". SnapMirror relationships with the policy type as "sync" and "sync_type" as "automated_failover" cannot be "paused". To resume transfers for a paused relationship, PATCH the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". The entries "in_sync", "out_of_sync", and "synchronizing" are only applicable to relationships with a policy of type "sync". A PATCH call on the state change only triggers the transition to the specified state. You must poll on the "state", "healthy" and "unhealthy_reason" properties using a GET request to determine if the transition is successful. To automatically initialize the relationship when specifying "create_destination" property, set the state to "snapmirrored" for relationships with a policy of type "async" or to state "in_sync" for relationships with a policy of type "sync". |
throttle |
integer |
Throttle, in KBs per second. This "throttle" overrides the "throttle" set on the SnapMirror relationship's policy. If neither of these are set, defaults to 0, which is interpreted as unlimited. |
transfer |
Basic information on the current transfer or the last transfer if there is no active transfer at the time of the request. |
|
transfer_schedule |
Schedule used to update asynchronous relationships. This "transfer_schedule" overrides the "transfer_schedule" set on the SnapMirror relationship's policy. To remove the "transfer_schedule", set its value to null (no-quotes). Only cron schedules are supported for SnapMirror. |
|
unhealthy_reason |
array[snapmirror_error] |
Reason the relationship is not healthy. It is a concatenation of up to four levels of error messages. |
uuid |
string |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |