/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::AutoScaling::AutoScalingGroup */ export interface AwsAutoscalingAutoscalinggroup { LifecycleHookSpecificationList?: LifecycleHookSpecification[]; LoadBalancerNames?: string[]; LaunchConfigurationName?: string; ServiceLinkedRoleARN?: string; TargetGroupARNs?: string[]; Cooldown?: string; NotificationConfigurations?: NotificationConfiguration[]; DesiredCapacity?: string; HealthCheckGracePeriod?: number; DefaultInstanceWarmup?: number; NewInstancesProtectedFromScaleIn?: boolean; LaunchTemplate?: LaunchTemplateSpecification; MixedInstancesPolicy?: MixedInstancesPolicy; VPCZoneIdentifier?: string[]; Tags?: TagProperty[]; Context?: string; LaunchTemplateSpecification?: string; CapacityRebalance?: boolean; InstanceId?: string; AvailabilityZones?: string[]; MetricsCollection?: MetricsCollection[]; MaxSize: string; MinSize: string; TerminationPolicies?: string[]; AutoScalingGroupName?: string; Id?: string; DesiredCapacityType?: string; PlacementGroup?: string; HealthCheckType?: string; MaxInstanceLifetime?: number; } export interface LifecycleHookSpecification { LifecycleHookName: string; LifecycleTransition: string; HeartbeatTimeout?: number; NotificationMetadata?: string; DefaultResult?: string; NotificationTargetARN?: string; RoleARN?: string; } export interface NotificationConfiguration { TopicARN: string; NotificationTypes?: string[]; } export interface LaunchTemplateSpecification { LaunchTemplateName?: string; LaunchTemplateId?: string; Version: string; } export interface MixedInstancesPolicy { LaunchTemplate: LaunchTemplate; InstancesDistribution?: InstancesDistribution; } export interface LaunchTemplate { LaunchTemplateSpecification: LaunchTemplateSpecification; Overrides?: LaunchTemplateOverrides[]; } export interface LaunchTemplateOverrides { LaunchTemplateSpecification?: LaunchTemplateSpecification; WeightedCapacity?: string; InstanceRequirements?: InstanceRequirements; InstanceType?: string; } export interface InstanceRequirements { LocalStorageTypes?: string[]; InstanceGenerations?: string[]; NetworkInterfaceCount?: NetworkInterfaceCountRequest; AcceleratorTypes?: string[]; MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest; AcceleratorManufacturers?: string[]; ExcludedInstanceTypes?: string[]; VCpuCount?: VCpuCountRequest; AllowedInstanceTypes?: string[]; LocalStorage?: string; CpuManufacturers?: string[]; AcceleratorCount?: AcceleratorCountRequest; NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest; BareMetal?: string; RequireHibernateSupport?: boolean; BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest; SpotMaxPricePercentageOverLowestPrice?: number; AcceleratorNames?: string[]; AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; OnDemandMaxPricePercentageOverLowestPrice?: number; BurstablePerformance?: string; MemoryMiB?: MemoryMiBRequest; TotalLocalStorageGB?: TotalLocalStorageGBRequest; } export interface NetworkInterfaceCountRequest { Max?: number; Min?: number; } export interface MemoryGiBPerVCpuRequest { Max?: number; Min?: number; } export interface VCpuCountRequest { Max?: number; Min?: number; } export interface AcceleratorCountRequest { Max?: number; Min?: number; } export interface NetworkBandwidthGbpsRequest { Max?: number; Min?: number; } export interface BaselineEbsBandwidthMbpsRequest { Max?: number; Min?: number; } export interface AcceleratorTotalMemoryMiBRequest { Max?: number; Min?: number; } export interface MemoryMiBRequest { Max?: number; Min?: number; } export interface TotalLocalStorageGBRequest { Max?: number; Min?: number; } export interface InstancesDistribution { OnDemandAllocationStrategy?: string; OnDemandBaseCapacity?: number; OnDemandPercentageAboveBaseCapacity?: number; SpotInstancePools?: number; SpotAllocationStrategy?: string; SpotMaxPrice?: string; } export interface TagProperty { Value: string; Key: string; PropagateAtLaunch: boolean; } export interface MetricsCollection { Granularity: string; Metrics?: string[]; }