Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.opensearch.model.CreateDomainRequest Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Open Search module holds the client classes that are used for
communicating with Open Search.
/*
* 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.opensearch.model;
import java.beans.Transient;
import java.util.Arrays;
import java.util.Collection;
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 java.util.stream.Collectors;
import java.util.stream.Stream;
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.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
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;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public final class CreateDomainRequest extends OpenSearchRequest implements
ToCopyableBuilder {
private static final SdkField DOMAIN_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DomainName").getter(getter(CreateDomainRequest::domainName)).setter(setter(Builder::domainName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainName").build()).build();
private static final SdkField ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EngineVersion").getter(getter(CreateDomainRequest::engineVersion))
.setter(setter(Builder::engineVersion))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineVersion").build()).build();
private static final SdkField CLUSTER_CONFIG_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ClusterConfig")
.getter(getter(CreateDomainRequest::clusterConfig)).setter(setter(Builder::clusterConfig))
.constructor(ClusterConfig::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ClusterConfig").build()).build();
private static final SdkField EBS_OPTIONS_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("EBSOptions").getter(getter(CreateDomainRequest::ebsOptions)).setter(setter(Builder::ebsOptions))
.constructor(EBSOptions::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EBSOptions").build()).build();
private static final SdkField ACCESS_POLICIES_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AccessPolicies").getter(getter(CreateDomainRequest::accessPolicies))
.setter(setter(Builder::accessPolicies))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AccessPolicies").build()).build();
private static final SdkField SNAPSHOT_OPTIONS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("SnapshotOptions")
.getter(getter(CreateDomainRequest::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(CreateDomainRequest::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(CreateDomainRequest::cognitoOptions)).setter(setter(Builder::cognitoOptions))
.constructor(CognitoOptions::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).memberName("EncryptionAtRestOptions")
.getter(getter(CreateDomainRequest::encryptionAtRestOptions)).setter(setter(Builder::encryptionAtRestOptions))
.constructor(EncryptionAtRestOptions::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)
.memberName("NodeToNodeEncryptionOptions")
.getter(getter(CreateDomainRequest::nodeToNodeEncryptionOptions))
.setter(setter(Builder::nodeToNodeEncryptionOptions))
.constructor(NodeToNodeEncryptionOptions::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NodeToNodeEncryptionOptions")
.build()).build();
private static final SdkField> ADVANCED_OPTIONS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("AdvancedOptions")
.getter(getter(CreateDomainRequest::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> LOG_PUBLISHING_OPTIONS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("LogPublishingOptions")
.getter(getter(CreateDomainRequest::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(CreateDomainRequest::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(CreateDomainRequest::advancedSecurityOptions)).setter(setter(Builder::advancedSecurityOptions))
.constructor(AdvancedSecurityOptionsInput::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdvancedSecurityOptions").build())
.build();
private static final SdkField> TAG_LIST_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("TagList")
.getter(getter(CreateDomainRequest::tagList))
.setter(setter(Builder::tagList))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TagList").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(Tag::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField AUTO_TUNE_OPTIONS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("AutoTuneOptions")
.getter(getter(CreateDomainRequest::autoTuneOptions)).setter(setter(Builder::autoTuneOptions))
.constructor(AutoTuneOptionsInput::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoTuneOptions").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(DOMAIN_NAME_FIELD,
ENGINE_VERSION_FIELD, 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,
TAG_LIST_FIELD, AUTO_TUNE_OPTIONS_FIELD));
private final String domainName;
private final String engineVersion;
private final ClusterConfig clusterConfig;
private final EBSOptions ebsOptions;
private final String accessPolicies;
private final SnapshotOptions snapshotOptions;
private final VPCOptions vpcOptions;
private final CognitoOptions cognitoOptions;
private final EncryptionAtRestOptions encryptionAtRestOptions;
private final NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions;
private final Map advancedOptions;
private final Map logPublishingOptions;
private final DomainEndpointOptions domainEndpointOptions;
private final AdvancedSecurityOptionsInput advancedSecurityOptions;
private final List tagList;
private final AutoTuneOptionsInput autoTuneOptions;
private CreateDomainRequest(BuilderImpl builder) {
super(builder);
this.domainName = builder.domainName;
this.engineVersion = builder.engineVersion;
this.clusterConfig = builder.clusterConfig;
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;
this.tagList = builder.tagList;
this.autoTuneOptions = builder.autoTuneOptions;
}
/**
*
* The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains
* owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the
* following characters: a-z (lowercase), 0-9, and - (hyphen).
*
*
* @return The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the
* domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can
* contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
*/
public final String domainName() {
return domainName;
}
/**
*
* String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch
* Service domain. For example, "OpenSearch_1.0" or "Elasticsearch_7.9". For more information, see Creating and managing Amazon OpenSearch Service domains .
*
*
* @return String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon
* OpenSearch Service domain. For example, "OpenSearch_1.0" or "Elasticsearch_7.9". For more information,
* see Creating and managing Amazon OpenSearch Service domains .
*/
public final String engineVersion() {
return engineVersion;
}
/**
*
* Configuration options for a domain. Specifies the instance type and number of instances in the domain.
*
*
* @return Configuration options for a domain. Specifies the instance type and number of instances in the domain.
*/
public final ClusterConfig clusterConfig() {
return clusterConfig;
}
/**
*
* Options to enable, disable, and specify the type and size of EBS storage volumes.
*
*
* @return Options to enable, disable, and specify the type and size of EBS storage volumes.
*/
public final EBSOptions ebsOptions() {
return ebsOptions;
}
/**
*
* IAM access policy as a JSON-formatted string.
*
*
* @return IAM access policy as a JSON-formatted string.
*/
public final String accessPolicies() {
return accessPolicies;
}
/**
*
* Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
*
*
* @return Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
*/
public final SnapshotOptions snapshotOptions() {
return snapshotOptions;
}
/**
*
* Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching
* your Amazon OpenSearch Service domains using a VPC .
*
*
* @return Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC .
*/
public final VPCOptions vpcOptions() {
return vpcOptions;
}
/**
*
* Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more
* information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards .
*
*
* @return Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more
* information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards .
*/
public final CognitoOptions cognitoOptions() {
return cognitoOptions;
}
/**
*
* Options for encryption of data at rest.
*
*
* @return Options for encryption of data at rest.
*/
public final EncryptionAtRestOptions encryptionAtRestOptions() {
return encryptionAtRestOptions;
}
/**
*
* Node-to-node encryption options.
*
*
* @return Node-to-node encryption options.
*/
public final NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions() {
return nodeToNodeEncryptionOptions;
}
/**
* 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);
}
/**
*
* 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 Advanced cluster parameters 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 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 Advanced cluster parameters for more information.
*/
public final Map advancedOptions() {
return advancedOptions;
}
/**
*
* Map of LogType
and LogPublishingOption
, each containing options to publish a given type
* of OpenSearch 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 OpenSearch 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 OpenSearch 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 OpenSearch log.
*/
public final Map logPublishingOptionsAsStrings() {
return logPublishingOptions;
}
/**
*
* Options to specify configurations that will be applied to the domain endpoint.
*
*
* @return Options to specify configurations 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;
}
/**
* For responses, this returns true if the service returned a value for the TagList 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 hasTagList() {
return tagList != null && !(tagList instanceof SdkAutoConstructList);
}
/**
*
* A list of Tag
added during domain creation.
*
*
* 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 #hasTagList} method.
*
*
* @return A list of Tag
added during domain creation.
*/
public final List tagList() {
return tagList;
}
/**
*
* Specifies Auto-Tune options.
*
*
* @return Specifies Auto-Tune options.
*/
public final AutoTuneOptionsInput autoTuneOptions() {
return autoTuneOptions;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> 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(engineVersion());
hashCode = 31 * hashCode + Objects.hashCode(clusterConfig());
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(hasAdvancedOptions() ? advancedOptions() : null);
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(hasTagList() ? tagList() : null);
hashCode = 31 * hashCode + Objects.hashCode(autoTuneOptions());
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 CreateDomainRequest)) {
return false;
}
CreateDomainRequest other = (CreateDomainRequest) obj;
return Objects.equals(domainName(), other.domainName()) && Objects.equals(engineVersion(), other.engineVersion())
&& Objects.equals(clusterConfig(), other.clusterConfig()) && 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())
&& hasAdvancedOptions() == other.hasAdvancedOptions()
&& Objects.equals(advancedOptions(), other.advancedOptions())
&& hasLogPublishingOptions() == other.hasLogPublishingOptions()
&& Objects.equals(logPublishingOptionsAsStrings(), other.logPublishingOptionsAsStrings())
&& Objects.equals(domainEndpointOptions(), other.domainEndpointOptions())
&& Objects.equals(advancedSecurityOptions(), other.advancedSecurityOptions())
&& hasTagList() == other.hasTagList() && Objects.equals(tagList(), other.tagList())
&& Objects.equals(autoTuneOptions(), other.autoTuneOptions());
}
/**
* 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("CreateDomainRequest").add("DomainName", domainName()).add("EngineVersion", engineVersion())
.add("ClusterConfig", clusterConfig()).add("EBSOptions", ebsOptions()).add("AccessPolicies", accessPolicies())
.add("SnapshotOptions", snapshotOptions()).add("VPCOptions", vpcOptions())
.add("CognitoOptions", cognitoOptions()).add("EncryptionAtRestOptions", encryptionAtRestOptions())
.add("NodeToNodeEncryptionOptions", nodeToNodeEncryptionOptions())
.add("AdvancedOptions", hasAdvancedOptions() ? advancedOptions() : null)
.add("LogPublishingOptions", hasLogPublishingOptions() ? logPublishingOptionsAsStrings() : null)
.add("DomainEndpointOptions", domainEndpointOptions()).add("AdvancedSecurityOptions", advancedSecurityOptions())
.add("TagList", hasTagList() ? tagList() : null).add("AutoTuneOptions", autoTuneOptions()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "DomainName":
return Optional.ofNullable(clazz.cast(domainName()));
case "EngineVersion":
return Optional.ofNullable(clazz.cast(engineVersion()));
case "ClusterConfig":
return Optional.ofNullable(clazz.cast(clusterConfig()));
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(logPublishingOptionsAsStrings()));
case "DomainEndpointOptions":
return Optional.ofNullable(clazz.cast(domainEndpointOptions()));
case "AdvancedSecurityOptions":
return Optional.ofNullable(clazz.cast(advancedSecurityOptions()));
case "TagList":
return Optional.ofNullable(clazz.cast(tagList()));
case "AutoTuneOptions":
return Optional.ofNullable(clazz.cast(autoTuneOptions()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((CreateDomainRequest) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends OpenSearchRequest.Builder, SdkPojo, CopyableBuilder {
/**
*
* The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains
* owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the
* following characters: a-z (lowercase), 0-9, and - (hyphen).
*
*
* @param domainName
* The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the
* domains owned by an account within an AWS region. Domain names must start with a lowercase letter and
* can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder domainName(String domainName);
/**
*
* String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch
* Service domain. For example, "OpenSearch_1.0" or "Elasticsearch_7.9". For more information, see Creating and managing Amazon OpenSearch Service domains .
*
*
* @param engineVersion
* String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon
* OpenSearch Service domain. For example, "OpenSearch_1.0" or "Elasticsearch_7.9". For more information,
* see Creating and managing Amazon OpenSearch Service domains .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder engineVersion(String engineVersion);
/**
*
* Configuration options for a domain. Specifies the instance type and number of instances in the domain.
*
*
* @param clusterConfig
* Configuration options for a domain. Specifies the instance type and number of instances in the domain.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder clusterConfig(ClusterConfig clusterConfig);
/**
*
* Configuration options for a domain. Specifies the instance type and number of instances in the domain.
*
* This is a convenience that creates an instance of the {@link ClusterConfig.Builder} avoiding the need to
* create one manually via {@link ClusterConfig#builder()}.
*
* When the {@link Consumer} completes, {@link ClusterConfig.Builder#build()} is called immediately and its
* result is passed to {@link #clusterConfig(ClusterConfig)}.
*
* @param clusterConfig
* a consumer that will call methods on {@link ClusterConfig.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #clusterConfig(ClusterConfig)
*/
default Builder clusterConfig(Consumer clusterConfig) {
return clusterConfig(ClusterConfig.builder().applyMutation(clusterConfig).build());
}
/**
*
* Options to enable, disable, and specify the type and size of EBS storage volumes.
*
*
* @param ebsOptions
* Options to enable, disable, and specify the type and size of EBS storage volumes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder ebsOptions(EBSOptions ebsOptions);
/**
*
* Options to enable, disable, and specify the type and size of EBS storage volumes.
*
* This is a convenience 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());
}
/**
*
* 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);
/**
*
* Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
*
*
* @param snapshotOptions
* Option to set time, in UTC format, of 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 time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
*
* This is a convenience 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 a VPC endpoint. For more information, see Launching
* your Amazon OpenSearch Service domains using a VPC .
*
*
* @param vpcOptions
* Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC .
* @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 a VPC endpoint. For more information, see Launching
* your Amazon OpenSearch Service domains using a VPC .
*
* This is a convenience 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 OpenSearch Dashboards authentication. For more
* information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards .
*
*
* @param cognitoOptions
* Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For
* more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards .
* @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 OpenSearch Dashboards authentication. For more
* information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards .
*
* This is a convenience 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());
}
/**
*
* Options for encryption of data at rest.
*
*
* @param encryptionAtRestOptions
* Options for encryption of data at rest.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder encryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions);
/**
*
* Options for encryption of data at rest.
*
* This is a convenience 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());
}
/**
*
* Node-to-node encryption options.
*
*
* @param nodeToNodeEncryptionOptions
* Node-to-node encryption options.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions);
/**
*
* Node-to-node encryption options.
*
* This is a convenience 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());
}
/**
*
* 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 Advanced cluster parameters for more information.
*
*
* @param advancedOptions
* 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 Advanced cluster parameters for more information.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder advancedOptions(Map advancedOptions);
/**
*
* Map of LogType
and LogPublishingOption
, each containing options to publish a given
* type of OpenSearch log.
*
*
* @param logPublishingOptions
* Map of LogType
and LogPublishingOption
, each containing options to publish a
* given type of OpenSearch 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 OpenSearch log.
*
*
* @param logPublishingOptions
* Map of LogType
and LogPublishingOption
, each containing options to publish a
* given type of OpenSearch log.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder logPublishingOptions(Map logPublishingOptions);
/**
*
* Options to specify configurations that will be applied to the domain endpoint.
*
*
* @param domainEndpointOptions
* Options to specify configurations 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 configurations that will be applied to the domain endpoint.
*
* This is a convenience 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 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());
}
/**
*
* A list of Tag
added during domain creation.
*
*
* @param tagList
* A list of Tag
added during domain creation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tagList(Collection tagList);
/**
*
* A list of Tag
added during domain creation.
*
*
* @param tagList
* A list of Tag
added during domain creation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tagList(Tag... tagList);
/**
*
* A list of Tag
added during domain creation.
*
* This is a convenience that creates an instance of the {@link List.Builder} avoiding the need to create
* one manually via {@link List#builder()}.
*
* When the {@link Consumer} completes, {@link List.Builder#build()} is called immediately and its result
* is passed to {@link #tagList(List)}.
*
* @param tagList
* a consumer that will call methods on {@link List.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #tagList(List)
*/
Builder tagList(Consumer... tagList);
/**
*
* 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(AutoTuneOptionsInput autoTuneOptions);
/**
*
* Specifies Auto-Tune options.
*
* This is a convenience that creates an instance of the {@link AutoTuneOptionsInput.Builder} avoiding the need
* to create one manually via {@link AutoTuneOptionsInput#builder()}.
*
* When the {@link Consumer} completes, {@link AutoTuneOptionsInput.Builder#build()} is called immediately and
* its result is passed to {@link #autoTuneOptions(AutoTuneOptionsInput)}.
*
* @param autoTuneOptions
* a consumer that will call methods on {@link AutoTuneOptionsInput.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #autoTuneOptions(AutoTuneOptionsInput)
*/
default Builder autoTuneOptions(Consumer autoTuneOptions) {
return autoTuneOptions(AutoTuneOptionsInput.builder().applyMutation(autoTuneOptions).build());
}
@Override
Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration);
@Override
Builder overrideConfiguration(Consumer builderConsumer);
}
static final class BuilderImpl extends OpenSearchRequest.BuilderImpl implements Builder {
private String domainName;
private String engineVersion;
private ClusterConfig clusterConfig;
private EBSOptions ebsOptions;
private String accessPolicies;
private SnapshotOptions snapshotOptions;
private VPCOptions vpcOptions;
private CognitoOptions cognitoOptions;
private EncryptionAtRestOptions encryptionAtRestOptions;
private NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions;
private Map advancedOptions = DefaultSdkAutoConstructMap.getInstance();
private Map logPublishingOptions = DefaultSdkAutoConstructMap.getInstance();
private DomainEndpointOptions domainEndpointOptions;
private AdvancedSecurityOptionsInput advancedSecurityOptions;
private List tagList = DefaultSdkAutoConstructList.getInstance();
private AutoTuneOptionsInput autoTuneOptions;
private BuilderImpl() {
}
private BuilderImpl(CreateDomainRequest model) {
super(model);
domainName(model.domainName);
engineVersion(model.engineVersion);
clusterConfig(model.clusterConfig);
ebsOptions(model.ebsOptions);
accessPolicies(model.accessPolicies);
snapshotOptions(model.snapshotOptions);
vpcOptions(model.vpcOptions);
cognitoOptions(model.cognitoOptions);
encryptionAtRestOptions(model.encryptionAtRestOptions);
nodeToNodeEncryptionOptions(model.nodeToNodeEncryptionOptions);
advancedOptions(model.advancedOptions);
logPublishingOptionsWithStrings(model.logPublishingOptions);
domainEndpointOptions(model.domainEndpointOptions);
advancedSecurityOptions(model.advancedSecurityOptions);
tagList(model.tagList);
autoTuneOptions(model.autoTuneOptions);
}
public final String getDomainName() {
return domainName;
}
public final void setDomainName(String domainName) {
this.domainName = domainName;
}
@Override
@Transient
public final Builder domainName(String domainName) {
this.domainName = domainName;
return this;
}
public final String getEngineVersion() {
return engineVersion;
}
public final void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
@Override
@Transient
public final Builder engineVersion(String engineVersion) {
this.engineVersion = engineVersion;
return this;
}
public final ClusterConfig.Builder getClusterConfig() {
return clusterConfig != null ? clusterConfig.toBuilder() : null;
}
public final void setClusterConfig(ClusterConfig.BuilderImpl clusterConfig) {
this.clusterConfig = clusterConfig != null ? clusterConfig.build() : null;
}
@Override
@Transient
public final Builder clusterConfig(ClusterConfig clusterConfig) {
this.clusterConfig = clusterConfig;
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
@Transient
public final Builder ebsOptions(EBSOptions ebsOptions) {
this.ebsOptions = ebsOptions;
return this;
}
public final String getAccessPolicies() {
return accessPolicies;
}
public final void setAccessPolicies(String accessPolicies) {
this.accessPolicies = accessPolicies;
}
@Override
@Transient
public final Builder accessPolicies(String accessPolicies) {
this.accessPolicies = accessPolicies;
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
@Transient
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
@Transient
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
@Transient
public final Builder cognitoOptions(CognitoOptions cognitoOptions) {
this.cognitoOptions = cognitoOptions;
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
@Transient
public final Builder encryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions) {
this.encryptionAtRestOptions = encryptionAtRestOptions;
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
@Transient
public final Builder nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions) {
this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions;
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
@Transient
public final Builder advancedOptions(Map advancedOptions) {
this.advancedOptions = AdvancedOptionsCopier.copy(advancedOptions);
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
@Transient
public final Builder logPublishingOptionsWithStrings(Map logPublishingOptions) {
this.logPublishingOptions = LogPublishingOptionsCopier.copy(logPublishingOptions);
return this;
}
@Override
@Transient
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
@Transient
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
@Transient
public final Builder advancedSecurityOptions(AdvancedSecurityOptionsInput advancedSecurityOptions) {
this.advancedSecurityOptions = advancedSecurityOptions;
return this;
}
public final List getTagList() {
List result = TagListCopier.copyToBuilder(this.tagList);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setTagList(Collection tagList) {
this.tagList = TagListCopier.copyFromBuilder(tagList);
}
@Override
@Transient
public final Builder tagList(Collection tagList) {
this.tagList = TagListCopier.copy(tagList);
return this;
}
@Override
@Transient
@SafeVarargs
public final Builder tagList(Tag... tagList) {
tagList(Arrays.asList(tagList));
return this;
}
@Override
@Transient
@SafeVarargs
public final Builder tagList(Consumer... tagList) {
tagList(Stream.of(tagList).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList()));
return this;
}
public final AutoTuneOptionsInput.Builder getAutoTuneOptions() {
return autoTuneOptions != null ? autoTuneOptions.toBuilder() : null;
}
public final void setAutoTuneOptions(AutoTuneOptionsInput.BuilderImpl autoTuneOptions) {
this.autoTuneOptions = autoTuneOptions != null ? autoTuneOptions.build() : null;
}
@Override
@Transient
public final Builder autoTuneOptions(AutoTuneOptionsInput autoTuneOptions) {
this.autoTuneOptions = autoTuneOptions;
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 CreateDomainRequest build() {
return new CreateDomainRequest(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}