import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class Application { AdditionalInfo?: { [key: string]: Value; }; Args?: List>; Name?: Value; Version?: Value; constructor(properties: Application); } export declare class AutoScalingPolicy { Constraints: ScalingConstraints; Rules: List; constructor(properties: AutoScalingPolicy); } export declare class AutoTerminationPolicy { IdleTimeout?: Value; constructor(properties: AutoTerminationPolicy); } export declare class BootstrapActionConfig { Name: Value; ScriptBootstrapAction: ScriptBootstrapActionConfig; constructor(properties: BootstrapActionConfig); } 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 ComputeLimits { MaximumCapacityUnits: Value; MaximumCoreCapacityUnits?: Value; MaximumOnDemandCapacityUnits?: Value; MinimumCapacityUnits: Value; UnitType: Value; constructor(properties: ComputeLimits); } 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 HadoopJarStepConfig { Args?: List>; Jar: Value; MainClass?: Value; StepProperties?: List; constructor(properties: HadoopJarStepConfig); } export declare class InstanceFleetConfig { InstanceTypeConfigs?: List; LaunchSpecifications?: InstanceFleetProvisioningSpecifications; Name?: Value; TargetOnDemandCapacity?: Value; TargetSpotCapacity?: Value; constructor(properties: InstanceFleetConfig); } export declare class InstanceFleetProvisioningSpecifications { OnDemandSpecification?: OnDemandProvisioningSpecification; SpotSpecification?: SpotProvisioningSpecification; constructor(properties: InstanceFleetProvisioningSpecifications); } export declare class InstanceGroupConfig { AutoScalingPolicy?: AutoScalingPolicy; BidPrice?: Value; Configurations?: List; CustomAmiId?: Value; EbsConfiguration?: EbsConfiguration; InstanceCount: Value; InstanceType: Value; Market?: Value; Name?: Value; constructor(properties: InstanceGroupConfig); } export declare class InstanceTypeConfig { BidPrice?: Value; BidPriceAsPercentageOfOnDemandPrice?: Value; Configurations?: List; CustomAmiId?: Value; EbsConfiguration?: EbsConfiguration; InstanceType: Value; WeightedCapacity?: Value; constructor(properties: InstanceTypeConfig); } export declare class JobFlowInstancesConfig { AdditionalMasterSecurityGroups?: List>; AdditionalSlaveSecurityGroups?: List>; CoreInstanceFleet?: InstanceFleetConfig; CoreInstanceGroup?: InstanceGroupConfig; Ec2KeyName?: Value; Ec2SubnetId?: Value; Ec2SubnetIds?: List>; EmrManagedMasterSecurityGroup?: Value; EmrManagedSlaveSecurityGroup?: Value; HadoopVersion?: Value; KeepJobFlowAliveWhenNoSteps?: Value; MasterInstanceFleet?: InstanceFleetConfig; MasterInstanceGroup?: InstanceGroupConfig; Placement?: PlacementType; ServiceAccessSecurityGroup?: Value; TaskInstanceFleets?: List; TaskInstanceGroups?: List; TerminationProtected?: Value; constructor(properties: JobFlowInstancesConfig); } export declare class KerberosAttributes { ADDomainJoinPassword?: Value; ADDomainJoinUser?: Value; CrossRealmTrustPrincipalPassword?: Value; KdcAdminPassword: Value; Realm: Value; constructor(properties: KerberosAttributes); } export declare class KeyValue { Key?: Value; Value?: Value; constructor(properties: KeyValue); } export declare class ManagedScalingPolicy { ComputeLimits?: ComputeLimits; constructor(properties: ManagedScalingPolicy); } export declare class MetricDimension { Key: Value; Value: Value; constructor(properties: MetricDimension); } export declare class OnDemandProvisioningSpecification { AllocationStrategy: Value; constructor(properties: OnDemandProvisioningSpecification); } export declare class PlacementType { AvailabilityZone: Value; constructor(properties: PlacementType); } 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 ScriptBootstrapActionConfig { Args?: List>; Path: Value; constructor(properties: ScriptBootstrapActionConfig); } export declare class SimpleScalingPolicyConfiguration { AdjustmentType?: Value; CoolDown?: Value; ScalingAdjustment: Value; constructor(properties: SimpleScalingPolicyConfiguration); } export declare class SpotProvisioningSpecification { AllocationStrategy?: Value; BlockDurationMinutes?: Value; TimeoutAction: Value; TimeoutDurationMinutes: Value; constructor(properties: SpotProvisioningSpecification); } export declare class StepConfig { ActionOnFailure?: Value; HadoopJarStep: HadoopJarStepConfig; Name: Value; constructor(properties: StepConfig); } export declare class VolumeSpecification { Iops?: Value; SizeInGB: Value; Throughput?: Value; VolumeType: Value; constructor(properties: VolumeSpecification); } export interface ClusterProperties { AdditionalInfo?: { [key: string]: any; }; Applications?: List; AutoScalingRole?: Value; AutoTerminationPolicy?: AutoTerminationPolicy; BootstrapActions?: List; Configurations?: List; CustomAmiId?: Value; EbsRootVolumeSize?: Value; Instances: JobFlowInstancesConfig; JobFlowRole: Value; KerberosAttributes?: KerberosAttributes; LogEncryptionKmsKeyId?: Value; LogUri?: Value; ManagedScalingPolicy?: ManagedScalingPolicy; Name: Value; OSReleaseLabel?: Value; ReleaseLabel?: Value; ScaleDownBehavior?: Value; SecurityConfiguration?: Value; ServiceRole: Value; StepConcurrencyLevel?: Value; Steps?: List; Tags?: List; VisibleToAllUsers?: Value; } export default class Cluster extends ResourceBase { static Application: typeof Application; static AutoScalingPolicy: typeof AutoScalingPolicy; static AutoTerminationPolicy: typeof AutoTerminationPolicy; static BootstrapActionConfig: typeof BootstrapActionConfig; static CloudWatchAlarmDefinition: typeof CloudWatchAlarmDefinition; static ComputeLimits: typeof ComputeLimits; static Configuration: typeof Configuration; static EbsBlockDeviceConfig: typeof EbsBlockDeviceConfig; static EbsConfiguration: typeof EbsConfiguration; static HadoopJarStepConfig: typeof HadoopJarStepConfig; static InstanceFleetConfig: typeof InstanceFleetConfig; static InstanceFleetProvisioningSpecifications: typeof InstanceFleetProvisioningSpecifications; static InstanceGroupConfig: typeof InstanceGroupConfig; static InstanceTypeConfig: typeof InstanceTypeConfig; static JobFlowInstancesConfig: typeof JobFlowInstancesConfig; static KerberosAttributes: typeof KerberosAttributes; static KeyValue: typeof KeyValue; static ManagedScalingPolicy: typeof ManagedScalingPolicy; static MetricDimension: typeof MetricDimension; static OnDemandProvisioningSpecification: typeof OnDemandProvisioningSpecification; static PlacementType: typeof PlacementType; static ScalingAction: typeof ScalingAction; static ScalingConstraints: typeof ScalingConstraints; static ScalingRule: typeof ScalingRule; static ScalingTrigger: typeof ScalingTrigger; static ScriptBootstrapActionConfig: typeof ScriptBootstrapActionConfig; static SimpleScalingPolicyConfiguration: typeof SimpleScalingPolicyConfiguration; static SpotProvisioningSpecification: typeof SpotProvisioningSpecification; static StepConfig: typeof StepConfig; static VolumeSpecification: typeof VolumeSpecification; constructor(properties: ClusterProperties); }