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

software.amazon.awssdk.services.elasticsearch.model.ElasticsearchDomainConfig Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Elasticsearch Service module holds the client classes that are used for communicating with Amazon Elasticsearch Service

There is a newer version: 2.30.1
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.elasticsearch.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* The configuration of an Elasticsearch domain. *

*/ @Generated("software.amazon.awssdk:codegen") public final class ElasticsearchDomainConfig implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField ELASTICSEARCH_VERSION_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::elasticsearchVersion)).setter(setter(Builder::elasticsearchVersion)) .constructor(ElasticsearchVersionStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ElasticsearchVersion").build()) .build(); private static final SdkField ELASTICSEARCH_CLUSTER_CONFIG_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::elasticsearchClusterConfig)) .setter(setter(Builder::elasticsearchClusterConfig)) .constructor(ElasticsearchClusterConfigStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ElasticsearchClusterConfig").build()) .build(); private static final SdkField EBS_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::ebsOptions)) .setter(setter(Builder::ebsOptions)).constructor(EBSOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EBSOptions").build()).build(); private static final SdkField ACCESS_POLICIES_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::accessPolicies)) .setter(setter(Builder::accessPolicies)).constructor(AccessPoliciesStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AccessPolicies").build()).build(); private static final SdkField SNAPSHOT_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::snapshotOptions)) .setter(setter(Builder::snapshotOptions)).constructor(SnapshotOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SnapshotOptions").build()).build(); private static final SdkField VPC_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::vpcOptions)) .setter(setter(Builder::vpcOptions)).constructor(VPCDerivedInfoStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VPCOptions").build()).build(); private static final SdkField COGNITO_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::cognitoOptions)) .setter(setter(Builder::cognitoOptions)).constructor(CognitoOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CognitoOptions").build()).build(); private static final SdkField ENCRYPTION_AT_REST_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::encryptionAtRestOptions)).setter(setter(Builder::encryptionAtRestOptions)) .constructor(EncryptionAtRestOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EncryptionAtRestOptions").build()) .build(); private static final SdkField NODE_TO_NODE_ENCRYPTION_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::nodeToNodeEncryptionOptions)) .setter(setter(Builder::nodeToNodeEncryptionOptions)) .constructor(NodeToNodeEncryptionOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NodeToNodeEncryptionOptions") .build()).build(); private static final SdkField ADVANCED_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(ElasticsearchDomainConfig::advancedOptions)) .setter(setter(Builder::advancedOptions)).constructor(AdvancedOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedOptions").build()).build(); private static final SdkField LOG_PUBLISHING_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::logPublishingOptions)).setter(setter(Builder::logPublishingOptions)) .constructor(LogPublishingOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LogPublishingOptions").build()) .build(); private static final SdkField DOMAIN_ENDPOINT_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::domainEndpointOptions)).setter(setter(Builder::domainEndpointOptions)) .constructor(DomainEndpointOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainEndpointOptions").build()) .build(); private static final SdkField ADVANCED_SECURITY_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .getter(getter(ElasticsearchDomainConfig::advancedSecurityOptions)).setter(setter(Builder::advancedSecurityOptions)) .constructor(AdvancedSecurityOptionsStatus::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedSecurityOptions").build()) .build(); private static final List> SDK_FIELDS = Collections .unmodifiableList(Arrays.asList(ELASTICSEARCH_VERSION_FIELD, ELASTICSEARCH_CLUSTER_CONFIG_FIELD, EBS_OPTIONS_FIELD, ACCESS_POLICIES_FIELD, SNAPSHOT_OPTIONS_FIELD, VPC_OPTIONS_FIELD, COGNITO_OPTIONS_FIELD, ENCRYPTION_AT_REST_OPTIONS_FIELD, NODE_TO_NODE_ENCRYPTION_OPTIONS_FIELD, ADVANCED_OPTIONS_FIELD, LOG_PUBLISHING_OPTIONS_FIELD, DOMAIN_ENDPOINT_OPTIONS_FIELD, ADVANCED_SECURITY_OPTIONS_FIELD)); private static final long serialVersionUID = 1L; private final ElasticsearchVersionStatus elasticsearchVersion; private final ElasticsearchClusterConfigStatus elasticsearchClusterConfig; private final EBSOptionsStatus ebsOptions; private final AccessPoliciesStatus accessPolicies; private final SnapshotOptionsStatus snapshotOptions; private final VPCDerivedInfoStatus vpcOptions; private final CognitoOptionsStatus cognitoOptions; private final EncryptionAtRestOptionsStatus encryptionAtRestOptions; private final NodeToNodeEncryptionOptionsStatus nodeToNodeEncryptionOptions; private final AdvancedOptionsStatus advancedOptions; private final LogPublishingOptionsStatus logPublishingOptions; private final DomainEndpointOptionsStatus domainEndpointOptions; private final AdvancedSecurityOptionsStatus advancedSecurityOptions; private ElasticsearchDomainConfig(BuilderImpl builder) { this.elasticsearchVersion = builder.elasticsearchVersion; this.elasticsearchClusterConfig = builder.elasticsearchClusterConfig; this.ebsOptions = builder.ebsOptions; this.accessPolicies = builder.accessPolicies; this.snapshotOptions = builder.snapshotOptions; this.vpcOptions = builder.vpcOptions; this.cognitoOptions = builder.cognitoOptions; this.encryptionAtRestOptions = builder.encryptionAtRestOptions; this.nodeToNodeEncryptionOptions = builder.nodeToNodeEncryptionOptions; this.advancedOptions = builder.advancedOptions; this.logPublishingOptions = builder.logPublishingOptions; this.domainEndpointOptions = builder.domainEndpointOptions; this.advancedSecurityOptions = builder.advancedSecurityOptions; } /** *

* String of format X.Y to specify version for the Elasticsearch domain. *

* * @return String of format X.Y to specify version for the Elasticsearch domain. */ public ElasticsearchVersionStatus elasticsearchVersion() { return elasticsearchVersion; } /** *

* Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. *

* * @return Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. */ public ElasticsearchClusterConfigStatus elasticsearchClusterConfig() { return elasticsearchClusterConfig; } /** *

* Specifies the EBSOptions for the Elasticsearch domain. *

* * @return Specifies the EBSOptions for the Elasticsearch domain. */ public EBSOptionsStatus ebsOptions() { return ebsOptions; } /** *

* IAM access policy as a JSON-formatted string. *

* * @return IAM access policy as a JSON-formatted string. */ public AccessPoliciesStatus accessPolicies() { return accessPolicies; } /** *

* Specifies the SnapshotOptions for the Elasticsearch domain. *

* * @return Specifies the SnapshotOptions for the Elasticsearch domain. */ public SnapshotOptionsStatus snapshotOptions() { return snapshotOptions; } /** *

* The VPCOptions for the specified domain. For more information, see VPC * Endpoints for Amazon Elasticsearch Service Domains. *

* * @return The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains. */ public VPCDerivedInfoStatus vpcOptions() { return vpcOptions; } /** *

* The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. *

* * @return The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. */ public CognitoOptionsStatus cognitoOptions() { return cognitoOptions; } /** *

* Specifies the EncryptionAtRestOptions for the Elasticsearch domain. *

* * @return Specifies the EncryptionAtRestOptions for the Elasticsearch domain. */ public EncryptionAtRestOptionsStatus encryptionAtRestOptions() { return encryptionAtRestOptions; } /** *

* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain. *

* * @return Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain. */ public NodeToNodeEncryptionOptionsStatus nodeToNodeEncryptionOptions() { return nodeToNodeEncryptionOptions; } /** *

* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. *

* * @return Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. */ public AdvancedOptionsStatus advancedOptions() { return advancedOptions; } /** *

* Log publishing options for the given domain. *

* * @return Log publishing options for the given domain. */ public LogPublishingOptionsStatus logPublishingOptions() { return logPublishingOptions; } /** *

* Specifies the DomainEndpointOptions for the Elasticsearch domain. *

* * @return Specifies the DomainEndpointOptions for the Elasticsearch domain. */ public DomainEndpointOptionsStatus domainEndpointOptions() { return domainEndpointOptions; } /** *

* Specifies AdvancedSecurityOptions for the domain. *

* * @return Specifies AdvancedSecurityOptions for the domain. */ public AdvancedSecurityOptionsStatus advancedSecurityOptions() { return advancedSecurityOptions; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(elasticsearchVersion()); hashCode = 31 * hashCode + Objects.hashCode(elasticsearchClusterConfig()); hashCode = 31 * hashCode + Objects.hashCode(ebsOptions()); hashCode = 31 * hashCode + Objects.hashCode(accessPolicies()); hashCode = 31 * hashCode + Objects.hashCode(snapshotOptions()); hashCode = 31 * hashCode + Objects.hashCode(vpcOptions()); hashCode = 31 * hashCode + Objects.hashCode(cognitoOptions()); hashCode = 31 * hashCode + Objects.hashCode(encryptionAtRestOptions()); hashCode = 31 * hashCode + Objects.hashCode(nodeToNodeEncryptionOptions()); hashCode = 31 * hashCode + Objects.hashCode(advancedOptions()); hashCode = 31 * hashCode + Objects.hashCode(logPublishingOptions()); hashCode = 31 * hashCode + Objects.hashCode(domainEndpointOptions()); hashCode = 31 * hashCode + Objects.hashCode(advancedSecurityOptions()); return hashCode; } @Override public boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof ElasticsearchDomainConfig)) { return false; } ElasticsearchDomainConfig other = (ElasticsearchDomainConfig) obj; return Objects.equals(elasticsearchVersion(), other.elasticsearchVersion()) && Objects.equals(elasticsearchClusterConfig(), other.elasticsearchClusterConfig()) && Objects.equals(ebsOptions(), other.ebsOptions()) && Objects.equals(accessPolicies(), other.accessPolicies()) && Objects.equals(snapshotOptions(), other.snapshotOptions()) && Objects.equals(vpcOptions(), other.vpcOptions()) && Objects.equals(cognitoOptions(), other.cognitoOptions()) && Objects.equals(encryptionAtRestOptions(), other.encryptionAtRestOptions()) && Objects.equals(nodeToNodeEncryptionOptions(), other.nodeToNodeEncryptionOptions()) && Objects.equals(advancedOptions(), other.advancedOptions()) && Objects.equals(logPublishingOptions(), other.logPublishingOptions()) && Objects.equals(domainEndpointOptions(), other.domainEndpointOptions()) && Objects.equals(advancedSecurityOptions(), other.advancedSecurityOptions()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public String toString() { return ToString.builder("ElasticsearchDomainConfig").add("ElasticsearchVersion", elasticsearchVersion()) .add("ElasticsearchClusterConfig", elasticsearchClusterConfig()).add("EBSOptions", ebsOptions()) .add("AccessPolicies", accessPolicies()).add("SnapshotOptions", snapshotOptions()) .add("VPCOptions", vpcOptions()).add("CognitoOptions", cognitoOptions()) .add("EncryptionAtRestOptions", encryptionAtRestOptions()) .add("NodeToNodeEncryptionOptions", nodeToNodeEncryptionOptions()).add("AdvancedOptions", advancedOptions()) .add("LogPublishingOptions", logPublishingOptions()).add("DomainEndpointOptions", domainEndpointOptions()) .add("AdvancedSecurityOptions", advancedSecurityOptions()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ElasticsearchVersion": return Optional.ofNullable(clazz.cast(elasticsearchVersion())); case "ElasticsearchClusterConfig": return Optional.ofNullable(clazz.cast(elasticsearchClusterConfig())); case "EBSOptions": return Optional.ofNullable(clazz.cast(ebsOptions())); case "AccessPolicies": return Optional.ofNullable(clazz.cast(accessPolicies())); case "SnapshotOptions": return Optional.ofNullable(clazz.cast(snapshotOptions())); case "VPCOptions": return Optional.ofNullable(clazz.cast(vpcOptions())); case "CognitoOptions": return Optional.ofNullable(clazz.cast(cognitoOptions())); case "EncryptionAtRestOptions": return Optional.ofNullable(clazz.cast(encryptionAtRestOptions())); case "NodeToNodeEncryptionOptions": return Optional.ofNullable(clazz.cast(nodeToNodeEncryptionOptions())); case "AdvancedOptions": return Optional.ofNullable(clazz.cast(advancedOptions())); case "LogPublishingOptions": return Optional.ofNullable(clazz.cast(logPublishingOptions())); case "DomainEndpointOptions": return Optional.ofNullable(clazz.cast(domainEndpointOptions())); case "AdvancedSecurityOptions": return Optional.ofNullable(clazz.cast(advancedSecurityOptions())); default: return Optional.empty(); } } @Override public List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((ElasticsearchDomainConfig) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* String of format X.Y to specify version for the Elasticsearch domain. *

* * @param elasticsearchVersion * String of format X.Y to specify version for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder elasticsearchVersion(ElasticsearchVersionStatus elasticsearchVersion); /** *

* String of format X.Y to specify version for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link ElasticsearchVersionStatus.Builder} avoiding the * need to create one manually via {@link ElasticsearchVersionStatus#builder()}. * * When the {@link Consumer} completes, {@link ElasticsearchVersionStatus.Builder#build()} is called immediately * and its result is passed to {@link #elasticsearchVersion(ElasticsearchVersionStatus)}. * * @param elasticsearchVersion * a consumer that will call methods on {@link ElasticsearchVersionStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #elasticsearchVersion(ElasticsearchVersionStatus) */ default Builder elasticsearchVersion(Consumer elasticsearchVersion) { return elasticsearchVersion(ElasticsearchVersionStatus.builder().applyMutation(elasticsearchVersion).build()); } /** *

* Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. *

* * @param elasticsearchClusterConfig * Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder elasticsearchClusterConfig(ElasticsearchClusterConfigStatus elasticsearchClusterConfig); /** *

* Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link ElasticsearchClusterConfigStatus.Builder} * avoiding the need to create one manually via {@link ElasticsearchClusterConfigStatus#builder()}. * * When the {@link Consumer} completes, {@link ElasticsearchClusterConfigStatus.Builder#build()} is called * immediately and its result is passed to {@link #elasticsearchClusterConfig(ElasticsearchClusterConfigStatus)} * . * * @param elasticsearchClusterConfig * a consumer that will call methods on {@link ElasticsearchClusterConfigStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #elasticsearchClusterConfig(ElasticsearchClusterConfigStatus) */ default Builder elasticsearchClusterConfig(Consumer elasticsearchClusterConfig) { return elasticsearchClusterConfig(ElasticsearchClusterConfigStatus.builder() .applyMutation(elasticsearchClusterConfig).build()); } /** *

* Specifies the EBSOptions for the Elasticsearch domain. *

* * @param ebsOptions * Specifies the EBSOptions for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder ebsOptions(EBSOptionsStatus ebsOptions); /** *

* Specifies the EBSOptions for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link EBSOptionsStatus.Builder} avoiding the need to * create one manually via {@link EBSOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link EBSOptionsStatus.Builder#build()} is called immediately and its * result is passed to {@link #ebsOptions(EBSOptionsStatus)}. * * @param ebsOptions * a consumer that will call methods on {@link EBSOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #ebsOptions(EBSOptionsStatus) */ default Builder ebsOptions(Consumer ebsOptions) { return ebsOptions(EBSOptionsStatus.builder().applyMutation(ebsOptions).build()); } /** *

* IAM access policy as a JSON-formatted string. *

* * @param accessPolicies * IAM access policy as a JSON-formatted string. * @return Returns a reference to this object so that method calls can be chained together. */ Builder accessPolicies(AccessPoliciesStatus accessPolicies); /** *

* IAM access policy as a JSON-formatted string. *

* This is a convenience that creates an instance of the {@link AccessPoliciesStatus.Builder} avoiding the need * to create one manually via {@link AccessPoliciesStatus#builder()}. * * When the {@link Consumer} completes, {@link AccessPoliciesStatus.Builder#build()} is called immediately and * its result is passed to {@link #accessPolicies(AccessPoliciesStatus)}. * * @param accessPolicies * a consumer that will call methods on {@link AccessPoliciesStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #accessPolicies(AccessPoliciesStatus) */ default Builder accessPolicies(Consumer accessPolicies) { return accessPolicies(AccessPoliciesStatus.builder().applyMutation(accessPolicies).build()); } /** *

* Specifies the SnapshotOptions for the Elasticsearch domain. *

* * @param snapshotOptions * Specifies the SnapshotOptions for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder snapshotOptions(SnapshotOptionsStatus snapshotOptions); /** *

* Specifies the SnapshotOptions for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link SnapshotOptionsStatus.Builder} avoiding the need * to create one manually via {@link SnapshotOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link SnapshotOptionsStatus.Builder#build()} is called immediately and * its result is passed to {@link #snapshotOptions(SnapshotOptionsStatus)}. * * @param snapshotOptions * a consumer that will call methods on {@link SnapshotOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #snapshotOptions(SnapshotOptionsStatus) */ default Builder snapshotOptions(Consumer snapshotOptions) { return snapshotOptions(SnapshotOptionsStatus.builder().applyMutation(snapshotOptions).build()); } /** *

* The VPCOptions for the specified domain. For more information, see VPC * Endpoints for Amazon Elasticsearch Service Domains. *

* * @param vpcOptions * The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcOptions(VPCDerivedInfoStatus vpcOptions); /** *

* The VPCOptions for the specified domain. For more information, see VPC * Endpoints for Amazon Elasticsearch Service Domains. *

* This is a convenience that creates an instance of the {@link VPCDerivedInfoStatus.Builder} avoiding the need * to create one manually via {@link VPCDerivedInfoStatus#builder()}. * * When the {@link Consumer} completes, {@link VPCDerivedInfoStatus.Builder#build()} is called immediately and * its result is passed to {@link #vpcOptions(VPCDerivedInfoStatus)}. * * @param vpcOptions * a consumer that will call methods on {@link VPCDerivedInfoStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #vpcOptions(VPCDerivedInfoStatus) */ default Builder vpcOptions(Consumer vpcOptions) { return vpcOptions(VPCDerivedInfoStatus.builder().applyMutation(vpcOptions).build()); } /** *

* The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. *

* * @param cognitoOptions * The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. * @return Returns a reference to this object so that method calls can be chained together. */ Builder cognitoOptions(CognitoOptionsStatus cognitoOptions); /** *

* The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana. *

* This is a convenience that creates an instance of the {@link CognitoOptionsStatus.Builder} avoiding the need * to create one manually via {@link CognitoOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link CognitoOptionsStatus.Builder#build()} is called immediately and * its result is passed to {@link #cognitoOptions(CognitoOptionsStatus)}. * * @param cognitoOptions * a consumer that will call methods on {@link CognitoOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #cognitoOptions(CognitoOptionsStatus) */ default Builder cognitoOptions(Consumer cognitoOptions) { return cognitoOptions(CognitoOptionsStatus.builder().applyMutation(cognitoOptions).build()); } /** *

* Specifies the EncryptionAtRestOptions for the Elasticsearch domain. *

* * @param encryptionAtRestOptions * Specifies the EncryptionAtRestOptions for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder encryptionAtRestOptions(EncryptionAtRestOptionsStatus encryptionAtRestOptions); /** *

* Specifies the EncryptionAtRestOptions for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link EncryptionAtRestOptionsStatus.Builder} avoiding * the need to create one manually via {@link EncryptionAtRestOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link EncryptionAtRestOptionsStatus.Builder#build()} is called * immediately and its result is passed to {@link #encryptionAtRestOptions(EncryptionAtRestOptionsStatus)}. * * @param encryptionAtRestOptions * a consumer that will call methods on {@link EncryptionAtRestOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #encryptionAtRestOptions(EncryptionAtRestOptionsStatus) */ default Builder encryptionAtRestOptions(Consumer encryptionAtRestOptions) { return encryptionAtRestOptions(EncryptionAtRestOptionsStatus.builder().applyMutation(encryptionAtRestOptions).build()); } /** *

* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain. *

* * @param nodeToNodeEncryptionOptions * Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus nodeToNodeEncryptionOptions); /** *

* Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link NodeToNodeEncryptionOptionsStatus.Builder} * avoiding the need to create one manually via {@link NodeToNodeEncryptionOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link NodeToNodeEncryptionOptionsStatus.Builder#build()} is called * immediately and its result is passed to * {@link #nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus)}. * * @param nodeToNodeEncryptionOptions * a consumer that will call methods on {@link NodeToNodeEncryptionOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus) */ default Builder nodeToNodeEncryptionOptions( Consumer nodeToNodeEncryptionOptions) { return nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus.builder() .applyMutation(nodeToNodeEncryptionOptions).build()); } /** *

* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. *

* * @param advancedOptions * Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. * @return Returns a reference to this object so that method calls can be chained together. */ Builder advancedOptions(AdvancedOptionsStatus advancedOptions); /** *

* Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information. *

* This is a convenience that creates an instance of the {@link AdvancedOptionsStatus.Builder} avoiding the need * to create one manually via {@link AdvancedOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link AdvancedOptionsStatus.Builder#build()} is called immediately and * its result is passed to {@link #advancedOptions(AdvancedOptionsStatus)}. * * @param advancedOptions * a consumer that will call methods on {@link AdvancedOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #advancedOptions(AdvancedOptionsStatus) */ default Builder advancedOptions(Consumer advancedOptions) { return advancedOptions(AdvancedOptionsStatus.builder().applyMutation(advancedOptions).build()); } /** *

* Log publishing options for the given domain. *

* * @param logPublishingOptions * Log publishing options for the given domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder logPublishingOptions(LogPublishingOptionsStatus logPublishingOptions); /** *

* Log publishing options for the given domain. *

* This is a convenience that creates an instance of the {@link LogPublishingOptionsStatus.Builder} avoiding the * need to create one manually via {@link LogPublishingOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link LogPublishingOptionsStatus.Builder#build()} is called immediately * and its result is passed to {@link #logPublishingOptions(LogPublishingOptionsStatus)}. * * @param logPublishingOptions * a consumer that will call methods on {@link LogPublishingOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #logPublishingOptions(LogPublishingOptionsStatus) */ default Builder logPublishingOptions(Consumer logPublishingOptions) { return logPublishingOptions(LogPublishingOptionsStatus.builder().applyMutation(logPublishingOptions).build()); } /** *

* Specifies the DomainEndpointOptions for the Elasticsearch domain. *

* * @param domainEndpointOptions * Specifies the DomainEndpointOptions for the Elasticsearch domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainEndpointOptions(DomainEndpointOptionsStatus domainEndpointOptions); /** *

* Specifies the DomainEndpointOptions for the Elasticsearch domain. *

* This is a convenience that creates an instance of the {@link DomainEndpointOptionsStatus.Builder} avoiding * the need to create one manually via {@link DomainEndpointOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link DomainEndpointOptionsStatus.Builder#build()} is called * immediately and its result is passed to {@link #domainEndpointOptions(DomainEndpointOptionsStatus)}. * * @param domainEndpointOptions * a consumer that will call methods on {@link DomainEndpointOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #domainEndpointOptions(DomainEndpointOptionsStatus) */ default Builder domainEndpointOptions(Consumer domainEndpointOptions) { return domainEndpointOptions(DomainEndpointOptionsStatus.builder().applyMutation(domainEndpointOptions).build()); } /** *

* Specifies AdvancedSecurityOptions for the domain. *

* * @param advancedSecurityOptions * Specifies AdvancedSecurityOptions for the domain. * @return Returns a reference to this object so that method calls can be chained together. */ Builder advancedSecurityOptions(AdvancedSecurityOptionsStatus advancedSecurityOptions); /** *

* Specifies AdvancedSecurityOptions for the domain. *

* This is a convenience that creates an instance of the {@link AdvancedSecurityOptionsStatus.Builder} avoiding * the need to create one manually via {@link AdvancedSecurityOptionsStatus#builder()}. * * When the {@link Consumer} completes, {@link AdvancedSecurityOptionsStatus.Builder#build()} is called * immediately and its result is passed to {@link #advancedSecurityOptions(AdvancedSecurityOptionsStatus)}. * * @param advancedSecurityOptions * a consumer that will call methods on {@link AdvancedSecurityOptionsStatus.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #advancedSecurityOptions(AdvancedSecurityOptionsStatus) */ default Builder advancedSecurityOptions(Consumer advancedSecurityOptions) { return advancedSecurityOptions(AdvancedSecurityOptionsStatus.builder().applyMutation(advancedSecurityOptions).build()); } } static final class BuilderImpl implements Builder { private ElasticsearchVersionStatus elasticsearchVersion; private ElasticsearchClusterConfigStatus elasticsearchClusterConfig; private EBSOptionsStatus ebsOptions; private AccessPoliciesStatus accessPolicies; private SnapshotOptionsStatus snapshotOptions; private VPCDerivedInfoStatus vpcOptions; private CognitoOptionsStatus cognitoOptions; private EncryptionAtRestOptionsStatus encryptionAtRestOptions; private NodeToNodeEncryptionOptionsStatus nodeToNodeEncryptionOptions; private AdvancedOptionsStatus advancedOptions; private LogPublishingOptionsStatus logPublishingOptions; private DomainEndpointOptionsStatus domainEndpointOptions; private AdvancedSecurityOptionsStatus advancedSecurityOptions; private BuilderImpl() { } private BuilderImpl(ElasticsearchDomainConfig model) { elasticsearchVersion(model.elasticsearchVersion); elasticsearchClusterConfig(model.elasticsearchClusterConfig); ebsOptions(model.ebsOptions); accessPolicies(model.accessPolicies); snapshotOptions(model.snapshotOptions); vpcOptions(model.vpcOptions); cognitoOptions(model.cognitoOptions); encryptionAtRestOptions(model.encryptionAtRestOptions); nodeToNodeEncryptionOptions(model.nodeToNodeEncryptionOptions); advancedOptions(model.advancedOptions); logPublishingOptions(model.logPublishingOptions); domainEndpointOptions(model.domainEndpointOptions); advancedSecurityOptions(model.advancedSecurityOptions); } public final ElasticsearchVersionStatus.Builder getElasticsearchVersion() { return elasticsearchVersion != null ? elasticsearchVersion.toBuilder() : null; } @Override public final Builder elasticsearchVersion(ElasticsearchVersionStatus elasticsearchVersion) { this.elasticsearchVersion = elasticsearchVersion; return this; } public final void setElasticsearchVersion(ElasticsearchVersionStatus.BuilderImpl elasticsearchVersion) { this.elasticsearchVersion = elasticsearchVersion != null ? elasticsearchVersion.build() : null; } public final ElasticsearchClusterConfigStatus.Builder getElasticsearchClusterConfig() { return elasticsearchClusterConfig != null ? elasticsearchClusterConfig.toBuilder() : null; } @Override public final Builder elasticsearchClusterConfig(ElasticsearchClusterConfigStatus elasticsearchClusterConfig) { this.elasticsearchClusterConfig = elasticsearchClusterConfig; return this; } public final void setElasticsearchClusterConfig(ElasticsearchClusterConfigStatus.BuilderImpl elasticsearchClusterConfig) { this.elasticsearchClusterConfig = elasticsearchClusterConfig != null ? elasticsearchClusterConfig.build() : null; } public final EBSOptionsStatus.Builder getEbsOptions() { return ebsOptions != null ? ebsOptions.toBuilder() : null; } @Override public final Builder ebsOptions(EBSOptionsStatus ebsOptions) { this.ebsOptions = ebsOptions; return this; } public final void setEbsOptions(EBSOptionsStatus.BuilderImpl ebsOptions) { this.ebsOptions = ebsOptions != null ? ebsOptions.build() : null; } public final AccessPoliciesStatus.Builder getAccessPolicies() { return accessPolicies != null ? accessPolicies.toBuilder() : null; } @Override public final Builder accessPolicies(AccessPoliciesStatus accessPolicies) { this.accessPolicies = accessPolicies; return this; } public final void setAccessPolicies(AccessPoliciesStatus.BuilderImpl accessPolicies) { this.accessPolicies = accessPolicies != null ? accessPolicies.build() : null; } public final SnapshotOptionsStatus.Builder getSnapshotOptions() { return snapshotOptions != null ? snapshotOptions.toBuilder() : null; } @Override public final Builder snapshotOptions(SnapshotOptionsStatus snapshotOptions) { this.snapshotOptions = snapshotOptions; return this; } public final void setSnapshotOptions(SnapshotOptionsStatus.BuilderImpl snapshotOptions) { this.snapshotOptions = snapshotOptions != null ? snapshotOptions.build() : null; } public final VPCDerivedInfoStatus.Builder getVpcOptions() { return vpcOptions != null ? vpcOptions.toBuilder() : null; } @Override public final Builder vpcOptions(VPCDerivedInfoStatus vpcOptions) { this.vpcOptions = vpcOptions; return this; } public final void setVpcOptions(VPCDerivedInfoStatus.BuilderImpl vpcOptions) { this.vpcOptions = vpcOptions != null ? vpcOptions.build() : null; } public final CognitoOptionsStatus.Builder getCognitoOptions() { return cognitoOptions != null ? cognitoOptions.toBuilder() : null; } @Override public final Builder cognitoOptions(CognitoOptionsStatus cognitoOptions) { this.cognitoOptions = cognitoOptions; return this; } public final void setCognitoOptions(CognitoOptionsStatus.BuilderImpl cognitoOptions) { this.cognitoOptions = cognitoOptions != null ? cognitoOptions.build() : null; } public final EncryptionAtRestOptionsStatus.Builder getEncryptionAtRestOptions() { return encryptionAtRestOptions != null ? encryptionAtRestOptions.toBuilder() : null; } @Override public final Builder encryptionAtRestOptions(EncryptionAtRestOptionsStatus encryptionAtRestOptions) { this.encryptionAtRestOptions = encryptionAtRestOptions; return this; } public final void setEncryptionAtRestOptions(EncryptionAtRestOptionsStatus.BuilderImpl encryptionAtRestOptions) { this.encryptionAtRestOptions = encryptionAtRestOptions != null ? encryptionAtRestOptions.build() : null; } public final NodeToNodeEncryptionOptionsStatus.Builder getNodeToNodeEncryptionOptions() { return nodeToNodeEncryptionOptions != null ? nodeToNodeEncryptionOptions.toBuilder() : null; } @Override public final Builder nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus nodeToNodeEncryptionOptions) { this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions; return this; } public final void setNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsStatus.BuilderImpl nodeToNodeEncryptionOptions) { this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions != null ? nodeToNodeEncryptionOptions.build() : null; } public final AdvancedOptionsStatus.Builder getAdvancedOptions() { return advancedOptions != null ? advancedOptions.toBuilder() : null; } @Override public final Builder advancedOptions(AdvancedOptionsStatus advancedOptions) { this.advancedOptions = advancedOptions; return this; } public final void setAdvancedOptions(AdvancedOptionsStatus.BuilderImpl advancedOptions) { this.advancedOptions = advancedOptions != null ? advancedOptions.build() : null; } public final LogPublishingOptionsStatus.Builder getLogPublishingOptions() { return logPublishingOptions != null ? logPublishingOptions.toBuilder() : null; } @Override public final Builder logPublishingOptions(LogPublishingOptionsStatus logPublishingOptions) { this.logPublishingOptions = logPublishingOptions; return this; } public final void setLogPublishingOptions(LogPublishingOptionsStatus.BuilderImpl logPublishingOptions) { this.logPublishingOptions = logPublishingOptions != null ? logPublishingOptions.build() : null; } public final DomainEndpointOptionsStatus.Builder getDomainEndpointOptions() { return domainEndpointOptions != null ? domainEndpointOptions.toBuilder() : null; } @Override public final Builder domainEndpointOptions(DomainEndpointOptionsStatus domainEndpointOptions) { this.domainEndpointOptions = domainEndpointOptions; return this; } public final void setDomainEndpointOptions(DomainEndpointOptionsStatus.BuilderImpl domainEndpointOptions) { this.domainEndpointOptions = domainEndpointOptions != null ? domainEndpointOptions.build() : null; } public final AdvancedSecurityOptionsStatus.Builder getAdvancedSecurityOptions() { return advancedSecurityOptions != null ? advancedSecurityOptions.toBuilder() : null; } @Override public final Builder advancedSecurityOptions(AdvancedSecurityOptionsStatus advancedSecurityOptions) { this.advancedSecurityOptions = advancedSecurityOptions; return this; } public final void setAdvancedSecurityOptions(AdvancedSecurityOptionsStatus.BuilderImpl advancedSecurityOptions) { this.advancedSecurityOptions = advancedSecurityOptions != null ? advancedSecurityOptions.build() : null; } @Override public ElasticsearchDomainConfig build() { return new ElasticsearchDomainConfig(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy