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

Specifies the zone awareness configuration for the domain cluster, such as * the number of availability zones.

See Also:

AWS * API Reference

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

An integer value to indicate the number of availability zones for a domain * when zone awareness is enabled. This should be equal to number of subnets if VPC * endpoints is enabled

*/ inline int GetAvailabilityZoneCount() const{ return m_availabilityZoneCount; } /** *

An integer value to indicate the number of availability zones for a domain * when zone awareness is enabled. This should be equal to number of subnets if VPC * endpoints is enabled

*/ inline bool AvailabilityZoneCountHasBeenSet() const { return m_availabilityZoneCountHasBeenSet; } /** *

An integer value to indicate the number of availability zones for a domain * when zone awareness is enabled. This should be equal to number of subnets if VPC * endpoints is enabled

*/ inline void SetAvailabilityZoneCount(int value) { m_availabilityZoneCountHasBeenSet = true; m_availabilityZoneCount = value; } /** *

An integer value to indicate the number of availability zones for a domain * when zone awareness is enabled. This should be equal to number of subnets if VPC * endpoints is enabled

*/ inline ZoneAwarenessConfig& WithAvailabilityZoneCount(int value) { SetAvailabilityZoneCount(value); return *this;} private: int m_availabilityZoneCount; bool m_availabilityZoneCountHasBeenSet = false; }; } // namespace Model } // namespace ElasticsearchService } // namespace Aws