Skip to main content

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)

Name Type Required Description
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

Name Type Required Description
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

Name Type Required Description
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)

Name Type Required Description
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

Name Type Required Description
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)

Name Type Required Description
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

Name Type Required Description
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 Type Required Description
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 Type Required Description
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 Type Required Description
name string Yes The replication IP to edit.

Body fields (JSON)

Name Type Required Description
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 Type Required Description
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)

Name Type Required Description
Enable boolean No Enable replication witness. In REST one field covers a pair of CLI flags: 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