
io.camunda.zeebe.backup.api.BackupStore Maven / Gradle / Ivy
/*
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
* one or more contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright ownership.
* Licensed under the Camunda License 1.0. You may not use this file
* except in compliance with the Camunda License 1.0.
*/
package io.camunda.zeebe.backup.api;
import java.nio.file.Path;
import java.util.Collection;
import java.util.concurrent.CompletableFuture;
/** A store where the backup is stored * */
public interface BackupStore {
/** Saves the backup to the backup storage. */
CompletableFuture save(Backup backup);
/** Returns the status of the backup */
CompletableFuture getStatus(BackupIdentifier id);
/** Uses the given wildcard to list all backups matching this wildcard. */
CompletableFuture> list(BackupIdentifierWildcard wildcard);
/**
* Delete all state related to the backup from the storage. Backups with status{@link
* BackupStatusCode#IN_PROGRESS} is not deleted. The caller of this method must first mark it as
* failed.
*/
CompletableFuture delete(BackupIdentifier id);
/** Restores the backup */
CompletableFuture restore(BackupIdentifier id, Path targetFolder);
/**
* Marks the backup as failed. If saving a backup failed, the backups store must mark it as
* failed. This method can be used if we want to explicitly mark a partial backup as failed.
*/
CompletableFuture markFailed(BackupIdentifier id, final String failureReason);
CompletableFuture closeAsync();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy