@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
228 lines (227 loc) • 8.65 kB
TypeScript
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
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 HadoopJarStepConfig {
Args?: List<Value<string>>;
Jar: Value<string>;
MainClass?: Value<string>;
StepProperties?: List<KeyValue>;
constructor(properties: HadoopJarStepConfig);
}
export declare class BootstrapActionConfig {
Name: Value<string>;
ScriptBootstrapAction: ScriptBootstrapActionConfig;
constructor(properties: BootstrapActionConfig);
}
export declare class VolumeSpecification {
Iops?: Value<number>;
SizeInGB: Value<number>;
VolumeType: Value<string>;
constructor(properties: VolumeSpecification);
}
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 AutoScalingPolicy {
Constraints: ScalingConstraints;
Rules: List<ScalingRule>;
constructor(properties: AutoScalingPolicy);
}
export declare class InstanceGroupConfig {
AutoScalingPolicy?: AutoScalingPolicy;
BidPrice?: Value<string>;
Configurations?: List<Configuration>;
EbsConfiguration?: EbsConfiguration;
InstanceCount: Value<number>;
InstanceType: Value<string>;
Market?: Value<string>;
Name?: Value<string>;
constructor(properties: InstanceGroupConfig);
}
export declare class StepConfig {
ActionOnFailure?: Value<string>;
HadoopJarStep: HadoopJarStepConfig;
Name: Value<string>;
constructor(properties: StepConfig);
}
export declare class Application {
AdditionalInfo?: MapOf<Value<string>>;
Args?: List<Value<string>>;
Name?: Value<string>;
Version?: Value<string>;
constructor(properties: Application);
}
export declare class EbsBlockDeviceConfig {
VolumeSpecification: VolumeSpecification;
VolumesPerInstance?: Value<number>;
constructor(properties: EbsBlockDeviceConfig);
}
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 InstanceTypeConfig {
BidPrice?: Value<string>;
BidPriceAsPercentageOfOnDemandPrice?: Value<number>;
Configurations?: List<Configuration>;
EbsConfiguration?: EbsConfiguration;
InstanceType: Value<string>;
WeightedCapacity?: Value<number>;
constructor(properties: InstanceTypeConfig);
}
export declare class ScalingTrigger {
CloudWatchAlarmDefinition: CloudWatchAlarmDefinition;
constructor(properties: ScalingTrigger);
}
export declare class KerberosAttributes {
ADDomainJoinPassword?: Value<string>;
ADDomainJoinUser?: Value<string>;
CrossRealmTrustPrincipalPassword?: Value<string>;
KdcAdminPassword: Value<string>;
Realm: Value<string>;
constructor(properties: KerberosAttributes);
}
export declare class SpotProvisioningSpecification {
BlockDurationMinutes?: Value<number>;
TimeoutAction: Value<string>;
TimeoutDurationMinutes: Value<number>;
constructor(properties: SpotProvisioningSpecification);
}
export declare class KeyValue {
Key?: Value<string>;
Value?: Value<string>;
constructor(properties: KeyValue);
}
export declare class InstanceFleetProvisioningSpecifications {
SpotSpecification: SpotProvisioningSpecification;
constructor(properties: InstanceFleetProvisioningSpecifications);
}
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 JobFlowInstancesConfig {
AdditionalSlaveSecurityGroups?: List<Value<string>>;
KeepJobFlowAliveWhenNoSteps?: Value<boolean>;
Placement?: PlacementType;
ServiceAccessSecurityGroup?: Value<string>;
Ec2SubnetIds?: List<Value<string>>;
EmrManagedMasterSecurityGroup?: Value<string>;
MasterInstanceGroup?: InstanceGroupConfig;
TerminationProtected?: Value<boolean>;
CoreInstanceGroup?: InstanceGroupConfig;
Ec2SubnetId?: Value<string>;
HadoopVersion?: Value<string>;
Ec2KeyName?: Value<string>;
MasterInstanceFleet?: InstanceFleetConfig;
CoreInstanceFleet?: InstanceFleetConfig;
EmrManagedSlaveSecurityGroup?: Value<string>;
AdditionalMasterSecurityGroups?: List<Value<string>>;
constructor(properties: JobFlowInstancesConfig);
}
export declare class ScriptBootstrapActionConfig {
Args?: List<Value<string>>;
Path: Value<string>;
constructor(properties: ScriptBootstrapActionConfig);
}
export declare class InstanceFleetConfig {
InstanceTypeConfigs?: List<InstanceTypeConfig>;
LaunchSpecifications?: InstanceFleetProvisioningSpecifications;
Name?: Value<string>;
TargetOnDemandCapacity?: Value<number>;
TargetSpotCapacity?: Value<number>;
constructor(properties: InstanceFleetConfig);
}
export declare class ScalingAction {
Market?: Value<string>;
SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration;
constructor(properties: ScalingAction);
}
export declare class PlacementType {
AvailabilityZone: Value<string>;
constructor(properties: PlacementType);
}
export interface ClusterProperties {
JobFlowRole: Value<string>;
Applications?: List<Application>;
CustomAmiId?: Value<string>;
Steps?: List<StepConfig>;
LogUri?: Value<string>;
ServiceRole: Value<string>;
Name: Value<string>;
ReleaseLabel?: Value<string>;
AutoScalingRole?: Value<string>;
BootstrapActions?: List<BootstrapActionConfig>;
KerberosAttributes?: KerberosAttributes;
EbsRootVolumeSize?: Value<number>;
VisibleToAllUsers?: Value<boolean>;
AdditionalInfo?: MapOf<any>;
SecurityConfiguration?: Value<string>;
Tags?: List<Inner_ResourceTag>;
Configurations?: List<Configuration>;
Instances: JobFlowInstancesConfig;
ScaleDownBehavior?: Value<string>;
}
export default class Inner_Cluster extends ResourceBase<ClusterProperties> {
static EbsConfiguration: typeof EbsConfiguration;
static ScalingRule: typeof ScalingRule;
static HadoopJarStepConfig: typeof HadoopJarStepConfig;
static BootstrapActionConfig: typeof BootstrapActionConfig;
static VolumeSpecification: typeof VolumeSpecification;
static CloudWatchAlarmDefinition: typeof CloudWatchAlarmDefinition;
static AutoScalingPolicy: typeof AutoScalingPolicy;
static InstanceGroupConfig: typeof InstanceGroupConfig;
static StepConfig: typeof StepConfig;
static Application: typeof Application;
static EbsBlockDeviceConfig: typeof EbsBlockDeviceConfig;
static SimpleScalingPolicyConfiguration: typeof SimpleScalingPolicyConfiguration;
static ScalingConstraints: typeof ScalingConstraints;
static InstanceTypeConfig: typeof InstanceTypeConfig;
static ScalingTrigger: typeof ScalingTrigger;
static KerberosAttributes: typeof KerberosAttributes;
static SpotProvisioningSpecification: typeof SpotProvisioningSpecification;
static KeyValue: typeof KeyValue;
static InstanceFleetProvisioningSpecifications: typeof InstanceFleetProvisioningSpecifications;
static Configuration: typeof Configuration;
static MetricDimension: typeof MetricDimension;
static JobFlowInstancesConfig: typeof JobFlowInstancesConfig;
static ScriptBootstrapActionConfig: typeof ScriptBootstrapActionConfig;
static InstanceFleetConfig: typeof InstanceFleetConfig;
static ScalingAction: typeof ScalingAction;
static PlacementType: typeof PlacementType;
constructor(properties: ClusterProperties);
}