UNPKG

@nolanrigo/cloudformation

Version:

TypeScript-based imperative way to define AWS CloudFormation templates

101 lines (100 loc) 3.7 kB
import { ResourceBase } from "../../resource"; import { Value, List, MapOf } from "../../data-types"; export declare class ScalingTrigger { CloudWatchAlarmDefinition: CloudWatchAlarmDefinition; constructor(properties: ScalingTrigger); } export declare class Configuration { Classification?: Value<string>; ConfigurationProperties?: MapOf<Value<string>>; Configurations?: List<Configuration>; constructor(properties: Configuration); } export declare class MetricDimension { Key: Value<string>; Value: Value<string>; constructor(properties: MetricDimension); } export declare class ScalingAction { Market?: Value<string>; SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration; constructor(properties: ScalingAction); } export declare class EbsConfiguration { EbsBlockDeviceConfigs?: List<EbsBlockDeviceConfig>; EbsOptimized?: Value<boolean>; constructor(properties: EbsConfiguration); } export declare class ScalingRule { Action: ScalingAction; Description?: Value<string>; Name: Value<string>; Trigger: ScalingTrigger; constructor(properties: ScalingRule); } export declare class VolumeSpecification { Iops?: Value<number>; SizeInGB: Value<number>; VolumeType: Value<string>; constructor(properties: VolumeSpecification); } export declare class AutoScalingPolicy { Constraints: ScalingConstraints; Rules: List<ScalingRule>; constructor(properties: AutoScalingPolicy); } export declare class CloudWatchAlarmDefinition { Period: Value<number>; Unit?: Value<string>; Threshold: Value<number>; Dimensions?: List<MetricDimension>; ComparisonOperator: Value<string>; Statistic?: Value<string>; EvaluationPeriods?: Value<number>; MetricName: Value<string>; Namespace?: Value<string>; constructor(properties: CloudWatchAlarmDefinition); } export declare class SimpleScalingPolicyConfiguration { AdjustmentType?: Value<string>; CoolDown?: Value<number>; ScalingAdjustment: Value<number>; constructor(properties: SimpleScalingPolicyConfiguration); } export declare class ScalingConstraints { MaxCapacity: Value<number>; MinCapacity: Value<number>; constructor(properties: ScalingConstraints); } export declare class EbsBlockDeviceConfig { VolumeSpecification: VolumeSpecification; VolumesPerInstance?: Value<number>; constructor(properties: EbsBlockDeviceConfig); } export interface InstanceGroupConfigProperties { EbsConfiguration?: EbsConfiguration; JobFlowId: Value<string>; AutoScalingPolicy?: AutoScalingPolicy; Name?: Value<string>; InstanceRole: Value<string>; BidPrice?: Value<string>; InstanceType: Value<string>; InstanceCount: Value<number>; Market?: Value<string>; Configurations?: List<Configuration>; } export default class Inner_InstanceGroupConfig extends ResourceBase<InstanceGroupConfigProperties> { static ScalingTrigger: typeof ScalingTrigger; static Configuration: typeof Configuration; static MetricDimension: typeof MetricDimension; static ScalingAction: typeof ScalingAction; static EbsConfiguration: typeof EbsConfiguration; static ScalingRule: typeof ScalingRule; static VolumeSpecification: typeof VolumeSpecification; static AutoScalingPolicy: typeof AutoScalingPolicy; static CloudWatchAlarmDefinition: typeof CloudWatchAlarmDefinition; static SimpleScalingPolicyConfiguration: typeof SimpleScalingPolicyConfiguration; static ScalingConstraints: typeof ScalingConstraints; static EbsBlockDeviceConfig: typeof EbsBlockDeviceConfig; constructor(properties: InstanceGroupConfigProperties); }