@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class LaunchTemplateOverrides extends Object implements Serializable, Cloneable
Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:
Override the instance type that is specified in the launch template.
Use multiple instance types.
Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.
After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.
| Constructor and Description | 
|---|
| LaunchTemplateOverrides() | 
| Modifier and Type | Method and Description | 
|---|---|
| LaunchTemplateOverrides | clone() | 
| boolean | equals(Object obj) | 
| InstanceRequirements | getInstanceRequirements()
 The instance requirements. | 
| String | getInstanceType()
 The instance type, such as  m3.xlarge. | 
| LaunchTemplateSpecification | getLaunchTemplateSpecification()
 Provides a launch template for the specified instance type or set of instance requirements. | 
| String | getWeightedCapacity()
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. | 
| int | hashCode() | 
| void | setInstanceRequirements(InstanceRequirements instanceRequirements)
 The instance requirements. | 
| void | setInstanceType(String instanceType)
 The instance type, such as  m3.xlarge. | 
| void | setLaunchTemplateSpecification(LaunchTemplateSpecification launchTemplateSpecification)
 Provides a launch template for the specified instance type or set of instance requirements. | 
| void | setWeightedCapacity(String weightedCapacity)
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. | 
| String | toString()Returns a string representation of this object. | 
| LaunchTemplateOverrides | withInstanceRequirements(InstanceRequirements instanceRequirements)
 The instance requirements. | 
| LaunchTemplateOverrides | withInstanceType(String instanceType)
 The instance type, such as  m3.xlarge. | 
| LaunchTemplateOverrides | withLaunchTemplateSpecification(LaunchTemplateSpecification launchTemplateSpecification)
 Provides a launch template for the specified instance type or set of instance requirements. | 
| LaunchTemplateOverrides | withWeightedCapacity(String weightedCapacity)
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. | 
public void setInstanceType(String instanceType)
 The instance type, such as m3.xlarge. You must specify an instance type that is supported in your
 requested Region and Availability Zones. For more information, see Instance types in the
 Amazon EC2 User Guide for Linux Instances.
 
You can specify up to 40 instance types per Auto Scaling group.
instanceType - The instance type, such as m3.xlarge. You must specify an instance type that is supported in
        your requested Region and Availability Zones. For more information, see Instance types in the
        Amazon EC2 User Guide for Linux Instances.
        You can specify up to 40 instance types per Auto Scaling group.
public String getInstanceType()
 The instance type, such as m3.xlarge. You must specify an instance type that is supported in your
 requested Region and Availability Zones. For more information, see Instance types in the
 Amazon EC2 User Guide for Linux Instances.
 
You can specify up to 40 instance types per Auto Scaling group.
m3.xlarge. You must specify an instance type that is supported in
         your requested Region and Availability Zones. For more information, see Instance types in the
         Amazon EC2 User Guide for Linux Instances.
         You can specify up to 40 instance types per Auto Scaling group.
public LaunchTemplateOverrides withInstanceType(String instanceType)
 The instance type, such as m3.xlarge. You must specify an instance type that is supported in your
 requested Region and Availability Zones. For more information, see Instance types in the
 Amazon EC2 User Guide for Linux Instances.
 
You can specify up to 40 instance types per Auto Scaling group.
instanceType - The instance type, such as m3.xlarge. You must specify an instance type that is supported in
        your requested Region and Availability Zones. For more information, see Instance types in the
        Amazon EC2 User Guide for Linux Instances.
        You can specify up to 40 instance types per Auto Scaling group.
public void setWeightedCapacity(String weightedCapacity)
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired
 capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if
 this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2
 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is
 launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide.
 Value must be in the range of 1–999.
 
 If you specify a value for WeightedCapacity for one instance type, you must specify a value for
 WeightedCapacity for all of them.
 
 Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, and
 MinSize). Usually, you set these sizes based on a specific number of instances. However, if you
 configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with
 the same units that you use for weighting instances.
 
weightedCapacity - If you provide a list of instance types to use, you can specify the number of capacity units provided by
        each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
        characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired
        capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even
        if this results in an overage. For example, if there are two units remaining to fulfill capacity, and
        Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units,
        the instance is launched, and the desired capacity is exceeded by three units. For more information, see
        Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User
        Guide. Value must be in the range of 1–999.
        
        If you specify a value for WeightedCapacity for one instance type, you must specify a value
        for WeightedCapacity for all of them.
        
        Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize,
        and MinSize). Usually, you set these sizes based on a specific number of instances. However,
        if you configure a mixed instances policy that defines weights for the instance types, you must specify
        these sizes with the same units that you use for weighting instances.
        
