Retrieve information for SnapMirror relationships
GET /snapmirror/relationships
Retrieves information for SnapMirror relationships whose destination endpoints are in the current SVM or the current cluster, depending on the cluster context.
Related ONTAP commands
-
snapmirror show
-
snapmirror list-destinations
Examples
The following examples show how to retrieve the list of SnapMirror relationships and the list of SnapMirror destinations.
-
Retrieving the list of SnapMirror relationships. This API must be run on the cluster containing the destination endpoint.
GET "/api/snapmirror/relationships/"
-
Retrieving the list of SnapMirror destinations on source. This must be run on the cluster containing the source endpoint.
GET "/api/snapmirror/relationships/?list_destinations_only=true"
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
list_destinations_only |
boolean |
query |
False |
Set to true to show relationships from the source only. |
healthy |
boolean |
query |
False |
Filter by healthy |
source.svm.uuid |
string |
query |
False |
Filter by source.svm.uuid |
source.svm.name |
string |
query |
False |
Filter by source.svm.name |
source.path |
string |
query |
False |
Filter by source.path |
lag_time |
string |
query |
False |
Filter by lag_time |
exported_snapshot |
string |
query |
False |
Filter by exported_snapshot |
uuid |
string |
query |
False |
Filter by uuid |
restore |
boolean |
query |
False |
Filter by restore |
destination.svm.uuid |
string |
query |
False |
Filter by destination.svm.uuid |
destination.svm.name |
string |
query |
False |
Filter by destination.svm.name |
destination.path |
string |
query |
False |
Filter by destination.path |
transfer.bytes_transferred |
integer |
query |
False |
Filter by transfer.bytes_transferred |
transfer.uuid |
string |
query |
False |
Filter by transfer.uuid |
transfer.state |
string |
query |
False |
Filter by transfer.state |
policy.name |
string |
query |
False |
Filter by policy.name |
policy.type |
string |
query |
False |
Filter by policy.type |
policy.uuid |
string |
query |
False |
Filter by policy.uuid |
state |
string |
query |
False |
Filter by state |
unhealthy_reason.code |
integer |
query |
False |
Filter by unhealthy_reason.code |
unhealthy_reason.message |
string |
query |
False |
Filter by unhealthy_reason.message |
unhealthy_reason.parameters |
string |
query |
False |
Filter by unhealthy_reason.parameters |
fields |
array[string] |
query |
False |
Specify the fields to return. |
max_records |
integer |
query |
False |
Limit the number of records returned. |
return_records |
boolean |
query |
False |
The default is true for GET calls. When set to false, only the number of records is returned. |
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. |
order_by |
array[string] |
query |
False |
Order results by specified fields and optional [asc |
Response
Status: 200, Ok
Name | Type | Description |
---|---|---|
_links |
||
num_records |
integer |
Number of records |
records |
array[snapmirror_relationship] |
Example response
{
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"records": [
{
"destination": {
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
},
"exported_snapshot": "string",
"lag_time": "PT8H35M42S",
"policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "MirrorAndVault",
"type": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"restore_to_snapshot": "string",
"source": {
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
},
"state": "string",
"transfer": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"state": "string",
"uuid": "4ea7a442-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"
}
]
}
Error
Status: Default
ONTAP Error Response codes
Error code | Description |
---|---|
13303825 |
Could not retrieve information for the SnapMirror policy type |
13303817 |
Unknown value for the Snapmirror State |
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 |
---|---|---|
next |
||
self |
_links
Name | Type | Description |
---|---|---|
self |
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.
Name | Type | Description |
---|---|---|
path |
string |
ONTAP FlexVol/FlexGroup - svm1:volume1 ONTAP SVM - svm1:
|
svm |
policy
Basic policy information of the relationship.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
type |
string |
|
uuid |
string |
transfer
Basic information on the current transfer.
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred. |
state |
string |
|
uuid |
string |
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
Name | Type | Description |
---|---|---|
destination |
Endpoint of a SnapMirror relationship. |
|
exported_snapshot |
string |
Snapshot copy exported to clients on destination. |
healthy |
boolean |
Is the relationship healthy? |
lag_time |
string |
Time since the exported Snapshot copy was created. |
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 field is applicable only for relationships with FlexGroup or FlexVol endpoints and when the PATCH state is "snapmirrored". |
quick_resync |
boolean |
Set to true to reduce resync time by not preserving storage efficiency. This field is applicable only for relationships with FlexVol endpoints and when the PATCH state is "snapmirrored". |
recover_after_break |
boolean |
Set to true to recover from a failed SnapMirror break operation on a FlexGroup relationship. This restores all destination FlexGroup constituents to the latest Snapshot copy, and any writes to the read-write constituents are lost. This field is applicable only for SnapMirror relationships with FlexGroup endpoints and when the PATCH state is "broken_off". |
restore |
boolean |
Set to true to create a relationship for restore. To trigger restore-transfer, use transfers POST on the restore relationship. |
restore_to_snapshot |
string |
Specifies the Snapshot copy to restore to on the destination after a break operation. This field is applicable only for SnapMirror relationships with FlexVol endpoints and when the PATCH state is "broken_off". |
source |
Endpoint of a SnapMirror relationship. |
|
state |
string |
State of the relationship. To initialize the relationship, PATCH the state to "snapmirrored". To break the relationship, PATCH the state to "broken_off". To resync the broken relationship, PATCH the state to "snapmirrored" for relationships with async policy type or "in_sync" for relationships with sync policy type. To pause the relationship, suspending further transfers, PATCH the state to "paused". To resume transfers for a paused relationship, PATCH the state to "snapmirrored" or "in_sync". The entries "in_sync", "out_of_sync", and "synchronizing" are only applicable to relationships of the sync policy type. 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" fields using GET to determine if the transition is successful. |
transfer |
Basic information on the current transfer. |
|
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 |
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. |