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.  | 
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",
  "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.  | 
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.  |