REST endpoints: Replication
These endpoints mirror the CLI commands described in Replication, Replication IPs, Starting and stopping replication, Promoting and monitoring replication, Replication witness. Each endpoint runs the CLI command named under its heading, so the behavior, defaults, and restrictions are the same; this page lists how to call it over REST.
Conventions that apply to every endpoint (request format, the async and outputType parameters, and the response envelope) are in Requests and responses. In the tables below, Required is Yes when the parameter must always be supplied, No when it is optional, and Depends when it is required only in some combinations (for example, either an application and volume, or a consistency group ID); the CLI chapter for the same command explains the combinations.
PUT /replication/continuous/edit
Edit a continuous replication pair.
CLI command: replication continuous edit
Body fields (JSON)
Application
string
Yes
Edit replication for a volume in this application.
Volume
string
Yes
Edit replication for this volume.
TargetSystem
string
Yes
Edit replication for this target system.
Synchronous
boolean
Depends
Change to synchronous replication.
Semisynchronous
boolean
Depends
Change to semi-synchronous replication.
Asynchronous
boolean
Depends
Change to asynchronous replication.
GET /replication/continuous/list
List replicated volumes.
CLI command: replication continuous list
Query parameters
application
string
No
Filter by application name.
volume
string
No
Filter by volume name.
filterSecondary
boolean
No
Show only secondary volumes.
filterPrimary
boolean
No
Show only primary volumes.
Response: a list of ApplicationElement objects in Result, each with: Application (string), Template (string), Description (string), Volumes (array of VolumeElement), ConsistencyGroups (array of ConsistencyGroupElement), Vms (array of VmElement), InitializeForTesting (boolean), Force (boolean).
DELETE /replication/continuous/pause
Pause a continuous volume replication.
CLI command: replication continuous pause
Query parameters
application
string
Yes
The application the volume to pause replicating belongs to.
volume
string
Yes
Source volume to pause replicating.
targetSystem
string
Yes
Pause replication for this target system.
PUT /replication/continuous/promote_primary
Promote secondary volumes to active/primary state.
CLI command: replication continuous promote_primary
Body fields (JSON)
Application
string
Depends
Application the secondary volume resides in.
Volume
array of string
Depends
Secondary volumes to switch to primary (and the remote primary volume to secondary).
Cgids
array of integer
Depends
Transition specific consistency groups by ID.
AllSecondaryVolumes
boolean
Depends
Transition all secondary volumes to primary.
InactiveFloatingIpsToActivate
array of string
No
Migrate the IPs to these paired inactive floating IPs.
ActivateAllInactiveFloatingIps
boolean
No
Migrate the IPs to all paired inactive floating IPs.
Force
boolean
No
Skip the confirmation prompt, and allow transitioning even if the volume is not up-to-date or the replication link is disconnected.
DELETE /replication/continuous/resume
Resume a paused continuous volume replication.
CLI command: replication continuous resume
Query parameters
application
string
Yes
The application the volume to resume replicating belongs to.
volume
string
Yes
Source volume to resume replicating.
targetSystem
string
Yes
Resume replication for this target system.
POST /replication/continuous/start
Replicate a volume using a continuous replication (mirroring).
CLI command: replication continuous start
Body fields (JSON)
Application
string
Yes
The application the volume to replicate belongs to.
Volume
string
Yes
The volume to replicate.
TargetSystem
string
Yes
Target system to replicate to.
TargetApplication
string
No
An existing application with a non-initialized volume for the replication pairing.
TargetVolume
string
No
An existing non-initialized target volume to replicate to.
CopySnapshotSchedule
boolean
No
Copy the source's snapshot schedule to the target volume.
SourceIp
string
Yes
The source system's IP to use for replication.
TargetIp
string
Yes
The target system's IP to use for replication.
Synchronous
boolean
Depends
Synchronous replication.
Semisynchronous
boolean
Depends
Semi-synchronous replication.
Asynchronous
boolean
Depends
Asynchronous replication.
Force
boolean
No
Skip the confirmation prompt.
DELETE /replication/continuous/stop
Stop continuous volume replication.
CLI command: replication continuous stop
Query parameters
application
string
Yes
The application the volume to stop replicating belongs to.
volume
string
Yes
Source volume to stop replicating.
targetSystem
string
Yes
Stop replication for this target system.
allowOnDisconnected
boolean
No
Allow stopping the replication when the target system is disconnected.
doNotResignature
boolean
No
Maintain the current volume identification. It is not recommended to do so for block volumes if the replication volumes are mapped to the same initiator.
force
boolean
No
Skip the confirmation prompt.
POST /replication/ips/create
Create an IP to be used for replication.
CLI command: replication ips create
Body fields (JSON)
Name
string
Yes
Name of the replication IP.
Direct
boolean
No
Network connection is direct - does not require VPN.
VpnClient
boolean
No
Network connection uses VPN; this system acts as a client and connects to another system.
Nodes
array of string
Yes
Select one node for a single-node system or two for an HA pair.
Interfaces
array of string
Yes
The interface name of the corresponding node. Set an interface for each node.
Addresses
array of string
Yes
The IP addresses of the replication IP. Set an IP for each node.
Mask
string
Yes
The subnet mask of the replication IP.
Gateway
string
No
The gateway of the replication IP.
VpnServerIpAddress
string
No
Public IP address the VPN connects to.
VpnServerSystem
string
No
Server system this VPN connects to.
Force
boolean
No
Skip the confirmation prompt.
DELETE /replication/ips/delete
Delete an IP used for replication.
CLI command: replication ips delete
Query parameters
name
string
Yes
The replication IP to delete.
force
boolean
No
Skip the confirmation prompt.
PUT /replication/ips/edit
Edit an IP used for replication.
CLI command: replication ips edit
Query parameters
name
string
Yes
The replication IP to edit.
Body fields (JSON)
Newname
string
No
New name for the replication IP.
Nodes
array of string
No
Select one node for a single-node system or two for an HA pair.
Interfaces
array of string
No
The interface name of the corresponding node. Set an interface for each node.
Addresses
array of string
No
The IP addresses of the replication IP. Set an IP for each node.
Mask
string
No
The subnet mask of the replication IP.
Gateway
string
No
The gateway of the replication IP.
VpnIpAddress
string
No
Public IP address the VPN connects to.
Force
boolean
No
Skip the confirmation prompt for subnet validation warnings.
GET /replication/ips/list
View replication IPs.
CLI command: replication ips list
Query parameters
name
string
No
Filter by name.
ip
string
No
Filter by IP address.
Response: the command output, in the format selected by outputType.
GET /replication/witness/heartbeats
View replication witness heartbeat history.
CLI command: replication witness heartbeats
This endpoint takes no parameters.
Response: an object of type ReplicationWitnessHeartbeatElement in Result, with: DateTime (date-time), HeartbeatType (string: WitnessToSystem / PeerHighAvailabilityNodeToNode / OtherSystemsToSystem / OtherSystemsReplicationLinkToSystem), Source (string), Target (string), AddressesUsed (array of string), IsAlive (boolean), Heartbeats (array of Heartbeat).
GET /replication/witness/logs
View replication witness logs.
CLI command: replication witness logs
This endpoint takes no parameters.
Response: the command output, in the format selected by outputType.
PUT /replication/witness/settings/edit
Update replication witness settings.
CLI command: replication witness settings edit
Body fields (JSON)
Enable
boolean
No
Enable replication witness. In REST true applies --enable, false applies --disable, and omitting the field applies neither.
User
string
No
Set the user for the replication witness.
Password
string
No
Set the user's password for the replication witness.
DeadSystemsIndentificationIntervals
integer
No
When a system is disconnected from the witness, the number of iterations used to identify it as dead prior to the transition.
UseReplicationHeartbeats
boolean
No
Utilize heartbeat signals through the replication link. Even if disabled, other nodes still try to identify the cloud as dead after disconnecting from the witness. In REST one field covers a pair of CLI flags: true applies --useReplicationHeartbeats, false applies --doNotUseReplicationHeartbeats, and omitting the field applies neither.
ReplicationHeartReconnectionTimeoutInSeconds
integer
No
If replication heartbeats are enabled, the allowed timeout in seconds for them.
TransitionPairedFloatingIps
boolean
No
When performing a replication transition, transition paired NAS/Object floating IPs. In REST one field covers a pair of CLI flags: true applies --transitionPairedFloatingIps, false applies --doNotTransitionPairedFloatingIps, and omitting the field applies neither.
Force
boolean
No
Skip the confirmation prompt.
GET /replication/witness/settings/view
View replication witness settings.
CLI command: replication witness settings view
This endpoint takes no parameters.
Response: an object of type ReplicationWitnessSettingsElement in Result, with: Enable (boolean), User (string), Password (string), DeadSystemsIndentificationIntervals (integer), UseReplicationHeartbeats (boolean), ReplicationHeartReconnectionTimeoutInSeconds (integer), TransitionPairedFloatingIps (boolean), Force (boolean).
See also: Requests and responses - Authentication - Examples