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

io.polyglotted.elastic.client.ElasticClient Maven / Gradle / Ivy

package io.polyglotted.elastic.client;

import io.polyglotted.common.model.MapResult;
import io.polyglotted.common.util.HttpRequestBuilder.HttpReqType;
import org.apache.http.Header;
import org.apache.http.HttpEntity;

import java.io.Closeable;
import java.io.IOException;
import java.util.Map;

public interface ElasticClient extends Closeable {
    void close();

    Header bootstrapAuth();

    default ElasticClient waitForYellow() { return waitForStatus("yellow"); }

    default ElasticClient waitForStatus(String status) { return waitForStatus(bootstrapAuth(), status); }

    ElasticClient waitForStatus(Header auth, String status);

    default MapResult clusterHealth() { return clusterHealth(bootstrapAuth()); }

    MapResult clusterHealth(Header auth);

    default boolean indexExists(String index) { return indexExists(bootstrapAuth(), index); }

    boolean indexExists(Header auth, String index);

    default MapResult indexNameFor(String alias) { return indexNameFor(bootstrapAuth(), alias); }

    MapResult indexNameFor(Header auth, String alias);

    default String createIndex(String indexName, String indexFile) { return createIndex(bootstrapAuth(), indexName, indexFile); }

    String createIndex(Header auth, String index, String body);

    default void dropIndex(String index) { dropIndex(bootstrapAuth(), index); }

    void dropIndex(Header auth, String index);

    default void openIndex(String index) { openIndex(bootstrapAuth(), index); }

    void openIndex(Header auth, String index);

    default void closeIndex(String index) { closeIndex(bootstrapAuth(), index); }

    void closeIndex(Header auth, String index);

    default void forceRefresh(String index) { forceRefresh(bootstrapAuth(), index); }

    void forceRefresh(Header auth, String index);

    default void putSettings(String index, String settingsJson) { putSettings(bootstrapAuth(), index, settingsJson); }

    void putSettings(Header auth, String index, String settingsJson);

    default MapResult getSettings(String index) { return getSettings(bootstrapAuth(), index); }

    MapResult getSettings(Header auth, String index);

    default void putMapping(String index, String type, String mappingJson) { putMapping(bootstrapAuth(), index, type, mappingJson); }

    void putMapping(Header auth, String index, String type, String mappingJson);

    default MapResult getMapping(String index, String type) { return getMapping(bootstrapAuth(), index, type); }

    MapResult getMapping(Header auth, String index, String type);

    default void putAliases(String aliasesJson) { putAliases(bootstrapAuth(), aliasesJson); }

    void putAliases(Header auth, String aliasesJson);

    default MapResult getAlias(String alias) { return getAlias(bootstrapAuth(), alias); }

    MapResult getAlias(Header auth, String alias);

    default void putPipeline(String id, String resource) { putPipeline(bootstrapAuth(), id, resource); }

    void putPipeline(Header auth, String id, String resource);

    default boolean pipelineExists(String id) { return pipelineExists(bootstrapAuth(), id); }

    boolean pipelineExists(Header auth, String id);

    default void deletePipeline(String id) { deletePipeline(bootstrapAuth(), id); }

    void deletePipeline(Header auth, String id);

    default void putTemplate(String name, String body) { putTemplate(bootstrapAuth(), name, body); }

    void putTemplate(Header auth, String name, String body);

    default boolean templateExists(String name) { return templateExists(bootstrapAuth(), name); }

    boolean templateExists(Header auth, String name);

    default void deleteTemplate(String name) { deleteTemplate(bootstrapAuth(), name); }

    void deleteTemplate(Header auth, String name);

    String simpleGet(Header auth, String endpoint, String methodName);

    String simplePost(Header auth, String endpoint, String body, String methodName);

    String simplePut(Header auth, String endpoint, String body, String methodName);

    void simpleDelete(Header auth, String endpoint, String methodName);

    String performCliRequest(Header auth, HttpReqType method, String endpoint) throws IOException;

    String performCliRequest(Header auth, HttpReqType method, String endpoint,
                             Map params, HttpEntity entity) throws IOException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy