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

org.hibernate.search.backend.elasticsearch.ElasticsearchDistributionName Maven / Gradle / Ivy

The newest version!
/*
 * SPDX-License-Identifier: Apache-2.0
 * Copyright Red Hat Inc. and Hibernate Authors
 */
package org.hibernate.search.backend.elasticsearch;

import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.hibernate.search.backend.elasticsearch.logging.impl.Log;
import org.hibernate.search.engine.cfg.spi.ParseUtils;
import org.hibernate.search.util.common.annotation.Incubating;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

public enum ElasticsearchDistributionName {

	/**
	 * The Elasticsearch distribution from Elastic.
	 * 

* See: https://www.elastic.co/elasticsearch/. */ ELASTIC( "elastic", "elastic" ), /** * The OpenSearch distribution from the OpenSearch organization. *

* When used through Amazon OpenSearch Service, requires extra dependencies for authentication; * refer to the reference documentation. *

* See: https://www.opensearch.org/. */ OPENSEARCH( "opensearch", "opensearch" ), /** * Amazon OpenSearch Serverless. *

* Requires extra dependencies for authentication; * refer to the reference documentation. *

* See: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html. */ @Incubating AMAZON_OPENSEARCH_SERVERLESS( "amazon-opensearch-serverless", null ); private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); // This method conforms to the MicroProfile Config specification. Do not change its signature. public static ElasticsearchDistributionName of(String value) { return ParseUtils.parseDiscreteValues( ElasticsearchDistributionName.values(), ElasticsearchDistributionName::externalRepresentation, log::invalidElasticsearchDistributionName, value ); } static List allowedExternalRepresentations() { return Arrays.stream( ElasticsearchDistributionName.values() ) .map( ElasticsearchDistributionName::externalRepresentation ) .collect( Collectors.toList() ); } public static ElasticsearchDistributionName fromServerResponseRepresentation(String value) { return ParseUtils.parseDiscreteValues( ElasticsearchDistributionName.values(), ElasticsearchDistributionName::serverResponseRepresentation, log::invalidElasticsearchDistributionName, value ); } static ElasticsearchDistributionName defaultValue() { return ElasticsearchDistributionName.ELASTIC; } private final String externalRepresentation; private final String serverResponseRepresentation; ElasticsearchDistributionName(String externalRepresentation, String serverResponseRepresentation) { this.externalRepresentation = externalRepresentation; this.serverResponseRepresentation = serverResponseRepresentation; } @Override public String toString() { return externalRepresentation; } /** * @return The expected string representation in configuration properties. */ public String externalRepresentation() { return externalRepresentation; } String serverResponseRepresentation() { return serverResponseRepresentation; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy