Package com.morpheusdata.core.backup
Interface MorpheusReplicationService
-
public interface MorpheusReplicationService
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description io.reactivex.Single<java.lang.Boolean>
create(java.util.List<Replication> addList)
Creates new Backup Domains from cache / sync implementationsMorpheusReplicationGroupService
getReplicationGroup()
Returns the MorpheusReplicationGroupContext used for performing updates/queries onReplicationGroup
related assets within Morpheus.MorpheusReplicationSiteService
getReplicationSite()
Returns the MorpheusReplicationTypeContext used for performing updates/queries onReplicationSite
related assets within Morpheus.MorpheusReplicationTypeService
getType()
Returns the MorpheusReplicationTypeContext used for performing updates/queries onReplicationType
related assets within Morpheus.io.reactivex.Observable<ReplicationIdentityProjection>
listById(java.util.Collection<java.lang.Long> ids)
Lists allReplication
objects by a list of Identifiers.io.reactivex.Observable<ReplicationIdentityProjection>
listIdentityProjections(BackupProvider backupProvider)
Lists all backup projection objects for a specified replication id.io.reactivex.Observable<ReplicationIdentityProjection>
listIdentityProjections(Cloud cloud)
Lists all backup projection objects for a specified cloud.io.reactivex.Single<java.lang.Boolean>
remove(java.util.List<ReplicationIdentityProjection> removeList)
Removes Missing Backup on the Morpheus side.io.reactivex.Single<Replication>
save(Replication replication)
Saves aReplication
object.io.reactivex.Single<java.lang.Boolean>
save(java.util.List<Replication> saveList)
Saves a list ofReplication
objects.
-
-
-
Method Detail
-
getReplicationGroup
MorpheusReplicationGroupService getReplicationGroup()
Returns the MorpheusReplicationGroupContext used for performing updates/queries onReplicationGroup
related assets within Morpheus.- Returns:
- An instance of the MorpheusReplicationGroupContext to be used for calls by various backup providers
-
getReplicationSite
MorpheusReplicationSiteService getReplicationSite()
Returns the MorpheusReplicationTypeContext used for performing updates/queries onReplicationSite
related assets within Morpheus.- Returns:
- An instance of the BackupTypeContext to be used for calls by various backup providers
-
getType
MorpheusReplicationTypeService getType()
Returns the MorpheusReplicationTypeContext used for performing updates/queries onReplicationType
related assets within Morpheus.- Returns:
- An instance of the BackupTypeContext to be used for calls by various backup providers
-
listIdentityProjections
io.reactivex.Observable<ReplicationIdentityProjection> listIdentityProjections(BackupProvider backupProvider)
Lists all backup projection objects for a specified replication id. The projection is a subset of the properties on a fullReplication
object for sync matching.- Parameters:
backupProvider
- theAbstractBackupProvider
identifier associated to the replications to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listIdentityProjections
io.reactivex.Observable<ReplicationIdentityProjection> listIdentityProjections(Cloud cloud)
Lists all backup projection objects for a specified cloud. The projection is a subset of the properties on a fullReplication
object for sync matching.- Parameters:
cloud
- theCloud
identifier associated to the domains to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listById
io.reactivex.Observable<ReplicationIdentityProjection> listById(java.util.Collection<java.lang.Long> ids)
Lists allReplication
objects by a list of Identifiers. This is commonly used in sync / caching logic.- Parameters:
ids
- list ofReplication
ids to fetch.- Returns:
- an RxJava Observable stream of
Replication
objects for subscription.
-
remove
io.reactivex.Single<java.lang.Boolean> remove(java.util.List<ReplicationIdentityProjection> removeList)
Removes Missing Backup on the Morpheus side. This accepts the Projection Object instead of the main Object. It is important to note this is a Observer pattern and must be subscribed to in order for the action to occurExample:
morpheusContext.getBackup().remove(removeItems).blockingGet()
- Parameters:
removeList
- a list of backup projections to be removed- Returns:
- a Single
Observable
returning the success status of the operation.
-
create
io.reactivex.Single<java.lang.Boolean> create(java.util.List<Replication> addList)
Creates new Backup Domains from cache / sync implementations- Parameters:
addList
- List of newReplication
objects to be inserted into the database- Returns:
- notification of completion
-
save
io.reactivex.Single<java.lang.Boolean> save(java.util.List<Replication> saveList)
Saves a list ofReplication
objects. Be mindful this is an RxJava implementation and must be subscribed to for any action to actually take place.- Parameters:
saveList
- a List of Backup objects that need to be updated in the database.- Returns:
- the Single Observable stating the success state of the save attempt
-
save
io.reactivex.Single<Replication> save(Replication replication)
Saves aReplication
object. Be mindful this is an RxJava implementation and must be subscribed to for any action to actually take place.- Parameters:
replication
- a Replication Object to be updated in the database.- Returns:
- the Single Observable containing the resulting Backup Object
-
-