public abstract static class ElasticsearchIO.ConnectionConfiguration
extends java.lang.Object
implements java.io.Serializable
| Constructor and Description | 
|---|
| ConnectionConfiguration() | 
| Modifier and Type | Method and Description | 
|---|---|
| static ElasticsearchIO.ConnectionConfiguration | create(java.lang.String[] addresses)Creates a new Elasticsearch connection configuration with no default index nor type. | 
| static ElasticsearchIO.ConnectionConfiguration | create(java.lang.String[] addresses,
      java.lang.String index)Creates a new Elasticsearch connection configuration with no default type. | 
| static ElasticsearchIO.ConnectionConfiguration | create(java.lang.String[] addresses,
      java.lang.String index,
      java.lang.String type)Creates a new Elasticsearch connection configuration. | 
| abstract java.util.List<java.lang.String> | getAddresses() | 
| abstract @Nullable java.lang.String | getApiKey() | 
| java.lang.String | getApiPrefix()Generates the API endpoint prefix based on the set values. | 
| abstract @Nullable java.lang.String | getBearerToken() | 
| java.lang.String | getBulkEndPoint() | 
| abstract @Nullable java.lang.Integer | getConnectTimeout() | 
| java.lang.String | getCountEndPoint() | 
| abstract @Nullable java.util.List<Header> | getDefaultHeaders() | 
| abstract java.lang.String | getIndex() | 
| abstract @Nullable java.lang.String | getKeystorePassword() | 
| abstract @Nullable java.lang.String | getKeystorePath() | 
| abstract @Nullable java.lang.String | getPassword() | 
| abstract @Nullable java.lang.String | getPathPrefix() | 
| java.lang.String | getPrefixedEndpoint(java.lang.String endpoint) | 
| java.lang.String | getSearchEndPoint() | 
| abstract @Nullable java.lang.Integer | getSocketTimeout() | 
| abstract @Nullable java.lang.String | getType() | 
| abstract @Nullable java.lang.String | getUsername() | 
| abstract boolean | isTrustSelfSignedCerts() | 
| ElasticsearchIO.ConnectionConfiguration | withApiKey(java.lang.String apiKey)If Elasticsearch authentication is enabled, provide an API key. | 
| ElasticsearchIO.ConnectionConfiguration | withBearerToken(java.lang.String bearerToken)If Elasticsearch authentication is enabled, provide a bearer token. | 
| ElasticsearchIO.ConnectionConfiguration | withConnectTimeout(java.lang.Integer connectTimeout)If set, overwrites the default connect timeout (1000ms) in the  RequestConfigof the
 ElasticRestClient. | 
| ElasticsearchIO.ConnectionConfiguration | withDefaultHeaders(Header[] defaultHeaders)For authentication or custom requirements, provide a set if default headers for the client. | 
| ElasticsearchIO.ConnectionConfiguration | withKeystorePassword(java.lang.String keystorePassword)If Elasticsearch uses SSL/TLS with mutual authentication (via shield), provide the password
 to open the client keystore. | 
| ElasticsearchIO.ConnectionConfiguration | withKeystorePath(java.lang.String keystorePath)If Elasticsearch uses SSL/TLS with mutual authentication (via shield), provide the keystore
 containing the client key. | 
