Create transfer
Creates transfer, which is a process of data movement between providers. This operation is asynchronous and it can take a long time depending on the size of the data to move.
The following types of transfer are supported:
replication- process of copying data to achieve a complete replica in provider specified asreplicatingProviderId. The data will be copied from one or more providers in the space that hold replicas or some fragments. This operation requiresspace_schedule_replicationprivilege.eviction- process of removing replica(s) from provider specified inevictingProviderId. Eviction is safe - will succeed only if there is at least one complete replica (accumulated) on other providers in the space. This operation requiresspace_schedule_evictionprivilege.migration-replicationfollowed byeviction. This operation requires bothspace_schedule_replicationandspace_schedule_evictionprivileges.
Each transfer applies to one or more files/directories, depending on chosen dataSourceType:
- file - a single chosen file or directory
- view - all files that are returned as a result of querying chosen view
In case of a directory, the transfer applies to all its subfiles and subdirectories (recursively).
Example cURL requests
Creates file replication
curl -H "X-Auth-Token: $TOKEN" -X POST \
-H "Content-type: application/json" \
-d '{ "type": "replication", "replicatingProviderId": $PROVIDER_ID, "dataSourceType": "file", "fileId": $FILE_ID }' \
"https://$HOST/api/v3/oneprovider/transfers"
Request body
Transfer properties.
| Property | Type & Description |
|---|---|
type string Requested type of transfer. Depending on selected type specifying also Enum: replicationevictionmigration | |
replicatingProviderId string Id of provider to which data will be copied, ensuring that the provider has a complete replica at the end of the process. The data will be copied from one or more providers in the space that hold replicas or some fragments. | |
evictingProviderId string Id of provider from which replica(s) are to be removed. Eviction is safe - will succeed only if there is at least one complete replica (accumulated) on other providers in the space. | |
callback string This parameter allows the user to specify a REST callback URL which will be called (http | |
dataSourceType string Enum: fileview | |
Request Examples
oneprovider-rest-cli createTransfer type==replication replicatingProviderId==$PROVIDER_ID dataSourceType==file fileId==$FILE_IDResponses
The request has been accepted and the result is the transfer Id. Also URI of the transfer in form https://$HOST/api/v3/oneprovider/transfers/{id} is returned in the response Location header.
| Property | Type & Description |
|---|---|
transferId string Transfer Id. | |
Invalid request.
| Property | Type & Description |
|---|---|
error string Identifier representing internal error code. | |
error_description string Detailed error message. | |
Example
{
"error": "invalid_token",
"error_description": "Provided token could not be validated."
}Forbidden request.
| Property | Type & Description |
|---|---|
error string Identifier representing internal error code. | |
error_description string Detailed error message. | |
Example
{
"error": "invalid_token",
"error_description": "Provided token could not be validated."
}File not found.
| Property | Type & Description |
|---|---|
error string Identifier representing internal error code. | |
error_description string Detailed error message. | |
Example
{
"error": "invalid_token",
"error_description": "Provided token could not be validated."
}Internal server error.
| Property | Type & Description |
|---|---|
error string Identifier representing internal error code. | |
error_description string Detailed error message. | |
Example
{
"error": "invalid_token",
"error_description": "Provided token could not be validated."
}