import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class EbsBlockDeviceConfig { VolumeSpecification: VolumeSpecification; VolumesPerInstance?: Value; constructor(properties: EbsBlockDeviceConfig); } export declare class ScalingAction { Market?: Value; SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration; constructor(properties: ScalingAction); } export declare class ScalingTrigger { CloudWatchAlarmDefinition: CloudWatchAlarmDefinition; constructor(properties: ScalingTrigger); } export declare class VolumeSpecification { Iops?: Value; SizeInGB: Value; VolumeType: Value; constructor(properties: VolumeSpecification); } export declare class AutoScalingPolicy { Constraints: ScalingConstraints; Rules: List; constructor(properties: AutoScalingPolicy); } export declare class EbsConfiguration { EbsBlockDeviceConfigs?: List; EbsOptimized?: Value; constructor(properties: EbsConfiguration); } export declare class Configuration { Classification?: Value; ConfigurationProperties?: { [key: string]: Value; }; Configurations?: List; constructor(properties: Configuration); } export declare class MetricDimension { Key: Value; Value: Value; constructor(properties: MetricDimension); } export declare class SimpleScalingPolicyConfiguration { AdjustmentType?: Value; CoolDown?: Value; ScalingAdjustment: Value; constructor(properties: SimpleScalingPolicyConfiguration); } export declare class ScalingRule { Action: ScalingAction; Description?: Value; Name: Value; Trigger: ScalingTrigger; constructor(properties: ScalingRule); } export declare class ScalingConstraints { MaxCapacity: Value; MinCapacity: Value; constructor(properties: ScalingConstraints); } export declare class CloudWatchAlarmDefinition { ComparisonOperator: Value; Dimensions?: List; EvaluationPeriods?: Value; MetricName: Value; Namespace?: Value; Period: Value; Statistic?: Value; Threshold: Value; Unit?: Value; constructor(properties: CloudWatchAlarmDefinition); } export interface InstanceGroupConfigProperties { AutoScalingPolicy?: AutoScalingPolicy; BidPrice?: Value; Configurations?: List; EbsConfiguration?: EbsConfiguration; InstanceCount: Value; InstanceRole: Value; InstanceType: Value; JobFlowId: Value; Market?: Value; Name?: Value; } export default class InstanceGroupConfig extends ResourceBase { static EbsBlockDeviceConfig: typeof EbsBlockDeviceConfig; static ScalingAction: typeof ScalingAction; static ScalingTrigger: typeof ScalingTrigger; static VolumeSpecification: typeof VolumeSpecification; static AutoScalingPolicy: typeof AutoScalingPolicy; static EbsConfiguration: typeof EbsConfiguration; static Configuration: typeof Configuration; static MetricDimension: typeof MetricDimension; static SimpleScalingPolicyConfiguration: typeof SimpleScalingPolicyConfiguration; static ScalingRule: typeof ScalingRule; static ScalingConstraints: typeof ScalingConstraints; static CloudWatchAlarmDefinition: typeof CloudWatchAlarmDefinition; constructor(properties: InstanceGroupConfigProperties); }