Start a SnapMirror transfer operation
POST /snapmirror/relationships/{relationship.uuid}/transfers
Starts a SnapMirror transfer operation. This API initiates a restore operation if the SnapMirror relationship is of type "restore". Otherwise, it intiates a SnapMirror "initialize" operation or "update" operation based on the current SnapMirror state.
Default property values
-
storage_efficiency_enabled
- true
Related ONTAP commands
-
snapmirror update
-
snapmirror initialize
-
snapmirror restore
Examples
The following examples show how to perform SnapMirror "initialize", "update", and "restore" operations.
Performing a SnapMirror initialize or update
POST "/api/snapmirror/relationships/e4e7e130-0279-11e9-b566-0050568e9909/transfers" '{}'
Performing a SnapMirror restore transfer
POST "/api/snapmirror/relationships/c8c62a90-0fef-11e9-b09e-0050568e7067/transfers" '{"source-snapshot": "src", "files": {"source_path": ["/a1.txt.0"], "destination_path": ["/a1-renamed.txt.0"]}}'
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. |
relationship.uuid |
string |
path |
True |
Relationship UUID |
Request Body
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred |
checkpoint_size |
integer |
Amount of data transferred in bytes as recorded in the restart checkpoint. |
files |
array[files] |
This is supported for transfer of restore relationship only. This specifies the list of files or LUNs to be restored. Can contain up to eight files or LUNs. |
relationship |
||
snapshot |
string |
Name of Snapshot copy being transferred. |
source_snapshot |
string |
Specifies the Snapshot copy on the source to be transferred to the destination. |
state |
string |
Status of the transfer. Set PATCH state to "aborted" to abort the transfer. Set PATCH state to "hard_aborted" to abort the transfer and discard the restart checkpoint. |
storage_efficiency_enabled |
boolean |
This is supported for transfer of restore relationship only. Set this property to "false" to turn off storage efficiency for data transferred over the wire and written to the destination. |
uuid |
string |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"bytes_transferred": 0,
"checkpoint_size": 0,
"files": [
{
"destination_path": "/dirb/file2",
"source_path": "/dira/file1"
}
],
"relationship": {
"destination": {
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"ipspace": "Default",
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
},
"uuid": "d2d7ceea-ab52-11e8-855e-00505682a4c7"
},
"snapshot": "string",
"source_snapshot": "string",
"state": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 201, Created
Error
Status: Default
ONTAP Error Response codes
Error code | Description |
---|---|
13303845 |
Restore operation failed |
13303812 |
Initialize operation failed |
13303844 |
Update operation failed |
13303846 |
Empty source path file list |
13303847 |
Invalid arguments |
6620237 |
SnapMirror relationship database write failed |
6620238 |
SnapMirror relationship database read failed |
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 |
files
Specifies a file or LUN consisting of a source_path and an optional destination_path. If not specified, the destination_path is the same as the source_path.
Name | Type | Description |
---|---|---|
destination_path |
string |
|
source_path |
string |
cluster
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
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 or FlexGroup volume endpoints can optionally specify the "cluster" property. A POST request to establish a SnapMirror relationship when the source SVM and the destination SVM are not peered, must specify the "cluster" property.
Name | Type | Description |
---|---|---|
cluster |
||
ipspace |
string |
Optional property to specify the IPSpace of the SVM. |
path |
string |
ONTAP FlexVol/FlexGroup - svm1:volume1 ONTAP SVM - svm1:
|
svm |
relationship
Name | Type | Description |
---|---|---|
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 or FlexGroup volume endpoints can optionally specify the "cluster" property. A POST request to establish a SnapMirror relationship when the source SVM and the destination SVM are not peered, must specify the "cluster" property. |
|
restore |
boolean |
Is the relationship for restore? |
uuid |
string |
snapmirror_transfer
SnapMirror transfer information
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred |
checkpoint_size |
integer |
Amount of data transferred in bytes as recorded in the restart checkpoint. |
files |
array[files] |
This is supported for transfer of restore relationship only. This specifies the list of files or LUNs to be restored. Can contain up to eight files or LUNs. |
relationship |
||
snapshot |
string |
Name of Snapshot copy being transferred. |
source_snapshot |
string |
Specifies the Snapshot copy on the source to be transferred to the destination. |
state |
string |
Status of the transfer. Set PATCH state to "aborted" to abort the transfer. Set PATCH state to "hard_aborted" to abort the transfer and discard the restart checkpoint. |
storage_efficiency_enabled |
boolean |
This is supported for transfer of restore relationship only. Set this property to "false" to turn off storage efficiency for data transferred over the wire and written to the destination. |
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. |