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

Information about an Availability Zone on a domain.

See Also:

* AWS * API Reference

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

The name of the Availability Zone.

*/ inline const Aws::String& GetAvailabilityZoneName() const{ return m_availabilityZoneName; } /** *

The name of the Availability Zone.

*/ inline bool AvailabilityZoneNameHasBeenSet() const { return m_availabilityZoneNameHasBeenSet; } /** *

The name of the Availability Zone.

*/ inline void SetAvailabilityZoneName(const Aws::String& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = value; } /** *

The name of the Availability Zone.

*/ inline void SetAvailabilityZoneName(Aws::String&& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = std::move(value); } /** *

The name of the Availability Zone.

*/ inline void SetAvailabilityZoneName(const char* value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName.assign(value); } /** *

The name of the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailabilityZoneName(const Aws::String& value) { SetAvailabilityZoneName(value); return *this;} /** *

The name of the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailabilityZoneName(Aws::String&& value) { SetAvailabilityZoneName(std::move(value)); return *this;} /** *

The name of the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailabilityZoneName(const char* value) { SetAvailabilityZoneName(value); return *this;} /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline const ZoneStatus& GetZoneStatus() const{ return m_zoneStatus; } /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline bool ZoneStatusHasBeenSet() const { return m_zoneStatusHasBeenSet; } /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline void SetZoneStatus(const ZoneStatus& value) { m_zoneStatusHasBeenSet = true; m_zoneStatus = value; } /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline void SetZoneStatus(ZoneStatus&& value) { m_zoneStatusHasBeenSet = true; m_zoneStatus = std::move(value); } /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline AvailabilityZoneInfo& WithZoneStatus(const ZoneStatus& value) { SetZoneStatus(value); return *this;} /** *

The current state of the Availability Zone. Current options are * Active and StandBy.

  • * Active - Data nodes in the Availability Zone are in use.

  • *
  • StandBy - Data nodes in the Availability Zone are in a * standby state.

  • NotAvailable - Unable to retrieve * information.

*/ inline AvailabilityZoneInfo& WithZoneStatus(ZoneStatus&& value) { SetZoneStatus(std::move(value)); return *this;} /** *

The total number of data nodes configured in the Availability Zone.

*/ inline const Aws::String& GetConfiguredDataNodeCount() const{ return m_configuredDataNodeCount; } /** *

The total number of data nodes configured in the Availability Zone.

*/ inline bool ConfiguredDataNodeCountHasBeenSet() const { return m_configuredDataNodeCountHasBeenSet; } /** *

The total number of data nodes configured in the Availability Zone.

*/ inline void SetConfiguredDataNodeCount(const Aws::String& value) { m_configuredDataNodeCountHasBeenSet = true; m_configuredDataNodeCount = value; } /** *

The total number of data nodes configured in the Availability Zone.

*/ inline void SetConfiguredDataNodeCount(Aws::String&& value) { m_configuredDataNodeCountHasBeenSet = true; m_configuredDataNodeCount = std::move(value); } /** *

The total number of data nodes configured in the Availability Zone.

*/ inline void SetConfiguredDataNodeCount(const char* value) { m_configuredDataNodeCountHasBeenSet = true; m_configuredDataNodeCount.assign(value); } /** *

The total number of data nodes configured in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithConfiguredDataNodeCount(const Aws::String& value) { SetConfiguredDataNodeCount(value); return *this;} /** *

The total number of data nodes configured in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithConfiguredDataNodeCount(Aws::String&& value) { SetConfiguredDataNodeCount(std::move(value)); return *this;} /** *

The total number of data nodes configured in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithConfiguredDataNodeCount(const char* value) { SetConfiguredDataNodeCount(value); return *this;} /** *

The number of data nodes active in the Availability Zone.

*/ inline const Aws::String& GetAvailableDataNodeCount() const{ return m_availableDataNodeCount; } /** *

The number of data nodes active in the Availability Zone.

*/ inline bool AvailableDataNodeCountHasBeenSet() const { return m_availableDataNodeCountHasBeenSet; } /** *

The number of data nodes active in the Availability Zone.

*/ inline void SetAvailableDataNodeCount(const Aws::String& value) { m_availableDataNodeCountHasBeenSet = true; m_availableDataNodeCount = value; } /** *

The number of data nodes active in the Availability Zone.

*/ inline void SetAvailableDataNodeCount(Aws::String&& value) { m_availableDataNodeCountHasBeenSet = true; m_availableDataNodeCount = std::move(value); } /** *

The number of data nodes active in the Availability Zone.

*/ inline void SetAvailableDataNodeCount(const char* value) { m_availableDataNodeCountHasBeenSet = true; m_availableDataNodeCount.assign(value); } /** *

The number of data nodes active in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailableDataNodeCount(const Aws::String& value) { SetAvailableDataNodeCount(value); return *this;} /** *

The number of data nodes active in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailableDataNodeCount(Aws::String&& value) { SetAvailableDataNodeCount(std::move(value)); return *this;} /** *

The number of data nodes active in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithAvailableDataNodeCount(const char* value) { SetAvailableDataNodeCount(value); return *this;} /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline const Aws::String& GetTotalShards() const{ return m_totalShards; } /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline bool TotalShardsHasBeenSet() const { return m_totalShardsHasBeenSet; } /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline void SetTotalShards(const Aws::String& value) { m_totalShardsHasBeenSet = true; m_totalShards = value; } /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline void SetTotalShards(Aws::String&& value) { m_totalShardsHasBeenSet = true; m_totalShards = std::move(value); } /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline void SetTotalShards(const char* value) { m_totalShardsHasBeenSet = true; m_totalShards.assign(value); } /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalShards(const Aws::String& value) { SetTotalShards(value); return *this;} /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalShards(Aws::String&& value) { SetTotalShards(std::move(value)); return *this;} /** *

The total number of primary and replica shards in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalShards(const char* value) { SetTotalShards(value); return *this;} /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline const Aws::String& GetTotalUnAssignedShards() const{ return m_totalUnAssignedShards; } /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline bool TotalUnAssignedShardsHasBeenSet() const { return m_totalUnAssignedShardsHasBeenSet; } /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline void SetTotalUnAssignedShards(const Aws::String& value) { m_totalUnAssignedShardsHasBeenSet = true; m_totalUnAssignedShards = value; } /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline void SetTotalUnAssignedShards(Aws::String&& value) { m_totalUnAssignedShardsHasBeenSet = true; m_totalUnAssignedShards = std::move(value); } /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline void SetTotalUnAssignedShards(const char* value) { m_totalUnAssignedShardsHasBeenSet = true; m_totalUnAssignedShards.assign(value); } /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalUnAssignedShards(const Aws::String& value) { SetTotalUnAssignedShards(value); return *this;} /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalUnAssignedShards(Aws::String&& value) { SetTotalUnAssignedShards(std::move(value)); return *this;} /** *

The total number of primary and replica shards that aren't allocated to any * of the nodes in the Availability Zone.

*/ inline AvailabilityZoneInfo& WithTotalUnAssignedShards(const char* value) { SetTotalUnAssignedShards(value); return *this;} private: Aws::String m_availabilityZoneName; bool m_availabilityZoneNameHasBeenSet = false; ZoneStatus m_zoneStatus; bool m_zoneStatusHasBeenSet = false; Aws::String m_configuredDataNodeCount; bool m_configuredDataNodeCountHasBeenSet = false; Aws::String m_availableDataNodeCount; bool m_availableDataNodeCountHasBeenSet = false; Aws::String m_totalShards; bool m_totalShardsHasBeenSet = false; Aws::String m_totalUnAssignedShards; bool m_totalUnAssignedShardsHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws