AWSAutoScalingRefreshPreferences

Objective-C

@interface AWSAutoScalingRefreshPreferences

Swift

class AWSAutoScalingRefreshPreferences

Describes the preferences for an instance refresh.

  • (Optional) The CloudWatch alarm specification. CloudWatch alarms can be used to identify any issues and fail the operation if an alarm threshold is met.

    Declaration

    Objective-C

    @property (nonatomic, strong) AWSAutoScalingAlarmSpecification *_Nullable alarmSpecification;

    Swift

    var alarmSpecification: AWSAutoScalingAlarmSpecification? { get set }
  • (Optional) Indicates whether to roll back the Auto Scaling group to its previous configuration if the instance refresh fails or a CloudWatch alarm threshold is met. 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.

    For more information, see Undo changes with a rollback in the Amazon EC2 Auto Scaling User Guide.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable autoRollback;

    Swift

    var autoRollback: NSNumber? { get set }
  • (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).

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable checkpointDelay;

    Swift

    var checkpointDelay: NSNumber? { get set }
  • (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.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<NSNumber *> *_Nullable checkpointPercentages;

    Swift

    var checkpointPercentages: [NSNumber]? { get set }
  • 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.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable instanceWarmup;

    Swift

    var instanceWarmup: NSNumber? { get set }
  • Specifies the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. The value is expressed as a percentage of the desired capacity of the Auto Scaling group. Value range is 100 to 200.

    If you specify MaxHealthyPercentage, you must also specify MinHealthyPercentage, and the difference between them cannot be greater than 100. A larger range increases the number of instances that can be replaced at the same time.

    If you do not specify this property, the default is 100 percent, or the percentage set in the instance maintenance policy for the Auto Scaling group, if defined.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable maxHealthyPercentage;

    Swift

    var maxHealthyPercentage: NSNumber? { get set }
  • Specifies the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload to allow the operation to continue. The value is expressed as a percentage of the desired capacity of the Auto Scaling group. Value range is 0 to 100.

    If you do not specify this property, the default is 90 percent, or the percentage set in the instance maintenance policy for the Auto Scaling group, if defined.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable minHealthyPercentage;

    Swift

    var minHealthyPercentage: NSNumber? { get set }
  • 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:

    Refresh

    Amazon EC2 Auto Scaling replaces instances that are protected from scale in.

    Ignore

    Amazon EC2 Auto Scaling ignores instances that are protected from scale in and continues to replace instances that are not protected.

    Wait (default)

    Amazon EC2 Auto Scaling waits one hour for you to remove scale-in protection. Otherwise, the instance refresh will fail.

    Declaration

    Objective-C

    @property (nonatomic) AWSAutoScalingScaleInProtectedInstances scaleInProtectedInstances;

    Swift

    var scaleInProtectedInstances: AWSAutoScalingScaleInProtectedInstances { get set }
  • (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.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable skipMatching;

    Swift

    var skipMatching: NSNumber? { get set }
  • 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:

    Terminate

    Amazon EC2 Auto Scaling terminates instances that are in Standby.

    Ignore

    Amazon EC2 Auto Scaling ignores instances that are in Standby and continues to replace instances that are in the InService state.

    Wait (default)

    Amazon EC2 Auto Scaling waits one hour for you to return the instances to service. Otherwise, the instance refresh will fail.

    Declaration

    Objective-C

    @property (nonatomic) AWSAutoScalingStandbyInstances standbyInstances;

    Swift

    var standbyInstances: AWSAutoScalingStandbyInstances { get set }