Interface MorpheusBackupService


  • public interface MorpheusBackupService
    • Method Detail

      • getType

        MorpheusBackupTypeService getType()
        Returns the MorpheusBackupTypeContext used for performing updates/queries on BackupType related assets within Morpheus.
        Returns:
        An instance of the BackupTypeContext to be used for calls by various backup providers
      • getBackupJob

        MorpheusBackupJobService getBackupJob()
        Returns the BackupJobContext used for performing updates or queries on BackupJob related assets within Morpheus. Typically this would be called by a BackupProvider
        Returns:
        An instance of the Backup Job Context to be used for calls by various backup providers
      • getBackupResult

        MorpheusBackupResultService getBackupResult()
        Returns the BackupResultContext used for performing updates or queries on BackupResult related assets within Morpheus. Typically this would be called by a BackupProvider.
        Returns:
        An instance of the Backup Result Context to be used for calls by various backup providers
      • getBackupRestore

        MorpheusBackupRestoreService getBackupRestore()
        Returns the BackupRestoreContext used for performing updates or queries on BackupRestore related assets within Morpheus. Typically this would be called by a BackupProvider.
        Returns:
        An instance of the Backup Restore Context to be used for calls by various backup providers
      • getReplication

        MorpheusReplicationService getReplication()
        Returns the MorpheusReplicationContext used for performing updates/queries on Replication related assets within Morpheus.
        Returns:
        An instance of the MorpheusReplicationContext to be used for calls by various backup providers
      • listIdentityProjections

        io.reactivex.Observable<BackupIdentityProjection> listIdentityProjections​(BackupProvider backupProvider)
        Lists all backup projection objects for a specified backup provider id. The projection is a subset of the properties on a full Backup object for sync matching.
        Parameters:
        backupProvider - the AbstractBackupProvider identifier associated to the backups to be listed.
        Returns:
        an RxJava Observable stream of result projection objects.
      • listIdentityProjections

        io.reactivex.Observable<BackupIdentityProjection> listIdentityProjections​(Cloud cloud)
        Lists all backup projection objects for a specified cloud. The projection is a subset of the properties on a full Backup 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<Backup> listById​(java.util.Collection<java.lang.Long> ids)
        Lists all Backup objects by a list of Identifiers. This is commonly used in sync / caching logic.
        Parameters:
        ids - list of Backup ids to fetch.
        Returns:
        an RxJava Observable stream of Backup objects for subscription.
      • listByBackupJobIdAndActive

        io.reactivex.Observable<Backup> listByBackupJobIdAndActive​(java.lang.Long backupJobId,
                                                                   java.lang.Boolean active)
        Lists all Backup objects by a specified BackupJob and active status.
        Parameters:
        backupJobId - ID of a BackupJob
        active - filter the active or inactive state of the backup results
        Returns:
        an RxJava Observable stream of Backup objects for subscription.
      • listByAccountIdAndBackupJobIdAndActive

        io.reactivex.Observable<Backup> listByAccountIdAndBackupJobIdAndActive​(java.lang.Long accountId,
                                                                               java.lang.Long backupJobId,
                                                                               java.lang.Boolean active)
        Lists all Backup objects by a specified Account and BackupJob and active status.
        Parameters:
        accountId - ID of an Account
        backupJobId - ID of a BackupJob
        active - filter the active or inactive state of the backup results
        Returns:
        an RxJava Observable stream of Backup objects for subscription.
      • remove

        io.reactivex.Single<java.lang.Boolean> remove​(java.util.List<BackupIdentityProjection> 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<Backup> addList)
        Creates new Backup Domains from cache / sync implementations
        Parameters:
        addList - List of new Backup objects to be inserted into the database
        Returns:
        notification of completion
      • save

        io.reactivex.Single<java.lang.Boolean> save​(java.util.List<Backup> saveList)
        Saves a list of Backup 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<Backup> save​(Backup backup)
        Saves a Backup object. Be mindful this is an RxJava implementation and must be subscribed to for any action to actually take place.
        Parameters:
        backup - a Backup Object to be updated in the database.
        Returns:
        the Single Observable containing the resulting Backup Object
      • executeBackup

        io.reactivex.Single<java.lang.Boolean> executeBackup​(java.lang.Long backupId)
        Initiates the execution of a backup Backup. Be mindful this is an RxJava implementation and must be subscribed to for any action to actually take place.
        Parameters:
        backupId - the ID of the Backup to begin execution.
        Returns:
        the Single Observable containing the success or failure of the backup execution call