| ElasticsearchIO.ConnectionConfiguration | withPassword(java.lang.String password)If Elasticsearch authentication is enabled, provide the password. | 
| ElasticsearchIO.ConnectionConfiguration | withPathPrefix(java.lang.String pathPrefix)If Elasticsearch is not running at the root path, e.g. | 
| ElasticsearchIO.ConnectionConfiguration | withSocketTimeout(java.lang.Integer socketTimeout)If set, overwrites the default max retry timeout (30000ms) in the Elastic  RestClientand the default socket timeout (30000ms) in theRequestConfigof the ElasticRestClient. | 
| ElasticsearchIO.ConnectionConfiguration | withTrustSelfSignedCerts(boolean trustSelfSignedCerts)If Elasticsearch uses SSL/TLS then configure whether to trust self signed certs or not. | 
| ElasticsearchIO.ConnectionConfiguration | withUsername(java.lang.String username)If Elasticsearch authentication is enabled, provide the username. | 
public abstract java.util.List<java.lang.String> getAddresses()
public abstract @Nullable java.lang.String getUsername()
public abstract @Nullable java.lang.String getPassword()
public abstract @Nullable java.lang.String getApiKey()
public abstract @Nullable java.lang.String getBearerToken()
public abstract @Nullable java.util.List<Header> getDefaultHeaders()
public abstract @Nullable java.lang.String getKeystorePath()
public abstract @Nullable java.lang.String getKeystorePassword()
public abstract @Nullable java.lang.String getPathPrefix()
public abstract java.lang.String getIndex()
public abstract @Nullable java.lang.String getType()
public abstract @Nullable java.lang.Integer getSocketTimeout()
public abstract @Nullable java.lang.Integer getConnectTimeout()
public abstract boolean isTrustSelfSignedCerts()
public static ElasticsearchIO.ConnectionConfiguration create(java.lang.String[] addresses, java.lang.String index, java.lang.String type)
addresses - list of addresses of Elasticsearch nodesindex - the index toward which the requests will be issuedtype - the document type toward which the requests will be issuedpublic static ElasticsearchIO.ConnectionConfiguration create(java.lang.String[] addresses, java.lang.String index)
addresses - list of addresses of Elasticsearch nodesindex - the index toward which the requests will be issuedpublic static ElasticsearchIO.ConnectionConfiguration create(java.lang.String[] addresses)
addresses - list of addresses of Elasticsearch nodespublic java.lang.String getApiPrefix()
Based on ConnectionConfiguration constructors, we know that one of the following is true:
Example valid endpoints therefore include:
public java.lang.String getPrefixedEndpoint(java.lang.String endpoint)
public java.lang.String getBulkEndPoint()
public java.lang.String getSearchEndPoint()
public java.lang.String getCountEndPoint()
public ElasticsearchIO.ConnectionConfiguration withUsername(java.lang.String username)
username - the username used to authenticate to ElasticsearchElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withPassword(java.lang.String password)
password - the password used to authenticate to ElasticsearchElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withPathPrefix(java.lang.String pathPrefix)
pathPrefix - the path prefix used in Elasticsearch instance.ElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withApiKey(java.lang.String apiKey)
withBearerToken() and withDefaultHeaders
 at the same time, as they (potentially) use the same header.apiKey - the API key used to authenticate to ElasticsearchElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withBearerToken(java.lang.String bearerToken)
withBearerToken() and withDefaultHeaders at the same time, as they (potentially) use the same header.bearerToken - the bearer token used to authenticate to ElasticsearchElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withDefaultHeaders(Header[] defaultHeaders)
withApiToken(), withBearerToken() and
 withDefaultHeaders at the same time, as they (potentially) use the same header.
 An example of where this could be useful is if the client needs to use short-lived credentials that need to be renewed on a certain interval. To implement that, a user could implement a custom header that tracks the renewal period, for example:
 {@code class OAuthTokenHeader extends BasicHeader {
     OAuthToken accessToken;
     ...defaultHeaders - the headers to add to outgoing requestsElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withKeystorePath(java.lang.String keystorePath)
keystorePath - the location of the keystore containing the client key.ElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withKeystorePassword(java.lang.String keystorePassword)
keystorePassword - the password of the client keystore.ElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withTrustSelfSignedCerts(boolean trustSelfSignedCerts)
trustSelfSignedCerts - Whether to trust self signed certsElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withSocketTimeout(java.lang.Integer socketTimeout)
RestClient
 and the default socket timeout (30000ms) in the RequestConfig of the Elastic RestClient.socketTimeout - the socket and retry timeout in millis.ElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.public ElasticsearchIO.ConnectionConfiguration withConnectTimeout(java.lang.Integer connectTimeout)
RequestConfig of the
 Elastic RestClient.connectTimeout - the socket and retry timeout in millis.ElasticsearchIO.ConnectionConfiguration describes a connection configuration to
     Elasticsearch.