/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace ElasticsearchService { namespace Model { /** */ class CreateElasticsearchDomainRequest : public ElasticsearchServiceRequest { public: AWS_ELASTICSEARCHSERVICE_API CreateElasticsearchDomainRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateElasticsearchDomain"; } AWS_ELASTICSEARCHSERVICE_API Aws::String SerializePayload() const override; /** *

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).

*/ inline const Aws::String& GetDomainName() const{ return m_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).

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

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).

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

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).

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

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).

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

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).

*/ inline CreateElasticsearchDomainRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

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).

*/ inline CreateElasticsearchDomainRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

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).

*/ inline CreateElasticsearchDomainRequest& WithDomainName(const char* value) { SetDomainName(value); 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.

*/ inline const Aws::String& GetElasticsearchVersion() const{ return m_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.

*/ inline bool ElasticsearchVersionHasBeenSet() const { return m_elasticsearchVersionHasBeenSet; } /** *

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.

*/ inline void SetElasticsearchVersion(const Aws::String& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = value; } /** *

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.

*/ inline void SetElasticsearchVersion(Aws::String&& value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion = std::move(value); } /** *

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.

*/ inline void SetElasticsearchVersion(const char* value) { m_elasticsearchVersionHasBeenSet = true; m_elasticsearchVersion.assign(value); } /** *

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.

*/ inline CreateElasticsearchDomainRequest& WithElasticsearchVersion(const Aws::String& value) { SetElasticsearchVersion(value); 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.

*/ inline CreateElasticsearchDomainRequest& WithElasticsearchVersion(Aws::String&& value) { SetElasticsearchVersion(std::move(value)); 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.

*/ inline CreateElasticsearchDomainRequest& WithElasticsearchVersion(const char* value) { SetElasticsearchVersion(value); return *this;} /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline const ElasticsearchClusterConfig& GetElasticsearchClusterConfig() const{ return m_elasticsearchClusterConfig; } /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline bool ElasticsearchClusterConfigHasBeenSet() const { return m_elasticsearchClusterConfigHasBeenSet; } /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline void SetElasticsearchClusterConfig(const ElasticsearchClusterConfig& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = value; } /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline void SetElasticsearchClusterConfig(ElasticsearchClusterConfig&& value) { m_elasticsearchClusterConfigHasBeenSet = true; m_elasticsearchClusterConfig = std::move(value); } /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline CreateElasticsearchDomainRequest& WithElasticsearchClusterConfig(const ElasticsearchClusterConfig& value) { SetElasticsearchClusterConfig(value); return *this;} /** *

Configuration options for an Elasticsearch domain. Specifies the instance * type and number of instances in the domain cluster.

*/ inline CreateElasticsearchDomainRequest& WithElasticsearchClusterConfig(ElasticsearchClusterConfig&& value) { SetElasticsearchClusterConfig(std::move(value)); return *this;} /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline const EBSOptions& GetEBSOptions() const{ return m_eBSOptions; } /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline bool EBSOptionsHasBeenSet() const { return m_eBSOptionsHasBeenSet; } /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline void SetEBSOptions(const EBSOptions& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = value; } /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline void SetEBSOptions(EBSOptions&& value) { m_eBSOptionsHasBeenSet = true; m_eBSOptions = std::move(value); } /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline CreateElasticsearchDomainRequest& WithEBSOptions(const EBSOptions& value) { SetEBSOptions(value); return *this;} /** *

Options to enable, disable and specify the type and size of EBS storage * volumes.

*/ inline CreateElasticsearchDomainRequest& WithEBSOptions(EBSOptions&& value) { SetEBSOptions(std::move(value)); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline const Aws::String& GetAccessPolicies() const{ return m_accessPolicies; } /** *

IAM access policy as a JSON-formatted string.

*/ inline bool AccessPoliciesHasBeenSet() const { return m_accessPoliciesHasBeenSet; } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(const Aws::String& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = value; } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(Aws::String&& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = std::move(value); } /** *

IAM access policy as a JSON-formatted string.

*/ inline void SetAccessPolicies(const char* value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies.assign(value); } /** *

IAM access policy as a JSON-formatted string.

*/ inline CreateElasticsearchDomainRequest& WithAccessPolicies(const Aws::String& value) { SetAccessPolicies(value); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline CreateElasticsearchDomainRequest& WithAccessPolicies(Aws::String&& value) { SetAccessPolicies(std::move(value)); return *this;} /** *

IAM access policy as a JSON-formatted string.

*/ inline CreateElasticsearchDomainRequest& WithAccessPolicies(const char* value) { SetAccessPolicies(value); return *this;} /** *

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

*/ inline const SnapshotOptions& GetSnapshotOptions() const{ return m_snapshotOptions; } /** *

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

*/ inline bool SnapshotOptionsHasBeenSet() const { return m_snapshotOptionsHasBeenSet; } /** *

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

*/ inline void SetSnapshotOptions(const SnapshotOptions& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = value; } /** *

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

*/ inline void SetSnapshotOptions(SnapshotOptions&& value) { m_snapshotOptionsHasBeenSet = true; m_snapshotOptions = std::move(value); } /** *

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

*/ inline CreateElasticsearchDomainRequest& WithSnapshotOptions(const SnapshotOptions& value) { SetSnapshotOptions(value); return *this;} /** *

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

*/ inline CreateElasticsearchDomainRequest& WithSnapshotOptions(SnapshotOptions&& value) { SetSnapshotOptions(std::move(value)); 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

*/ inline const VPCOptions& GetVPCOptions() const{ return m_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

*/ inline bool VPCOptionsHasBeenSet() const { return m_vPCOptionsHasBeenSet; } /** *

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

*/ inline void SetVPCOptions(const VPCOptions& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = value; } /** *

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

*/ inline void SetVPCOptions(VPCOptions&& value) { m_vPCOptionsHasBeenSet = true; m_vPCOptions = std::move(value); } /** *

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

*/ inline CreateElasticsearchDomainRequest& WithVPCOptions(const VPCOptions& value) { SetVPCOptions(value); 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

*/ inline CreateElasticsearchDomainRequest& WithVPCOptions(VPCOptions&& value) { SetVPCOptions(std::move(value)); return *this;} /** *

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

*/ inline const CognitoOptions& GetCognitoOptions() const{ return m_cognitoOptions; } /** *

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

*/ inline bool CognitoOptionsHasBeenSet() const { return m_cognitoOptionsHasBeenSet; } /** *

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

*/ inline void SetCognitoOptions(const CognitoOptions& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = value; } /** *

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

*/ inline void SetCognitoOptions(CognitoOptions&& value) { m_cognitoOptionsHasBeenSet = true; m_cognitoOptions = std::move(value); } /** *

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

*/ inline CreateElasticsearchDomainRequest& WithCognitoOptions(const CognitoOptions& value) { SetCognitoOptions(value); return *this;} /** *

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

*/ inline CreateElasticsearchDomainRequest& WithCognitoOptions(CognitoOptions&& value) { SetCognitoOptions(std::move(value)); return *this;} /** *

Specifies the Encryption At Rest Options.

*/ inline const EncryptionAtRestOptions& GetEncryptionAtRestOptions() const{ return m_encryptionAtRestOptions; } /** *

Specifies the Encryption At Rest Options.

*/ inline bool EncryptionAtRestOptionsHasBeenSet() const { return m_encryptionAtRestOptionsHasBeenSet; } /** *

Specifies the Encryption At Rest Options.

*/ inline void SetEncryptionAtRestOptions(const EncryptionAtRestOptions& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = value; } /** *

Specifies the Encryption At Rest Options.

*/ inline void SetEncryptionAtRestOptions(EncryptionAtRestOptions&& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = std::move(value); } /** *

Specifies the Encryption At Rest Options.

*/ inline CreateElasticsearchDomainRequest& WithEncryptionAtRestOptions(const EncryptionAtRestOptions& value) { SetEncryptionAtRestOptions(value); return *this;} /** *

Specifies the Encryption At Rest Options.

*/ inline CreateElasticsearchDomainRequest& WithEncryptionAtRestOptions(EncryptionAtRestOptions&& value) { SetEncryptionAtRestOptions(std::move(value)); return *this;} /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline const NodeToNodeEncryptionOptions& GetNodeToNodeEncryptionOptions() const{ return m_nodeToNodeEncryptionOptions; } /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline bool NodeToNodeEncryptionOptionsHasBeenSet() const { return m_nodeToNodeEncryptionOptionsHasBeenSet; } /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline void SetNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptions& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = value; } /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline void SetNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions&& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = std::move(value); } /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline CreateElasticsearchDomainRequest& WithNodeToNodeEncryptionOptions(const NodeToNodeEncryptionOptions& value) { SetNodeToNodeEncryptionOptions(value); return *this;} /** *

Specifies the NodeToNodeEncryptionOptions.

*/ inline CreateElasticsearchDomainRequest& WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); 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.

*/ inline const Aws::Map& GetAdvancedOptions() const{ return m_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 Configuration Advanced Options for more information.

*/ inline bool AdvancedOptionsHasBeenSet() const { return m_advancedOptionsHasBeenSet; } /** *

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.

*/ inline void SetAdvancedOptions(const Aws::Map& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = value; } /** *

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.

*/ inline void SetAdvancedOptions(Aws::Map&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = std::move(value); } /** *

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.

*/ inline CreateElasticsearchDomainRequest& WithAdvancedOptions(const Aws::Map& value) { SetAdvancedOptions(value); 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.

*/ inline CreateElasticsearchDomainRequest& WithAdvancedOptions(Aws::Map&& value) { SetAdvancedOptions(std::move(value)); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(const Aws::String& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, value); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(Aws::String&& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(const Aws::String& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(Aws::String&& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), std::move(value)); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(const char* key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(Aws::String&& key, const char* value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); 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.

*/ inline CreateElasticsearchDomainRequest& AddAdvancedOptions(const char* key, const char* value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, value); return *this; } /** *

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

*/ inline const Aws::Map& GetLogPublishingOptions() const{ return m_logPublishingOptions; } /** *

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

*/ inline bool LogPublishingOptionsHasBeenSet() const { return m_logPublishingOptionsHasBeenSet; } /** *

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

*/ inline void SetLogPublishingOptions(const Aws::Map& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; } /** *

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

*/ inline void SetLogPublishingOptions(Aws::Map&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); } /** *

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

*/ inline CreateElasticsearchDomainRequest& WithLogPublishingOptions(const Aws::Map& value) { SetLogPublishingOptions(value); return *this;} /** *

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

*/ inline CreateElasticsearchDomainRequest& WithLogPublishingOptions(Aws::Map&& value) { SetLogPublishingOptions(std::move(value)); return *this;} /** *

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

*/ inline CreateElasticsearchDomainRequest& AddLogPublishingOptions(const LogType& key, const LogPublishingOption& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(key, value); return *this; } /** *

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

*/ inline CreateElasticsearchDomainRequest& AddLogPublishingOptions(LogType&& key, const LogPublishingOption& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(std::move(key), value); return *this; } /** *

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

*/ inline CreateElasticsearchDomainRequest& AddLogPublishingOptions(const LogType& key, LogPublishingOption&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline CreateElasticsearchDomainRequest& AddLogPublishingOptions(LogType&& key, LogPublishingOption&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

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

*/ inline const DomainEndpointOptions& GetDomainEndpointOptions() const{ return m_domainEndpointOptions; } /** *

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

*/ inline bool DomainEndpointOptionsHasBeenSet() const { return m_domainEndpointOptionsHasBeenSet; } /** *

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

*/ inline void SetDomainEndpointOptions(const DomainEndpointOptions& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = value; } /** *

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

*/ inline void SetDomainEndpointOptions(DomainEndpointOptions&& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = std::move(value); } /** *

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

*/ inline CreateElasticsearchDomainRequest& WithDomainEndpointOptions(const DomainEndpointOptions& value) { SetDomainEndpointOptions(value); return *this;} /** *

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

*/ inline CreateElasticsearchDomainRequest& WithDomainEndpointOptions(DomainEndpointOptions&& value) { SetDomainEndpointOptions(std::move(value)); return *this;} /** *

Specifies advanced security options.

*/ inline const AdvancedSecurityOptionsInput& GetAdvancedSecurityOptions() const{ return m_advancedSecurityOptions; } /** *

Specifies advanced security options.

*/ inline bool AdvancedSecurityOptionsHasBeenSet() const { return m_advancedSecurityOptionsHasBeenSet; } /** *

Specifies advanced security options.

*/ inline void SetAdvancedSecurityOptions(const AdvancedSecurityOptionsInput& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = value; } /** *

Specifies advanced security options.

*/ inline void SetAdvancedSecurityOptions(AdvancedSecurityOptionsInput&& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = std::move(value); } /** *

Specifies advanced security options.

*/ inline CreateElasticsearchDomainRequest& WithAdvancedSecurityOptions(const AdvancedSecurityOptionsInput& value) { SetAdvancedSecurityOptions(value); return *this;} /** *

Specifies advanced security options.

*/ inline CreateElasticsearchDomainRequest& WithAdvancedSecurityOptions(AdvancedSecurityOptionsInput&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} /** *

Specifies Auto-Tune options.

*/ inline const AutoTuneOptionsInput& GetAutoTuneOptions() const{ return m_autoTuneOptions; } /** *

Specifies Auto-Tune options.

*/ inline bool AutoTuneOptionsHasBeenSet() const { return m_autoTuneOptionsHasBeenSet; } /** *

Specifies Auto-Tune options.

*/ inline void SetAutoTuneOptions(const AutoTuneOptionsInput& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = value; } /** *

Specifies Auto-Tune options.

*/ inline void SetAutoTuneOptions(AutoTuneOptionsInput&& value) { m_autoTuneOptionsHasBeenSet = true; m_autoTuneOptions = std::move(value); } /** *

Specifies Auto-Tune options.

*/ inline CreateElasticsearchDomainRequest& WithAutoTuneOptions(const AutoTuneOptionsInput& value) { SetAutoTuneOptions(value); return *this;} /** *

Specifies Auto-Tune options.

*/ inline CreateElasticsearchDomainRequest& WithAutoTuneOptions(AutoTuneOptionsInput&& value) { SetAutoTuneOptions(std::move(value)); return *this;} /** *

A list of Tag added during domain creation.

*/ inline const Aws::Vector& GetTagList() const{ return m_tagList; } /** *

A list of Tag added during domain creation.

*/ inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } /** *

A list of Tag added during domain creation.

*/ inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } /** *

A list of Tag added during domain creation.

*/ inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } /** *

A list of Tag added during domain creation.

*/ inline CreateElasticsearchDomainRequest& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} /** *

A list of Tag added during domain creation.

*/ inline CreateElasticsearchDomainRequest& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} /** *

A list of Tag added during domain creation.

*/ inline CreateElasticsearchDomainRequest& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } /** *

A list of Tag added during domain creation.

*/ inline CreateElasticsearchDomainRequest& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_elasticsearchVersion; bool m_elasticsearchVersionHasBeenSet = false; ElasticsearchClusterConfig m_elasticsearchClusterConfig; bool m_elasticsearchClusterConfigHasBeenSet = false; EBSOptions m_eBSOptions; bool m_eBSOptionsHasBeenSet = false; Aws::String m_accessPolicies; bool m_accessPoliciesHasBeenSet = false; SnapshotOptions m_snapshotOptions; bool m_snapshotOptionsHasBeenSet = false; VPCOptions m_vPCOptions; bool m_vPCOptionsHasBeenSet = false; CognitoOptions m_cognitoOptions; bool m_cognitoOptionsHasBeenSet = false; EncryptionAtRestOptions m_encryptionAtRestOptions; bool m_encryptionAtRestOptionsHasBeenSet = false; NodeToNodeEncryptionOptions m_nodeToNodeEncryptionOptions; bool m_nodeToNodeEncryptionOptionsHasBeenSet = false; Aws::Map m_advancedOptions; bool m_advancedOptionsHasBeenSet = false; Aws::Map m_logPublishingOptions; bool m_logPublishingOptionsHasBeenSet = false; DomainEndpointOptions m_domainEndpointOptions; bool m_domainEndpointOptionsHasBeenSet = false; AdvancedSecurityOptionsInput m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; AutoTuneOptionsInput m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; Aws::Vector m_tagList; bool m_tagListHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws