import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class LaunchTemplateOverrides { InstanceType?: Value; constructor(properties: LaunchTemplateOverrides); } export declare class LifecycleHookSpecification { DefaultResult?: Value; HeartbeatTimeout?: Value; LifecycleHookName: Value; LifecycleTransition: Value; NotificationMetadata?: Value; NotificationTargetARN?: Value; RoleARN?: Value; constructor(properties: LifecycleHookSpecification); } export declare class LaunchTemplateSpecification { LaunchTemplateId?: Value; LaunchTemplateName?: Value; Version: Value; constructor(properties: LaunchTemplateSpecification); } export declare class MixedInstancesPolicy { InstancesDistribution?: InstancesDistribution; LaunchTemplate: LaunchTemplate; constructor(properties: MixedInstancesPolicy); } export declare class NotificationConfiguration { NotificationTypes?: List>; TopicARN: Value; constructor(properties: NotificationConfiguration); } export declare class MetricsCollection { Granularity: Value; Metrics?: List>; constructor(properties: MetricsCollection); } export declare class InstancesDistribution { OnDemandAllocationStrategy?: Value; OnDemandBaseCapacity?: Value; OnDemandPercentageAboveBaseCapacity?: Value; SpotAllocationStrategy?: Value; SpotInstancePools?: Value; SpotMaxPrice?: Value; constructor(properties: InstancesDistribution); } export declare class LaunchTemplate { LaunchTemplateSpecification: LaunchTemplateSpecification; Overrides?: List; constructor(properties: LaunchTemplate); } export declare class TagProperty { Key: Value; PropagateAtLaunch: Value; Value: Value; constructor(properties: TagProperty); } export interface AutoScalingGroupProperties { AutoScalingGroupName?: Value; AvailabilityZones?: List>; Cooldown?: Value; DesiredCapacity?: Value; HealthCheckGracePeriod?: Value; HealthCheckType?: Value; InstanceId?: Value; LaunchConfigurationName?: Value; LaunchTemplate?: LaunchTemplateSpecification; LifecycleHookSpecificationList?: List; LoadBalancerNames?: List>; MaxSize: Value; MetricsCollection?: List; MinSize: Value; MixedInstancesPolicy?: MixedInstancesPolicy; NotificationConfigurations?: List; PlacementGroup?: Value; ServiceLinkedRoleARN?: Value; Tags?: List; TargetGroupARNs?: List>; TerminationPolicies?: List>; VPCZoneIdentifier?: List>; } export default class AutoScalingGroup extends ResourceBase { static LaunchTemplateOverrides: typeof LaunchTemplateOverrides; static LifecycleHookSpecification: typeof LifecycleHookSpecification; static LaunchTemplateSpecification: typeof LaunchTemplateSpecification; static MixedInstancesPolicy: typeof MixedInstancesPolicy; static NotificationConfiguration: typeof NotificationConfiguration; static MetricsCollection: typeof MetricsCollection; static InstancesDistribution: typeof InstancesDistribution; static LaunchTemplate: typeof LaunchTemplate; static TagProperty: typeof TagProperty; constructor(properties: AutoScalingGroupProperties); }