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

com.amazonaws.services.autoscaling.model.CreateAutoScalingGroupRequest 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 CreateAutoScalingGroupRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the Auto Scaling group. This name must be unique per Region per account. *

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and * lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*
*/ private String autoScalingGroupName; /** *

* The name of the launch configuration to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

*/ private String launchConfigurationName; /** *

* Information used to specify the launch template and version to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch template * for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*
*/ 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 ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the * configuration values from the specified instance to create a new launch configuration. To get the instance ID, * use the Amazon EC2 DescribeInstances * API operation. For more information, see Create an Auto Scaling * group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide. *

*/ private String instanceId; /** *

* The minimum size of the group. *

*/ private Integer minSize; /** *

* The maximum size of the 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 at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum 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. *

*

* Default: 300 seconds *

*/ private Integer defaultCooldown; /** *

* A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into * the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or * for attaching a network interface when an existing network interface ID is specified in a launch template. *

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

* A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network * Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead. *

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

* The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling * group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and * route requests to one or more registered targets. For more information, see Use Elastic Load * Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto * Scaling User Guide. *

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

* 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. *

*

* Default: 0 seconds *

*/ private Integer healthCheckGracePeriod; /** *

* The name of the 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) where instances in the Auto Scaling group * can be created. 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 instance to terminate. These 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; /** *

* Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on * Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies * that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates * an old instance. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User * Guide. *

*/ private Boolean capacityRebalance; /** *

* One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. *

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

* One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it * launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a * launch template but use caution. If the launch template specifies an instance tag with a key that is also * specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the * value specified by the Auto Scaling group. For more information, see Tag Auto Scaling * groups and instances in the Amazon EC2 Auto Scaling User Guide. *

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

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named * AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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). For more information, see * Replace Auto * Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide. *

*/ private Integer maxInstanceLifetime; /** *

* 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. *

*
*

* Default: None *

*/ private Integer defaultInstanceWarmup; /** *

* The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic * sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, * Network Load Balancer, and VPC Lattice. *

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

* 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. This name must be unique per Region per account. *

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and * lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*
* * @param autoScalingGroupName * The name of the Auto Scaling group. This name must be unique per Region per account.

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and * upper and lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*/ public void setAutoScalingGroupName(String autoScalingGroupName) { this.autoScalingGroupName = autoScalingGroupName; } /** *

* The name of the Auto Scaling group. This name must be unique per Region per account. *

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and * lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*
* * @return The name of the Auto Scaling group. This name must be unique per Region per account.

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and * upper and lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*/ public String getAutoScalingGroupName() { return this.autoScalingGroupName; } /** *

* The name of the Auto Scaling group. This name must be unique per Region per account. *

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and * lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

*
* * @param autoScalingGroupName * The name of the Auto Scaling group. This name must be unique per Region per account.

*

* The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and * upper and lowercased letters. *

* *

* You cannot use a colon (:) in the name. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withAutoScalingGroupName(String autoScalingGroupName) { setAutoScalingGroupName(autoScalingGroupName); return this; } /** *

* The name of the launch configuration to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* * @param launchConfigurationName * The name of the launch configuration to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). */ public void setLaunchConfigurationName(String launchConfigurationName) { this.launchConfigurationName = launchConfigurationName; } /** *

* The name of the launch configuration to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* * @return The name of the launch configuration to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). */ public String getLaunchConfigurationName() { return this.launchConfigurationName; } /** *

* The name of the launch configuration to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* * @param launchConfigurationName * The name of the launch configuration to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withLaunchConfigurationName(String launchConfigurationName) { setLaunchConfigurationName(launchConfigurationName); return this; } /** *

* Information used to specify the launch template and version to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch template * for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*
* * @param launchTemplate * Information used to specify the launch template and version to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch * template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*/ public void setLaunchTemplate(LaunchTemplateSpecification launchTemplate) { this.launchTemplate = launchTemplate; } /** *

* Information used to specify the launch template and version to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch template * for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*
* * @return Information used to specify the launch template and version to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch * template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*/ public LaunchTemplateSpecification getLaunchTemplate() { return this.launchTemplate; } /** *

* Information used to specify the launch template and version to use to launch instances. *

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch template * for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide. *

*
* * @param launchTemplate * Information used to specify the launch template and version to use to launch instances.

*

* Conditional: You must specify either a launch template (LaunchTemplate or * MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or * InstanceId). *

* *

* The launch template that is specified must be configured for use with an Auto Scaling group. For more * information, see Create a launch * template 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 CreateAutoScalingGroupRequest 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 CreateAutoScalingGroupRequest withMixedInstancesPolicy(MixedInstancesPolicy mixedInstancesPolicy) { setMixedInstancesPolicy(mixedInstancesPolicy); return this; } /** *

* The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the * configuration values from the specified instance to create a new launch configuration. To get the instance ID, * use the Amazon EC2 DescribeInstances * API operation. For more information, see Create an Auto Scaling * group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide. *

* * @param instanceId * The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling * uses the configuration values from the specified instance to create a new launch configuration. To get the * instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto * Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User * Guide. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** *

* The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the * configuration values from the specified instance to create a new launch configuration. To get the instance ID, * use the Amazon EC2 DescribeInstances * API operation. For more information, see Create an Auto Scaling * group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide. *

* * @return The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling * uses the configuration values from the specified instance to create a new launch configuration. To get * the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto * Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User * Guide. */ public String getInstanceId() { return this.instanceId; } /** *

* The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the * configuration values from the specified instance to create a new launch configuration. To get the instance ID, * use the Amazon EC2 DescribeInstances * API operation. For more information, see Create an Auto Scaling * group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide. *

* * @param instanceId * The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling * uses the configuration values from the specified instance to create a new launch configuration. To get the * instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto * Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User * Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** *

* The minimum size of the group. *

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

* The minimum size of the group. *

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

* The minimum size of the group. *

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

* The maximum size of the 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 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 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 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 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 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 CreateAutoScalingGroupRequest withMaxSize(Integer maxSize) { setMaxSize(maxSize); return this; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum size of the group. *

* * @param desiredCapacity * The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum size of * the group. */ public void setDesiredCapacity(Integer desiredCapacity) { this.desiredCapacity = desiredCapacity; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum size of the group. *

* * @return The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and * the capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. * 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. If you do not specify a desired capacity, the default is the minimum size of * the group. */ public Integer getDesiredCapacity() { return this.desiredCapacity; } /** *

* The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum size of the group. *

* * @param desiredCapacity * The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the * capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. 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. If you do not specify a desired capacity, the default is the minimum size of * the group. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest 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. *

*

* Default: 300 seconds *

* * @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. *

*

* Default: 300 seconds */ 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. *

*

* Default: 300 seconds *

* * @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. *

*

* Default: 300 seconds */ 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. *

*

* Default: 300 seconds *

* * @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. *

*

* Default: 300 seconds * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withDefaultCooldown(Integer defaultCooldown) { setDefaultCooldown(defaultCooldown); return this; } /** *

* A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into * the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or * for attaching a network interface when an existing network interface ID is specified in a launch template. *

* * @return A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching * into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier * property, or for attaching a network interface when an existing network interface ID is specified in a * launch template. */ public java.util.List getAvailabilityZones() { if (availabilityZones == null) { availabilityZones = new com.amazonaws.internal.SdkInternalList(); } return availabilityZones; } /** *

* A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into * the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or * for attaching a network interface when an existing network interface ID is specified in a launch template. *

* * @param availabilityZones * A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching * into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier * property, or for attaching a network interface when an existing network interface ID is specified in a * launch template. */ public void setAvailabilityZones(java.util.Collection availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new com.amazonaws.internal.SdkInternalList(availabilityZones); } /** *

* A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into * the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or * for attaching a network interface when an existing network interface ID is specified in a launch template. *

*

* 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 * A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching * into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier * property, or for attaching a network interface when an existing network interface ID is specified in a * launch template. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest 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; } /** *

* A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into * the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or * for attaching a network interface when an existing network interface ID is specified in a launch template. *

* * @param availabilityZones * A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching * into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier * property, or for attaching a network interface when an existing network interface ID is specified in a * launch template. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withAvailabilityZones(java.util.Collection availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** *

* A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network * Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead. *

* * @return A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, * Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property * instead. */ public java.util.List getLoadBalancerNames() { if (loadBalancerNames == null) { loadBalancerNames = new com.amazonaws.internal.SdkInternalList(); } return loadBalancerNames; } /** *

* A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network * Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead. *

* * @param loadBalancerNames * A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, * Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property * instead. */ public void setLoadBalancerNames(java.util.Collection loadBalancerNames) { if (loadBalancerNames == null) { this.loadBalancerNames = null; return; } this.loadBalancerNames = new com.amazonaws.internal.SdkInternalList(loadBalancerNames); } /** *

* A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network * Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead. *

*

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

* * @param loadBalancerNames * A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, * Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property * instead. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withLoadBalancerNames(String... loadBalancerNames) { if (this.loadBalancerNames == null) { setLoadBalancerNames(new com.amazonaws.internal.SdkInternalList(loadBalancerNames.length)); } for (String ele : loadBalancerNames) { this.loadBalancerNames.add(ele); } return this; } /** *

* A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network * Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead. *

* * @param loadBalancerNames * A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, * Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property * instead. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withLoadBalancerNames(java.util.Collection loadBalancerNames) { setLoadBalancerNames(loadBalancerNames); return this; } /** *

* The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling * group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and * route requests to one or more registered targets. For more information, see Use Elastic Load * Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto * Scaling User Guide. *

* * @return The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto * Scaling group. Instances are registered as targets with the target groups. The target groups receive * incoming traffic and route requests to one or more registered targets. For more information, see Use Elastic * Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon * EC2 Auto Scaling User Guide. */ public java.util.List getTargetGroupARNs() { if (targetGroupARNs == null) { targetGroupARNs = new com.amazonaws.internal.SdkInternalList(); } return targetGroupARNs; } /** *

* The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling * group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and * route requests to one or more registered targets. For more information, see Use Elastic Load * Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto * Scaling User Guide. *

* * @param targetGroupARNs * The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto * Scaling group. Instances are registered as targets with the target groups. The target groups receive * incoming traffic and route requests to one or more registered targets. For more information, see Use Elastic * Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon * EC2 Auto Scaling User Guide. */ public void setTargetGroupARNs(java.util.Collection targetGroupARNs) { if (targetGroupARNs == null) { this.targetGroupARNs = null; return; } this.targetGroupARNs = new com.amazonaws.internal.SdkInternalList(targetGroupARNs); } /** *

* The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling * group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and * route requests to one or more registered targets. For more information, see Use Elastic Load * Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto * Scaling User Guide. *

*

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

* * @param targetGroupARNs * The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto * Scaling group. Instances are registered as targets with the target groups. The target groups receive * incoming traffic and route requests to one or more registered targets. For more information, see Use Elastic * Load Balancing to distribute traffic across the instances in your 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 CreateAutoScalingGroupRequest withTargetGroupARNs(String... targetGroupARNs) { if (this.targetGroupARNs == null) { setTargetGroupARNs(new com.amazonaws.internal.SdkInternalList(targetGroupARNs.length)); } for (String ele : targetGroupARNs) { this.targetGroupARNs.add(ele); } return this; } /** *

* The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling * group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and * route requests to one or more registered targets. For more information, see Use Elastic Load * Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto * Scaling User Guide. *

* * @param targetGroupARNs * The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto * Scaling group. Instances are registered as targets with the target groups. The target groups receive * incoming traffic and route requests to one or more registered targets. For more information, see Use Elastic * Load Balancing to distribute traffic across the instances in your 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 CreateAutoScalingGroupRequest withTargetGroupARNs(java.util.Collection targetGroupARNs) { setTargetGroupARNs(targetGroupARNs); 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 CreateAutoScalingGroupRequest 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. *

*

* Default: 0 seconds *

* * @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.

*

* Default: 0 seconds */ 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. *

*

* Default: 0 seconds *

* * @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.

*

* Default: 0 seconds */ 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. *

*

* Default: 0 seconds *

* * @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.

*

* Default: 0 seconds * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withHealthCheckGracePeriod(Integer healthCheckGracePeriod) { setHealthCheckGracePeriod(healthCheckGracePeriod); return this; } /** *

* The name of the 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 the 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 the 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 the 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 the 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 the 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 CreateAutoScalingGroupRequest withPlacementGroup(String placementGroup) { setPlacementGroup(placementGroup); return this; } /** *

* A comma-separated list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group * can be created. 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) where instances in the Auto Scaling * group can be created. 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) where instances in the Auto Scaling group * can be created. 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) where instances in the Auto * Scaling group can be created. 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) where instances in the Auto Scaling group * can be created. 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) where instances in the Auto Scaling * group can be created. 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 CreateAutoScalingGroupRequest withVPCZoneIdentifier(String vPCZoneIdentifier) { setVPCZoneIdentifier(vPCZoneIdentifier); return this; } /** *

* A policy or a list of policies that are used to select the instance to terminate. These 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 instance to terminate. These 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 instance to terminate. These 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 instance to terminate. These 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 instance to terminate. These 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 instance to terminate. These 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 CreateAutoScalingGroupRequest 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 instance to terminate. These 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 instance to terminate. These 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 CreateAutoScalingGroupRequest 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 CreateAutoScalingGroupRequest 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; } /** *

* Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on * Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies * that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates * an old instance. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User * Guide. *

* * @param capacityRebalance * Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you * turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon * EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, * it then terminates an old instance. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto * Scaling User Guide. */ public void setCapacityRebalance(Boolean capacityRebalance) { this.capacityRebalance = capacityRebalance; } /** *

* Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on * Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies * that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates * an old instance. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User * Guide. *

* * @return Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you * turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon * EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, * it then terminates an old instance. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto * Scaling User Guide. */ public Boolean getCapacityRebalance() { return this.capacityRebalance; } /** *

* Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on * Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies * that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates * an old instance. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User * Guide. *

* * @param capacityRebalance * Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you * turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon * EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, * it then terminates an old instance. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto * Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withCapacityRebalance(Boolean capacityRebalance) { setCapacityRebalance(capacityRebalance); return this; } /** *

* Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on * Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies * that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates * an old instance. For more information, see Use * Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User * Guide. *

* * @return Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you * turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon * EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, * it then terminates an old instance. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto * Scaling User Guide. */ public Boolean isCapacityRebalance() { return this.capacityRebalance; } /** *

* One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. *

* * @return One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. */ public java.util.List getLifecycleHookSpecificationList() { if (lifecycleHookSpecificationList == null) { lifecycleHookSpecificationList = new com.amazonaws.internal.SdkInternalList(); } return lifecycleHookSpecificationList; } /** *

* One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. *

* * @param lifecycleHookSpecificationList * One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. */ public void setLifecycleHookSpecificationList(java.util.Collection lifecycleHookSpecificationList) { if (lifecycleHookSpecificationList == null) { this.lifecycleHookSpecificationList = null; return; } this.lifecycleHookSpecificationList = new com.amazonaws.internal.SdkInternalList(lifecycleHookSpecificationList); } /** *

* One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. *

*

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

* * @param lifecycleHookSpecificationList * One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withLifecycleHookSpecificationList(LifecycleHookSpecification... lifecycleHookSpecificationList) { if (this.lifecycleHookSpecificationList == null) { setLifecycleHookSpecificationList(new com.amazonaws.internal.SdkInternalList(lifecycleHookSpecificationList.length)); } for (LifecycleHookSpecification ele : lifecycleHookSpecificationList) { this.lifecycleHookSpecificationList.add(ele); } return this; } /** *

* One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. *

* * @param lifecycleHookSpecificationList * One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withLifecycleHookSpecificationList(java.util.Collection lifecycleHookSpecificationList) { setLifecycleHookSpecificationList(lifecycleHookSpecificationList); return this; } /** *

* One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it * launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a * launch template but use caution. If the launch template specifies an instance tag with a key that is also * specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the * value specified by the Auto Scaling group. For more information, see Tag Auto Scaling * groups and instances in the Amazon EC2 Auto Scaling User Guide. *

* * @return One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances * it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify * the tags in a launch template but use caution. If the launch template specifies an instance tag with a * key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of * that instance tag with the value specified by the Auto Scaling group. For more information, see Tag Auto * Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it * launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a * launch template but use caution. If the launch template specifies an instance tag with a key that is also * specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the * value specified by the Auto Scaling group. For more information, see Tag Auto Scaling * groups and instances in the Amazon EC2 Auto Scaling User Guide. *

* * @param tags * One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances * it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the * tags in a launch template but use caution. If the launch template specifies an instance tag with a key * that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that * instance tag with the value specified by the Auto Scaling group. For more information, see Tag Auto * Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it * launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a * launch template but use caution. If the launch template specifies an instance tag with a key that is also * specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the * value specified by the Auto Scaling group. For more information, see Tag Auto Scaling * groups and instances in the Amazon EC2 Auto Scaling User Guide. *

*

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

* * @param tags * One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances * it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the * tags in a launch template but use caution. If the launch template specifies an instance tag with a key * that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that * instance tag with the value specified by the Auto Scaling group. For more information, see Tag Auto * Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it * launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a * launch template but use caution. If the launch template specifies an instance tag with a key that is also * specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the * value specified by the Auto Scaling group. For more information, see Tag Auto Scaling * groups and instances in the Amazon EC2 Auto Scaling User Guide. *

* * @param tags * One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances * it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the * tags in a launch template but use caution. If the launch template specifies an instance tag with a key * that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that * instance tag with the value specified by the Auto Scaling group. For more information, see Tag Auto * Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

* The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon * Web Services service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named * AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role * named AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named * AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked * role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named * AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role * named AWSServiceRoleForAutoScaling, which it creates if it does not exist. 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 CreateAutoScalingGroupRequest 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). For more information, see * Replace 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). For * more information, see Replace 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). For more information, see * Replace 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). For * more information, see Replace 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). For more information, see * Replace 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). For * more information, see Replace 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 CreateAutoScalingGroupRequest withMaxInstanceLifetime(Integer maxInstanceLifetime) { setMaxInstanceLifetime(maxInstanceLifetime); return this; } /** *

* 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 CreateAutoScalingGroupRequest 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 CreateAutoScalingGroupRequest 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. *

*
*

* Default: None *

* * @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. *

*
*

* Default: None */ 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. *

*
*

* Default: None *

* * @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. *

*
*

* Default: None */ 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. *

*
*

* Default: None *

* * @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. *

*
*

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

* The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic * sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, * Network Load Balancer, and VPC Lattice. *

* * @return The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as * traffic sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load * Balancer, Network Load Balancer, and VPC Lattice. */ public java.util.List getTrafficSources() { if (trafficSources == null) { trafficSources = new com.amazonaws.internal.SdkInternalList(); } return trafficSources; } /** *

* The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic * sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, * Network Load Balancer, and VPC Lattice. *

* * @param trafficSources * The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as * traffic sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load * Balancer, Network Load Balancer, and VPC Lattice. */ public void setTrafficSources(java.util.Collection trafficSources) { if (trafficSources == null) { this.trafficSources = null; return; } this.trafficSources = new com.amazonaws.internal.SdkInternalList(trafficSources); } /** *

* The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic * sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, * Network Load Balancer, and VPC Lattice. *

*

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

* * @param trafficSources * The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as * traffic sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load * Balancer, Network Load Balancer, and VPC Lattice. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withTrafficSources(TrafficSourceIdentifier... trafficSources) { if (this.trafficSources == null) { setTrafficSources(new com.amazonaws.internal.SdkInternalList(trafficSources.length)); } for (TrafficSourceIdentifier ele : trafficSources) { this.trafficSources.add(ele); } return this; } /** *

* The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic * sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, * Network Load Balancer, and VPC Lattice. *

* * @param trafficSources * The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as * traffic sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load * Balancer, Network Load Balancer, and VPC Lattice. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAutoScalingGroupRequest withTrafficSources(java.util.Collection trafficSources) { setTrafficSources(trafficSources); 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 CreateAutoScalingGroupRequest 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 (getInstanceId() != null) sb.append("InstanceId: ").append(getInstanceId()).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 (getLoadBalancerNames() != null) sb.append("LoadBalancerNames: ").append(getLoadBalancerNames()).append(","); if (getTargetGroupARNs() != null) sb.append("TargetGroupARNs: ").append(getTargetGroupARNs()).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 (getCapacityRebalance() != null) sb.append("CapacityRebalance: ").append(getCapacityRebalance()).append(","); if (getLifecycleHookSpecificationList() != null) sb.append("LifecycleHookSpecificationList: ").append(getLifecycleHookSpecificationList()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getServiceLinkedRoleARN() != null) sb.append("ServiceLinkedRoleARN: ").append(getServiceLinkedRoleARN()).append(","); if (getMaxInstanceLifetime() != null) sb.append("MaxInstanceLifetime: ").append(getMaxInstanceLifetime()).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 (getTrafficSources() != null) sb.append("TrafficSources: ").append(getTrafficSources()).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 CreateAutoScalingGroupRequest == false) return false; CreateAutoScalingGroupRequest other = (CreateAutoScalingGroupRequest) 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.getInstanceId() == null ^ this.getInstanceId() == null) return false; if (other.getInstanceId() != null && other.getInstanceId().equals(this.getInstanceId()) == 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.getLoadBalancerNames() == null ^ this.getLoadBalancerNames() == null) return false; if (other.getLoadBalancerNames() != null && other.getLoadBalancerNames().equals(this.getLoadBalancerNames()) == false) return false; if (other.getTargetGroupARNs() == null ^ this.getTargetGroupARNs() == null) return false; if (other.getTargetGroupARNs() != null && other.getTargetGroupARNs().equals(this.getTargetGroupARNs()) == 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.getCapacityRebalance() == null ^ this.getCapacityRebalance() == null) return false; if (other.getCapacityRebalance() != null && other.getCapacityRebalance().equals(this.getCapacityRebalance()) == false) return false; if (other.getLifecycleHookSpecificationList() == null ^ this.getLifecycleHookSpecificationList() == null) return false; if (other.getLifecycleHookSpecificationList() != null && other.getLifecycleHookSpecificationList().equals(this.getLifecycleHookSpecificationList()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == 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.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.getTrafficSources() == null ^ this.getTrafficSources() == null) return false; if (other.getTrafficSources() != null && other.getTrafficSources().equals(this.getTrafficSources()) == 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 + ((getInstanceId() == null) ? 0 : getInstanceId().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 + ((getLoadBalancerNames() == null) ? 0 : getLoadBalancerNames().hashCode()); hashCode = prime * hashCode + ((getTargetGroupARNs() == null) ? 0 : getTargetGroupARNs().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 + ((getCapacityRebalance() == null) ? 0 : getCapacityRebalance().hashCode()); hashCode = prime * hashCode + ((getLifecycleHookSpecificationList() == null) ? 0 : getLifecycleHookSpecificationList().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getServiceLinkedRoleARN() == null) ? 0 : getServiceLinkedRoleARN().hashCode()); hashCode = prime * hashCode + ((getMaxInstanceLifetime() == null) ? 0 : getMaxInstanceLifetime().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 + ((getTrafficSources() == null) ? 0 : getTrafficSources().hashCode()); hashCode = prime * hashCode + ((getInstanceMaintenancePolicy() == null) ? 0 : getInstanceMaintenancePolicy().hashCode()); return hashCode; } @Override public CreateAutoScalingGroupRequest clone() { return (CreateAutoScalingGroupRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy