Package-level declarations

Types

data class AutoScalingGroupAcceleratorCountRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupAcceleratorCountRequestArgs>

`AcceleratorCountRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum number of accelerators for an instance type.

data class AutoScalingGroupAcceleratorTotalMemoryMiBRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupAcceleratorTotalMemoryMiBRequestArgs>

`AcceleratorTotalMemoryMiBRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.

data class AutoScalingGroupBaselineEbsBandwidthMbpsRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupBaselineEbsBandwidthMbpsRequestArgs>

`BaselineEbsBandwidthMbpsRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.

data class AutoScalingGroupInstanceMaintenancePolicyArgs(val maxHealthyPercentage: Output<Int>? = null, val minHealthyPercentage: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupInstanceMaintenancePolicyArgs>

`InstanceMaintenancePolicy` is a property of the AWS::AutoScaling::AutoScalingGroup resource. For more information, see Instance maintenance policies in the Amazon EC2 Auto Scaling User Guide.

Link copied to clipboard
data class AutoScalingGroupInstanceRequirementsArgs(val acceleratorCount: Output<AutoScalingGroupAcceleratorCountRequestArgs>? = null, val acceleratorManufacturers: Output<List<String>>? = null, val acceleratorNames: Output<List<String>>? = null, val acceleratorTotalMemoryMiB: Output<AutoScalingGroupAcceleratorTotalMemoryMiBRequestArgs>? = null, val acceleratorTypes: Output<List<String>>? = null, val allowedInstanceTypes: Output<List<String>>? = null, val bareMetal: Output<String>? = null, val baselineEbsBandwidthMbps: Output<AutoScalingGroupBaselineEbsBandwidthMbpsRequestArgs>? = null, val burstablePerformance: Output<String>? = null, val cpuManufacturers: Output<List<String>>? = null, val excludedInstanceTypes: Output<List<String>>? = null, val instanceGenerations: Output<List<String>>? = null, val localStorage: Output<String>? = null, val localStorageTypes: Output<List<String>>? = null, val maxSpotPriceAsPercentageOfOptimalOnDemandPrice: Output<Int>? = null, val memoryGiBPerVCpu: Output<AutoScalingGroupMemoryGiBPerVCpuRequestArgs>? = null, val memoryMiB: Output<AutoScalingGroupMemoryMiBRequestArgs>, val networkBandwidthGbps: Output<AutoScalingGroupNetworkBandwidthGbpsRequestArgs>? = null, val networkInterfaceCount: Output<AutoScalingGroupNetworkInterfaceCountRequestArgs>? = null, val onDemandMaxPricePercentageOverLowestPrice: Output<Int>? = null, val requireHibernateSupport: Output<Boolean>? = null, val spotMaxPricePercentageOverLowestPrice: Output<Int>? = null, val totalLocalStorageGb: Output<AutoScalingGroupTotalLocalStorageGbRequestArgs>? = null, val vCpuCount: Output<AutoScalingGroupVCpuCountRequestArgs>) : ConvertibleToJava<AutoScalingGroupInstanceRequirementsArgs>

The attributes for the instance types for a mixed instances policy. 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. When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values. To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:

data class AutoScalingGroupInstancesDistributionArgs(val onDemandAllocationStrategy: Output<String>? = null, val onDemandBaseCapacity: Output<Int>? = null, val onDemandPercentageAboveBaseCapacity: Output<Int>? = null, val spotAllocationStrategy: Output<String>? = null, val spotInstancePools: Output<Int>? = null, val spotMaxPrice: Output<String>? = null) : ConvertibleToJava<AutoScalingGroupInstancesDistributionArgs>

Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a 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. `InstancesDistribution` is a property of the AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy property type.

Link copied to clipboard
data class AutoScalingGroupLaunchTemplateArgs(val launchTemplateSpecification: Output<AutoScalingGroupLaunchTemplateSpecificationArgs>, val overrides: Output<List<AutoScalingGroupLaunchTemplateOverridesArgs>>? = null) : ConvertibleToJava<AutoScalingGroupLaunchTemplateArgs>

Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy. `LaunchTemplate` is a property of the AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy property type.

data class AutoScalingGroupLaunchTemplateOverridesArgs(val instanceRequirements: Output<AutoScalingGroupInstanceRequirementsArgs>? = null, val instanceType: Output<String>? = null, val launchTemplateSpecification: Output<AutoScalingGroupLaunchTemplateSpecificationArgs>? = null, val weightedCapacity: Output<String>? = null) : ConvertibleToJava<AutoScalingGroupLaunchTemplateOverridesArgs>

Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:

data class AutoScalingGroupLaunchTemplateSpecificationArgs(val launchTemplateId: Output<String>? = null, val launchTemplateName: Output<String>? = null, val version: Output<String>) : ConvertibleToJava<AutoScalingGroupLaunchTemplateSpecificationArgs>

Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group. You must specify the following:

data class AutoScalingGroupLifecycleHookSpecificationArgs(val defaultResult: Output<String>? = null, val heartbeatTimeout: Output<Int>? = null, val lifecycleHookName: Output<String>, val lifecycleTransition: Output<String>, val notificationMetadata: Output<String>? = null, val notificationTargetArn: Output<String>? = null, val roleArn: Output<String>? = null) : ConvertibleToJava<AutoScalingGroupLifecycleHookSpecificationArgs>

`LifecycleHookSpecification` specifies a lifecycle hook for the `LifecycleHookSpecificationList` property of the AWS::AutoScaling::AutoScalingGroup resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide. You can find a sample template snippet in the Examples section of the `AWS::AutoScaling::LifecycleHook` resource.

data class AutoScalingGroupMemoryGiBPerVCpuRequestArgs(val max: Output<Double>? = null, val min: Output<Double>? = null) : ConvertibleToJava<AutoScalingGroupMemoryGiBPerVCpuRequestArgs>

`MemoryGiBPerVCpuRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.

