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

software.amazon.awssdk.services.elasticsearch.model.UpdateElasticsearchDomainConfigRequest 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.29.39
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.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
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.awscore.AwsRequestOverrideConfiguration;
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.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Container for the parameters to the UpdateElasticsearchDomain operation. Specifies the type and * number of instances in the domain cluster. *

*/ @Generated("software.amazon.awssdk:codegen") public final class UpdateElasticsearchDomainConfigRequest extends ElasticsearchRequest implements ToCopyableBuilder { private static final SdkField DOMAIN_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DomainName").getter(getter(UpdateElasticsearchDomainConfigRequest::domainName)) .setter(setter(Builder::domainName)) .traits(LocationTrait.builder().location(MarshallLocation.PATH).locationName("DomainName").build()).build(); private static final SdkField ELASTICSEARCH_CLUSTER_CONFIG_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("ElasticsearchClusterConfig") .getter(getter(UpdateElasticsearchDomainConfigRequest::elasticsearchClusterConfig)) .setter(setter(Builder::elasticsearchClusterConfig)) .constructor(ElasticsearchClusterConfig::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ElasticsearchClusterConfig").build()) .build(); private static final SdkField EBS_OPTIONS_FIELD = SdkField. builder(MarshallingType.SDK_POJO) .memberName("EBSOptions").getter(getter(UpdateElasticsearchDomainConfigRequest::ebsOptions)) .setter(setter(Builder::ebsOptions)).constructor(EBSOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EBSOptions").build()).build(); private static final SdkField SNAPSHOT_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("SnapshotOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::snapshotOptions)).setter(setter(Builder::snapshotOptions)) .constructor(SnapshotOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SnapshotOptions").build()).build(); private static final SdkField VPC_OPTIONS_FIELD = SdkField. builder(MarshallingType.SDK_POJO) .memberName("VPCOptions").getter(getter(UpdateElasticsearchDomainConfigRequest::vpcOptions)) .setter(setter(Builder::vpcOptions)).constructor(VPCOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VPCOptions").build()).build(); private static final SdkField COGNITO_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("CognitoOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::cognitoOptions)).setter(setter(Builder::cognitoOptions)) .constructor(CognitoOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CognitoOptions").build()).build(); private static final SdkField> ADVANCED_OPTIONS_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("AdvancedOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::advancedOptions)) .setter(setter(Builder::advancedOptions)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedOptions").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField ACCESS_POLICIES_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AccessPolicies").getter(getter(UpdateElasticsearchDomainConfigRequest::accessPolicies)) .setter(setter(Builder::accessPolicies)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AccessPolicies").build()).build(); private static final SdkField> LOG_PUBLISHING_OPTIONS_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("LogPublishingOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::logPublishingOptionsAsStrings)) .setter(setter(Builder::logPublishingOptionsWithStrings)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LogPublishingOptions").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(LogPublishingOption::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField DOMAIN_ENDPOINT_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("DomainEndpointOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::domainEndpointOptions)) .setter(setter(Builder::domainEndpointOptions)).constructor(DomainEndpointOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainEndpointOptions").build()) .build(); private static final SdkField ADVANCED_SECURITY_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("AdvancedSecurityOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::advancedSecurityOptions)) .setter(setter(Builder::advancedSecurityOptions)).constructor(AdvancedSecurityOptionsInput::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedSecurityOptions").build()) .build(); private static final SdkField NODE_TO_NODE_ENCRYPTION_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("NodeToNodeEncryptionOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::nodeToNodeEncryptionOptions)) .setter(setter(Builder::nodeToNodeEncryptionOptions)) .constructor(NodeToNodeEncryptionOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NodeToNodeEncryptionOptions") .build()).build(); private static final SdkField ENCRYPTION_AT_REST_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("EncryptionAtRestOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::encryptionAtRestOptions)) .setter(setter(Builder::encryptionAtRestOptions)).constructor(EncryptionAtRestOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EncryptionAtRestOptions").build()) .build(); private static final SdkField AUTO_TUNE_OPTIONS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("AutoTuneOptions") .getter(getter(UpdateElasticsearchDomainConfigRequest::autoTuneOptions)).setter(setter(Builder::autoTuneOptions)) .constructor(AutoTuneOptions::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoTuneOptions").build()).build(); private static final SdkField DRY_RUN_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("DryRun").getter(getter(UpdateElasticsearchDomainConfigRequest::dryRun)).setter(setter(Builder::dryRun)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DryRun").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(DOMAIN_NAME_FIELD, ELASTICSEARCH_CLUSTER_CONFIG_FIELD, EBS_OPTIONS_FIELD, SNAPSHOT_OPTIONS_FIELD, VPC_OPTIONS_FIELD, COGNITO_OPTIONS_FIELD, ADVANCED_OPTIONS_FIELD, ACCESS_POLICIES_FIELD, LOG_PUBLISHING_OPTIONS_FIELD, DOMAIN_ENDPOINT_OPTIONS_FIELD, ADVANCED_SECURITY_OPTIONS_FIELD, NODE_TO_NODE_ENCRYPTION_OPTIONS_FIELD, ENCRYPTION_AT_REST_OPTIONS_FIELD, AUTO_TUNE_OPTIONS_FIELD, DRY_RUN_FIELD)); private final String domainName; private final ElasticsearchClusterConfig elasticsearchClusterConfig; private final EBSOptions ebsOptions; private final SnapshotOptions snapshotOptions; private final VPCOptions vpcOptions; private final CognitoOptions cognitoOptions; private final Map advancedOptions; private final String accessPolicies; private final Map logPublishingOptions; private final DomainEndpointOptions domainEndpointOptions; private final AdvancedSecurityOptionsInput advancedSecurityOptions; private final NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions; private final EncryptionAtRestOptions encryptionAtRestOptions; private final AutoTuneOptions autoTuneOptions; private final Boolean dryRun; private UpdateElasticsearchDomainConfigRequest(BuilderImpl builder) { super(builder); this.domainName = builder.domainName; this.elasticsearchClusterConfig = builder.elasticsearchClusterConfig; this.ebsOptions = builder.ebsOptions; this.snapshotOptions = builder.snapshotOptions; this.vpcOptions = builder.vpcOptions; this.cognitoOptions = builder.cognitoOptions; this.advancedOptions = builder.advancedOptions; this.accessPolicies = builder.accessPolicies; this.logPublishingOptions = builder.logPublishingOptions; this.domainEndpointOptions = builder.domainEndpointOptions; this.advancedSecurityOptions = builder.advancedSecurityOptions; this.nodeToNodeEncryptionOptions = builder.nodeToNodeEncryptionOptions; this.encryptionAtRestOptions = builder.encryptionAtRestOptions; this.autoTuneOptions = builder.autoTuneOptions; this.dryRun = builder.dryRun; } /** *

* The name of the Elasticsearch domain that you are updating. *

* * @return The name of the Elasticsearch domain that you are updating. */ public final String domainName() { return domainName; } /** *

* The type and number of instances to instantiate for the domain cluster. *

* * @return The type and number of instances to instantiate for the domain cluster. */ public final ElasticsearchClusterConfig elasticsearchClusterConfig() { return elasticsearchClusterConfig; } /** *

* Specify the type and size of the EBS volume that you want to use. *

* * @return Specify the type and size of the EBS volume that you want to use. */ public final EBSOptions ebsOptions() { return ebsOptions; } /** *

* Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours. *

* * @return Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 * hours. */ public final SnapshotOptions snapshotOptions() { return snapshotOptions; } /** *

* Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains *

* * @return Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains */ public final VPCOptions vpcOptions() { return vpcOptions; } /** *

* Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana. *

* * @return Options to specify the Cognito user and identity pools for Kibana authentication. For more information, * see Amazon Cognito Authentication for Kibana. */ public final CognitoOptions cognitoOptions() { return cognitoOptions; } /** * For responses, this returns true if the service returned a value for the AdvancedOptions property. This DOES NOT * check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasAdvancedOptions() { return advancedOptions != null && !(advancedOptions instanceof SdkAutoConstructMap); } /** *

* Modifies the advanced option to allow references to indices in an HTTP request body. Must be false * when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasAdvancedOptions} method. *

* * @return Modifies the advanced option to allow references to indices in an HTTP request body. Must be * false when configuring access to individual sub-resources. By default, the value is * true. See Configuration Advanced Options for more information. */ public final Map advancedOptions() { return advancedOptions; } /** *

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

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

* Map of LogType and LogPublishingOption, each containing options to publish a given type * of Elasticsearch log. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasLogPublishingOptions} method. *

* * @return Map of LogType and LogPublishingOption, each containing options to publish a * given type of Elasticsearch log. */ public final Map logPublishingOptions() { return LogPublishingOptionsCopier.copyStringToEnum(logPublishingOptions); } /** * For responses, this returns true if the service returned a value for the LogPublishingOptions property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasLogPublishingOptions() { return logPublishingOptions != null && !(logPublishingOptions instanceof SdkAutoConstructMap); } /** *

* Map of LogType and LogPublishingOption, each containing options to publish a given type * of Elasticsearch log. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasLogPublishingOptions} method. *

* * @return Map of LogType and LogPublishingOption, each containing options to publish a * given type of Elasticsearch log. */ public final Map logPublishingOptionsAsStrings() { return logPublishingOptions; } /** *

* Options to specify configuration that will be applied to the domain endpoint. *

* * @return Options to specify configuration that will be applied to the domain endpoint. */ public final DomainEndpointOptions domainEndpointOptions() { return domainEndpointOptions; } /** *

* Specifies advanced security options. *

* * @return Specifies advanced security options. */ public final AdvancedSecurityOptionsInput advancedSecurityOptions() { return advancedSecurityOptions; } /** *

* Specifies the NodeToNodeEncryptionOptions. *

* * @return Specifies the NodeToNodeEncryptionOptions. */ public final NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions() { return nodeToNodeEncryptionOptions; } /** *

* Specifies the Encryption At Rest Options. *

* * @return Specifies the Encryption At Rest Options. */ public final EncryptionAtRestOptions encryptionAtRestOptions() { return encryptionAtRestOptions; } /** *

* Specifies Auto-Tune options. *

* * @return Specifies Auto-Tune options. */ public final AutoTuneOptions autoTuneOptions() { return autoTuneOptions; } /** *

* This flag, when set to True, specifies whether the UpdateElasticsearchDomain request should return * the results of validation checks without actually applying the change. This flag, when set to True, specifies the * deployment mechanism through which the update shall be applied on the domain. This will not actually perform the * Update. *

* * @return This flag, when set to True, specifies whether the UpdateElasticsearchDomain request should * return the results of validation checks without actually applying the change. This flag, when set to * True, specifies the deployment mechanism through which the update shall be applied on the domain. This * will not actually perform the Update. */ public final Boolean dryRun() { return dryRun; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(domainName()); hashCode = 31 * hashCode + Objects.hashCode(elasticsearchClusterConfig()); hashCode = 31 * hashCode + Objects.hashCode(ebsOptions()); hashCode = 31 * hashCode + Objects.hashCode(snapshotOptions()); hashCode = 31 * hashCode + Objects.hashCode(vpcOptions()); hashCode = 31 * hashCode + Objects.hashCode(cognitoOptions()); hashCode = 31 * hashCode + Objects.hashCode(hasAdvancedOptions() ? advancedOptions() : null); hashCode = 31 * hashCode + Objects.hashCode(accessPolicies()); hashCode = 31 * hashCode + Objects.hashCode(hasLogPublishingOptions() ? logPublishingOptionsAsStrings() : null); hashCode = 31 * hashCode + Objects.hashCode(domainEndpointOptions()); hashCode = 31 * hashCode + Objects.hashCode(advancedSecurityOptions()); hashCode = 31 * hashCode + Objects.hashCode(nodeToNodeEncryptionOptions()); hashCode = 31 * hashCode + Objects.hashCode(encryptionAtRestOptions()); hashCode = 31 * hashCode + Objects.hashCode(autoTuneOptions()); hashCode = 31 * hashCode + Objects.hashCode(dryRun()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof UpdateElasticsearchDomainConfigRequest)) { return false; } UpdateElasticsearchDomainConfigRequest other = (UpdateElasticsearchDomainConfigRequest) obj; return Objects.equals(domainName(), other.domainName()) && Objects.equals(elasticsearchClusterConfig(), other.elasticsearchClusterConfig()) && Objects.equals(ebsOptions(), other.ebsOptions()) && Objects.equals(snapshotOptions(), other.snapshotOptions()) && Objects.equals(vpcOptions(), other.vpcOptions()) && Objects.equals(cognitoOptions(), other.cognitoOptions()) && hasAdvancedOptions() == other.hasAdvancedOptions() && Objects.equals(advancedOptions(), other.advancedOptions()) && Objects.equals(accessPolicies(), other.accessPolicies()) && hasLogPublishingOptions() == other.hasLogPublishingOptions() && Objects.equals(logPublishingOptionsAsStrings(), other.logPublishingOptionsAsStrings()) && Objects.equals(domainEndpointOptions(), other.domainEndpointOptions()) && Objects.equals(advancedSecurityOptions(), other.advancedSecurityOptions()) && Objects.equals(nodeToNodeEncryptionOptions(), other.nodeToNodeEncryptionOptions()) && Objects.equals(encryptionAtRestOptions(), other.encryptionAtRestOptions()) && Objects.equals(autoTuneOptions(), other.autoTuneOptions()) && Objects.equals(dryRun(), other.dryRun()); } /** * 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 final String toString() { return ToString.builder("UpdateElasticsearchDomainConfigRequest").add("DomainName", domainName()) .add("ElasticsearchClusterConfig", elasticsearchClusterConfig()).add("EBSOptions", ebsOptions()) .add("SnapshotOptions", snapshotOptions()).add("VPCOptions", vpcOptions()) .add("CognitoOptions", cognitoOptions()).add("AdvancedOptions", hasAdvancedOptions() ? advancedOptions() : null) .add("AccessPolicies", accessPolicies()) .add("LogPublishingOptions", hasLogPublishingOptions() ? logPublishingOptionsAsStrings() : null) .add("DomainEndpointOptions", domainEndpointOptions()).add("AdvancedSecurityOptions", advancedSecurityOptions()) .add("NodeToNodeEncryptionOptions", nodeToNodeEncryptionOptions()) .add("EncryptionAtRestOptions", encryptionAtRestOptions()).add("AutoTuneOptions", autoTuneOptions()) .add("DryRun", dryRun()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "DomainName": return Optional.ofNullable(clazz.cast(domainName())); case "ElasticsearchClusterConfig": return Optional.ofNullable(clazz.cast(elasticsearchClusterConfig())); case "EBSOptions": return Optional.ofNullable(clazz.cast(ebsOptions())); 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 "AdvancedOptions": return Optional.ofNullable(clazz.cast(advancedOptions())); case "AccessPolicies": return Optional.ofNullable(clazz.cast(accessPolicies())); case "LogPublishingOptions": return Optional.ofNullable(clazz.cast(logPublishingOptionsAsStrings())); case "DomainEndpointOptions": return Optional.ofNullable(clazz.cast(domainEndpointOptions())); case "AdvancedSecurityOptions": return Optional.ofNullable(clazz.cast(advancedSecurityOptions())); case "NodeToNodeEncryptionOptions": return Optional.ofNullable(clazz.cast(nodeToNodeEncryptionOptions())); case "EncryptionAtRestOptions": return Optional.ofNullable(clazz.cast(encryptionAtRestOptions())); case "AutoTuneOptions": return Optional.ofNullable(clazz.cast(autoTuneOptions())); case "DryRun": return Optional.ofNullable(clazz.cast(dryRun())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((UpdateElasticsearchDomainConfigRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ElasticsearchRequest.Builder, SdkPojo, CopyableBuilder { /** *

* The name of the Elasticsearch domain that you are updating. *

* * @param domainName * The name of the Elasticsearch domain that you are updating. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainName(String domainName); /** *

* The type and number of instances to instantiate for the domain cluster. *

* * @param elasticsearchClusterConfig * The type and number of instances to instantiate for the domain cluster. * @return Returns a reference to this object so that method calls can be chained together. */ Builder elasticsearchClusterConfig(ElasticsearchClusterConfig elasticsearchClusterConfig); /** *

* The type and number of instances to instantiate for the domain cluster. *

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

* Specify the type and size of the EBS volume that you want to use. *

* * @param ebsOptions * Specify the type and size of the EBS volume that you want to use. * @return Returns a reference to this object so that method calls can be chained together. */ Builder ebsOptions(EBSOptions ebsOptions); /** *

* Specify the type and size of the EBS volume that you want to use. *

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

* Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 * hours. *

* * @param snapshotOptions * Option to set the time, in UTC format, for the daily automated snapshot. Default value is * 0 hours. * @return Returns a reference to this object so that method calls can be chained together. */ Builder snapshotOptions(SnapshotOptions snapshotOptions); /** *

* Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 * hours. *

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

* Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains *

* * @param vpcOptions * Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcOptions(VPCOptions vpcOptions); /** *

* Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains *

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

* Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see * Amazon Cognito Authentication for Kibana. *

* * @param cognitoOptions * Options to specify the Cognito user and identity pools for Kibana authentication. 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(CognitoOptions cognitoOptions); /** *

* Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see * Amazon Cognito Authentication for Kibana. *

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

* Modifies the advanced option to allow references to indices in an HTTP request body. Must be * false when configuring access to individual sub-resources. By default, the value is * true. See Configuration Advanced Options for more information. *

* * @param advancedOptions * Modifies the advanced option to allow references to indices in an HTTP request body. Must be * false when configuring access to individual sub-resources. By default, the value is * true. See Configuration Advanced Options for more information. * @return Returns a reference to this object so that method calls can be chained together. */ Builder advancedOptions(Map advancedOptions); /** *

* 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(String accessPolicies); /** *

* Map of LogType and LogPublishingOption, each containing options to publish a given * type of Elasticsearch log. *

* * @param logPublishingOptions * Map of LogType and LogPublishingOption, each containing options to publish a * given type of Elasticsearch log. * @return Returns a reference to this object so that method calls can be chained together. */ Builder logPublishingOptionsWithStrings(Map logPublishingOptions); /** *

* Map of LogType and LogPublishingOption, each containing options to publish a given * type of Elasticsearch log. *

* * @param logPublishingOptions * Map of LogType and LogPublishingOption, each containing options to publish a * given type of Elasticsearch log. * @return Returns a reference to this object so that method calls can be chained together. */ Builder logPublishingOptions(Map logPublishingOptions); /** *

* Options to specify configuration that will be applied to the domain endpoint. *

* * @param domainEndpointOptions * Options to specify configuration that will be applied to the domain endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainEndpointOptions(DomainEndpointOptions domainEndpointOptions); /** *

* Options to specify configuration that will be applied to the domain endpoint. *

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

* Specifies advanced security options. *

* * @param advancedSecurityOptions * Specifies advanced security options. * @return Returns a reference to this object so that method calls can be chained together. */ Builder advancedSecurityOptions(AdvancedSecurityOptionsInput advancedSecurityOptions); /** *

* Specifies advanced security options. *

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

* Specifies the NodeToNodeEncryptionOptions. *

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

* Specifies the NodeToNodeEncryptionOptions. *

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

* Specifies the Encryption At Rest Options. *

* * @param encryptionAtRestOptions * Specifies the Encryption At Rest Options. * @return Returns a reference to this object so that method calls can be chained together. */ Builder encryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions); /** *

* Specifies the Encryption At Rest Options. *

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

* Specifies Auto-Tune options. *

* * @param autoTuneOptions * Specifies Auto-Tune options. * @return Returns a reference to this object so that method calls can be chained together. */ Builder autoTuneOptions(AutoTuneOptions autoTuneOptions); /** *

* Specifies Auto-Tune options. *

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

* This flag, when set to True, specifies whether the UpdateElasticsearchDomain request should * return the results of validation checks without actually applying the change. This flag, when set to True, * specifies the deployment mechanism through which the update shall be applied on the domain. This will not * actually perform the Update. *

* * @param dryRun * This flag, when set to True, specifies whether the UpdateElasticsearchDomain request * should return the results of validation checks without actually applying the change. This flag, when * set to True, specifies the deployment mechanism through which the update shall be applied on the * domain. This will not actually perform the Update. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dryRun(Boolean dryRun); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends ElasticsearchRequest.BuilderImpl implements Builder { private String domainName; private ElasticsearchClusterConfig elasticsearchClusterConfig; private EBSOptions ebsOptions; private SnapshotOptions snapshotOptions; private VPCOptions vpcOptions; private CognitoOptions cognitoOptions; private Map advancedOptions = DefaultSdkAutoConstructMap.getInstance(); private String accessPolicies; private Map logPublishingOptions = DefaultSdkAutoConstructMap.getInstance(); private DomainEndpointOptions domainEndpointOptions; private AdvancedSecurityOptionsInput advancedSecurityOptions; private NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions; private EncryptionAtRestOptions encryptionAtRestOptions; private AutoTuneOptions autoTuneOptions; private Boolean dryRun; private BuilderImpl() { } private BuilderImpl(UpdateElasticsearchDomainConfigRequest model) { super(model); domainName(model.domainName); elasticsearchClusterConfig(model.elasticsearchClusterConfig); ebsOptions(model.ebsOptions); snapshotOptions(model.snapshotOptions); vpcOptions(model.vpcOptions); cognitoOptions(model.cognitoOptions); advancedOptions(model.advancedOptions); accessPolicies(model.accessPolicies); logPublishingOptionsWithStrings(model.logPublishingOptions); domainEndpointOptions(model.domainEndpointOptions); advancedSecurityOptions(model.advancedSecurityOptions); nodeToNodeEncryptionOptions(model.nodeToNodeEncryptionOptions); encryptionAtRestOptions(model.encryptionAtRestOptions); autoTuneOptions(model.autoTuneOptions); dryRun(model.dryRun); } public final String getDomainName() { return domainName; } public final void setDomainName(String domainName) { this.domainName = domainName; } @Override public final Builder domainName(String domainName) { this.domainName = domainName; return this; } public final ElasticsearchClusterConfig.Builder getElasticsearchClusterConfig() { return elasticsearchClusterConfig != null ? elasticsearchClusterConfig.toBuilder() : null; } public final void setElasticsearchClusterConfig(ElasticsearchClusterConfig.BuilderImpl elasticsearchClusterConfig) { this.elasticsearchClusterConfig = elasticsearchClusterConfig != null ? elasticsearchClusterConfig.build() : null; } @Override public final Builder elasticsearchClusterConfig(ElasticsearchClusterConfig elasticsearchClusterConfig) { this.elasticsearchClusterConfig = elasticsearchClusterConfig; return this; } public final EBSOptions.Builder getEbsOptions() { return ebsOptions != null ? ebsOptions.toBuilder() : null; } public final void setEbsOptions(EBSOptions.BuilderImpl ebsOptions) { this.ebsOptions = ebsOptions != null ? ebsOptions.build() : null; } @Override public final Builder ebsOptions(EBSOptions ebsOptions) { this.ebsOptions = ebsOptions; return this; } public final SnapshotOptions.Builder getSnapshotOptions() { return snapshotOptions != null ? snapshotOptions.toBuilder() : null; } public final void setSnapshotOptions(SnapshotOptions.BuilderImpl snapshotOptions) { this.snapshotOptions = snapshotOptions != null ? snapshotOptions.build() : null; } @Override public final Builder snapshotOptions(SnapshotOptions snapshotOptions) { this.snapshotOptions = snapshotOptions; return this; } public final VPCOptions.Builder getVpcOptions() { return vpcOptions != null ? vpcOptions.toBuilder() : null; } public final void setVpcOptions(VPCOptions.BuilderImpl vpcOptions) { this.vpcOptions = vpcOptions != null ? vpcOptions.build() : null; } @Override public final Builder vpcOptions(VPCOptions vpcOptions) { this.vpcOptions = vpcOptions; return this; } public final CognitoOptions.Builder getCognitoOptions() { return cognitoOptions != null ? cognitoOptions.toBuilder() : null; } public final void setCognitoOptions(CognitoOptions.BuilderImpl cognitoOptions) { this.cognitoOptions = cognitoOptions != null ? cognitoOptions.build() : null; } @Override public final Builder cognitoOptions(CognitoOptions cognitoOptions) { this.cognitoOptions = cognitoOptions; return this; } public final Map getAdvancedOptions() { if (advancedOptions instanceof SdkAutoConstructMap) { return null; } return advancedOptions; } public final void setAdvancedOptions(Map advancedOptions) { this.advancedOptions = AdvancedOptionsCopier.copy(advancedOptions); } @Override public final Builder advancedOptions(Map advancedOptions) { this.advancedOptions = AdvancedOptionsCopier.copy(advancedOptions); return this; } public final String getAccessPolicies() { return accessPolicies; } public final void setAccessPolicies(String accessPolicies) { this.accessPolicies = accessPolicies; } @Override public final Builder accessPolicies(String accessPolicies) { this.accessPolicies = accessPolicies; return this; } public final Map getLogPublishingOptions() { Map result = LogPublishingOptionsCopier.copyToBuilder(this.logPublishingOptions); if (result instanceof SdkAutoConstructMap) { return null; } return result; } public final void setLogPublishingOptions(Map logPublishingOptions) { this.logPublishingOptions = LogPublishingOptionsCopier.copyFromBuilder(logPublishingOptions); } @Override public final Builder logPublishingOptionsWithStrings(Map logPublishingOptions) { this.logPublishingOptions = LogPublishingOptionsCopier.copy(logPublishingOptions); return this; } @Override public final Builder logPublishingOptions(Map logPublishingOptions) { this.logPublishingOptions = LogPublishingOptionsCopier.copyEnumToString(logPublishingOptions); return this; } public final DomainEndpointOptions.Builder getDomainEndpointOptions() { return domainEndpointOptions != null ? domainEndpointOptions.toBuilder() : null; } public final void setDomainEndpointOptions(DomainEndpointOptions.BuilderImpl domainEndpointOptions) { this.domainEndpointOptions = domainEndpointOptions != null ? domainEndpointOptions.build() : null; } @Override public final Builder domainEndpointOptions(DomainEndpointOptions domainEndpointOptions) { this.domainEndpointOptions = domainEndpointOptions; return this; } public final AdvancedSecurityOptionsInput.Builder getAdvancedSecurityOptions() { return advancedSecurityOptions != null ? advancedSecurityOptions.toBuilder() : null; } public final void setAdvancedSecurityOptions(AdvancedSecurityOptionsInput.BuilderImpl advancedSecurityOptions) { this.advancedSecurityOptions = advancedSecurityOptions != null ? advancedSecurityOptions.build() : null; } @Override public final Builder advancedSecurityOptions(AdvancedSecurityOptionsInput advancedSecurityOptions) { this.advancedSecurityOptions = advancedSecurityOptions; return this; } public final NodeToNodeEncryptionOptions.Builder getNodeToNodeEncryptionOptions() { return nodeToNodeEncryptionOptions != null ? nodeToNodeEncryptionOptions.toBuilder() : null; } public final void setNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions.BuilderImpl nodeToNodeEncryptionOptions) { this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions != null ? nodeToNodeEncryptionOptions.build() : null; } @Override public final Builder nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions) { this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions; return this; } public final EncryptionAtRestOptions.Builder getEncryptionAtRestOptions() { return encryptionAtRestOptions != null ? encryptionAtRestOptions.toBuilder() : null; } public final void setEncryptionAtRestOptions(EncryptionAtRestOptions.BuilderImpl encryptionAtRestOptions) { this.encryptionAtRestOptions = encryptionAtRestOptions != null ? encryptionAtRestOptions.build() : null; } @Override public final Builder encryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions) { this.encryptionAtRestOptions = encryptionAtRestOptions; return this; } public final AutoTuneOptions.Builder getAutoTuneOptions() { return autoTuneOptions != null ? autoTuneOptions.toBuilder() : null; } public final void setAutoTuneOptions(AutoTuneOptions.BuilderImpl autoTuneOptions) { this.autoTuneOptions = autoTuneOptions != null ? autoTuneOptions.build() : null; } @Override public final Builder autoTuneOptions(AutoTuneOptions autoTuneOptions) { this.autoTuneOptions = autoTuneOptions; return this; } public final Boolean getDryRun() { return dryRun; } public final void setDryRun(Boolean dryRun) { this.dryRun = dryRun; } @Override public final Builder dryRun(Boolean dryRun) { this.dryRun = dryRun; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public UpdateElasticsearchDomainConfigRequest build() { return new UpdateElasticsearchDomainConfigRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy