/** * 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 #include namespace Aws { namespace OpenSearchService { namespace Model { /** *

Container for the request parameters to the UpdateDomain * operation.

See Also:

AWS * API Reference

*/ class UpdateDomainConfigRequest : public OpenSearchServiceRequest { public: AWS_OPENSEARCHSERVICE_API UpdateDomainConfigRequest(); // 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 "UpdateDomainConfig"; } AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; /** *

The name of the domain that you're updating.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The name of the domain that you're updating.

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

The name of the domain that you're updating.

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

The name of the domain that you're updating.

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

The name of the domain that you're updating.

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

The name of the domain that you're updating.

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

The name of the domain that you're updating.

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

The name of the domain that you're updating.

*/ inline UpdateDomainConfigRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline const ClusterConfig& GetClusterConfig() const{ return m_clusterConfig; } /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline bool ClusterConfigHasBeenSet() const { return m_clusterConfigHasBeenSet; } /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline void SetClusterConfig(const ClusterConfig& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = value; } /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline void SetClusterConfig(ClusterConfig&& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = std::move(value); } /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline UpdateDomainConfigRequest& WithClusterConfig(const ClusterConfig& value) { SetClusterConfig(value); return *this;} /** *

Changes that you want to make to the cluster configuration, such as the * instance type and number of EC2 instances.

*/ inline UpdateDomainConfigRequest& WithClusterConfig(ClusterConfig&& value) { SetClusterConfig(std::move(value)); return *this;} /** *

The type and size of the EBS volume to attach to instances in the domain.

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

The type and size of the EBS volume to attach to instances in the domain.

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

The type and size of the EBS volume to attach to instances in the domain.

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

The type and size of the EBS volume to attach to instances in the domain.

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

The type and size of the EBS volume to attach to instances in the domain.

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

The type and size of the EBS volume to attach to instances in the domain.

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

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

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

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

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

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

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

Option to set the time, in UTC format, for 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 the time, in UTC format, for the daily automated snapshot. * Default value is 0 hours.

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

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

*/ inline UpdateDomainConfigRequest& WithSnapshotOptions(SnapshotOptions&& value) { SetSnapshotOptions(std::move(value)); return *this;} /** *

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.

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

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

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.

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

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.

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

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.

*/ inline UpdateDomainConfigRequest& WithVPCOptions(const VPCOptions& value) { SetVPCOptions(value); return *this;} /** *

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.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to configure Amazon Cognito authentication for OpenSearch * Dashboards.

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

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline const Aws::Map& GetAdvancedOptions() const{ return m_advancedOptions; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

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

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

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

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

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

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& WithAdvancedOptions(const Aws::Map& value) { SetAdvancedOptions(value); return *this;} /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& WithAdvancedOptions(Aws::Map&& value) { SetAdvancedOptions(std::move(value)); return *this;} /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(const Aws::String& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, value); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(Aws::String&& key, const Aws::String& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(const Aws::String& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(Aws::String&& key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(const char* key, Aws::String&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(key, std::move(value)); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

*/ inline UpdateDomainConfigRequest& AddAdvancedOptions(Aws::String&& key, const char* value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.emplace(std::move(key), value); return *this; } /** *

Key-value pairs to specify advanced configuration options. The following * key-value pairs are supported:

  • * "rest.action.multi.allow_explicit_index": "true" | "false" - Note * the use of a string rather than a boolean. Specifies whether explicit references * to indexes are allowed inside the body of HTTP requests. If you want to * configure access policies for domain sub-resources, such as specific indexes and * domain APIs, you must disable this property. Default is true.

  • * "indices.fielddata.cache.size": "80" - Note the use of a string * rather than a boolean. Specifies the percentage of heap space allocated to field * data. Default is unbounded.

  • * "indices.query.bool.max_clause_count": "1024" - Note the use of a * string rather than a boolean. Specifies the maximum number of clauses allowed in * a Lucene boolean query. Default is 1,024. Queries with more than the permitted * number of clauses result in a TooManyClauses error.

*

For more information, see Advanced * cluster parameters.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Identity and Access Management (IAM) access policy as a JSON-formatted * string.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Options to publish OpenSearch logs to Amazon CloudWatch Logs.

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

Encryption at rest options for the domain.

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

Encryption at rest options for the domain.

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

Encryption at rest options for the domain.

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

Encryption at rest options for the domain.

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

Encryption at rest options for the domain.

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

Encryption at rest options for the domain.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Additional options for the domain endpoint, such as whether to require HTTPS * for all traffic.

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

Node-to-node encryption options for the domain.

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

Node-to-node encryption options for the domain.

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

Node-to-node encryption options for the domain.

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

Node-to-node encryption options for the domain.

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

Node-to-node encryption options for the domain.

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

Node-to-node encryption options for the domain.

*/ inline UpdateDomainConfigRequest& WithNodeToNodeEncryptionOptions(NodeToNodeEncryptionOptions&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); return *this;} /** *

Options for fine-grained access control.

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

Options for fine-grained access control.

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

Options for fine-grained access control.

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

Options for fine-grained access control.

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

Options for fine-grained access control.

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

Options for fine-grained access control.

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

Options for Auto-Tune.

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

Options for Auto-Tune.

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

Options for Auto-Tune.

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

Options for Auto-Tune.

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

Options for Auto-Tune.

*/ inline UpdateDomainConfigRequest& WithAutoTuneOptions(const AutoTuneOptions& value) { SetAutoTuneOptions(value); return *this;} /** *

Options for Auto-Tune.

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

This flag, when set to True, specifies whether the UpdateDomain * request should return the results of a dry run analysis without actually * applying the change. A dry run determines what type of deployment the update * will cause.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

This flag, when set to True, specifies whether the UpdateDomain * request should return the results of a dry run analysis without actually * applying the change. A dry run determines what type of deployment the update * will cause.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

This flag, when set to True, specifies whether the UpdateDomain * request should return the results of a dry run analysis without actually * applying the change. A dry run determines what type of deployment the update * will cause.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

This flag, when set to True, specifies whether the UpdateDomain * request should return the results of a dry run analysis without actually * applying the change. A dry run determines what type of deployment the update * will cause.

*/ inline UpdateDomainConfigRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline const DryRunMode& GetDryRunMode() const{ return m_dryRunMode; } /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline bool DryRunModeHasBeenSet() const { return m_dryRunModeHasBeenSet; } /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline void SetDryRunMode(const DryRunMode& value) { m_dryRunModeHasBeenSet = true; m_dryRunMode = value; } /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline void SetDryRunMode(DryRunMode&& value) { m_dryRunModeHasBeenSet = true; m_dryRunMode = std::move(value); } /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline UpdateDomainConfigRequest& WithDryRunMode(const DryRunMode& value) { SetDryRunMode(value); return *this;} /** *

The type of dry run to perform.

  • Basic only * returns the type of deployment (blue/green or dynamic) that the update will * cause.

  • Verbose runs an additional check to * validate the changes you're making. For more information, see Validating * a domain update.

*/ inline UpdateDomainConfigRequest& WithDryRunMode(DryRunMode&& value) { SetDryRunMode(std::move(value)); return *this;} /** *

Off-peak window options for the domain.

*/ inline const OffPeakWindowOptions& GetOffPeakWindowOptions() const{ return m_offPeakWindowOptions; } /** *

Off-peak window options for the domain.

*/ inline bool OffPeakWindowOptionsHasBeenSet() const { return m_offPeakWindowOptionsHasBeenSet; } /** *

Off-peak window options for the domain.

*/ inline void SetOffPeakWindowOptions(const OffPeakWindowOptions& value) { m_offPeakWindowOptionsHasBeenSet = true; m_offPeakWindowOptions = value; } /** *

Off-peak window options for the domain.

*/ inline void SetOffPeakWindowOptions(OffPeakWindowOptions&& value) { m_offPeakWindowOptionsHasBeenSet = true; m_offPeakWindowOptions = std::move(value); } /** *

Off-peak window options for the domain.

*/ inline UpdateDomainConfigRequest& WithOffPeakWindowOptions(const OffPeakWindowOptions& value) { SetOffPeakWindowOptions(value); return *this;} /** *

Off-peak window options for the domain.

*/ inline UpdateDomainConfigRequest& WithOffPeakWindowOptions(OffPeakWindowOptions&& value) { SetOffPeakWindowOptions(std::move(value)); return *this;} /** *

Service software update options for the domain.

*/ inline const SoftwareUpdateOptions& GetSoftwareUpdateOptions() const{ return m_softwareUpdateOptions; } /** *

Service software update options for the domain.

*/ inline bool SoftwareUpdateOptionsHasBeenSet() const { return m_softwareUpdateOptionsHasBeenSet; } /** *

Service software update options for the domain.

*/ inline void SetSoftwareUpdateOptions(const SoftwareUpdateOptions& value) { m_softwareUpdateOptionsHasBeenSet = true; m_softwareUpdateOptions = value; } /** *

Service software update options for the domain.

*/ inline void SetSoftwareUpdateOptions(SoftwareUpdateOptions&& value) { m_softwareUpdateOptionsHasBeenSet = true; m_softwareUpdateOptions = std::move(value); } /** *

Service software update options for the domain.

*/ inline UpdateDomainConfigRequest& WithSoftwareUpdateOptions(const SoftwareUpdateOptions& value) { SetSoftwareUpdateOptions(value); return *this;} /** *

Service software update options for the domain.

*/ inline UpdateDomainConfigRequest& WithSoftwareUpdateOptions(SoftwareUpdateOptions&& value) { SetSoftwareUpdateOptions(std::move(value)); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; ClusterConfig m_clusterConfig; bool m_clusterConfigHasBeenSet = false; EBSOptions m_eBSOptions; bool m_eBSOptionsHasBeenSet = false; SnapshotOptions m_snapshotOptions; bool m_snapshotOptionsHasBeenSet = false; VPCOptions m_vPCOptions; bool m_vPCOptionsHasBeenSet = false; CognitoOptions m_cognitoOptions; bool m_cognitoOptionsHasBeenSet = false; Aws::Map m_advancedOptions; bool m_advancedOptionsHasBeenSet = false; Aws::String m_accessPolicies; bool m_accessPoliciesHasBeenSet = false; Aws::Map m_logPublishingOptions; bool m_logPublishingOptionsHasBeenSet = false; EncryptionAtRestOptions m_encryptionAtRestOptions; bool m_encryptionAtRestOptionsHasBeenSet = false; DomainEndpointOptions m_domainEndpointOptions; bool m_domainEndpointOptionsHasBeenSet = false; NodeToNodeEncryptionOptions m_nodeToNodeEncryptionOptions; bool m_nodeToNodeEncryptionOptionsHasBeenSet = false; AdvancedSecurityOptionsInput m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; AutoTuneOptions m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; DryRunMode m_dryRunMode; bool m_dryRunModeHasBeenSet = false; OffPeakWindowOptions m_offPeakWindowOptions; bool m_offPeakWindowOptionsHasBeenSet = false; SoftwareUpdateOptions m_softwareUpdateOptions; bool m_softwareUpdateOptionsHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws