/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An automatic scaling configuration, which describes how the policy adds or
* removes instances, the cooldown period, and the number of EC2 instances that
* will be added each time the CloudWatch metric alarm condition is
* satisfied.See Also:
AWS
* API Reference
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The way in which EC2 instances are added (if ScalingAdjustment
* is a positive number) or terminated (if ScalingAdjustment is a
* negative number) each time the scaling activity is triggered.
* CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
* indicates that the EC2 instance count increments or decrements by
* ScalingAdjustment, which should be expressed as an integer.
* PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments
* or decrements by the percentage specified by ScalingAdjustment,
* which should be expressed as an integer. For example, 20 indicates an increase
* in 20% increments of cluster capacity. EXACT_CAPACITY indicates the
* scaling activity results in an instance group with the number of EC2 instances
* specified by ScalingAdjustment, which should be expressed as a
* positive integer.
The amount by which to scale in or scale out, based on the specified
* AdjustmentType. A positive value adds to the instance group's EC2
* instance count while a negative number removes instances. If
* AdjustmentType is set to EXACT_CAPACITY, the number
* should only be a positive integer. If AdjustmentType is set to
* PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage
* as an integer. For example, -20 indicates a decrease in 20% increments of
* cluster capacity.
The amount by which to scale in or scale out, based on the specified
* AdjustmentType. A positive value adds to the instance group's EC2
* instance count while a negative number removes instances. If
* AdjustmentType is set to EXACT_CAPACITY, the number
* should only be a positive integer. If AdjustmentType is set to
* PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage
* as an integer. For example, -20 indicates a decrease in 20% increments of
* cluster capacity.
The amount by which to scale in or scale out, based on the specified
* AdjustmentType. A positive value adds to the instance group's EC2
* instance count while a negative number removes instances. If
* AdjustmentType is set to EXACT_CAPACITY, the number
* should only be a positive integer. If AdjustmentType is set to
* PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage
* as an integer. For example, -20 indicates a decrease in 20% increments of
* cluster capacity.
The amount by which to scale in or scale out, based on the specified
* AdjustmentType. A positive value adds to the instance group's EC2
* instance count while a negative number removes instances. If
* AdjustmentType is set to EXACT_CAPACITY, the number
* should only be a positive integer. If AdjustmentType is set to
* PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage
* as an integer. For example, -20 indicates a decrease in 20% increments of
* cluster capacity.
The amount of time, in seconds, after a scaling activity completes before any * further trigger-related scaling activities can start. The default value is * 0.
*/ inline int GetCoolDown() const{ return m_coolDown; } /** *The amount of time, in seconds, after a scaling activity completes before any * further trigger-related scaling activities can start. The default value is * 0.
*/ inline bool CoolDownHasBeenSet() const { return m_coolDownHasBeenSet; } /** *The amount of time, in seconds, after a scaling activity completes before any * further trigger-related scaling activities can start. The default value is * 0.
*/ inline void SetCoolDown(int value) { m_coolDownHasBeenSet = true; m_coolDown = value; } /** *The amount of time, in seconds, after a scaling activity completes before any * further trigger-related scaling activities can start. The default value is * 0.
*/ inline SimpleScalingPolicyConfiguration& WithCoolDown(int value) { SetCoolDown(value); return *this;} private: AdjustmentType m_adjustmentType; bool m_adjustmentTypeHasBeenSet; int m_scalingAdjustment; bool m_scalingAdjustmentHasBeenSet; int m_coolDown; bool m_coolDownHasBeenSet; }; } // namespace Model } // namespace EMR } // namespace Aws