LaunchTemplateOverrides

class aws_cdk.aws_autoscaling.LaunchTemplateOverrides(*, instance_requirements=None, instance_type=None, launch_template=None, weighted_capacity=None)

Bases: object

LaunchTemplateOverrides is a subproperty of LaunchTemplate that describes an override for a launch template.

Parameters:
  • instance_requirements (Union[InstanceRequirementsProperty, Dict[str, Any], None]) – 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. You must specify one of instanceRequirements or instanceType. Default: - Do not override instance type

  • instance_type (Optional[InstanceType]) – The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones. You must specify one of instanceRequirements or instanceType. Default: - Do not override instance type

  • launch_template (Optional[ILaunchTemplate]) – Provides the launch template to be used when launching the instance type. 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 defined for your mixed instances policy. Default: - Do not override launch template

  • weighted_capacity (Union[int, float, None]) – The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. Value must be in the range of 1 to 999. For example, If there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units. Default: - Do not provide weight

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_autoscaling as autoscaling
from aws_cdk import aws_ec2 as ec2

# instance_type: ec2.InstanceType
# launch_template: ec2.LaunchTemplate

launch_template_overrides = autoscaling.LaunchTemplateOverrides(
    instance_requirements=autoscaling.CfnAutoScalingGroup.InstanceRequirementsProperty(
        memory_mi_b=autoscaling.CfnAutoScalingGroup.MemoryMiBRequestProperty(
            max=123,
            min=123
        ),
        v_cpu_count=autoscaling.CfnAutoScalingGroup.VCpuCountRequestProperty(
            max=123,
            min=123
        ),

        # the properties below are optional
        accelerator_count=autoscaling.CfnAutoScalingGroup.AcceleratorCountRequestProperty(
            max=123,
            min=123
        ),
        accelerator_manufacturers=["acceleratorManufacturers"],
        accelerator_names=["acceleratorNames"],
        accelerator_total_memory_mi_b=autoscaling.CfnAutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty(
            max=123,
            min=123
        ),
        accelerator_types=["acceleratorTypes"],
        allowed_instance_types=["allowedInstanceTypes"],
        bare_metal="bareMetal",
        baseline_ebs_bandwidth_mbps=autoscaling.CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty(
            max=123,
            min=123
        ),
        burstable_performance="burstablePerformance",
        cpu_manufacturers=["cpuManufacturers"],
        excluded_instance_types=["excludedInstanceTypes"],
        instance_generations=["instanceGenerations"],
        local_storage="localStorage",
        local_storage_types=["localStorageTypes"],
        max_spot_price_as_percentage_of_optimal_on_demand_price=123,
        memory_gi_bPer_vCpu=autoscaling.CfnAutoScalingGroup.MemoryGiBPerVCpuRequestProperty(
            max=123,
            min=123
        ),
        network_bandwidth_gbps=autoscaling.CfnAutoScalingGroup.NetworkBandwidthGbpsRequestProperty(
            max=123,
            min=123
        ),
        network_interface_count=autoscaling.CfnAutoScalingGroup.NetworkInterfaceCountRequestProperty(
            max=123,
            min=123
        ),
        on_demand_max_price_percentage_over_lowest_price=123,
        require_hibernate_support=False,
        spot_max_price_percentage_over_lowest_price=123,
        total_local_storage_gb=autoscaling.CfnAutoScalingGroup.TotalLocalStorageGBRequestProperty(
            max=123,
            min=123
        )
    ),
    instance_type=instance_type,
    launch_template=launch_template,
    weighted_capacity=123
)

Attributes

instance_requirements

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.

You must specify one of instanceRequirements or instanceType.

Default:
  • Do not override instance type

instance_type

The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones.

You must specify one of instanceRequirements or instanceType.

Default:
  • Do not override instance type

launch_template

Provides the launch template to be used when launching the instance type.

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 defined for your mixed instances policy.

Default:
  • Do not override launch template

weighted_capacity

The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic.

When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. Value must be in the range of 1 to 999.

For example, If there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units.

Default:
  • Do not provide weight

See:

https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html