/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::EMR::InstanceGroupConfig */ export interface AwsEmrInstancegroupconfig { JobFlowId: string; AutoScalingPolicy?: AutoScalingPolicy; BidPrice?: string; InstanceCount: number; EbsConfiguration?: EbsConfiguration; InstanceRole: string; CustomAmiId?: string; Id?: string; Configurations?: Configuration[]; InstanceType: string; Market?: string; Name?: string; } export interface AutoScalingPolicy { Rules: ScalingRule[]; Constraints: ScalingConstraints; } export interface ScalingRule { Action: ScalingAction; Description?: string; Trigger: ScalingTrigger; Name: string; } export interface ScalingAction { Market?: string; SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration; } export interface SimpleScalingPolicyConfiguration { ScalingAdjustment: number; CoolDown?: number; AdjustmentType?: string; } export interface ScalingTrigger { CloudWatchAlarmDefinition: CloudWatchAlarmDefinition; } export interface CloudWatchAlarmDefinition { MetricName: string; ComparisonOperator: string; Statistic?: string; Dimensions?: MetricDimension[]; Period: number; EvaluationPeriods?: number; Unit?: string; Namespace?: string; Threshold: number; } export interface MetricDimension { Value: string; Key: string; } export interface ScalingConstraints { MinCapacity: number; MaxCapacity: number; } export interface EbsConfiguration { EbsBlockDeviceConfigs?: EbsBlockDeviceConfig[]; EbsOptimized?: boolean; } export interface EbsBlockDeviceConfig { VolumeSpecification: VolumeSpecification; VolumesPerInstance?: number; } export interface VolumeSpecification { SizeInGB: number; VolumeType: string; Iops?: number; } export interface Configuration { ConfigurationProperties?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z0-9]+". */ [k: string]: string; }; Configurations?: Configuration[]; Classification?: string; }