Package-level declarations

Types

Link copied to clipboard
data class AutoScalingGroupAcceleratorCountRequest(val max: Int? = null, val min: Int? = null)

`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 AutoScalingGroupAcceleratorTotalMemoryMiBRequest(val max: Int? = null, val min: Int? = null)

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

`AvailabilityZoneDistribution` is a property of the AWS::AutoScaling::AutoScalingGroup resource.

Describes an Availability Zone impairment policy.

data class AutoScalingGroupBaselineEbsBandwidthMbpsRequest(val max: Int? = null, val min: Int? = null)

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

The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Auto Scaling uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying `c6i` uses the CPU performance of the `c6i` family as the baseline reference.

data class AutoScalingGroupCapacityReservationSpecification(val capacityReservationPreference: String, val capacityReservationTarget: AutoScalingGroupCapacityReservationTarget? = null)

Describes the Capacity Reservation preference and targeting options. If you specify `open` or `none` for `CapacityReservationPreference`, do not specify a `CapacityReservationTarget`.

data class AutoScalingGroupCapacityReservationTarget(val capacityReservationIds: List<String>? = null, val capacityReservationResourceGroupArns: List<String>? = null)

The target for the Capacity Reservation. Specify Capacity Reservations IDs or Capacity Reservation resource group ARNs.

The CPU performance to consider, using an instance family as the baseline reference.

data class AutoScalingGroupInstanceMaintenancePolicy(val maxHealthyPercentage: Int? = null, val minHealthyPercentage: Int? = null)

`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 AutoScalingGroupInstanceRequirements(val acceleratorCount: AutoScalingGroupAcceleratorCountRequest? = null, val acceleratorManufacturers: List<String>? = null, val acceleratorNames: List<String>? = null, val acceleratorTotalMemoryMiB: AutoScalingGroupAcceleratorTotalMemoryMiBRequest? = null, val acceleratorTypes: List<String>? = null, val allowedInstanceTypes: List<String>? = null, val bareMetal: String? = null, val baselineEbsBandwidthMbps: AutoScalingGroupBaselineEbsBandwidthMbpsRequest? = null, val baselinePerformanceFactors: AutoScalingGroupBaselinePerformanceFactorsRequest? = null, val burstablePerformance: String? = null, val cpuManufacturers: List<String>? = null, val excludedInstanceTypes: List<String>? = null, val instanceGenerations: List<String>? = null, val localStorage: String? = null, val localStorageTypes: List<String>? = null, val maxSpotPriceAsPercentageOfOptimalOnDemandPrice: Int? = null, val memoryGiBPerVCpu: AutoScalingGroupMemoryGiBPerVCpuRequest? = null, val memoryMiB: AutoScalingGroupMemoryMiBRequest, val networkBandwidthGbps: AutoScalingGroupNetworkBandwidthGbpsRequest? = null, val networkInterfaceCount: AutoScalingGroupNetworkInterfaceCountRequest? = null, val onDemandMaxPricePercentageOverLowestPrice: Int? = null, val requireHibernateSupport: Boolean? = null, val spotMaxPricePercentageOverLowestPrice: Int? = null, val totalLocalStorageGb: AutoScalingGroupTotalLocalStorageGbRequest? = null, val vCpuCount: AutoScalingGroupVCpuCountRequest)

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:

Link copied to clipboard
data class AutoScalingGroupInstancesDistribution(val onDemandAllocationStrategy: String? = null, val onDemandBaseCapacity: Int? = null, val onDemandPercentageAboveBaseCapacity: Int? = null, val spotAllocationStrategy: String? = null, val spotInstancePools: Int? = null, val spotMaxPrice: String? = null)

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

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.

Link copied to clipboard
data class AutoScalingGroupLaunchTemplateOverrides(val instanceRequirements: AutoScalingGroupInstanceRequirements? = null, val instanceType: String? = null, val launchTemplateSpecification: AutoScalingGroupLaunchTemplateSpecification? = null, val weightedCapacity: String? = null)

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

data class AutoScalingGroupLaunchTemplateSpecification(val launchTemplateId: String? = null, val launchTemplateName: String? = null, val version: String)

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

data class AutoScalingGroupLifecycleHookSpecification(val defaultResult: String? = null, val heartbeatTimeout: Int? = null, val lifecycleHookName: String, val lifecycleTransition: String, val notificationMetadata: String? = null, val notificationTargetArn: String? = null, val roleArn: String? = null)

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

Link copied to clipboard
data class AutoScalingGroupMemoryGiBPerVCpuRequest(val max: Double? = null, val min: Double? = null)

