import * as core from "@terrascript/core"; export interface StepAdjustmentArgs extends core.SchemaArgs { metricIntervalLowerBound?: string | core.StringOut; metricIntervalUpperBound?: string | core.StringOut; scalingAdjustment: number | core.NumberOut; } export declare class StepAdjustment extends core.Schema { metricIntervalLowerBound?: string | core.StringOut; metricIntervalUpperBound?: string | core.StringOut; scalingAdjustment: number | core.NumberOut; } export interface StepScalingPolicyConfigurationArgs extends core.SchemaArgs { adjustmentType?: string | core.StringOut; cooldown?: number | core.NumberOut; metricAggregationType?: string | core.StringOut; minAdjustmentMagnitude?: number | core.NumberOut; stepAdjustment?: core.Array | core.ArrayOut; } export declare class StepScalingPolicyConfiguration extends core.Schema { adjustmentType?: string | core.StringOut; cooldown?: number | core.NumberOut; metricAggregationType?: string | core.StringOut; minAdjustmentMagnitude?: number | core.NumberOut; stepAdjustment?: core.Array | core.ArrayOut; } export interface DimensionsArgs extends core.SchemaArgs { name: string | core.StringOut; value: string | core.StringOut; } export declare class Dimensions extends core.Schema { name: string | core.StringOut; value: string | core.StringOut; } export interface CustomizedMetricSpecificationArgs extends core.SchemaArgs { dimensions?: core.Array | core.ArrayOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export declare class CustomizedMetricSpecification extends core.Schema { dimensions?: core.Array | core.ArrayOut; metricName: string | core.StringOut; namespace: string | core.StringOut; statistic: string | core.StringOut; unit?: string | core.StringOut; } export interface PredefinedMetricSpecificationArgs extends core.SchemaArgs { predefinedMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export declare class PredefinedMetricSpecification extends core.Schema { predefinedMetricType: string | core.StringOut; resourceLabel?: string | core.StringOut; } export interface TargetTrackingScalingPolicyConfigurationArgs extends core.SchemaArgs { customizedMetricSpecification?: CustomizedMetricSpecification; disableScaleIn?: boolean | core.BooleanOut; predefinedMetricSpecification?: PredefinedMetricSpecification; scaleInCooldown?: number | core.NumberOut; scaleOutCooldown?: number | core.NumberOut; targetValue: number | core.NumberOut; } export declare class TargetTrackingScalingPolicyConfiguration extends core.Schema { customizedMetricSpecification?: CustomizedMetricSpecification; disableScaleIn?: boolean | core.BooleanOut; predefinedMetricSpecification?: PredefinedMetricSpecification; scaleInCooldown?: number | core.NumberOut; scaleOutCooldown?: number | core.NumberOut; targetValue: number | core.NumberOut; } export interface AppautoscalingPolicyArgs extends core.ResourceArgs { /** * (Required) The name of the policy. Must be between 1 and 255 characters in length. */ name: string | core.StringOut; /** * (Optional) The policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to * StepScaling`. Certain services only support only one policy type. For more information see the [Tar * get Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/applica * tion-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/auto * scaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation. */ policyType?: string | core.StringOut; /** * (Required) The resource type and unique identifier string for the resource associated with the scali * ng policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scalin * g API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterS * calableTarget.html#API_RegisterScalableTarget_RequestParameters) */ resourceId: string | core.StringOut; /** * (Required) The scalable dimension of the scalable target. Documentation can be found in the `Scalabl * eDimension` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/Ap * plicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_ * RequestParameters) */ scalableDimension: string | core.StringOut; /** * (Required) The AWS service namespace of the scalable target. Documentation can be found in the `Serv * iceNamespace` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ * ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarge * t_RequestParameters) */ serviceNamespace: string | core.StringOut; /** * (Optional) Step scaling policy configuration, requires `policy_type = "StepScaling"` (default). See * supported fields below. */ stepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; /** * (Optional) A target tracking policy, requires `policy_type = "TargetTrackingScaling"`. See supported * fields below. */ targetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; } export declare class AppautoscalingPolicy extends core.Resource { /** * The ARN assigned by AWS to the scaling policy. */ arn: string | core.StringOut; id: string | core.StringOut; /** * (Required) The name of the policy. Must be between 1 and 255 characters in length. */ name: string | core.StringOut; /** * (Optional) The policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to * StepScaling`. Certain services only support only one policy type. For more information see the [Tar * get Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/applica * tion-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/auto * scaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation. */ policyType?: string | core.StringOut; /** * (Required) The resource type and unique identifier string for the resource associated with the scali * ng policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scalin * g API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterS * calableTarget.html#API_RegisterScalableTarget_RequestParameters) */ resourceId: string | core.StringOut; /** * (Required) The scalable dimension of the scalable target. Documentation can be found in the `Scalabl * eDimension` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/Ap * plicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_ * RequestParameters) */ scalableDimension: string | core.StringOut; /** * (Required) The AWS service namespace of the scalable target. Documentation can be found in the `Serv * iceNamespace` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ * ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarge * t_RequestParameters) */ serviceNamespace: string | core.StringOut; /** * (Optional) Step scaling policy configuration, requires `policy_type = "StepScaling"` (default). See * supported fields below. */ stepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; /** * (Optional) A target tracking policy, requires `policy_type = "TargetTrackingScaling"`. See supported * fields below. */ targetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; constructor(name: string, args?: AppautoscalingPolicyArgs); getNamespace(): string; } //# sourceMappingURL=appautoscaling_policy.d.ts.map