@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
87 lines (86 loc) • 3.68 kB
TypeScript
import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class TargetTrackingConfiguration {
ScaleOutCooldown?: Value<number>;
TargetValue: Value<number>;
PredefinedScalingMetricSpecification?: PredefinedScalingMetricSpecification;
DisableScaleIn?: Value<boolean>;
ScaleInCooldown?: Value<number>;
EstimatedInstanceWarmup?: Value<number>;
CustomizedScalingMetricSpecification?: CustomizedScalingMetricSpecification;
constructor(properties: TargetTrackingConfiguration);
}
export declare class TagFilter {
Values?: List<Value<string>>;
Key: Value<string>;
constructor(properties: TagFilter);
}
export declare class MetricDimension {
Value: Value<string>;
Name: Value<string>;
constructor(properties: MetricDimension);
}
export declare class ScalingInstruction {
TargetTrackingConfigurations: List<TargetTrackingConfiguration>;
ServiceNamespace: Value<string>;
PredefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification;
PredictiveScalingMaxCapacityBehavior?: Value<string>;
ResourceId: Value<string>;
PredictiveScalingMode?: Value<string>;
CustomizedLoadMetricSpecification?: CustomizedLoadMetricSpecification;
MinCapacity: Value<number>;
ScheduledActionBufferTime?: Value<number>;
DisableDynamicScaling?: Value<boolean>;
ScalableDimension: Value<string>;
ScalingPolicyUpdateBehavior?: Value<string>;
PredictiveScalingMaxCapacityBuffer?: Value<number>;
MaxCapacity: Value<number>;
constructor(properties: ScalingInstruction);
}
export declare class CustomizedScalingMetricSpecification {
MetricName: Value<string>;
Statistic: Value<string>;
Dimensions?: List<MetricDimension>;
Unit?: Value<string>;
Namespace: Value<string>;
constructor(properties: CustomizedScalingMetricSpecification);
}
export declare class PredefinedLoadMetricSpecification {
PredefinedLoadMetricType: Value<string>;
ResourceLabel?: Value<string>;
constructor(properties: PredefinedLoadMetricSpecification);
}
export declare class ApplicationSource {
CloudFormationStackARN?: Value<string>;
TagFilters?: List<TagFilter>;
constructor(properties: ApplicationSource);
}
export declare class PredefinedScalingMetricSpecification {
ResourceLabel?: Value<string>;
PredefinedScalingMetricType: Value<string>;
constructor(properties: PredefinedScalingMetricSpecification);
}
export declare class CustomizedLoadMetricSpecification {
MetricName: Value<string>;
Statistic: Value<string>;
Dimensions?: List<MetricDimension>;
Unit?: Value<string>;
Namespace: Value<string>;
constructor(properties: CustomizedLoadMetricSpecification);
}
export interface ScalingPlanProperties {
ApplicationSource: ApplicationSource;
ScalingInstructions: List<ScalingInstruction>;
}
export default class Inner_ScalingPlan extends ResourceBase<ScalingPlanProperties> {
static TargetTrackingConfiguration: typeof TargetTrackingConfiguration;
static TagFilter: typeof TagFilter;
static MetricDimension: typeof MetricDimension;
static ScalingInstruction: typeof ScalingInstruction;
static CustomizedScalingMetricSpecification: typeof CustomizedScalingMetricSpecification;
static PredefinedLoadMetricSpecification: typeof PredefinedLoadMetricSpecification;
static ApplicationSource: typeof ApplicationSource;
static PredefinedScalingMetricSpecification: typeof PredefinedScalingMetricSpecification;
static CustomizedLoadMetricSpecification: typeof CustomizedLoadMetricSpecification;
constructor(properties: ScalingPlanProperties);
}