`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 AutoScalingGroupMemoryMiBRequest(val max: Int? = null, val min: Int? = null)

`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 AutoScalingGroupMetricsCollection(val granularity: String, val metrics: List<String>? = null)

`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 AutoScalingGroupMixedInstancesPolicy(val instancesDistribution: AutoScalingGroupInstancesDistribution? = null, val launchTemplate: AutoScalingGroupLaunchTemplate)

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 AutoScalingGroupNetworkBandwidthGbpsRequest(val max: Double? = null, val min: Double? = null)

`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 AutoScalingGroupNetworkInterfaceCountRequest(val max: Int? = null, val min: Int? = null)

`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 AutoScalingGroupNotificationConfiguration(val notificationTypes: List<String>? = null, val topicArn: List<String>)

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.

data class AutoScalingGroupPerformanceFactorReferenceRequest(val instanceFamily: String? = null)

Specify an instance family to use as the baseline reference for CPU performance. All instance types that All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences. Currently only one instance family can be specified in the list.

Link copied to clipboard
data class AutoScalingGroupTagProperty(val key: String, val propagateAtLaunch: Boolean, val value: String)

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 AutoScalingGroupTotalLocalStorageGbRequest(val max: Double? = null, val min: Double? = null)

`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 AutoScalingGroupTrafficSourceIdentifier(val identifier: String, val type: String)

Identifying information for a traffic source.

Link copied to clipboard
data class AutoScalingGroupVCpuCountRequest(val max: Int? = null, val min: Int? = null)