Link copied to clipboard
data class AutoScalingGroupMemoryMiBRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupMemoryMiBRequestArgs>

`MemoryMiBRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum instance memory size for an instance type, in MiB.

Link copied to clipboard
data class AutoScalingGroupMetricsCollectionArgs(val granularity: Output<String>, val metrics: Output<List<String>>? = null) : ConvertibleToJava<AutoScalingGroupMetricsCollectionArgs>

`MetricsCollection` is a property of the AWS::AutoScaling::AutoScalingGroup resource that describes the group metrics that an Amazon EC2 Auto Scaling group sends to Amazon CloudWatch. These metrics describe the group rather than any of its instances. For more information, see Monitor CloudWatch metrics for your Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. You can find a sample template snippet in the Examples section of the `AWS::AutoScaling::AutoScalingGroup` resource.

Link copied to clipboard
data class AutoScalingGroupMixedInstancesPolicyArgs(val instancesDistribution: Output<AutoScalingGroupInstancesDistributionArgs>? = null, val launchTemplate: Output<AutoScalingGroupLaunchTemplateArgs>) : ConvertibleToJava<AutoScalingGroupMixedInstancesPolicyArgs>

Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group. A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide. You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration. There are key differences between Spot Instances and On-Demand Instances:

data class AutoScalingGroupNetworkBandwidthGbpsRequestArgs(val max: Output<Double>? = null, val min: Output<Double>? = null) : ConvertibleToJava<AutoScalingGroupNetworkBandwidthGbpsRequestArgs>

`NetworkBandwidthGbpsRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps. Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide for Linux Instances.

data class AutoScalingGroupNetworkInterfaceCountRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupNetworkInterfaceCountRequestArgs>

`NetworkInterfaceCountRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum number of network interfaces for an instance type.

data class AutoScalingGroupNotificationConfigurationArgs(val notificationTypes: Output<List<String>>? = null, val topicArn: Output<List<String>>) : ConvertibleToJava<AutoScalingGroupNotificationConfigurationArgs>

A structure that specifies an Amazon SNS notification configuration for the `NotificationConfigurations` property of the AWS::AutoScaling::AutoScalingGroup resource. For an example template snippet, see Configure Amazon EC2 Auto Scaling resources. For more information, see Get Amazon SNS notifications when your Auto Scaling group scales in the Amazon EC2 Auto Scaling User Guide.

Link copied to clipboard
data class AutoScalingGroupTagPropertyArgs(val key: Output<String>, val propagateAtLaunch: Output<Boolean>, val value: Output<String>) : ConvertibleToJava<AutoScalingGroupTagPropertyArgs>

A structure that specifies a tag for the `Tags` property of AWS::AutoScaling::AutoScalingGroup resource. For more information, see Tag Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide. You can find a sample template snippet in the Examples section of the `AWS::AutoScaling::AutoScalingGroup` resource. CloudFormation adds the following tags to all Auto Scaling groups and associated instances:

data class AutoScalingGroupTotalLocalStorageGbRequestArgs(val max: Output<Double>? = null, val min: Output<Double>? = null) : ConvertibleToJava<AutoScalingGroupTotalLocalStorageGbRequestArgs>

`TotalLocalStorageGBRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum total local storage size for an instance type, in GB.

Link copied to clipboard
data class AutoScalingGroupVCpuCountRequestArgs(val max: Output<Int>? = null, val min: Output<Int>? = null) : ConvertibleToJava<AutoScalingGroupVCpuCountRequestArgs>