public String getWeightedCapacity()
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired
 capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if
 this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2
 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is
 launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide.
 Value must be in the range of 1–999.
 
 If you specify a value for WeightedCapacity for one instance type, you must specify a value for
 WeightedCapacity for all of them.
 
 Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, and
 MinSize). Usually, you set these sizes based on a specific number of instances. However, if you
 configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with
 the same units that you use for weighting instances.
 
WeightedCapacity of
         five units, the instance is launched, and the desired capacity is exceeded by three units. For more
         information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User
         Guide. Value must be in the range of 1–999.
         
         If you specify a value for WeightedCapacity for one instance type, you must specify a value
         for WeightedCapacity for all of them.
         
         Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize,
         and MinSize). Usually, you set these sizes based on a specific number of instances. However,
         if you configure a mixed instances policy that defines weights for the instance types, you must specify
         these sizes with the same units that you use for weighting instances.
         
public LaunchTemplateOverrides withWeightedCapacity(String weightedCapacity)
 If you provide a list of instance types to use, you can specify the number of capacity units provided by each
 instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
 characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired
 capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if
 this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2
 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is
 launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide.
 Value must be in the range of 1–999.
 
 If you specify a value for WeightedCapacity for one instance type, you must specify a value for
 WeightedCapacity for all of them.
 
 Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, and
 MinSize). Usually, you set these sizes based on a specific number of instances. However, if you
 configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with
 the same units that you use for weighting instances.
 
weightedCapacity - If you provide a list of instance types to use, you can specify the number of capacity units provided by
        each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance
        characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired
        capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even
        if this results in an overage. For example, if there are two units remaining to fulfill capacity, and
        Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units,
        the instance is launched, and the desired capacity is exceeded by three units. For more information, see
        Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User
        Guide. Value must be in the range of 1–999.
        
        If you specify a value for WeightedCapacity for one instance type, you must specify a value
        for WeightedCapacity for all of them.
        
        Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize,
        and MinSize). Usually, you set these sizes based on a specific number of instances. However,
        if you configure a mixed instances policy that defines weights for the instance types, you must specify
        these sizes with the same units that you use for weighting instances.
        
public void setLaunchTemplateSpecification(LaunchTemplateSpecification launchTemplateSpecification)
 Provides a launch template for the specified instance type or set of instance requirements. For example, some
 instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling
 uses the launch template that's specified in the LaunchTemplate definition. For more information,
 see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
 Guide.
 
 You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides
 and in the LaunchTemplate definition count towards this limit.
 
launchTemplateSpecification - Provides a launch template for the specified instance type or set of instance requirements. For example,
        some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto
        Scaling uses the launch template that's specified in the LaunchTemplate definition. For more
        information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
        Guide. 
        
        You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the
        overrides and in the LaunchTemplate definition count towards this limit.
public LaunchTemplateSpecification getLaunchTemplateSpecification()
 Provides a launch template for the specified instance type or set of instance requirements. For example, some
 instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling
 uses the launch template that's specified in the LaunchTemplate definition. For more information,
 see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
 Guide.
 
 You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides
 and in the LaunchTemplate definition count towards this limit.
 
LaunchTemplate definition. For
         more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
         Guide. 
         
         You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the
         overrides and in the LaunchTemplate definition count towards this limit.
public LaunchTemplateOverrides withLaunchTemplateSpecification(LaunchTemplateSpecification launchTemplateSpecification)
 Provides a launch template for the specified instance type or set of instance requirements. For example, some
 instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling
 uses the launch template that's specified in the LaunchTemplate definition. For more information,
 see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
 Guide.
 
 You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides
 and in the LaunchTemplate definition count towards this limit.
 
launchTemplateSpecification - Provides a launch template for the specified instance type or set of instance requirements. For example,
        some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto
        Scaling uses the launch template that's specified in the LaunchTemplate definition. For more
        information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User
        Guide. 
        
        You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the
        overrides and in the LaunchTemplate definition count towards this limit.
public void setInstanceRequirements(InstanceRequirements instanceRequirements)
The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.
You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
 If you specify InstanceRequirements, you can't specify InstanceType.
 
instanceRequirements - The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance
        types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance
        types.
        You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
        If you specify InstanceRequirements, you can't specify InstanceType.
        
public InstanceRequirements getInstanceRequirements()
The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.
You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
 If you specify InstanceRequirements, you can't specify InstanceType.
 
You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
         If you specify InstanceRequirements, you can't specify InstanceType.
         
public LaunchTemplateOverrides withInstanceRequirements(InstanceRequirements instanceRequirements)
The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.
You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
 If you specify InstanceRequirements, you can't specify InstanceType.
 
instanceRequirements - The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance
        types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance
        types.
        You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
        If you specify InstanceRequirements, you can't specify InstanceType.
        
public String toString()
toString in class ObjectObject.toString()public LaunchTemplateOverrides clone()