import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class AutoScalingPolicy { Constraints: ScalingConstraints; Rules: List; constructor(properties: AutoScalingPolicy); } 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 declare class Configuration { Classification?: Value; ConfigurationProperties?: { [key: string]: Value; }; Configurations?: List; constructor(properties: Configuration); } export declare class EbsBlockDeviceConfig { VolumeSpecification: VolumeSpecification; VolumesPerInstance?: Value; constructor(properties: EbsBlockDeviceConfig); } export declare class EbsConfiguration { EbsBlockDeviceConfigs?: List; EbsOptimized?: Value; constructor(properties: EbsConfiguration); } export declare class MetricDimension { Key: Value; Value: Value; constructor(properties: MetricDimension); } export declare class ScalingAction { Market?: Value; SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration; constructor(properties: ScalingAction); } export declare class ScalingConstraints { MaxCapacity: Value; MinCapacity: Value; constructor(properties: ScalingConstraints); } export declare class ScalingRule { Action: ScalingAction; Description?: Value; Name: Value; Trigger: ScalingTrigger; constructor(properties: ScalingRule); } export declare class ScalingTrigger { CloudWatchAlarmDefinition: CloudWatchAlarmDefinition; constructor(properties: ScalingTrigger); } export declare class SimpleScalingPolicyConfiguration { AdjustmentType?: Value; CoolDown?: Value; ScalingAdjustment: Value; constructor(properties: SimpleScalingPolicyConfiguration); } export declare class VolumeSpecification { Iops?: Value; SizeInGB: Value; Throughput?: Value; VolumeType: Value; constructor(properties: VolumeSpecification); } export interface InstanceGroupConfigProperties { AutoScalingPolicy?: AutoScalingPolicy; BidPrice?: Value; Configurations?: List; CustomAmiId?: Value; EbsConfiguration?: EbsConfiguration; InstanceCount: Value; InstanceRole: Value; InstanceType: Value; JobFlowId: Value; Market?: Value; Name?: Value; } export default class InstanceGroupConfig extends ResourceBase { static AutoScalingPolicy: typeof AutoScalingPolicy; static CloudWatchAlarmDefinition: typeof CloudWatchAlarmDefinition; static Configuration: typeof Configuration; static EbsBlockDeviceConfig: typeof EbsBlockDeviceConfig; static EbsConfiguration: typeof EbsConfiguration; static MetricDimension: typeof MetricDimension; static ScalingAction: typeof ScalingAction; static ScalingConstraints: typeof ScalingConstraints; static ScalingRule: typeof ScalingRule; static ScalingTrigger: typeof ScalingTrigger; static SimpleScalingPolicyConfiguration: typeof SimpleScalingPolicyConfiguration; static VolumeSpecification: typeof VolumeSpecification; constructor(properties: InstanceGroupConfigProperties); }