import * as core from "@terrascript/core"; export interface TagFilterArgs extends core.SchemaArgs { key: string | core.StringOut; values?: core.Array | core.ArrayOut; } export declare class TagFilter extends core.Schema { key: string | core.StringOut; values?: core.Array | core.ArrayOut; } export interface ApplicationSourceArgs extends core.SchemaArgs { cloudformationStackArn?: string | core.StringOut; tagFilter?: core.Array | core.ArrayOut; } export declare class ApplicationSource extends core.Schema { cloudformationStackArn?: string | core.StringOut; tagFilter?: core.Array | core.ArrayOut; } export interface PredefinedScalingMetricSpecificationArgs extends core.SchemaArgs { predefinedScalingMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export declare class PredefinedScalingMetricSpecification extends core.Schema { predefinedScalingMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export interface CustomizedScalingMetricSpecificationArgs extends core.SchemaArgs { dimensions?: core.Map | core.MapOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export declare class CustomizedScalingMetricSpecification extends core.Schema { dimensions?: core.Map | core.MapOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export interface TargetTrackingConfigurationArgs extends core.SchemaArgs { customizedScalingMetricSpecification?: CustomizedScalingMetricSpecification; disableScaleIn?: boolean | core.BooleanOut; estimatedInstanceWarmup?: number | core.NumberOut; predefinedScalingMetricSpecification?: PredefinedScalingMetricSpecification; scaleInCooldown?: number | core.NumberOut; scaleOutCooldown?: number | core.NumberOut; targetValue: number | core.NumberOut; } export declare class TargetTrackingConfiguration extends core.Schema { customizedScalingMetricSpecification?: CustomizedScalingMetricSpecification; disableScaleIn?: boolean | core.BooleanOut; estimatedInstanceWarmup?: number | core.NumberOut; predefinedScalingMetricSpecification?: PredefinedScalingMetricSpecification; scaleInCooldown?: number | core.NumberOut; scaleOutCooldown?: number | core.NumberOut; targetValue: number | core.NumberOut; } export interface CustomizedLoadMetricSpecificationArgs extends core.SchemaArgs { dimensions?: core.Map | core.MapOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export declare class CustomizedLoadMetricSpecification extends core.Schema { dimensions?: core.Map | core.MapOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export interface PredefinedLoadMetricSpecificationArgs extends core.SchemaArgs { predefinedLoadMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export declare class PredefinedLoadMetricSpecification extends core.Schema { predefinedLoadMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export interface ScalingInstructionArgs extends core.SchemaArgs { customizedLoadMetricSpecification?: CustomizedLoadMetricSpecification; disableDynamicScaling?: boolean | core.BooleanOut; maxCapacity: number | core.NumberOut; minCapacity: number | core.NumberOut; predefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification; predictiveScalingMaxCapacityBehavior?: string | core.StringOut; predictiveScalingMaxCapacityBuffer?: number | core.NumberOut; predictiveScalingMode?: string | core.StringOut; resourceId: string | core.StringOut; scalableDimension: string | core.StringOut; scalingPolicyUpdateBehavior?: string | core.StringOut; scheduledActionBufferTime?: number | core.NumberOut; serviceNamespace: string | core.StringOut; targetTrackingConfiguration: core.Array | core.ArrayOut; } export declare class ScalingInstruction extends core.Schema { customizedLoadMetricSpecification?: CustomizedLoadMetricSpecification; disableDynamicScaling?: boolean | core.BooleanOut; maxCapacity: number | core.NumberOut; minCapacity: number | core.NumberOut; predefinedLoadMetricSpecification?: PredefinedLoadMetricSpecification; predictiveScalingMaxCapacityBehavior?: string | core.StringOut; predictiveScalingMaxCapacityBuffer?: number | core.NumberOut; predictiveScalingMode?: string | core.StringOut; resourceId: string | core.StringOut; scalableDimension: string | core.StringOut; scalingPolicyUpdateBehavior?: string | core.StringOut; scheduledActionBufferTime?: number | core.NumberOut; serviceNamespace: string | core.StringOut; targetTrackingConfiguration: core.Array | core.ArrayOut; } export interface ScalingPlanArgs extends core.ResourceArgs { /** * (Required) A CloudFormation stack or set of tags. You can create one scaling plan per application so * urce. */ applicationSource: ApplicationSource; /** * (Required) The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slas * hes. */ name: string | core.StringOut; /** * (Required) The scaling instructions. More details can be found in the [AWS Auto Scaling API Referenc * e](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html). */ scalingInstruction: core.Array | core.ArrayOut; } export declare class ScalingPlan extends core.Resource { /** * (Required) A CloudFormation stack or set of tags. You can create one scaling plan per application so * urce. */ applicationSource: ApplicationSource; /** * The scaling plan identifier. */ id: string | core.StringOut; /** * (Required) The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slas * hes. */ name: string | core.StringOut; /** * (Required) The scaling instructions. More details can be found in the [AWS Auto Scaling API Referenc * e](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html). */ scalingInstruction: core.Array | core.ArrayOut; /** * The version number of the scaling plan. This value is always 1. */ scalingPlanVersion: number | core.NumberOut; constructor(name: string, args?: ScalingPlanArgs); getNamespace(): string; } //# sourceMappingURL=scaling_plan.d.ts.map