Interface MorpheusReplicationService


  • public interface MorpheusReplicationService
    • Method Detail

      • getReplicationGroup

        MorpheusReplicationGroupService getReplicationGroup()
        Returns the MorpheusReplicationGroupContext used for performing updates/queries on ReplicationGroup 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 on ReplicationSite 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 on ReplicationType 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 full Replication object for sync matching.
        Parameters:
        backupProvider - the AbstractBackupProvider 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 full Replication object for sync matching.
        Parameters:
        cloud - the Cloud 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 all Replication objects by a list of Identifiers. This is commonly used in sync / caching logic.
        Parameters:
        ids - list of Replication 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 occur

        Example:

        
         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 new Replication 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 of Replication 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 a Replication 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