Interface BackupRestoreService

  • All Known Implementing Classes:
    DefaultBackupRestoreService

    @ExperimentalApi
    public interface BackupRestoreService
    Service responsible for accepting backup/restore operations.
    Since:
    8.2.0
    • Method Detail

      • createSpaceBackupJob

        SpaceBackupJobDetails createSpaceBackupJob​(SpaceBackupSettings settings)
        Creates new space backup job and adds it to the queue. Supports either single-space backup or multi-space backups (depends on how many space ids are provided). Throws an exception if the operation is not permitted. The user should have Space Export permissions to all the spaces passed for backup (or be a sysadmin) to be able to perform this operation.
        Parameters:
        settings - space backup settings
        Returns:
        space backup job details
        Throws:
        PermissionException - if user doesn't have permission to create space backups
        ConflictException - if backup with the same spaces selected is already in PROGRESS or QUEUED
        BadRequestException - if invalid settings provided
      • createSiteBackupJob

        SiteBackupJobDetails createSiteBackupJob​(SiteBackupSettings settings)
        Starts the new site backup job if possible. If another site backup/restore job is in progress, the operation will be rejected because the existing site backup must be either cancelled or finished first. Throws an exception if the operation is not permitted. The user should be a sysadmin to be able to perform this operation.
        Parameters:
        settings - site backup settings
        Returns:
        site backup job details
        Throws:
        PermissionException - if user doesn't have permission to create site backups
        BadRequestException - if invalid settings provided
      • createSpaceRestoreJob

        SpaceRestoreJobDetails createSpaceRestoreJob​(SpaceRestoreSettings settings)
        Creates new space restore job and adds it to the queue. Throws an exception if the operation is not permitted. The user should be a sysadmin to be able to perform this operation.
        Parameters:
        settings - space restore settings
        Returns:
        space restore job details
        Throws:
        PermissionException - if user doesn't have permission to restore space
        BadRequestException - if invalid filename provided
      • createSiteRestoreJob

        SiteRestoreJobDetails createSiteRestoreJob​(SiteRestoreSettings settings)
        Starts the new site restore job if possible. If another site backup/restore job is in progress, the operation will be rejected because the existing site backup must be either cancelled or finished first. Throws an exception if the operation is not permitted. The user should be a sysadmin to be able to perform this operation.
        Parameters:
        settings - site restore settings
        Returns:
        site restore job details
        Throws:
        PermissionException - if user doesn't have permission to restore site
        BadRequestException - if invalid filename provided
      • createSpaceRestoreJob

        SpaceRestoreJobDetails createSpaceRestoreJob​(SpaceRestoreSettings settings,
                                                     InputStream inputStream)
        Creates new space restore (from uploaded file) job and adds it to the queue. Throws an exception if the operation is not permitted. The user should be a sysadmin to be able to perform this operation.
        Parameters:
        settings - space restore settings
        inputStream - Input Stream ( File contents)
        Returns:
        space restore job details
        Throws:
        PermissionException - if user doesn't have permission to restore space
        BadRequestException - if invalid filename provided
      • createSiteRestoreJob

        SiteRestoreJobDetails createSiteRestoreJob​(SiteRestoreSettings settings,
                                                   InputStream inputStream)
        Starts the new site restore (from uploaded file) job if possible. If another site backup/restore job is in progress, the operation will be rejected because the existing site backup must be either cancelled or finished first. Throws an exception if the operation is not permitted. The user should be a sysadmin to be able to perform this operation.
        Parameters:
        settings - site restore settings
        inputStream - Input Stream ( File contents)
        Returns:
        site restore job details
        Throws:
        PermissionException - if user doesn't have permission to restore site
        ConflictException - if another site operation (BACKUP or RESTORE) is in progress
        BadRequestException - if invalid filename provided
      • getJob

        JobDetails getJob​(long jobId)
        Get job by id. The user should be a sysadmin or an owner of the job
        Parameters:
        jobId - id of the backup/restore job
        Returns:
        job details
        Throws:
        NotFoundException - if job not found or user doesn't have permission to see it
      • findJobs

        List<JobDetails> findJobs​(JobFilter filter)
        Gets backup/restore jobs based on the filter provided.
        Parameters:
        filter - job filter
        Returns:
        List of backup/restore jobs visible to user based on the filter provided.
      • cancelJob

        JobDetails cancelJob​(long jobId)
        Cancels the job. If the job is already cancelled or failed, the method will do nothing. Throws an exception if the operation is not permitted. The user should be a sysadmin or an owner of this job to be able to perform this operation.
        Parameters:
        jobId - id of the backup/restore job
        Returns:
        details of cancelled job
        Throws:
        NotFoundException - if job not found or user doesn't have permission to cancel it
      • getFiles

        List<FileInfo> getFiles​(JobScope jobScope)
        Gets information of files stored in /restore/(jobScope)
        Parameters:
        jobScope - SITE or SPACE, the scope to get files from
        Returns:
        List of file information of files in the directory storing the jobScope's restore files.
        Throws:
        PermissionException - if user doesn't have permission to see files
      • cancelAllQueuedJobs

        int cancelAllQueuedJobs()
        Cancels all queued jobs. Does not affect jobs that are being processed at the moment.
        Returns:
        number of cancelled jobs
        Throws:
        PermissionException - if user doesn't have permission to cancel jobs
      • getBackupFile

        File getBackupFile​(Long jobId)
                    throws NotFoundException
        Download backup file. Throws an exception if the operation is not permitted or the file is missing in the confluence-home/temp directory. The user should be a sysadmin or have permissions to back up all spaces for this job.
        Parameters:
        jobId - id of the backup job
        Returns:
        backup file
        Throws:
        NotFoundException - if job cannot be found, lack permissions or the backup file does not exist in confluence-home/temp directory