`VCpuCountRequest` is a property of the `InstanceRequirements` property of the AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides property type that describes the minimum and maximum number of vCPUs for an instance type.

Link copied to clipboard
data class GetAutoScalingGroupPlainArgs(val autoScalingGroupName: String) : ConvertibleToJava<GetAutoScalingGroupPlainArgs>
Link copied to clipboard
data class GetLifecycleHookPlainArgs(val autoScalingGroupName: String, val lifecycleHookName: String) : ConvertibleToJava<GetLifecycleHookPlainArgs>
Link copied to clipboard
data class GetScalingPolicyPlainArgs(val arn: String) : ConvertibleToJava<GetScalingPolicyPlainArgs>
Link copied to clipboard
data class GetScheduledActionPlainArgs(val autoScalingGroupName: String, val scheduledActionName: String) : ConvertibleToJava<GetScheduledActionPlainArgs>
Link copied to clipboard
data class GetWarmPoolPlainArgs(val autoScalingGroupName: String) : ConvertibleToJava<GetWarmPoolPlainArgs>
Link copied to clipboard
data class LaunchConfigurationBlockDeviceArgs(val deleteOnTermination: Output<Boolean>? = null, val encrypted: Output<Boolean>? = null, val iops: Output<Int>? = null, val snapshotId: Output<String>? = null, val throughput: Output<Int>? = null, val volumeSize: Output<Int>? = null, val volumeType: Output<String>? = null) : ConvertibleToJava<LaunchConfigurationBlockDeviceArgs>

BlockDevice is a subproperty of BlockDeviceMapping that describes an Amazon EBS volume.

data class LaunchConfigurationBlockDeviceMappingArgs(val deviceName: Output<String>, val ebs: Output<LaunchConfigurationBlockDeviceArgs>? = null, val noDevice: Output<Boolean>? = null, val virtualName: Output<String>? = null) : ConvertibleToJava<LaunchConfigurationBlockDeviceMappingArgs>

BlockDeviceMapping is a property of AWS::AutoScaling::LaunchConfiguration that describes a block device mapping for an Auto Scaling group.

Link copied to clipboard
data class LaunchConfigurationMetadataOptionsArgs(val httpEndpoint: Output<String>? = null, val httpPutResponseHopLimit: Output<Int>? = null, val httpTokens: Output<String>? = null) : ConvertibleToJava<LaunchConfigurationMetadataOptionsArgs>

MetadataOptions is a property of AWS::AutoScaling::LaunchConfiguration that describes metadata options for the instances.

