All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.autoscaling.model.UpdateAutoScalingGroupRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Auto Scaling module holds the client classes that are used for communicating with Auto Scaling Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.autoscaling.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS
 *      API Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateAutoScalingGroupRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the Auto Scaling group. *

*/ private String autoScalingGroupName; /** *

* The name of the launch configuration. If you specify LaunchConfigurationName in your update request, * you can't specify LaunchTemplate or MixedInstancesPolicy. *

*/ private String launchConfigurationName; /** *

* The launch template and version to use to specify the updates. If you specify LaunchTemplate in your * update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy. *

*/ private LaunchTemplateSpecification launchTemplate; /** *

* The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide. *

*/ private MixedInstancesPolicy mixedInstancesPolicy; /** *

* The minimum size of the Auto Scaling group. *

*/ private Integer minSize; /** *

* The maximum size of the Auto Scaling group. *

* *

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go * above MaxSize by more than your largest instance weight (weights that define how many units each * instance contributes to the desired capacity of the group). *

*
*/ private Integer maxSize; /** *

* The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the * capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the group and * less than or equal to the maximum size of the group. *

*/ private Integer desiredCapacity; /** *

* Only needed if you use simple scaling policies. *

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling * cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*/ private Integer defaultCooldown; /** *

* One or more Availability Zones for the group. *

*/ private com.amazonaws.internal.SdkInternalList availabilityZones; /** *

* A comma-separated value string of one or more health check types. *

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the * default health check and cannot be disabled. For more information, see Health checks * for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. *

*/ private String healthCheckType; /** *

* The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 * instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your * instances do not immediately pass their health checks after they enter the InService state. For more * information, see Set the health check * grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*/ private Integer healthCheckGracePeriod; /** *

* The name of an existing placement group into which to launch your instances. For more information, see Placement groups in the * Amazon EC2 User Guide for Linux Instances. *

* *

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot * specify multiple Availability Zones and a cluster placement group. *

*
*/ private String placementGroup; /** *

* A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in * those Availability Zones. *

*/ private String vPCZoneIdentifier; /** *

* A policy or a list of policies that are used to select the instances to terminate. The policies are executed in * the order that you list them. For more information, see Configure * termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*

* Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | * NewestInstance | OldestInstance | OldestLaunchConfiguration | * OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias *

*/ private com.amazonaws.internal.SdkInternalList terminationPolicies; /** *

* Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling * in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. *

*/ private Boolean newInstancesProtectedFromScaleIn; /** *

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services on your behalf. For more information, see Service-linked * roles in the Amazon EC2 Auto Scaling User Guide. *

*/ private String serviceLinkedRoleARN; /** *

* The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, * the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To clear a previously set * value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. *

*/ private Integer maxInstanceLifetime; /** *

* Enables or disables Capacity Rebalancing. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling User * Guide. *

*/ private Boolean capacityRebalance; /** *

* Reserved. *

*/ private String context; /** *

* The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto * Scaling User Guide. *

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances. *

*

* Valid values: units | vcpu | memory-mib *

*/ private String desiredCapacityType; /** *

* The amount of time, in seconds, until a new instance is considered to have finished initializing and resource * consumption to become stable after it enters the InService state. *

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance * before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period * before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that * are used for scaling, resulting in more reliable usage data. For more information, see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, * even if it is set to 0 seconds. To remove a value that you previously set, include the property but * specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled * by specifying a value of 0 or other nominal value. *

*
*/ private Integer defaultInstanceWarmup; /** *

* An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. *

*/ private InstanceMaintenancePolicy instanceMaintenancePolicy; /** *

* The name of the Auto Scaling group. *

* * @param autoScalingGroupName * The name of the Auto Scaling group. */ public void setAutoScalingGroupName(String autoScalingGroupName) { this.autoScalingGroupName = autoScalingGroupName; } /** *

* The name of the Auto Scaling group. *

* * @return The name of the Auto Scaling group. */ public String getAutoScalingGroupName() { return this.autoScalingGroupName; } /** *

* The name of the Auto Scaling group. *

* * @param autoScalingGroupName * The name of the Auto Scaling group. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withAutoScalingGroupName(String autoScalingGroupName) { setAutoScalingGroupName(autoScalingGroupName); return this; } /** *

* The name of the launch configuration. If you specify LaunchConfigurationName in your update request, * you can't specify LaunchTemplate or MixedInstancesPolicy. *

* * @param launchConfigurationName * The name of the launch configuration. If you specify LaunchConfigurationName in your update * request, you can't specify LaunchTemplate or MixedInstancesPolicy. */ public void setLaunchConfigurationName(String launchConfigurationName) { this.launchConfigurationName = launchConfigurationName; } /** *

* The name of the launch configuration. If you specify LaunchConfigurationName in your update request, * you can't specify LaunchTemplate or MixedInstancesPolicy. *

* * @return The name of the launch configuration. If you specify LaunchConfigurationName in your update * request, you can't specify LaunchTemplate or MixedInstancesPolicy. */ public String getLaunchConfigurationName() { return this.launchConfigurationName; } /** *

* The name of the launch configuration. If you specify LaunchConfigurationName in your update request, * you can't specify LaunchTemplate or MixedInstancesPolicy. *

* * @param launchConfigurationName * The name of the launch configuration. If you specify LaunchConfigurationName in your update * request, you can't specify LaunchTemplate or MixedInstancesPolicy. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withLaunchConfigurationName(String launchConfigurationName) { setLaunchConfigurationName(launchConfigurationName); return this; } /** *

* The launch template and version to use to specify the updates. If you specify LaunchTemplate in your * update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy. *

* * @param launchTemplate * The launch template and version to use to specify the updates. If you specify LaunchTemplate * in your update request, you can't specify LaunchConfigurationName or * MixedInstancesPolicy. */ public void setLaunchTemplate(LaunchTemplateSpecification launchTemplate) { this.launchTemplate = launchTemplate; } /** *

* The launch template and version to use to specify the updates. If you specify LaunchTemplate in your * update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy. *

* * @return The launch template and version to use to specify the updates. If you specify LaunchTemplate * in your update request, you can't specify LaunchConfigurationName or * MixedInstancesPolicy. */ public LaunchTemplateSpecification getLaunchTemplate() { return this.launchTemplate; } /** *

* The launch template and version to use to specify the updates. If you specify LaunchTemplate in your * update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy. *

* * @param launchTemplate * The launch template and version to use to specify the updates. If you specify LaunchTemplate * in your update request, you can't specify LaunchConfigurationName or * MixedInstancesPolicy. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withLaunchTemplate(LaunchTemplateSpecification launchTemplate) { setLaunchTemplate(launchTemplate); return this; } /** *

* The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide. *

* * @param mixedInstancesPolicy * The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling * User Guide. */ public void setMixedInstancesPolicy(MixedInstancesPolicy mixedInstancesPolicy) { this.mixedInstancesPolicy = mixedInstancesPolicy; } /** *

* The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide. *

* * @return The mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto * Scaling User Guide. */ public MixedInstancesPolicy getMixedInstancesPolicy() { return this.mixedInstancesPolicy; } /** *

* The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide. *

* * @param mixedInstancesPolicy * The mixed instances policy. For more information, see Auto * Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling * User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withMixedInstancesPolicy(MixedInstancesPolicy mixedInstancesPolicy) { setMixedInstancesPolicy(mixedInstancesPolicy); return this; } /** *

* The minimum size of the Auto Scaling group. *

* * @param minSize * The minimum size of the Auto Scaling group. */ public void setMinSize(Integer minSize) { this.minSize = minSize; } /** *

* The minimum size of the Auto Scaling group. *

* * @return The minimum size of the Auto Scaling group. */ public Integer getMinSize() { return this.minSize; } /** *

* The minimum size of the Auto Scaling group. *

* * @param minSize * The minimum size of the Auto Scaling group. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withMinSize(Integer minSize) { setMinSize(minSize); return this; } /** *

* The maximum size of the Auto Scaling group. *

* *

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go * above MaxSize by more than your largest instance weight (weights that define how many units each * instance contributes to the desired capacity of the group). *

*
* * @param maxSize * The maximum size of the Auto Scaling group.

*

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never * go above MaxSize by more than your largest instance weight (weights that define how many * units each instance contributes to the desired capacity of the group). *

*/ public void setMaxSize(Integer maxSize) { this.maxSize = maxSize; } /** *

* The maximum size of the Auto Scaling group. *

* *

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go * above MaxSize by more than your largest instance weight (weights that define how many units each * instance contributes to the desired capacity of the group). *

*
* * @return The maximum size of the Auto Scaling group.

*

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will * never go above MaxSize by more than your largest instance weight (weights that define how * many units each instance contributes to the desired capacity of the group). *

*/ public Integer getMaxSize() { return this.maxSize; } /** *

* The maximum size of the Auto Scaling group. *

* *

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go * above MaxSize by more than your largest instance weight (weights that define how many units each * instance contributes to the desired capacity of the group). *

*
* * @param maxSize * The maximum size of the Auto Scaling group.

*

* With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above * MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never * go above MaxSize by more than your largest instance weight (weights that define how many * units each instance contributes to the desired capacity of the group). *

* @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withMaxSize(Integer maxSize) { setMaxSize(maxSize); return this; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the * capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the group and * less than or equal to the maximum size of the group. *

* * @param desiredCapacity * The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and * the capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the * group and less than or equal to the maximum size of the group. */ public void setDesiredCapacity(Integer desiredCapacity) { this.desiredCapacity = desiredCapacity; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the * capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the group and * less than or equal to the maximum size of the group. *

* * @return The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and * the capacity it attempts to maintain. This number must be greater than or equal to the minimum size of * the group and less than or equal to the maximum size of the group. */ public Integer getDesiredCapacity() { return this.desiredCapacity; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the * capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the group and * less than or equal to the maximum size of the group. *

* * @param desiredCapacity * The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and * the capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the * group and less than or equal to the maximum size of the group. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withDesiredCapacity(Integer desiredCapacity) { setDesiredCapacity(desiredCapacity); return this; } /** *

* Only needed if you use simple scaling policies. *

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling * cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

* * @param defaultCooldown * Only needed if you use simple scaling policies.

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. */ public void setDefaultCooldown(Integer defaultCooldown) { this.defaultCooldown = defaultCooldown; } /** *

* Only needed if you use simple scaling policies. *

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling * cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

* * @return Only needed if you use simple scaling policies.

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to * simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. */ public Integer getDefaultCooldown() { return this.defaultCooldown; } /** *

* Only needed if you use simple scaling policies. *

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling * cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

* * @param defaultCooldown * Only needed if you use simple scaling policies.

*

* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple * scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withDefaultCooldown(Integer defaultCooldown) { setDefaultCooldown(defaultCooldown); return this; } /** *

* One or more Availability Zones for the group. *

* * @return One or more Availability Zones for the group. */ public java.util.List getAvailabilityZones() { if (availabilityZones == null) { availabilityZones = new com.amazonaws.internal.SdkInternalList(); } return availabilityZones; } /** *

* One or more Availability Zones for the group. *

* * @param availabilityZones * One or more Availability Zones for the group. */ public void setAvailabilityZones(java.util.Collection availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new com.amazonaws.internal.SdkInternalList(availabilityZones); } /** *

* One or more Availability Zones for the group. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. *

* * @param availabilityZones * One or more Availability Zones for the group. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new com.amazonaws.internal.SdkInternalList(availabilityZones.length)); } for (String ele : availabilityZones) { this.availabilityZones.add(ele); } return this; } /** *

* One or more Availability Zones for the group. *

* * @param availabilityZones * One or more Availability Zones for the group. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withAvailabilityZones(java.util.Collection availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** *

* A comma-separated value string of one or more health check types. *

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the * default health check and cannot be disabled. For more information, see Health checks * for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. *

* * @param healthCheckType * A comma-separated value string of one or more health check types.

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is * the default health check and cannot be disabled. For more information, see Health * checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. */ public void setHealthCheckType(String healthCheckType) { this.healthCheckType = healthCheckType; } /** *

* A comma-separated value string of one or more health check types. *

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the * default health check and cannot be disabled. For more information, see Health checks * for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. *

* * @return A comma-separated value string of one or more health check types.

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 * is the default health check and cannot be disabled. For more information, see Health * checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. */ public String getHealthCheckType() { return this.healthCheckType; } /** *

* A comma-separated value string of one or more health check types. *

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the * default health check and cannot be disabled. For more information, see Health checks * for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. *

* * @param healthCheckType * A comma-separated value string of one or more health check types.

*

* The valid values are EC2, ELB, and VPC_LATTICE. EC2 is * the default health check and cannot be disabled. For more information, see Health * checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*

* Only specify EC2 if you must clear a value that was previously set. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withHealthCheckType(String healthCheckType) { setHealthCheckType(healthCheckType); return this; } /** *

* The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 * instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your * instances do not immediately pass their health checks after they enter the InService state. For more * information, see Set the health check * grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* * @param healthCheckGracePeriod * The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an * EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is * useful if your instances do not immediately pass their health checks after they enter the * InService state. For more information, see Set the health * check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. */ public void setHealthCheckGracePeriod(Integer healthCheckGracePeriod) { this.healthCheckGracePeriod = healthCheckGracePeriod; } /** *

* The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 * instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your * instances do not immediately pass their health checks after they enter the InService state. For more * information, see Set the health check * grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* * @return The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of * an EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is * useful if your instances do not immediately pass their health checks after they enter the * InService state. For more information, see Set the * health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. */ public Integer getHealthCheckGracePeriod() { return this.healthCheckGracePeriod; } /** *

* The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 * instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your * instances do not immediately pass their health checks after they enter the InService state. For more * information, see Set the health check * grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* * @param healthCheckGracePeriod * The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an * EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is * useful if your instances do not immediately pass their health checks after they enter the * InService state. For more information, see Set the health * check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withHealthCheckGracePeriod(Integer healthCheckGracePeriod) { setHealthCheckGracePeriod(healthCheckGracePeriod); return this; } /** *

* The name of an existing placement group into which to launch your instances. For more information, see Placement groups in the * Amazon EC2 User Guide for Linux Instances. *

* *

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot * specify multiple Availability Zones and a cluster placement group. *

*
* * @param placementGroup * The name of an existing placement group into which to launch your instances. For more information, see Placement groups in * the Amazon EC2 User Guide for Linux Instances.

*

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You * cannot specify multiple Availability Zones and a cluster placement group. *

*/ public void setPlacementGroup(String placementGroup) { this.placementGroup = placementGroup; } /** *

* The name of an existing placement group into which to launch your instances. For more information, see Placement groups in the * Amazon EC2 User Guide for Linux Instances. *

* *

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot * specify multiple Availability Zones and a cluster placement group. *

*
* * @return The name of an existing placement group into which to launch your instances. For more information, see Placement groups in * the Amazon EC2 User Guide for Linux Instances.

*

* A cluster placement group is a logical grouping of instances within a single Availability Zone. * You cannot specify multiple Availability Zones and a cluster placement group. *

*/ public String getPlacementGroup() { return this.placementGroup; } /** *

* The name of an existing placement group into which to launch your instances. For more information, see Placement groups in the * Amazon EC2 User Guide for Linux Instances. *

* *

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot * specify multiple Availability Zones and a cluster placement group. *

*
* * @param placementGroup * The name of an existing placement group into which to launch your instances. For more information, see Placement groups in * the Amazon EC2 User Guide for Linux Instances.

*

* A cluster placement group is a logical grouping of instances within a single Availability Zone. You * cannot specify multiple Availability Zones and a cluster placement group. *

* @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withPlacementGroup(String placementGroup) { setPlacementGroup(placementGroup); return this; } /** *

* A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in * those Availability Zones. *

* * @param vPCZoneIdentifier * A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must * reside in those Availability Zones. */ public void setVPCZoneIdentifier(String vPCZoneIdentifier) { this.vPCZoneIdentifier = vPCZoneIdentifier; } /** *

* A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in * those Availability Zones. *

* * @return A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must * reside in those Availability Zones. */ public String getVPCZoneIdentifier() { return this.vPCZoneIdentifier; } /** *

* A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in * those Availability Zones. *

* * @param vPCZoneIdentifier * A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify * VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must * reside in those Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withVPCZoneIdentifier(String vPCZoneIdentifier) { setVPCZoneIdentifier(vPCZoneIdentifier); return this; } /** *

* A policy or a list of policies that are used to select the instances to terminate. The policies are executed in * the order that you list them. For more information, see Configure * termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*

* Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | * NewestInstance | OldestInstance | OldestLaunchConfiguration | * OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias *

* * @return A policy or a list of policies that are used to select the instances to terminate. The policies are * executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User * Guide.

*

* Valid values: Default | AllocationStrategy | * ClosestToNextInstanceHour | NewestInstance | OldestInstance | * OldestLaunchConfiguration | OldestLaunchTemplate | * arn:aws:lambda:region:account-id:function:my-function:my-alias */ public java.util.List getTerminationPolicies() { if (terminationPolicies == null) { terminationPolicies = new com.amazonaws.internal.SdkInternalList(); } return terminationPolicies; } /** *

* A policy or a list of policies that are used to select the instances to terminate. The policies are executed in * the order that you list them. For more information, see Configure * termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*

* Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | * NewestInstance | OldestInstance | OldestLaunchConfiguration | * OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias *

* * @param terminationPolicies * A policy or a list of policies that are used to select the instances to terminate. The policies are * executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User * Guide.

*

* Valid values: Default | AllocationStrategy | * ClosestToNextInstanceHour | NewestInstance | OldestInstance | * OldestLaunchConfiguration | OldestLaunchTemplate | * arn:aws:lambda:region:account-id:function:my-function:my-alias */ public void setTerminationPolicies(java.util.Collection terminationPolicies) { if (terminationPolicies == null) { this.terminationPolicies = null; return; } this.terminationPolicies = new com.amazonaws.internal.SdkInternalList(terminationPolicies); } /** *

* A policy or a list of policies that are used to select the instances to terminate. The policies are executed in * the order that you list them. For more information, see Configure * termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*

* Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | * NewestInstance | OldestInstance | OldestLaunchConfiguration | * OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTerminationPolicies(java.util.Collection)} or {@link #withTerminationPolicies(java.util.Collection)} * if you want to override the existing values. *

* * @param terminationPolicies * A policy or a list of policies that are used to select the instances to terminate. The policies are * executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User * Guide.

*

* Valid values: Default | AllocationStrategy | * ClosestToNextInstanceHour | NewestInstance | OldestInstance | * OldestLaunchConfiguration | OldestLaunchTemplate | * arn:aws:lambda:region:account-id:function:my-function:my-alias * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withTerminationPolicies(String... terminationPolicies) { if (this.terminationPolicies == null) { setTerminationPolicies(new com.amazonaws.internal.SdkInternalList(terminationPolicies.length)); } for (String ele : terminationPolicies) { this.terminationPolicies.add(ele); } return this; } /** *

* A policy or a list of policies that are used to select the instances to terminate. The policies are executed in * the order that you list them. For more information, see Configure * termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. *

*

* Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | * NewestInstance | OldestInstance | OldestLaunchConfiguration | * OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias *

* * @param terminationPolicies * A policy or a list of policies that are used to select the instances to terminate. The policies are * executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User * Guide.

*

* Valid values: Default | AllocationStrategy | * ClosestToNextInstanceHour | NewestInstance | OldestInstance | * OldestLaunchConfiguration | OldestLaunchTemplate | * arn:aws:lambda:region:account-id:function:my-function:my-alias * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withTerminationPolicies(java.util.Collection terminationPolicies) { setTerminationPolicies(terminationPolicies); return this; } /** *

* Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling * in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. *

* * @param newInstancesProtectedFromScaleIn * Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when * scaling in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. */ public void setNewInstancesProtectedFromScaleIn(Boolean newInstancesProtectedFromScaleIn) { this.newInstancesProtectedFromScaleIn = newInstancesProtectedFromScaleIn; } /** *

* Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling * in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. *

* * @return Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when * scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. */ public Boolean getNewInstancesProtectedFromScaleIn() { return this.newInstancesProtectedFromScaleIn; } /** *

* Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling * in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. *

* * @param newInstancesProtectedFromScaleIn * Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when * scaling in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withNewInstancesProtectedFromScaleIn(Boolean newInstancesProtectedFromScaleIn) { setNewInstancesProtectedFromScaleIn(newInstancesProtectedFromScaleIn); return this; } /** *

* Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling * in. For more information about preventing instances from terminating on scale in, see Use * instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. *

* * @return Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when * scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide. */ public Boolean isNewInstancesProtectedFromScaleIn() { return this.newInstancesProtectedFromScaleIn; } /** *

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services on your behalf. For more information, see Service-linked * roles in the Amazon EC2 Auto Scaling User Guide. *

* * @param serviceLinkedRoleARN * The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other * Amazon Web Services on your behalf. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide. */ public void setServiceLinkedRoleARN(String serviceLinkedRoleARN) { this.serviceLinkedRoleARN = serviceLinkedRoleARN; } /** *

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services on your behalf. For more information, see Service-linked * roles in the Amazon EC2 Auto Scaling User Guide. *

* * @return The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other * Amazon Web Services on your behalf. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide. */ public String getServiceLinkedRoleARN() { return this.serviceLinkedRoleARN; } /** *

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services on your behalf. For more information, see Service-linked * roles in the Amazon EC2 Auto Scaling User Guide. *

* * @param serviceLinkedRoleARN * The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other * Amazon Web Services on your behalf. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withServiceLinkedRoleARN(String serviceLinkedRoleARN) { setServiceLinkedRoleARN(serviceLinkedRoleARN); return this; } /** *

* The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, * the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To clear a previously set * value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. *

* * @param maxInstanceLifetime * The maximum amount of time, in seconds, that an instance can be in service. The default is null. If * specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To * clear a previously set value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. */ public void setMaxInstanceLifetime(Integer maxInstanceLifetime) { this.maxInstanceLifetime = maxInstanceLifetime; } /** *

* The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, * the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To clear a previously set * value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. *

* * @return The maximum amount of time, in seconds, that an instance can be in service. The default is null. If * specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To * clear a previously set value, specify a new value of 0. For more information, see Replacing * Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User * Guide. */ public Integer getMaxInstanceLifetime() { return this.maxInstanceLifetime; } /** *

* The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, * the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To clear a previously set * value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. *

* * @param maxInstanceLifetime * The maximum amount of time, in seconds, that an instance can be in service. The default is null. If * specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To * clear a previously set value, specify a new value of 0. For more information, see Replacing Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withMaxInstanceLifetime(Integer maxInstanceLifetime) { setMaxInstanceLifetime(maxInstanceLifetime); return this; } /** *

* Enables or disables Capacity Rebalancing. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling User * Guide. *

* * @param capacityRebalance * Enables or disables Capacity Rebalancing. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling * User Guide. */ public void setCapacityRebalance(Boolean capacityRebalance) { this.capacityRebalance = capacityRebalance; } /** *

* Enables or disables Capacity Rebalancing. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling User * Guide. *

* * @return Enables or disables Capacity Rebalancing. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling * User Guide. */ public Boolean getCapacityRebalance() { return this.capacityRebalance; } /** *

* Enables or disables Capacity Rebalancing. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling User * Guide. *

* * @param capacityRebalance * Enables or disables Capacity Rebalancing. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling * User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withCapacityRebalance(Boolean capacityRebalance) { setCapacityRebalance(capacityRebalance); return this; } /** *

* Enables or disables Capacity Rebalancing. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling User * Guide. *

* * @return Enables or disables Capacity Rebalancing. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the Amazon EC2 Auto Scaling * User Guide. */ public Boolean isCapacityRebalance() { return this.capacityRebalance; } /** *

* Reserved. *

* * @param context * Reserved. */ public void setContext(String context) { this.context = context; } /** *

* Reserved. *

* * @return Reserved. */ public String getContext() { return this.context; } /** *

* Reserved. *

* * @param context * Reserved. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withContext(String context) { setContext(context); return this; } /** *

* The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto * Scaling User Guide. *

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances. *

*

* Valid values: units | vcpu | memory-mib *

* * @param desiredCapacityType * The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, * see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 * Auto Scaling User Guide.

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of * instances. *

*

* Valid values: units | vcpu | memory-mib */ public void setDesiredCapacityType(String desiredCapacityType) { this.desiredCapacityType = desiredCapacityType; } /** *

* The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto * Scaling User Guide. *

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances. *

*

* Valid values: units | vcpu | memory-mib *

* * @return The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, * see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 * Auto Scaling User Guide.

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of * instances. *

*

* Valid values: units | vcpu | memory-mib */ public String getDesiredCapacityType() { return this.desiredCapacityType; } /** *

* The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto * Scaling User Guide. *

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances. *

*

* Valid values: units | vcpu | memory-mib *

* * @param desiredCapacityType * The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports * DesiredCapacityType for attribute-based instance type selection only. For more information, * see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 * Auto Scaling User Guide.

*

* By default, Amazon EC2 Auto Scaling specifies units, which translates into number of * instances. *

*

* Valid values: units | vcpu | memory-mib * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withDesiredCapacityType(String desiredCapacityType) { setDesiredCapacityType(desiredCapacityType); return this; } /** *

* The amount of time, in seconds, until a new instance is considered to have finished initializing and resource * consumption to become stable after it enters the InService state. *

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance * before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period * before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that * are used for scaling, resulting in more reliable usage data. For more information, see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, * even if it is set to 0 seconds. To remove a value that you previously set, include the property but * specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled * by specifying a value of 0 or other nominal value. *

*
* * @param defaultInstanceWarmup * The amount of time, in seconds, until a new instance is considered to have finished initializing and * resource consumption to become stable after it enters the InService state.

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an * instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the * warm-up period before aggregating the metrics for new instances with existing instances in the Amazon * CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, * see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User * Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance * warmup, even if it is set to 0 seconds. To remove a value that you previously set, include the * property but specify -1 for the value. However, we strongly recommend keeping the default * instance warmup enabled by specifying a value of 0 or other nominal value. *

*/ public void setDefaultInstanceWarmup(Integer defaultInstanceWarmup) { this.defaultInstanceWarmup = defaultInstanceWarmup; } /** *

* The amount of time, in seconds, until a new instance is considered to have finished initializing and resource * consumption to become stable after it enters the InService state. *

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance * before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period * before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that * are used for scaling, resulting in more reliable usage data. For more information, see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, * even if it is set to 0 seconds. To remove a value that you previously set, include the property but * specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled * by specifying a value of 0 or other nominal value. *

*
* * @return The amount of time, in seconds, until a new instance is considered to have finished initializing and * resource consumption to become stable after it enters the InService state.

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an * instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the * warm-up period before aggregating the metrics for new instances with existing instances in the Amazon * CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more * information, see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User * Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance * warmup, even if it is set to 0 seconds. To remove a value that you previously set, include the * property but specify -1 for the value. However, we strongly recommend keeping the default * instance warmup enabled by specifying a value of 0 or other nominal value. *

*/ public Integer getDefaultInstanceWarmup() { return this.defaultInstanceWarmup; } /** *

* The amount of time, in seconds, until a new instance is considered to have finished initializing and resource * consumption to become stable after it enters the InService state. *

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance * before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period * before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that * are used for scaling, resulting in more reliable usage data. For more information, see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, * even if it is set to 0 seconds. To remove a value that you previously set, include the property but * specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled * by specifying a value of 0 or other nominal value. *

*
* * @param defaultInstanceWarmup * The amount of time, in seconds, until a new instance is considered to have finished initializing and * resource consumption to become stable after it enters the InService state.

*

* During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an * instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the * warm-up period before aggregating the metrics for new instances with existing instances in the Amazon * CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, * see Set * the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User * Guide. *

* *

* To manage various warm-up settings at the group level, we recommend that you set the default instance * warmup, even if it is set to 0 seconds. To remove a value that you previously set, include the * property but specify -1 for the value. However, we strongly recommend keeping the default * instance warmup enabled by specifying a value of 0 or other nominal value. *

* @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withDefaultInstanceWarmup(Integer defaultInstanceWarmup) { setDefaultInstanceWarmup(defaultInstanceWarmup); return this; } /** *

* An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. *

* * @param instanceMaintenancePolicy * An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. */ public void setInstanceMaintenancePolicy(InstanceMaintenancePolicy instanceMaintenancePolicy) { this.instanceMaintenancePolicy = instanceMaintenancePolicy; } /** *

* An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. *

* * @return An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. */ public InstanceMaintenancePolicy getInstanceMaintenancePolicy() { return this.instanceMaintenancePolicy; } /** *

* An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. *

* * @param instanceMaintenancePolicy * An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateAutoScalingGroupRequest withInstanceMaintenancePolicy(InstanceMaintenancePolicy instanceMaintenancePolicy) { setInstanceMaintenancePolicy(instanceMaintenancePolicy); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAutoScalingGroupName() != null) sb.append("AutoScalingGroupName: ").append(getAutoScalingGroupName()).append(","); if (getLaunchConfigurationName() != null) sb.append("LaunchConfigurationName: ").append(getLaunchConfigurationName()).append(","); if (getLaunchTemplate() != null) sb.append("LaunchTemplate: ").append(getLaunchTemplate()).append(","); if (getMixedInstancesPolicy() != null) sb.append("MixedInstancesPolicy: ").append(getMixedInstancesPolicy()).append(","); if (getMinSize() != null) sb.append("MinSize: ").append(getMinSize()).append(","); if (getMaxSize() != null) sb.append("MaxSize: ").append(getMaxSize()).append(","); if (getDesiredCapacity() != null) sb.append("DesiredCapacity: ").append(getDesiredCapacity()).append(","); if (getDefaultCooldown() != null) sb.append("DefaultCooldown: ").append(getDefaultCooldown()).append(","); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()).append(","); if (getHealthCheckType() != null) sb.append("HealthCheckType: ").append(getHealthCheckType()).append(","); if (getHealthCheckGracePeriod() != null) sb.append("HealthCheckGracePeriod: ").append(getHealthCheckGracePeriod()).append(","); if (getPlacementGroup() != null) sb.append("PlacementGroup: ").append(getPlacementGroup()).append(","); if (getVPCZoneIdentifier() != null) sb.append("VPCZoneIdentifier: ").append(getVPCZoneIdentifier()).append(","); if (getTerminationPolicies() != null) sb.append("TerminationPolicies: ").append(getTerminationPolicies()).append(","); if (getNewInstancesProtectedFromScaleIn() != null) sb.append("NewInstancesProtectedFromScaleIn: ").append(getNewInstancesProtectedFromScaleIn()).append(","); if (getServiceLinkedRoleARN() != null) sb.append("ServiceLinkedRoleARN: ").append(getServiceLinkedRoleARN()).append(","); if (getMaxInstanceLifetime() != null) sb.append("MaxInstanceLifetime: ").append(getMaxInstanceLifetime()).append(","); if (getCapacityRebalance() != null) sb.append("CapacityRebalance: ").append(getCapacityRebalance()).append(","); if (getContext() != null) sb.append("Context: ").append(getContext()).append(","); if (getDesiredCapacityType() != null) sb.append("DesiredCapacityType: ").append(getDesiredCapacityType()).append(","); if (getDefaultInstanceWarmup() != null) sb.append("DefaultInstanceWarmup: ").append(getDefaultInstanceWarmup()).append(","); if (getInstanceMaintenancePolicy() != null) sb.append("InstanceMaintenancePolicy: ").append(getInstanceMaintenancePolicy()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateAutoScalingGroupRequest == false) return false; UpdateAutoScalingGroupRequest other = (UpdateAutoScalingGroupRequest) obj; if (other.getAutoScalingGroupName() == null ^ this.getAutoScalingGroupName() == null) return false; if (other.getAutoScalingGroupName() != null && other.getAutoScalingGroupName().equals(this.getAutoScalingGroupName()) == false) return false; if (other.getLaunchConfigurationName() == null ^ this.getLaunchConfigurationName() == null) return false; if (other.getLaunchConfigurationName() != null && other.getLaunchConfigurationName().equals(this.getLaunchConfigurationName()) == false) return false; if (other.getLaunchTemplate() == null ^ this.getLaunchTemplate() == null) return false; if (other.getLaunchTemplate() != null && other.getLaunchTemplate().equals(this.getLaunchTemplate()) == false) return false; if (other.getMixedInstancesPolicy() == null ^ this.getMixedInstancesPolicy() == null) return false; if (other.getMixedInstancesPolicy() != null && other.getMixedInstancesPolicy().equals(this.getMixedInstancesPolicy()) == false) return false; if (other.getMinSize() == null ^ this.getMinSize() == null) return false; if (other.getMinSize() != null && other.getMinSize().equals(this.getMinSize()) == false) return false; if (other.getMaxSize() == null ^ this.getMaxSize() == null) return false; if (other.getMaxSize() != null && other.getMaxSize().equals(this.getMaxSize()) == false) return false; if (other.getDesiredCapacity() == null ^ this.getDesiredCapacity() == null) return false; if (other.getDesiredCapacity() != null && other.getDesiredCapacity().equals(this.getDesiredCapacity()) == false) return false; if (other.getDefaultCooldown() == null ^ this.getDefaultCooldown() == null) return false; if (other.getDefaultCooldown() != null && other.getDefaultCooldown().equals(this.getDefaultCooldown()) == false) return false; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; if (other.getHealthCheckType() == null ^ this.getHealthCheckType() == null) return false; if (other.getHealthCheckType() != null && other.getHealthCheckType().equals(this.getHealthCheckType()) == false) return false; if (other.getHealthCheckGracePeriod() == null ^ this.getHealthCheckGracePeriod() == null) return false; if (other.getHealthCheckGracePeriod() != null && other.getHealthCheckGracePeriod().equals(this.getHealthCheckGracePeriod()) == false) return false; if (other.getPlacementGroup() == null ^ this.getPlacementGroup() == null) return false; if (other.getPlacementGroup() != null && other.getPlacementGroup().equals(this.getPlacementGroup()) == false) return false; if (other.getVPCZoneIdentifier() == null ^ this.getVPCZoneIdentifier() == null) return false; if (other.getVPCZoneIdentifier() != null && other.getVPCZoneIdentifier().equals(this.getVPCZoneIdentifier()) == false) return false; if (other.getTerminationPolicies() == null ^ this.getTerminationPolicies() == null) return false; if (other.getTerminationPolicies() != null && other.getTerminationPolicies().equals(this.getTerminationPolicies()) == false) return false; if (other.getNewInstancesProtectedFromScaleIn() == null ^ this.getNewInstancesProtectedFromScaleIn() == null) return false; if (other.getNewInstancesProtectedFromScaleIn() != null && other.getNewInstancesProtectedFromScaleIn().equals(this.getNewInstancesProtectedFromScaleIn()) == false) return false; if (other.getServiceLinkedRoleARN() == null ^ this.getServiceLinkedRoleARN() == null) return false; if (other.getServiceLinkedRoleARN() != null && other.getServiceLinkedRoleARN().equals(this.getServiceLinkedRoleARN()) == false) return false; if (other.getMaxInstanceLifetime() == null ^ this.getMaxInstanceLifetime() == null) return false; if (other.getMaxInstanceLifetime() != null && other.getMaxInstanceLifetime().equals(this.getMaxInstanceLifetime()) == false) return false; if (other.getCapacityRebalance() == null ^ this.getCapacityRebalance() == null) return false; if (other.getCapacityRebalance() != null && other.getCapacityRebalance().equals(this.getCapacityRebalance()) == false) return false; if (other.getContext() == null ^ this.getContext() == null) return false; if (other.getContext() != null && other.getContext().equals(this.getContext()) == false) return false; if (other.getDesiredCapacityType() == null ^ this.getDesiredCapacityType() == null) return false; if (other.getDesiredCapacityType() != null && other.getDesiredCapacityType().equals(this.getDesiredCapacityType()) == false) return false; if (other.getDefaultInstanceWarmup() == null ^ this.getDefaultInstanceWarmup() == null) return false; if (other.getDefaultInstanceWarmup() != null && other.getDefaultInstanceWarmup().equals(this.getDefaultInstanceWarmup()) == false) return false; if (other.getInstanceMaintenancePolicy() == null ^ this.getInstanceMaintenancePolicy() == null) return false; if (other.getInstanceMaintenancePolicy() != null && other.getInstanceMaintenancePolicy().equals(this.getInstanceMaintenancePolicy()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAutoScalingGroupName() == null) ? 0 : getAutoScalingGroupName().hashCode()); hashCode = prime * hashCode + ((getLaunchConfigurationName() == null) ? 0 : getLaunchConfigurationName().hashCode()); hashCode = prime * hashCode + ((getLaunchTemplate() == null) ? 0 : getLaunchTemplate().hashCode()); hashCode = prime * hashCode + ((getMixedInstancesPolicy() == null) ? 0 : getMixedInstancesPolicy().hashCode()); hashCode = prime * hashCode + ((getMinSize() == null) ? 0 : getMinSize().hashCode()); hashCode = prime * hashCode + ((getMaxSize() == null) ? 0 : getMaxSize().hashCode()); hashCode = prime * hashCode + ((getDesiredCapacity() == null) ? 0 : getDesiredCapacity().hashCode()); hashCode = prime * hashCode + ((getDefaultCooldown() == null) ? 0 : getDefaultCooldown().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); hashCode = prime * hashCode + ((getHealthCheckType() == null) ? 0 : getHealthCheckType().hashCode()); hashCode = prime * hashCode + ((getHealthCheckGracePeriod() == null) ? 0 : getHealthCheckGracePeriod().hashCode()); hashCode = prime * hashCode + ((getPlacementGroup() == null) ? 0 : getPlacementGroup().hashCode()); hashCode = prime * hashCode + ((getVPCZoneIdentifier() == null) ? 0 : getVPCZoneIdentifier().hashCode()); hashCode = prime * hashCode + ((getTerminationPolicies() == null) ? 0 : getTerminationPolicies().hashCode()); hashCode = prime * hashCode + ((getNewInstancesProtectedFromScaleIn() == null) ? 0 : getNewInstancesProtectedFromScaleIn().hashCode()); hashCode = prime * hashCode + ((getServiceLinkedRoleARN() == null) ? 0 : getServiceLinkedRoleARN().hashCode()); hashCode = prime * hashCode + ((getMaxInstanceLifetime() == null) ? 0 : getMaxInstanceLifetime().hashCode()); hashCode = prime * hashCode + ((getCapacityRebalance() == null) ? 0 : getCapacityRebalance().hashCode()); hashCode = prime * hashCode + ((getContext() == null) ? 0 : getContext().hashCode()); hashCode = prime * hashCode + ((getDesiredCapacityType() == null) ? 0 : getDesiredCapacityType().hashCode()); hashCode = prime * hashCode + ((getDefaultInstanceWarmup() == null) ? 0 : getDefaultInstanceWarmup().hashCode()); hashCode = prime * hashCode + ((getInstanceMaintenancePolicy() == null) ? 0 : getInstanceMaintenancePolicy().hashCode()); return hashCode; } @Override public UpdateAutoScalingGroupRequest clone() { return (UpdateAutoScalingGroupRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy