/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration based on which FinSpace will scale in or scale out nodes in
* your cluster. See Also:
AWS
* API Reference
The lowest number of nodes to scale. This value must be at least 1 and less
* than the maxNodeCount
. If the nodes in a cluster belong to multiple
* availability zones, then minNodeCount
must be at least 3.
The lowest number of nodes to scale. This value must be at least 1 and less
* than the maxNodeCount
. If the nodes in a cluster belong to multiple
* availability zones, then minNodeCount
must be at least 3.
The lowest number of nodes to scale. This value must be at least 1 and less
* than the maxNodeCount
. If the nodes in a cluster belong to multiple
* availability zones, then minNodeCount
must be at least 3.
The lowest number of nodes to scale. This value must be at least 1 and less
* than the maxNodeCount
. If the nodes in a cluster belong to multiple
* availability zones, then minNodeCount
must be at least 3.
The highest number of nodes to scale. This value cannot be greater than * 5.
*/ inline int GetMaxNodeCount() const{ return m_maxNodeCount; } /** *The highest number of nodes to scale. This value cannot be greater than * 5.
*/ inline bool MaxNodeCountHasBeenSet() const { return m_maxNodeCountHasBeenSet; } /** *The highest number of nodes to scale. This value cannot be greater than * 5.
*/ inline void SetMaxNodeCount(int value) { m_maxNodeCountHasBeenSet = true; m_maxNodeCount = value; } /** *The highest number of nodes to scale. This value cannot be greater than * 5.
*/ inline AutoScalingConfiguration& WithMaxNodeCount(int value) { SetMaxNodeCount(value); return *this;} /** * The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The metric your cluster will track in order to scale in and out. For
* example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across
* all the nodes in a cluster.
The desired value of the chosen autoScalingMetric
. When the
* metric drops below this value, the cluster will scale in. When the metric goes
* above this value, the cluster will scale out. You can set the target value
* between 1 and 100 percent.
The desired value of the chosen autoScalingMetric
. When the
* metric drops below this value, the cluster will scale in. When the metric goes
* above this value, the cluster will scale out. You can set the target value
* between 1 and 100 percent.
The desired value of the chosen autoScalingMetric
. When the
* metric drops below this value, the cluster will scale in. When the metric goes
* above this value, the cluster will scale out. You can set the target value
* between 1 and 100 percent.
The desired value of the chosen autoScalingMetric
. When the
* metric drops below this value, the cluster will scale in. When the metric goes
* above this value, the cluster will scale out. You can set the target value
* between 1 and 100 percent.
The duration in seconds that FinSpace will wait after a scale in event before * initiating another scaling event.
*/ inline double GetScaleInCooldownSeconds() const{ return m_scaleInCooldownSeconds; } /** *The duration in seconds that FinSpace will wait after a scale in event before * initiating another scaling event.
*/ inline bool ScaleInCooldownSecondsHasBeenSet() const { return m_scaleInCooldownSecondsHasBeenSet; } /** *The duration in seconds that FinSpace will wait after a scale in event before * initiating another scaling event.
*/ inline void SetScaleInCooldownSeconds(double value) { m_scaleInCooldownSecondsHasBeenSet = true; m_scaleInCooldownSeconds = value; } /** *The duration in seconds that FinSpace will wait after a scale in event before * initiating another scaling event.
*/ inline AutoScalingConfiguration& WithScaleInCooldownSeconds(double value) { SetScaleInCooldownSeconds(value); return *this;} /** *The duration in seconds that FinSpace will wait after a scale out event * before initiating another scaling event.
*/ inline double GetScaleOutCooldownSeconds() const{ return m_scaleOutCooldownSeconds; } /** *The duration in seconds that FinSpace will wait after a scale out event * before initiating another scaling event.
*/ inline bool ScaleOutCooldownSecondsHasBeenSet() const { return m_scaleOutCooldownSecondsHasBeenSet; } /** *The duration in seconds that FinSpace will wait after a scale out event * before initiating another scaling event.
*/ inline void SetScaleOutCooldownSeconds(double value) { m_scaleOutCooldownSecondsHasBeenSet = true; m_scaleOutCooldownSeconds = value; } /** *The duration in seconds that FinSpace will wait after a scale out event * before initiating another scaling event.
*/ inline AutoScalingConfiguration& WithScaleOutCooldownSeconds(double value) { SetScaleOutCooldownSeconds(value); return *this;} private: int m_minNodeCount; bool m_minNodeCountHasBeenSet = false; int m_maxNodeCount; bool m_maxNodeCountHasBeenSet = false; AutoScalingMetric m_autoScalingMetric; bool m_autoScalingMetricHasBeenSet = false; double m_metricTarget; bool m_metricTargetHasBeenSet = false; double m_scaleInCooldownSeconds; bool m_scaleInCooldownSecondsHasBeenSet = false; double m_scaleOutCooldownSeconds; bool m_scaleOutCooldownSecondsHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws