UNPKG

@nolanrigo/cloudformation

Version:

TypeScript-based imperative way to define AWS CloudFormation templates

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