All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.client.rest.RestClusterClient Maven / Gradle / Ivy

There is a newer version: 14.0.33.Final
Show newest version
package org.infinispan.client.rest;

import java.io.File;
import java.util.List;
import java.util.concurrent.CompletionStage;

/**
 * @author Tristan Tarrant <[email protected]>
 * @since 10.0
 **/
public interface RestClusterClient {
   /**
    * Shuts down the cluster
    */
   CompletionStage stop();

   /**
    * Shuts down the specified servers
    */
   CompletionStage stop(List server);

   /**
    * Creates a backup file containing the content of all containers in the cluster.
    *
    * @param name the name of the backup.
    */
   CompletionStage createBackup(String name);

   /**
    * Retrieves a backup file with the given name from the server.
    *
    * @param name     the name of the backup.
    * @param skipBody if true, then a HEAD request is issued to the server and only the HTTP headers are returned.
    */
   CompletionStage getBackup(String name, boolean skipBody);

   /**
    * @return the names of all backups.
    */
   CompletionStage getBackupNames();

   /**
    * Deletes a backup file from the server.
    *
    * @param name the name of the backup.
    */
   CompletionStage deleteBackup(String name);

   /**
    * Restores all content from a backup file, by uploading the file to the server endpoint for processing, returning
    * once the restoration has completed.
    *
    * @param name a unique name to identify the restore request.
    * @param backup the backup {@link File} containing the data to be restored.
    */
   CompletionStage restore(String name, File backup);

   /**
    * Restores all content from a backup file available to the server instance.
    *
    * @param name a unique name to identify the restore request.
    * @param backupLocation the path of the backup file already located on the server.
    */
   CompletionStage restore(String name, String backupLocation);

   /**
    * Polls a restore request progress with the given name. 201 indicates that the request has completed, 202 that it's
    * in progress and 404 that it can't be found.
    *
    * @param name the name of the restore.
    */
   CompletionStage getRestore(String name);

   /**
    * @return the names of all restores.
    */
   CompletionStage getRestoreNames();

   /**
    * Deletes a restore request from the server. Container content is not affected.
    *
    * @param name the name of the restore.
    */
   CompletionStage deleteRestore(String name);

   /**
    * @return The cluster distribution information.
    */
   CompletionStage distribution();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy