Table of Contents

Class MetricTargetTrackingProps

Namespace
Amazon.CDK.AWS.AutoScaling
Assembly
Amazon.CDK.AWS.AutoScaling.dll

Properties for enabling tracking of an arbitrary metric.

public class MetricTargetTrackingProps : IMetricTargetTrackingProps, IBaseTargetTrackingProps
Inheritance
MetricTargetTrackingProps
Implements
Inherited Members

Examples

// The code below shows an example of how to instantiate this type.
            // The values are placeholders you should change.
            using Amazon.CDK.AWS.AutoScaling;
            using Amazon.CDK.AWS.CloudWatch;
            using Amazon.CDK;

            Metric metric;
            var metricTargetTrackingProps = new MetricTargetTrackingProps {
                Metric = metric,
                TargetValue = 123,

                // the properties below are optional
                Cooldown = Duration.Minutes(30),
                DisableScaleIn = false,
                EstimatedInstanceWarmup = Duration.Minutes(30)
            };

Remarks

ExampleMetadata: fixture=_generated

Constructors

MetricTargetTrackingProps()

public MetricTargetTrackingProps()

Properties

Cooldown

Period after a scaling completes before another scaling activity can start.

public Duration? Cooldown { get; set; }

Property Value

Duration

Remarks

Default: - The default cooldown configured on the AutoScalingGroup.

DisableScaleIn

Indicates whether scale in by the target tracking policy is disabled.

public bool? DisableScaleIn { get; set; }

Property Value

bool?

Remarks

If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the autoscaling group. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the group.

Default: false

EstimatedInstanceWarmup

Estimated time until a newly launched instance can send metrics to CloudWatch.

public Duration? EstimatedInstanceWarmup { get; set; }

Property Value

Duration

Remarks

Default: - Same as the cooldown.

Metric

Metric to track.

public IMetric Metric { get; set; }

Property Value

IMetric

Remarks

The metric must represent a utilization, so that if it's higher than the target value, your ASG should scale out, and if it's lower it should scale in.

TargetValue

Value to keep the metric around.

public double TargetValue { get; set; }

Property Value

double