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

The node group update configuration.

See Also:

AWS * API Reference

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

The maximum number of nodes unavailable at once during a version update. * Nodes will be updated in parallel. This value or * maxUnavailablePercentage is required to have a value.The maximum * number is 100.

*/ inline int GetMaxUnavailable() const{ return m_maxUnavailable; } /** *

The maximum number of nodes unavailable at once during a version update. * Nodes will be updated in parallel. This value or * maxUnavailablePercentage is required to have a value.The maximum * number is 100.

*/ inline bool MaxUnavailableHasBeenSet() const { return m_maxUnavailableHasBeenSet; } /** *

The maximum number of nodes unavailable at once during a version update. * Nodes will be updated in parallel. This value or * maxUnavailablePercentage is required to have a value.The maximum * number is 100.

*/ inline void SetMaxUnavailable(int value) { m_maxUnavailableHasBeenSet = true; m_maxUnavailable = value; } /** *

The maximum number of nodes unavailable at once during a version update. * Nodes will be updated in parallel. This value or * maxUnavailablePercentage is required to have a value.The maximum * number is 100.

*/ inline NodegroupUpdateConfig& WithMaxUnavailable(int value) { SetMaxUnavailable(value); return *this;} /** *

The maximum percentage of nodes unavailable during a version update. This * percentage of nodes will be updated in parallel, up to 100 nodes at once. This * value or maxUnavailable is required to have a value.

*/ inline int GetMaxUnavailablePercentage() const{ return m_maxUnavailablePercentage; } /** *

The maximum percentage of nodes unavailable during a version update. This * percentage of nodes will be updated in parallel, up to 100 nodes at once. This * value or maxUnavailable is required to have a value.

*/ inline bool MaxUnavailablePercentageHasBeenSet() const { return m_maxUnavailablePercentageHasBeenSet; } /** *

The maximum percentage of nodes unavailable during a version update. This * percentage of nodes will be updated in parallel, up to 100 nodes at once. This * value or maxUnavailable is required to have a value.

*/ inline void SetMaxUnavailablePercentage(int value) { m_maxUnavailablePercentageHasBeenSet = true; m_maxUnavailablePercentage = value; } /** *

The maximum percentage of nodes unavailable during a version update. This * percentage of nodes will be updated in parallel, up to 100 nodes at once. This * value or maxUnavailable is required to have a value.

*/ inline NodegroupUpdateConfig& WithMaxUnavailablePercentage(int value) { SetMaxUnavailablePercentage(value); return *this;} private: int m_maxUnavailable; bool m_maxUnavailableHasBeenSet = false; int m_maxUnavailablePercentage; bool m_maxUnavailablePercentageHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws