/* * Copyright 2018-2023 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 com.amazonaws.services.elasticsearch.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateElasticsearchDomainRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name of the Elasticsearch domain that you are 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). *
*/ private String domainName; /** ** String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. *
*/ private String elasticsearchVersion; /** ** Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the * domain cluster. *
*/ private ElasticsearchClusterConfig elasticsearchClusterConfig; /** ** Options to enable, disable and specify the type and size of EBS storage volumes. *
*/ private EBSOptions eBSOptions; /** ** IAM access policy as a JSON-formatted string. *
*/ private String accessPolicies; /** ** Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours. *
*/ private SnapshotOptions 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 *
*/ private VPCOptions vPCOptions; /** ** Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana. *
*/ private CognitoOptions cognitoOptions; /** ** Specifies the Encryption At Rest Options. *
*/ private EncryptionAtRestOptions encryptionAtRestOptions; /** ** Specifies the NodeToNodeEncryptionOptions. *
*/ private NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions; /** *
* 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.
*
* Map of LogType
and LogPublishingOption
, each containing options to publish a given type
* of Elasticsearch log.
*
* Options to specify configuration that will be applied to the domain endpoint. *
*/ private DomainEndpointOptions domainEndpointOptions; /** ** Specifies advanced security options. *
*/ private AdvancedSecurityOptionsInput advancedSecurityOptions; /** ** Specifies Auto-Tune options. *
*/ private AutoTuneOptionsInput autoTuneOptions; /** *
* A list of Tag
added during domain creation.
*
* The name of the Elasticsearch domain that you are 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 Elasticsearch domain that you are 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 void setDomainName(String domainName) { this.domainName = domainName; } /** ** The name of the Elasticsearch domain that you are 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 Elasticsearch domain that you are 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 String getDomainName() { return this.domainName; } /** ** The name of the Elasticsearch domain that you are 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 Elasticsearch domain that you are 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. */ public CreateElasticsearchDomainRequest withDomainName(String domainName) { setDomainName(domainName); return this; } /** ** String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. *
* * @param elasticsearchVersion * String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more * information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer * Guide. */ public void setElasticsearchVersion(String elasticsearchVersion) { this.elasticsearchVersion = elasticsearchVersion; } /** ** String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. *
* * @return String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more * information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer * Guide. */ public String getElasticsearchVersion() { return this.elasticsearchVersion; } /** ** String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, * see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide. *
* * @param elasticsearchVersion * String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more * information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer * Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateElasticsearchDomainRequest withElasticsearchVersion(String elasticsearchVersion) { setElasticsearchVersion(elasticsearchVersion); return this; } /** ** Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the * domain cluster. *
* * @param elasticsearchClusterConfig * Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in * the domain cluster. */ public void setElasticsearchClusterConfig(ElasticsearchClusterConfig elasticsearchClusterConfig) { this.elasticsearchClusterConfig = elasticsearchClusterConfig; } /** ** Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the * domain cluster. *
* * @return Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in * the domain cluster. */ public ElasticsearchClusterConfig getElasticsearchClusterConfig() { return this.elasticsearchClusterConfig; } /** ** Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the * domain cluster. *
* * @param elasticsearchClusterConfig * Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in * the domain cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateElasticsearchDomainRequest withElasticsearchClusterConfig(ElasticsearchClusterConfig elasticsearchClusterConfig) { setElasticsearchClusterConfig(elasticsearchClusterConfig); return this; } /** ** 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. */ public void setEBSOptions(EBSOptions eBSOptions) { this.eBSOptions = eBSOptions; } /** ** 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 EBSOptions getEBSOptions() { return this.eBSOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withEBSOptions(EBSOptions eBSOptions) { setEBSOptions(eBSOptions); return this; } /** ** IAM access policy as a JSON-formatted string. *
* * @param accessPolicies * IAM access policy as a JSON-formatted string. */ public void setAccessPolicies(String accessPolicies) { this.accessPolicies = accessPolicies; } /** ** IAM access policy as a JSON-formatted string. *
* * @return IAM access policy as a JSON-formatted string. */ public String getAccessPolicies() { return this.accessPolicies; } /** ** 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. */ public CreateElasticsearchDomainRequest withAccessPolicies(String accessPolicies) { setAccessPolicies(accessPolicies); return this; } /** ** 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. */ public void setSnapshotOptions(SnapshotOptions snapshotOptions) { this.snapshotOptions = snapshotOptions; } /** ** 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 SnapshotOptions getSnapshotOptions() { return this.snapshotOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withSnapshotOptions(SnapshotOptions snapshotOptions) { setSnapshotOptions(snapshotOptions); return this; } /** ** 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 */ public void setVPCOptions(VPCOptions vPCOptions) { this.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 *
* * @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 VPCOptions getVPCOptions() { return this.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 *
* * @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. */ public CreateElasticsearchDomainRequest withVPCOptions(VPCOptions vPCOptions) { setVPCOptions(vPCOptions); return this; } /** ** 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. */ public void setCognitoOptions(CognitoOptions cognitoOptions) { this.cognitoOptions = cognitoOptions; } /** ** 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 CognitoOptions getCognitoOptions() { return this.cognitoOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withCognitoOptions(CognitoOptions cognitoOptions) { setCognitoOptions(cognitoOptions); return this; } /** ** Specifies the Encryption At Rest Options. *
* * @param encryptionAtRestOptions * Specifies the Encryption At Rest Options. */ public void setEncryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions) { this.encryptionAtRestOptions = encryptionAtRestOptions; } /** ** Specifies the Encryption At Rest Options. *
* * @return Specifies the Encryption At Rest Options. */ public EncryptionAtRestOptions getEncryptionAtRestOptions() { return this.encryptionAtRestOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withEncryptionAtRestOptions(EncryptionAtRestOptions encryptionAtRestOptions) { setEncryptionAtRestOptions(encryptionAtRestOptions); return this; } /** ** Specifies the NodeToNodeEncryptionOptions. *
* * @param nodeToNodeEncryptionOptions * Specifies the NodeToNodeEncryptionOptions. */ public void setNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions) { this.nodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions; } /** ** Specifies the NodeToNodeEncryptionOptions. *
* * @return Specifies the NodeToNodeEncryptionOptions. */ public NodeToNodeEncryptionOptions getNodeToNodeEncryptionOptions() { return this.nodeToNodeEncryptionOptions; } /** ** Specifies the NodeToNodeEncryptionOptions. *
* * @param nodeToNodeEncryptionOptions * Specifies the NodeToNodeEncryptionOptions. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateElasticsearchDomainRequest withNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions) { setNodeToNodeEncryptionOptions(nodeToNodeEncryptionOptions); return this; } /** *
* 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.
*
false
when
* configuring access to individual sub-resources. By default, the value is true
. See Configuration Advanced Options for more information.
*/
public java.util.Map
* 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.
*
false
when configuring
* access to individual sub-resources. By default, the value is true
. See Configuration Advanced Options for more information.
*/
public void setAdvancedOptions(java.util.Map
* 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.
*
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.
*/
public CreateElasticsearchDomainRequest withAdvancedOptions(java.util.Map
* Map of LogType
and LogPublishingOption
, each containing options to publish a given type
* of Elasticsearch log.
*
LogType
and LogPublishingOption
, each containing options to publish a
* given type of Elasticsearch log.
*/
public java.util.Map
* Map of LogType
and LogPublishingOption
, each containing options to publish a given type
* of Elasticsearch log.
*
LogType
and LogPublishingOption
, each containing options to publish a
* given type of Elasticsearch log.
*/
public void setLogPublishingOptions(java.util.Map
* Map of LogType
and LogPublishingOption
, each containing options to publish a given type
* of Elasticsearch log.
*
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.
*/
public CreateElasticsearchDomainRequest withLogPublishingOptions(java.util.Map* 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. */ public void setDomainEndpointOptions(DomainEndpointOptions domainEndpointOptions) { this.domainEndpointOptions = domainEndpointOptions; } /** ** 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 DomainEndpointOptions getDomainEndpointOptions() { return this.domainEndpointOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withDomainEndpointOptions(DomainEndpointOptions domainEndpointOptions) { setDomainEndpointOptions(domainEndpointOptions); return this; } /** ** Specifies advanced security options. *
* * @param advancedSecurityOptions * Specifies advanced security options. */ public void setAdvancedSecurityOptions(AdvancedSecurityOptionsInput advancedSecurityOptions) { this.advancedSecurityOptions = advancedSecurityOptions; } /** ** Specifies advanced security options. *
* * @return Specifies advanced security options. */ public AdvancedSecurityOptionsInput getAdvancedSecurityOptions() { return this.advancedSecurityOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withAdvancedSecurityOptions(AdvancedSecurityOptionsInput advancedSecurityOptions) { setAdvancedSecurityOptions(advancedSecurityOptions); return this; } /** ** Specifies Auto-Tune options. *
* * @param autoTuneOptions * Specifies Auto-Tune options. */ public void setAutoTuneOptions(AutoTuneOptionsInput autoTuneOptions) { this.autoTuneOptions = autoTuneOptions; } /** ** Specifies Auto-Tune options. *
* * @return Specifies Auto-Tune options. */ public AutoTuneOptionsInput getAutoTuneOptions() { return this.autoTuneOptions; } /** ** 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. */ public CreateElasticsearchDomainRequest withAutoTuneOptions(AutoTuneOptionsInput autoTuneOptions) { setAutoTuneOptions(autoTuneOptions); return this; } /** *
* A list of Tag
added during domain creation.
*
Tag
added during domain creation.
*/
public java.util.List
* A list of Tag
added during domain creation.
*
Tag
added during domain creation.
*/
public void setTagList(java.util.Collection
* A list of Tag
added during domain creation.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTagList(java.util.Collection)} or {@link #withTagList(java.util.Collection)} if you want to override * the existing values. *
* * @param tagList * A list ofTag
added during domain creation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateElasticsearchDomainRequest withTagList(Tag... tagList) {
if (this.tagList == null) {
setTagList(new java.util.ArrayList
* A list of Tag
added during domain creation.
*
Tag
added during domain creation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateElasticsearchDomainRequest withTagList(java.util.Collection