Operations at ReplicationCommunication

This page describes the backend methods at this endpoint.

Signature Description
Void AddAgentsByDemand(AddAgentsDemand addAgentsDemand) Add agents by demand to a remote slave core.
Void AddAgentsByRequest(AddAgentsRequest addAgentsRequest) Add agents by request to a remote slave.
Void CancelRemoteMetadataUpdate(String agentId) Cancels metadata update phase of replication job for replicated agent.
Void CancelUploadFile(String uploadSessionId) Cancels current upload session.
Void ContinueUploadFile(String uploadSessionId, String dataSize, Stream dataStream) Reads data from slave core in current upload session.
Void DeleteAgent(String agentId) Deletes a replicated agent from the slave core, including all of its recovery points.
Void DeletePairing(String deleteRecoveryPoints) Removes replication relationship with Master Core on Slave's Core side. Actual replicated and protected agent on Master and Slave Cores stay available.
RemoteCoreSummaryInfo DemandPairing(ReplicationPairingDemand demand) Demands the establishment of a pairing relationship with a remote core. Demands are only accepted if the caller performs NTLM authentication as a member of the administrators group. This method will reset connection for establish new secured connection.
Void EndUploadFile(String uploadSessionId) Ends current upload session and cheks MD5 hash of received file.
Void EndVolumeImageReplicationSession(String agentId, String jobId, String sessionId, String commit) Ends the volume image replication session, optionally committing the transferred volume image.
RecoveryPointSummaryInfoCollection GetAgentRecoveryPoints(String agentId) Gets the recovery points replicated for the given agent.
Int32 GetAgentRecoveryPointsCount(String agentId) Gets count of the recovery points replicated for the given agent.
AgentRepositoryRelationshipCollection GetAgentRepositoryRelationships() Old method. Gets the repositories for replicated agents.
AgentRepositoryRelationshipCollection GetAgentRepositoryRelationshipsByCoreInfo(RemoteCoreSummaryInfo coreInfo) Gets the repositories for replicated agents.
AgentRepositoryRelationshipCollection GetAgentRepositoryRelationshipsByDemand() Old method. Gets the repositories for replicated agents.
AgentRepositoryRelationshipCollection GetAgentRepositoryRelationshipsByDemandByCoreInfo(RemoteCoreSummaryInfo coreInfo) Gets the repositories for replicated agents.
AgentInfoCollection GetAgents() Gets the list of all agents. A pairing must be in place, and this request must be authenticated by the master core's client certificate.
SummaryReplicatedVolumeImageInfoCollection GetBasicReplicatedVolumeImagesInfo54X(String agentId) Gets the details for all recovery points replicated for the given agent.
ConsumedSeedDrivesCollection GetConsumedSeedDrives(String agentId) Gets identifiers of seed drives consumed on the Core for specified agent.
Guid GetCoreId(String useCredentials) Tests connection to remote core and returns core ID. If useCredentials in true then NTLM authentication used, otherwise Anonymous authentication.
RemoteCoreSummaryInfo GetCoreSummaryInfo() Provides current target core summary information to a source core without actually establishing pairing between them
ExchangeServerVersions GetExchangeVersions() Gets versions of Exchange dlls, with present on remote slave core.
FileInformation GetFileInfoForExchangeDll(String fileName, ExchangeServerVersion exchangeServerVersion) Gets information for given Exchange DLL file.
BackgroundJobInfo GetMetadataUpdateProgress(String agentId) Gets status of the metadata update job initiated from master core.
SummaryReplicatedVolumeImageInfoCollection GetOrphanedReplicatedVolumeImagesInfo54X(String agentId) Gets the details for orphaned volume images for the given agent.
O3ERemoteConnectionDescription GetRemoteAgentRepositoryConnectionDescription(String agentId, String jobId, String sessionId) Gets information about remote repository connection given agent in protected to
RemoteCoreSummaryInfoCollection GetRemoteMasterCoresForDemand() Getting remote masers cores info for current slave core. Using NTLM authentication.
O3ERemoteSnapshotFileInfo GetRemoteSnapshotFileInfo(String agentId, String jobId, String sessionId) Gets O3E volume snapshot info
ReplicatedAgentInfoCollection GetReplicatedAgents() Gets the list of agents the caller is replicating to this slave core. A pairing must be in place, and this request must be authenticated by the master core's client certificate.
RemoteAgentRecoveryPointsInfoCollection GetReplicatedAgentsRecoveryPointsInfo() Gets the list of agents which have recovery points on a remote slave core.
AgentStorageUsageSummaryCollection GetReplicatedAgentsStorageUsage() Gets a summary of storage usage of the replicated agents.
RepositoryInfoCollection GetRepositories() Gets all repositories. With certificate authentication for already paired cores.
UInt64 GetRepositoryFreeSpaceForAgent(String agentId) Get free space for agent's remote repository.
Void GetTransferredBlocksForParticularVolumeImage(String agentId, String volumeDriverId, String epochNumber, Stream blocks) Gets a bitmap containing blocks which were actually transferred and flushed.
Void GetVolumeImageTransferredBlocks(String sessionId, Stream blocks) Gets a bitmap containing blocks which were actually transferred and flushed.
Void NegotiateMissingRecords(String agentId, String jobId, String sessionId, Stream recordsOnMaster, Stream missingRecordsOnSlave) Sends a stream of record metadata for the image being replicated, and receives back a stream of records which are missing from the remote core.
Void O3EDirectNegotiateData(String agentId, String jobId, String sessionId, Stream requestFromMaster, Stream responseFromSlave) Interal transport method used to implement communication between remote O3E servers
PokeVolumeImageCommittingProcessStatus PokeVolumeImageCommittingProcess(String agentId, String jobId, String sessionId) Pokes slave to know the current state of volume image committing process. Returns false if volume is still being committed, returns true if volume image has been committed, throws otherwise.
RemoteCoreSummaryInfo RequestPairing(ReplicationPairingRequest request) Sends a request to a remote slave for authorization to replicate one or more agents. The request is adjudicated by a human operator and will be approved or denied at a later date. This method will reset connection for establish new secured connection.
RecoveryPointSummaryInfoCollection SelectRangeAgentRecoveryPoints(String agentId, String skipCount, String maxCount) Select range of the recovery points replicated for the given agent.
Void SendSnapshotFileScid(String agentId, String jobId, String sessionId, RemoteSnapshotFileScidInfo scid) Explicitly sets volume snapshot file SCID that was created on master core
Void SendSnapshotIndividualBitmap(String agentId, String jobId, String sessionId, Stream bitmap) Explicitly sets volume snapshot bitmap
Void StartEndingVolumeImageReplicationSession(String agentId, String jobId, String sessionId, String commit) Starts ending the volume image replication session, optionally committing the transferred volume image.
Void StartMetadataUpdate(String agentId, StartMetadataUpdateRequest metadataUpdateRequest) Starts metadata update for specified agent.
Void StartMetadataUpdateJob(String agentId, StartMetadataUpdateRequest metadataUpdateRequest) Starts metadata update job for specified agent.
Guid StartNewO3EDirectVolumeImageReplicationSession(StartO3EDirectVolumeImageReplicationSessionRequest request) Starts a direct O3E to O3E replication session with a slave core.
FileReceiveResponse StartNewUploadSession(FileReceiveRequest fileUploadRequest) Starts new file upload session.
Guid StartNewVolumeImageReplicationSession(StartVolumeImageReplicationSessionRequest request) Starts a replication session with a slave core.
Guid StartRemoteReplicationJob(RemoteReplicationJobRequest remoteReplicationJobRequest) Starts remote mirrored replication job on slave core.
Void StartTransferJob(String agentId, String jobId) Starts remote mirrored transfer job on slave core.
ReplicationPairingStatus SyncPairingStatus(MasterCorePairingStatus pairingInfo) Gets the status of the pairing between the calling core and the remote slave core. The caller is identified by its SSL client certificate. This method is available to a remote core regardless of whether it was paired via a request or initiated the pairing itself.
BackgroundJobInfo SyncRemoteReplicationJob(RemoteSyncReplicationJobRequest requestSync) Sync with remote mirrored replication job on slave core.
Void TransferMissingRecords(String agentId, String jobId, String sessionId, Stream missingRawRecords) Sends a stream of raw records to the slave core, the list of which is determined by NegotiateMissingRecords.
Void UpdateMasterStorageUsage(StorageUsageSummary storageUsageSummary) Reports a summary of storage usage on the master core to the slave core. This primarily exists to support MSP billing needs.
Void UpdateReplicationStatus(String agentId, BackgroundJobInfo jobInfo) Set replication status on the slave core.
Void VerifyAddAgentsByDemand(AddAgentsDemand addAgentsDemand) Verifies whether agents can be safely replicated by demand
Void VerifyAddAgentsByRequest(AddAgentsRequest addAgentsRequest) Verifies whether agents can be safely replicated by request
Void VerifyReplicationAbility(String agentId) Verifies replication ability.
RemoteCoreSummaryInfo VerifyReplicationCorePairingAbility(String useCredentials, RemoteCoreSummaryInfo coreInfo) Verifies pairing ability.