`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 GetAutoScalingGroupResult(val autoScalingGroupArn: String? = null, val availabilityZoneDistribution: AutoScalingGroupAvailabilityZoneDistribution? = null, val availabilityZoneImpairmentPolicy: AutoScalingGroupAvailabilityZoneImpairmentPolicy? = null, val availabilityZones: List<String>? = null, val capacityRebalance: Boolean? = null, val capacityReservationSpecification: AutoScalingGroupCapacityReservationSpecification? = null, val context: String? = null, val cooldown: String? = null, val defaultInstanceWarmup: Int? = null, val desiredCapacity: String? = null, val desiredCapacityType: String? = null, val healthCheckGracePeriod: Int? = null, val healthCheckType: String? = null, val instanceMaintenancePolicy: AutoScalingGroupInstanceMaintenancePolicy? = null, val launchConfigurationName: String? = null, val launchTemplate: AutoScalingGroupLaunchTemplateSpecification? = null, val lifecycleHookSpecificationList: List<AutoScalingGroupLifecycleHookSpecification>? = null, val loadBalancerNames: List<String>? = null, val maxInstanceLifetime: Int? = null, val maxSize: String? = null, val metricsCollection: List<AutoScalingGroupMetricsCollection>? = null, val minSize: String? = null, val mixedInstancesPolicy: AutoScalingGroupMixedInstancesPolicy? = null, val newInstancesProtectedFromScaleIn: Boolean? = null, val notificationConfiguration: AutoScalingGroupNotificationConfiguration? = null, val notificationConfigurations: List<AutoScalingGroupNotificationConfiguration>? = null, val placementGroup: String? = null, val serviceLinkedRoleArn: String? = null, val tags: List<AutoScalingGroupTagProperty>? = null, val targetGroupArns: List<String>? = null, val terminationPolicies: List<String>? = null, val trafficSources: List<AutoScalingGroupTrafficSourceIdentifier>? = null, val vpcZoneIdentifier: List<String>? = null)
Link copied to clipboard
data class GetLifecycleHookResult(val defaultResult: String? = null, val heartbeatTimeout: Int? = null, val lifecycleTransition: String? = null, val notificationMetadata: String? = null, val notificationTargetArn: String? = null, val roleArn: String? = null)
Link copied to clipboard
data class GetScalingPolicyResult(val adjustmentType: String? = null, val arn: String? = null, val cooldown: String? = null, val estimatedInstanceWarmup: Int? = null, val metricAggregationType: String? = null, val minAdjustmentMagnitude: Int? = null, val policyName: String? = null, val policyType: String? = null, val predictiveScalingConfiguration: ScalingPolicyPredictiveScalingConfiguration? = null, val scalingAdjustment: Int? = null, val stepAdjustments: List<ScalingPolicyStepAdjustment>? = null, val targetTrackingConfiguration: ScalingPolicyTargetTrackingConfiguration? = null)
Link copied to clipboard
data class GetScheduledActionResult(val desiredCapacity: Int? = null, val endTime: String? = null, val maxSize: Int? = null, val minSize: Int? = null, val recurrence: String? = null, val scheduledActionName: String? = null, val startTime: String? = null, val timeZone: String? = null)
Link copied to clipboard
data class GetWarmPoolResult(val instanceReusePolicy: WarmPoolInstanceReusePolicy? = null, val maxGroupPreparedCapacity: Int? = null, val minSize: Int? = null, val poolState: String? = null)
Link copied to clipboard
data class LaunchConfigurationBlockDevice(val deleteOnTermination: Boolean? = null, val encrypted: Boolean? = null, val iops: Int? = null, val snapshotId: String? = null, val throughput: Int? = null, val volumeSize: Int? = null, val volumeType: String? = null)

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

Link copied to clipboard
data class LaunchConfigurationBlockDeviceMapping(val deviceName: String, val ebs: LaunchConfigurationBlockDevice? = null, val noDevice: Boolean? = null, val virtualName: String? = null)

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 LaunchConfigurationMetadataOptions(val httpEndpoint: String? = null, val httpPutResponseHopLimit: Int? = null, val httpTokens: String? = null)

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

data class ScalingPolicyCustomizedMetricSpecification(val dimensions: List<ScalingPolicyMetricDimension>? = null, val metricName: String? = null, val metrics: List<ScalingPolicyTargetTrackingMetricDataQuery>? = null, val namespace: String? = null, val period: Int? = null, val statistic: String? = null, val unit: String? = null)
Link copied to clipboard
data class ScalingPolicyMetric(val dimensions: List<ScalingPolicyMetricDimension>? = null, val metricName: String, val namespace: String)
Link copied to clipboard
data class ScalingPolicyMetricDataQuery(val expression: String? = null, val id: String, val label: String? = null, val metricStat: ScalingPolicyMetricStat? = null, val returnData: Boolean? = null)
Link copied to clipboard
data class ScalingPolicyMetricDimension(val name: String, val value: String)
Link copied to clipboard
data class ScalingPolicyMetricStat(val metric: ScalingPolicyMetric, val stat: String, val unit: String? = null)
data class ScalingPolicyPredefinedMetricSpecification(val predefinedMetricType: String, val resourceLabel: String? = null)
data class ScalingPolicyPredictiveScalingConfiguration(val maxCapacityBreachBehavior: String? = null, val maxCapacityBuffer: Int? = null, val metricSpecifications: List<ScalingPolicyPredictiveScalingMetricSpecification>, val mode: String? = null, val schedulingBufferTime: Int? = null)
data class ScalingPolicyPredictiveScalingMetricSpecification(val customizedCapacityMetricSpecification: ScalingPolicyPredictiveScalingCustomizedCapacityMetric? = null, val customizedLoadMetricSpecification: ScalingPolicyPredictiveScalingCustomizedLoadMetric? = null, val customizedScalingMetricSpecification: ScalingPolicyPredictiveScalingCustomizedScalingMetric? = null, val predefinedLoadMetricSpecification: ScalingPolicyPredictiveScalingPredefinedLoadMetric? = null, val predefinedMetricPairSpecification: ScalingPolicyPredictiveScalingPredefinedMetricPair? = null, val predefinedScalingMetricSpecification: ScalingPolicyPredictiveScalingPredefinedScalingMetric? = null, val targetValue: Double)
data class ScalingPolicyPredictiveScalingPredefinedLoadMetric(val predefinedMetricType: String, val resourceLabel: String? = null)
data class ScalingPolicyPredictiveScalingPredefinedMetricPair(val predefinedMetricType: String, val resourceLabel: String? = null)
data class ScalingPolicyPredictiveScalingPredefinedScalingMetric(val predefinedMetricType: String, val resourceLabel: String? = null)
Link copied to clipboard
data class ScalingPolicyStepAdjustment(val metricIntervalLowerBound: Double? = null, val metricIntervalUpperBound: Double? = null, val scalingAdjustment: Int)
Link copied to clipboard
data class ScalingPolicyTargetTrackingConfiguration(val customizedMetricSpecification: ScalingPolicyCustomizedMetricSpecification? = null, val disableScaleIn: Boolean? = null, val predefinedMetricSpecification: ScalingPolicyPredefinedMetricSpecification? = null, val targetValue: Double)
data class ScalingPolicyTargetTrackingMetricDataQuery(val expression: String? = null, val id: String, val label: String? = null, val metricStat: ScalingPolicyTargetTrackingMetricStat? = null, val period: Int? = null, val returnData: Boolean? = null)
Link copied to clipboard
data class ScalingPolicyTargetTrackingMetricStat(val metric: ScalingPolicyMetric, val period: Int? = null, val stat: String, val unit: String? = null)
Link copied to clipboard
data class WarmPoolInstanceReusePolicy(val reuseOnScaleIn: Boolean? = null)