Interface BackupProvider

  • All Superinterfaces:
    PluginProvider
    All Known Implementing Classes:
    AbstractBackupProvider

    public interface BackupProvider
    extends PluginProvider
    This is the main entrypoint for registering a backup provider. Morpheus models backup integrations as a tree. A BackupProvider can have many backup types and therefore needs backup type providers scoped to specific types. Typically, it is best to extend the AbstractBackupProvider rather than directly implementing some of these methods.
    Since:
    0.12.2
    See Also:
    AbstractBackupProvider
    • Field Detail

      • scopedProviders

        static final java.util.Collection<BackupIntegration> scopedProviders
    • Method Detail

      • getIcon

        Icon getIcon()
        Returns the integration logo for display when a user needs to view or add this integration
        Returns:
        Icon representation of assets stored in the src/assets of the project.
      • getViewSet

        java.lang.String getViewSet()
        Deprecated.
        Returns a viewset for reference custom inputs when setting up a backup provider during add instance. This is the old way and is no longer being used
        Returns:
      • getEnabled

        java.lang.Boolean getEnabled()
        Sets the enabled state of the provider for consumer use. NOTE: This may go away as this should be implied by the installation state of the plugin
        Returns:
        if this provider is usable.
      • getCreatable

        java.lang.Boolean getCreatable()
        Is this backup provider creatable by the end user. This could be false for providers that may be forced by specific CloudProvider plugins, for example.
        Returns:
        the creatable state
      • getDownloadEnabled

        java.lang.Boolean getDownloadEnabled()
        Does this provider allow the end user to download a backup. Some backup providers can allow the user to download the backup archive file.
        Returns:
        whether the backup can be downloaded.
      • getHasAddToJob

        java.lang.Boolean getHasAddToJob()
      • getHasBackups

        java.lang.Boolean getHasBackups()
      • hasCancelBackup

        java.lang.Boolean hasCancelBackup()
      • getHasCloneJob

        java.lang.Boolean getHasCloneJob()
      • getHasCopyToStore

        java.lang.Boolean getHasCopyToStore()
      • getHasCreateJob

        java.lang.Boolean getHasCreateJob()
      • getHasJobs

        java.lang.Boolean getHasJobs()
      • getDefaultJobType

        java.lang.String getDefaultJobType()
      • getHasOptionalJob

        java.lang.Boolean getHasOptionalJob()
      • getHasReplication

        java.lang.Boolean getHasReplication()
      • getHasReplicationGroups

        java.lang.Boolean getHasReplicationGroups()
      • getHasRepositories

        java.lang.Boolean getHasRepositories()
      • getHasRetentionCount

        java.lang.Boolean getHasRetentionCount()
      • getHasSchedule

        java.lang.Boolean getHasSchedule()
      • getHasServers

        java.lang.Boolean getHasServers()
      • getHasSites

        java.lang.Boolean getHasSites()
      • hasStorageProvider

        java.lang.Boolean hasStorageProvider()
      • getHasStreamToStore

        java.lang.Boolean getHasStreamToStore()
      • getRestoreExistingEnabled

        java.lang.Boolean getRestoreExistingEnabled()
      • getRestoreNewEnabled

        java.lang.Boolean getRestoreNewEnabled()
      • getOptionTypes

        java.util.Collection<OptionType> getOptionTypes()
      • getReplicationGroupOptionTypes

        java.util.Collection<OptionType> getReplicationGroupOptionTypes()
      • getReplicationOptionTypes

        java.util.Collection<OptionType> getReplicationOptionTypes()
      • getBackupJobOptionTypes

        java.util.Collection<OptionType> getBackupJobOptionTypes()
      • getBackupOptionTypes

        java.util.Collection<OptionType> getBackupOptionTypes()
      • getInstanceReplicationGroupOptionTypes

        java.util.Collection<OptionType> getInstanceReplicationGroupOptionTypes()
      • addScopedProvider

        void addScopedProvider​(BackupTypeProvider backupTypeProvider,
                               java.lang.String provisionTypeCode,
                               java.lang.String containerTypeCode)
        Used to register BackupTypeProvider implementations by backup type
        Parameters:
        backupTypeProvider - the current backup type provider instance
        provisionTypeCode - the provision type code unique to the specific types of workloads this is scoped to
        containerTypeCode - optional workload type code in the event the backup type is very specific to a workload type.
      • configureBackupProvider

        ServiceResponse configureBackupProvider​(BackupProvider backupProviderModel,
                                                java.util.Map config,
                                                java.util.Map opts)
      • refresh

        ServiceResponse refresh​(BackupProvider backupProvider)
        The main refresh method called periodically by Morpheus to sync any necessary objects from the integration. This can call sub services for better organization, and it is recommended that SyncTask is used.
        Parameters:
        backupProvider - the current instance of the backupProvider being refreshed
        Returns:
        the success state of the refresh
      • configureBackupJob

        ServiceResponse configureBackupJob​(BackupJob backupJobModel,
                                           java.util.Map config,
                                           java.util.Map opts)
      • validateBackupJob

        ServiceResponse validateBackupJob​(BackupJob backupJobModel,
                                          java.util.Map config,
                                          java.util.Map opts)