/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the preferences for an instance refresh.See Also:
* AWS
* API Reference
The amount of capacity in the Auto Scaling group that must pass your group's
* health checks to allow the operation to continue. The value is expressed as a
* percentage of the desired capacity of the Auto Scaling group (rounded up to the
* nearest integer). The default is 90
.
Setting the minimum * healthy percentage to 100 percent limits the rate of replacement to one instance * at a time. In contrast, setting it to 0 percent has the effect of replacing all * instances at the same time.
*/ inline int GetMinHealthyPercentage() const{ return m_minHealthyPercentage; } /** *The amount of capacity in the Auto Scaling group that must pass your group's
* health checks to allow the operation to continue. The value is expressed as a
* percentage of the desired capacity of the Auto Scaling group (rounded up to the
* nearest integer). The default is 90
.
Setting the minimum * healthy percentage to 100 percent limits the rate of replacement to one instance * at a time. In contrast, setting it to 0 percent has the effect of replacing all * instances at the same time.
*/ inline bool MinHealthyPercentageHasBeenSet() const { return m_minHealthyPercentageHasBeenSet; } /** *The amount of capacity in the Auto Scaling group that must pass your group's
* health checks to allow the operation to continue. The value is expressed as a
* percentage of the desired capacity of the Auto Scaling group (rounded up to the
* nearest integer). The default is 90
.
Setting the minimum * healthy percentage to 100 percent limits the rate of replacement to one instance * at a time. In contrast, setting it to 0 percent has the effect of replacing all * instances at the same time.
*/ inline void SetMinHealthyPercentage(int value) { m_minHealthyPercentageHasBeenSet = true; m_minHealthyPercentage = value; } /** *The amount of capacity in the Auto Scaling group that must pass your group's
* health checks to allow the operation to continue. The value is expressed as a
* percentage of the desired capacity of the Auto Scaling group (rounded up to the
* nearest integer). The default is 90
.
Setting the minimum * healthy percentage to 100 percent limits the rate of replacement to one instance * at a time. In contrast, setting it to 0 percent has the effect of replacing all * instances at the same time.
*/ inline RefreshPreferences& WithMinHealthyPercentage(int value) { SetMinHealthyPercentage(value); return *this;} /** *A time period, in seconds, during which an instance refresh waits before
* moving on to replacing the next instance after a new instance enters the
* InService
state.
This property is not required for normal
* usage. Instead, use the DefaultInstanceWarmup
property of the Auto
* Scaling group. The InstanceWarmup
and
* DefaultInstanceWarmup
properties work the same way. Only specify
* this property if you must override the DefaultInstanceWarmup
* property.
If you do not specify this property, the instance warmup by
* default is the value of the DefaultInstanceWarmup
property, if
* defined (which is recommended in all cases), or the
* HealthCheckGracePeriod
property otherwise.
A time period, in seconds, during which an instance refresh waits before
* moving on to replacing the next instance after a new instance enters the
* InService
state.
This property is not required for normal
* usage. Instead, use the DefaultInstanceWarmup
property of the Auto
* Scaling group. The InstanceWarmup
and
* DefaultInstanceWarmup
properties work the same way. Only specify
* this property if you must override the DefaultInstanceWarmup
* property.
If you do not specify this property, the instance warmup by
* default is the value of the DefaultInstanceWarmup
property, if
* defined (which is recommended in all cases), or the
* HealthCheckGracePeriod
property otherwise.
A time period, in seconds, during which an instance refresh waits before
* moving on to replacing the next instance after a new instance enters the
* InService
state.
This property is not required for normal
* usage. Instead, use the DefaultInstanceWarmup
property of the Auto
* Scaling group. The InstanceWarmup
and
* DefaultInstanceWarmup
properties work the same way. Only specify
* this property if you must override the DefaultInstanceWarmup
* property.
If you do not specify this property, the instance warmup by
* default is the value of the DefaultInstanceWarmup
property, if
* defined (which is recommended in all cases), or the
* HealthCheckGracePeriod
property otherwise.
A time period, in seconds, during which an instance refresh waits before
* moving on to replacing the next instance after a new instance enters the
* InService
state.
This property is not required for normal
* usage. Instead, use the DefaultInstanceWarmup
property of the Auto
* Scaling group. The InstanceWarmup
and
* DefaultInstanceWarmup
properties work the same way. Only specify
* this property if you must override the DefaultInstanceWarmup
* property.
If you do not specify this property, the instance warmup by
* default is the value of the DefaultInstanceWarmup
property, if
* defined (which is recommended in all cases), or the
* HealthCheckGracePeriod
property otherwise.
(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline const Aws::Vector(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline bool CheckpointPercentagesHasBeenSet() const { return m_checkpointPercentagesHasBeenSet; } /** *(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline void SetCheckpointPercentages(const Aws::Vector(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline void SetCheckpointPercentages(Aws::Vector(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline RefreshPreferences& WithCheckpointPercentages(const Aws::Vector(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline RefreshPreferences& WithCheckpointPercentages(Aws::Vector(Optional) Threshold values for each checkpoint in ascending order. Each
* number must be unique. To replace all instances in the Auto Scaling group, the
* last number in the array must be 100
.
For usage examples, * see Adding * checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User * Guide.
*/ inline RefreshPreferences& AddCheckpointPercentages(int value) { m_checkpointPercentagesHasBeenSet = true; m_checkpointPercentages.push_back(value); return *this; } /** *(Optional) The amount of time, in seconds, to wait after a checkpoint before
* continuing. This property is optional, but if you specify a value for it, you
* must also specify a value for CheckpointPercentages
. If you specify
* a value for CheckpointPercentages
and not for
* CheckpointDelay
, the CheckpointDelay
defaults to
* 3600
(1 hour).
(Optional) The amount of time, in seconds, to wait after a checkpoint before
* continuing. This property is optional, but if you specify a value for it, you
* must also specify a value for CheckpointPercentages
. If you specify
* a value for CheckpointPercentages
and not for
* CheckpointDelay
, the CheckpointDelay
defaults to
* 3600
(1 hour).
(Optional) The amount of time, in seconds, to wait after a checkpoint before
* continuing. This property is optional, but if you specify a value for it, you
* must also specify a value for CheckpointPercentages
. If you specify
* a value for CheckpointPercentages
and not for
* CheckpointDelay
, the CheckpointDelay
defaults to
* 3600
(1 hour).
(Optional) The amount of time, in seconds, to wait after a checkpoint before
* continuing. This property is optional, but if you specify a value for it, you
* must also specify a value for CheckpointPercentages
. If you specify
* a value for CheckpointPercentages
and not for
* CheckpointDelay
, the CheckpointDelay
defaults to
* 3600
(1 hour).
(Optional) Indicates whether skip matching is enabled. If enabled
* (true
), then Amazon EC2 Auto Scaling skips replacing instances that
* match the desired configuration. If no desired configuration is specified, then
* it skips replacing instances that have the same launch template and instance
* types that the Auto Scaling group was using before the start of the instance
* refresh. The default is false
.
For more information, see Use * an instance refresh with skip matching in the Amazon EC2 Auto Scaling * User Guide.
*/ inline bool GetSkipMatching() const{ return m_skipMatching; } /** *(Optional) Indicates whether skip matching is enabled. If enabled
* (true
), then Amazon EC2 Auto Scaling skips replacing instances that
* match the desired configuration. If no desired configuration is specified, then
* it skips replacing instances that have the same launch template and instance
* types that the Auto Scaling group was using before the start of the instance
* refresh. The default is false
.
For more information, see Use * an instance refresh with skip matching in the Amazon EC2 Auto Scaling * User Guide.
*/ inline bool SkipMatchingHasBeenSet() const { return m_skipMatchingHasBeenSet; } /** *(Optional) Indicates whether skip matching is enabled. If enabled
* (true
), then Amazon EC2 Auto Scaling skips replacing instances that
* match the desired configuration. If no desired configuration is specified, then
* it skips replacing instances that have the same launch template and instance
* types that the Auto Scaling group was using before the start of the instance
* refresh. The default is false
.
For more information, see Use * an instance refresh with skip matching in the Amazon EC2 Auto Scaling * User Guide.
*/ inline void SetSkipMatching(bool value) { m_skipMatchingHasBeenSet = true; m_skipMatching = value; } /** *(Optional) Indicates whether skip matching is enabled. If enabled
* (true
), then Amazon EC2 Auto Scaling skips replacing instances that
* match the desired configuration. If no desired configuration is specified, then
* it skips replacing instances that have the same launch template and instance
* types that the Auto Scaling group was using before the start of the instance
* refresh. The default is false
.
For more information, see Use * an instance refresh with skip matching in the Amazon EC2 Auto Scaling * User Guide.
*/ inline RefreshPreferences& WithSkipMatching(bool value) { SetSkipMatching(value); return *this;} /** *(Optional) Indicates whether to roll back the Auto Scaling group to its
* previous configuration if the instance refresh fails. The default is
* false
.
A rollback is not supported in the following * situations:
There is no desired configuration specified for * the instance refresh.
The Auto Scaling group has a launch
* template that uses an Amazon Web Services Systems Manager parameter instead of
* an AMI ID for the ImageId
property.
The Auto
* Scaling group uses the launch template's $Latest
or
* $Default
version.
(Optional) Indicates whether to roll back the Auto Scaling group to its
* previous configuration if the instance refresh fails. The default is
* false
.
A rollback is not supported in the following * situations:
There is no desired configuration specified for * the instance refresh.
The Auto Scaling group has a launch
* template that uses an Amazon Web Services Systems Manager parameter instead of
* an AMI ID for the ImageId
property.
The Auto
* Scaling group uses the launch template's $Latest
or
* $Default
version.
(Optional) Indicates whether to roll back the Auto Scaling group to its
* previous configuration if the instance refresh fails. The default is
* false
.
A rollback is not supported in the following * situations:
There is no desired configuration specified for * the instance refresh.
The Auto Scaling group has a launch
* template that uses an Amazon Web Services Systems Manager parameter instead of
* an AMI ID for the ImageId
property.
The Auto
* Scaling group uses the launch template's $Latest
or
* $Default
version.
(Optional) Indicates whether to roll back the Auto Scaling group to its
* previous configuration if the instance refresh fails. The default is
* false
.
A rollback is not supported in the following * situations:
There is no desired configuration specified for * the instance refresh.
The Auto Scaling group has a launch
* template that uses an Amazon Web Services Systems Manager parameter instead of
* an AMI ID for the ImageId
property.
The Auto
* Scaling group uses the launch template's $Latest
or
* $Default
version.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances * protected from scale in are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling replaces * instances that are protected from scale in.
Amazon EC2 Auto Scaling ignores instances that are protected from scale in * and continues to replace instances that are not protected.
Amazon EC2 Auto Scaling waits one hour for you to remove * scale-in protection. Otherwise, the instance refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.
Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances
* in Standby
state are found.
The following lists the valid * values:
Amazon EC2 Auto Scaling terminates
* instances that are in Standby
.
Amazon EC2 Auto Scaling ignores instances that are in Standby
* and continues to replace instances that are in the InService
* state.
Amazon EC2 Auto Scaling waits * one hour for you to return the instances to service. Otherwise, the instance * refresh will fail.