in seatunnel-datasource/seatunnel-datasource-plugins/datasource-elasticsearch/src/main/java/org/apache/seatunnel/datasource/plugin/elasticsearch/client/EsRestClient.java [69:142]
public static EsRestClient createInstance(Config pluginConfig) {
try {
List<String> hosts =
JsonUtils.toList(
pluginConfig.getString(ElasticSearchOptionRule.HOSTS.key()),
String.class);
Optional<String> username = Optional.empty();
Optional<String> password = Optional.empty();
if (pluginConfig.hasPath(ElasticSearchOptionRule.USERNAME.key())) {
username =
Optional.of(pluginConfig.getString(ElasticSearchOptionRule.USERNAME.key()));
if (pluginConfig.hasPath(ElasticSearchOptionRule.PASSWORD.key())) {
password =
Optional.of(
pluginConfig.getString(ElasticSearchOptionRule.PASSWORD.key()));
}
}
Optional<String> keystorePath = Optional.empty();
Optional<String> keystorePassword = Optional.empty();
Optional<String> truststorePath = Optional.empty();
Optional<String> truststorePassword = Optional.empty();
boolean tlsVerifyCertificate =
ElasticSearchOptionRule.TLS_VERIFY_CERTIFICATE.defaultValue();
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_VERIFY_CERTIFICATE.key())) {
tlsVerifyCertificate =
pluginConfig.getBoolean(
ElasticSearchOptionRule.TLS_VERIFY_CERTIFICATE.key());
}
if (tlsVerifyCertificate) {
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_KEY_STORE_PATH.key())) {
keystorePath =
Optional.of(
pluginConfig.getString(
ElasticSearchOptionRule.TLS_KEY_STORE_PATH.key()));
}
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_KEY_STORE_PASSWORD.key())) {
keystorePassword =
Optional.of(
pluginConfig.getString(
ElasticSearchOptionRule.TLS_KEY_STORE_PASSWORD.key()));
}
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_TRUST_STORE_PATH.key())) {
truststorePath =
Optional.of(
pluginConfig.getString(
ElasticSearchOptionRule.TLS_TRUST_STORE_PATH.key()));
}
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_TRUST_STORE_PASSWORD.key())) {
truststorePassword =
Optional.of(
pluginConfig.getString(
ElasticSearchOptionRule.TLS_TRUST_STORE_PASSWORD
.key()));
}
}
boolean tlsVerifyHostnames = ElasticSearchOptionRule.TLS_VERIFY_HOSTNAME.defaultValue();
if (pluginConfig.hasPath(ElasticSearchOptionRule.TLS_VERIFY_HOSTNAME.key())) {
tlsVerifyHostnames =
pluginConfig.getBoolean(ElasticSearchOptionRule.TLS_VERIFY_HOSTNAME.key());
}
return createInstance(
hosts,
username,
password,
tlsVerifyCertificate,
tlsVerifyHostnames,
keystorePath,
keystorePassword,
truststorePath,
truststorePassword);
} catch (Exception e) {
throw new RuntimeException("Create EsRestClient failed", e);
}
}