import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class ShutdownEventConfiguration { DelayUntilElbConnectionsDrained?: Value; ExecutionTimeout?: Value; constructor(properties: ShutdownEventConfiguration); } export declare class VolumeConfiguration { Encrypted?: Value; Iops?: Value; MountPoint?: Value; NumberOfDisks?: Value; RaidLevel?: Value; Size?: Value; VolumeType?: Value; constructor(properties: VolumeConfiguration); } export declare class LifecycleEventConfiguration { ShutdownEventConfiguration?: ShutdownEventConfiguration; constructor(properties: LifecycleEventConfiguration); } export declare class LoadBasedAutoScaling { DownScaling?: AutoScalingThresholds; Enable?: Value; UpScaling?: AutoScalingThresholds; constructor(properties: LoadBasedAutoScaling); } export declare class AutoScalingThresholds { CpuThreshold?: Value; IgnoreMetricsTime?: Value; InstanceCount?: Value; LoadThreshold?: Value; MemoryThreshold?: Value; ThresholdsWaitTime?: Value; constructor(properties: AutoScalingThresholds); } export declare class Recipes { Configure?: List>; Deploy?: List>; Setup?: List>; Shutdown?: List>; Undeploy?: List>; constructor(properties: Recipes); } export interface LayerProperties { Attributes?: { [key: string]: Value; }; AutoAssignElasticIps: Value; AutoAssignPublicIps: Value; CustomInstanceProfileArn?: Value; CustomJson?: { [key: string]: any; }; CustomRecipes?: Recipes; CustomSecurityGroupIds?: List>; EnableAutoHealing: Value; InstallUpdatesOnBoot?: Value; LifecycleEventConfiguration?: LifecycleEventConfiguration; LoadBasedAutoScaling?: LoadBasedAutoScaling; Name: Value; Packages?: List>; Shortname: Value; StackId: Value; Tags?: List; Type: Value; UseEbsOptimizedInstances?: Value; VolumeConfigurations?: List; } export default class Layer extends ResourceBase { static ShutdownEventConfiguration: typeof ShutdownEventConfiguration; static VolumeConfiguration: typeof VolumeConfiguration; static LifecycleEventConfiguration: typeof LifecycleEventConfiguration; static LoadBasedAutoScaling: typeof LoadBasedAutoScaling; static AutoScalingThresholds: typeof AutoScalingThresholds; static Recipes: typeof Recipes; constructor(properties: LayerProperties); }