data class ScalingPolicyCustomizedMetricSpecificationArgs(val dimensions: Output<List<ScalingPolicyMetricDimensionArgs>>? = null, val metricName: Output<String>? = null, val metrics: Output<List<ScalingPolicyTargetTrackingMetricDataQueryArgs>>? = null, val namespace: Output<String>? = null, val statistic: Output<String>? = null, val unit: Output<String>? = null) : ConvertibleToJava<ScalingPolicyCustomizedMetricSpecificationArgs>
Link copied to clipboard
data class ScalingPolicyMetricArgs(val dimensions: Output<List<ScalingPolicyMetricDimensionArgs>>? = null, val metricName: Output<String>, val namespace: Output<String>) : ConvertibleToJava<ScalingPolicyMetricArgs>
Link copied to clipboard
data class ScalingPolicyMetricDataQueryArgs(val expression: Output<String>? = null, val id: Output<String>, val label: Output<String>? = null, val metricStat: Output<ScalingPolicyMetricStatArgs>? = null, val returnData: Output<Boolean>? = null) : ConvertibleToJava<ScalingPolicyMetricDataQueryArgs>
Link copied to clipboard
data class ScalingPolicyMetricDimensionArgs(val name: Output<String>, val value: Output<String>) : ConvertibleToJava<ScalingPolicyMetricDimensionArgs>
Link copied to clipboard
data class ScalingPolicyMetricStatArgs(val metric: Output<ScalingPolicyMetricArgs>, val stat: Output<String>, val unit: Output<String>? = null) : ConvertibleToJava<ScalingPolicyMetricStatArgs>
data class ScalingPolicyPredefinedMetricSpecificationArgs(val predefinedMetricType: Output<String>, val resourceLabel: Output<String>? = null) : ConvertibleToJava<ScalingPolicyPredefinedMetricSpecificationArgs>
data class ScalingPolicyPredictiveScalingConfigurationArgs(val maxCapacityBreachBehavior: Output<String>? = null, val maxCapacityBuffer: Output<Int>? = null, val metricSpecifications: Output<List<ScalingPolicyPredictiveScalingMetricSpecificationArgs>>, val mode: Output<String>? = null, val schedulingBufferTime: Output<Int>? = null) : ConvertibleToJava<ScalingPolicyPredictiveScalingConfigurationArgs>
data class ScalingPolicyPredictiveScalingCustomizedCapacityMetricArgs(val metricDataQueries: Output<List<ScalingPolicyMetricDataQueryArgs>>) : ConvertibleToJava<ScalingPolicyPredictiveScalingCustomizedCapacityMetricArgs>
data class ScalingPolicyPredictiveScalingCustomizedLoadMetricArgs(val metricDataQueries: Output<List<ScalingPolicyMetricDataQueryArgs>>) : ConvertibleToJava<ScalingPolicyPredictiveScalingCustomizedLoadMetricArgs>
data class ScalingPolicyPredictiveScalingCustomizedScalingMetricArgs(val metricDataQueries: Output<List<ScalingPolicyMetricDataQueryArgs>>) : ConvertibleToJava<ScalingPolicyPredictiveScalingCustomizedScalingMetricArgs>
data class ScalingPolicyPredictiveScalingMetricSpecificationArgs(val customizedCapacityMetricSpecification: Output<ScalingPolicyPredictiveScalingCustomizedCapacityMetricArgs>? = null, val customizedLoadMetricSpecification: Output<ScalingPolicyPredictiveScalingCustomizedLoadMetricArgs>? = null, val customizedScalingMetricSpecification: Output<ScalingPolicyPredictiveScalingCustomizedScalingMetricArgs>? = null, val predefinedLoadMetricSpecification: Output<ScalingPolicyPredictiveScalingPredefinedLoadMetricArgs>? = null, val predefinedMetricPairSpecification: Output<ScalingPolicyPredictiveScalingPredefinedMetricPairArgs>? = null, val predefinedScalingMetricSpecification: Output<ScalingPolicyPredictiveScalingPredefinedScalingMetricArgs>? = null, val targetValue: Output<Double>) : ConvertibleToJava<ScalingPolicyPredictiveScalingMetricSpecificationArgs>
data class ScalingPolicyPredictiveScalingPredefinedLoadMetricArgs(val predefinedMetricType: Output<String>, val resourceLabel: Output<String>? = null) : ConvertibleToJava<ScalingPolicyPredictiveScalingPredefinedLoadMetricArgs>
data class ScalingPolicyPredictiveScalingPredefinedMetricPairArgs(val predefinedMetricType: Output<String>, val resourceLabel: Output<String>? = null) : ConvertibleToJava<ScalingPolicyPredictiveScalingPredefinedMetricPairArgs>
data class ScalingPolicyPredictiveScalingPredefinedScalingMetricArgs(val predefinedMetricType: Output<String>, val resourceLabel: Output<String>? = null) : ConvertibleToJava<ScalingPolicyPredictiveScalingPredefinedScalingMetricArgs>
Link copied to clipboard
data class ScalingPolicyStepAdjustmentArgs(val metricIntervalLowerBound: Output<Double>? = null, val metricIntervalUpperBound: Output<Double>? = null, val scalingAdjustment: Output<Int>) : ConvertibleToJava<ScalingPolicyStepAdjustmentArgs>
data class ScalingPolicyTargetTrackingConfigurationArgs(val customizedMetricSpecification: Output<ScalingPolicyCustomizedMetricSpecificationArgs>? = null, val disableScaleIn: Output<Boolean>? = null, val predefinedMetricSpecification: Output<ScalingPolicyPredefinedMetricSpecificationArgs>? = null, val targetValue: Output<Double>) : ConvertibleToJava<ScalingPolicyTargetTrackingConfigurationArgs>
data class ScalingPolicyTargetTrackingMetricDataQueryArgs(val expression: Output<String>? = null, val id: Output<String>, val label: Output<String>? = null, val metricStat: Output<ScalingPolicyTargetTrackingMetricStatArgs>? = null, val returnData: Output<Boolean>? = null) : ConvertibleToJava<ScalingPolicyTargetTrackingMetricDataQueryArgs>
data class ScalingPolicyTargetTrackingMetricStatArgs(val metric: Output<ScalingPolicyMetricArgs>, val stat: Output<String>, val unit: Output<String>? = null) : ConvertibleToJava<ScalingPolicyTargetTrackingMetricStatArgs>
Link copied to clipboard
data class WarmPoolInstanceReusePolicyArgs(val reuseOnScaleIn: Output<Boolean>? = null) : ConvertibleToJava<WarmPoolInstanceReusePolicyArgs>