/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

details about the configuration of an OpenSearch cluster.

See * Also:

AWS * API Reference

*/ class AwsElasticsearchDomainElasticsearchClusterConfigDetails { public: AWS_SECURITYHUB_API AwsElasticsearchDomainElasticsearchClusterConfigDetails(); AWS_SECURITYHUB_API AwsElasticsearchDomainElasticsearchClusterConfigDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsElasticsearchDomainElasticsearchClusterConfigDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The number of instances to use for the master node. If this attribute is * specified, then DedicatedMasterEnabled must be * true.

*/ inline int GetDedicatedMasterCount() const{ return m_dedicatedMasterCount; } /** *

The number of instances to use for the master node. If this attribute is * specified, then DedicatedMasterEnabled must be * true.

*/ inline bool DedicatedMasterCountHasBeenSet() const { return m_dedicatedMasterCountHasBeenSet; } /** *

The number of instances to use for the master node. If this attribute is * specified, then DedicatedMasterEnabled must be * true.

*/ inline void SetDedicatedMasterCount(int value) { m_dedicatedMasterCountHasBeenSet = true; m_dedicatedMasterCount = value; } /** *

The number of instances to use for the master node. If this attribute is * specified, then DedicatedMasterEnabled must be * true.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterCount(int value) { SetDedicatedMasterCount(value); return *this;} /** *

Whether to use a dedicated master node for the Elasticsearch domain. A * dedicated master node performs cluster management tasks, but doesn't hold data * or respond to data upload requests.

*/ inline bool GetDedicatedMasterEnabled() const{ return m_dedicatedMasterEnabled; } /** *

Whether to use a dedicated master node for the Elasticsearch domain. A * dedicated master node performs cluster management tasks, but doesn't hold data * or respond to data upload requests.

*/ inline bool DedicatedMasterEnabledHasBeenSet() const { return m_dedicatedMasterEnabledHasBeenSet; } /** *

Whether to use a dedicated master node for the Elasticsearch domain. A * dedicated master node performs cluster management tasks, but doesn't hold data * or respond to data upload requests.

*/ inline void SetDedicatedMasterEnabled(bool value) { m_dedicatedMasterEnabledHasBeenSet = true; m_dedicatedMasterEnabled = value; } /** *

Whether to use a dedicated master node for the Elasticsearch domain. A * dedicated master node performs cluster management tasks, but doesn't hold data * or respond to data upload requests.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterEnabled(bool value) { SetDedicatedMasterEnabled(value); return *this;} /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline const Aws::String& GetDedicatedMasterType() const{ return m_dedicatedMasterType; } /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline bool DedicatedMasterTypeHasBeenSet() const { return m_dedicatedMasterTypeHasBeenSet; } /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetDedicatedMasterType(const Aws::String& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = value; } /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetDedicatedMasterType(Aws::String&& value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType = std::move(value); } /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetDedicatedMasterType(const char* value) { m_dedicatedMasterTypeHasBeenSet = true; m_dedicatedMasterType.assign(value); } /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(const Aws::String& value) { SetDedicatedMasterType(value); return *this;} /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(Aws::String&& value) { SetDedicatedMasterType(std::move(value)); return *this;} /** *

The hardware configuration of the computer that hosts the dedicated master * node. A sample value is m3.medium.elasticsearch. If this attribute * is specified, then DedicatedMasterEnabled must be * true.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithDedicatedMasterType(const char* value) { SetDedicatedMasterType(value); return *this;} /** *

The number of data nodes to use in the Elasticsearch domain.

*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *

The number of data nodes to use in the Elasticsearch domain.

*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *

The number of data nodes to use in the Elasticsearch domain.

*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *

The number of data nodes to use in the Elasticsearch domain.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The instance type for your data nodes. For example, * m3.medium.elasticsearch.

For a list of valid values, see Supported * instance types in Amazon OpenSearch Service in the Amazon OpenSearch * Service Developer Guide.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& GetZoneAwarenessConfig() const{ return m_zoneAwarenessConfig; } /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline bool ZoneAwarenessConfigHasBeenSet() const { return m_zoneAwarenessConfigHasBeenSet; } /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline void SetZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = value; } /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline void SetZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails&& value) { m_zoneAwarenessConfigHasBeenSet = true; m_zoneAwarenessConfig = std::move(value); } /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessConfig(const AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails& value) { SetZoneAwarenessConfig(value); return *this;} /** *

Configuration options for zone awareness. Provided if * ZoneAwarenessEnabled is true.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessConfig(AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails&& value) { SetZoneAwarenessConfig(std::move(value)); return *this;} /** *

Whether to enable zone awareness for the Elasticsearch domain. When zone * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index * shards across Availability Zones in the same Region. This prevents data loss and * minimizes downtime if a node or data center fails.

*/ inline bool GetZoneAwarenessEnabled() const{ return m_zoneAwarenessEnabled; } /** *

Whether to enable zone awareness for the Elasticsearch domain. When zone * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index * shards across Availability Zones in the same Region. This prevents data loss and * minimizes downtime if a node or data center fails.

*/ inline bool ZoneAwarenessEnabledHasBeenSet() const { return m_zoneAwarenessEnabledHasBeenSet; } /** *

Whether to enable zone awareness for the Elasticsearch domain. When zone * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index * shards across Availability Zones in the same Region. This prevents data loss and * minimizes downtime if a node or data center fails.

*/ inline void SetZoneAwarenessEnabled(bool value) { m_zoneAwarenessEnabledHasBeenSet = true; m_zoneAwarenessEnabled = value; } /** *

Whether to enable zone awareness for the Elasticsearch domain. When zone * awareness is enabled, OpenSearch allocates the cluster's nodes and replica index * shards across Availability Zones in the same Region. This prevents data loss and * minimizes downtime if a node or data center fails.

*/ inline AwsElasticsearchDomainElasticsearchClusterConfigDetails& WithZoneAwarenessEnabled(bool value) { SetZoneAwarenessEnabled(value); return *this;} private: int m_dedicatedMasterCount; bool m_dedicatedMasterCountHasBeenSet = false; bool m_dedicatedMasterEnabled; bool m_dedicatedMasterEnabledHasBeenSet = false; Aws::String m_dedicatedMasterType; bool m_dedicatedMasterTypeHasBeenSet = false; int m_instanceCount; bool m_instanceCountHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails m_zoneAwarenessConfig; bool m_zoneAwarenessConfigHasBeenSet = false; bool m_zoneAwarenessEnabled; bool m_zoneAwarenessEnabledHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws