MetricAlarm

Provides a CloudWatch Metric Alarm resource.

Example with an Expression

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foobar = new aws.cloudwatch.MetricAlarm("foobar", {
    alarmDescription: "Request error rate has exceeded 10%",
    comparisonOperator: "GreaterThanOrEqualToThreshold",
    evaluationPeriods: 2,
    insufficientDataActions: [],
    metricQueries: [
        {
            expression: "m2/m1*100",
            id: "e1",
            label: "Error Rate",
            returnData: true,
        },
        {
            id: "m1",
            metric: {
                dimensions: {
                    LoadBalancer: "app/web",
                },
                metricName: "RequestCount",
                namespace: "AWS/ApplicationELB",
                period: 120,
                stat: "Sum",
                unit: "Count",
            },
        },
        {
            id: "m2",
            metric: {
                dimensions: {
                    LoadBalancer: "app/web",
                },
                metricName: "HTTPCode_ELB_5XX_Count",
                namespace: "AWS/ApplicationELB",
                period: 120,
                stat: "Sum",
                unit: "Count",
            },
        },
    ],
    threshold: 10,
});
import pulumi
import pulumi_aws as aws

foobar = aws.cloudwatch.MetricAlarm("foobar",
    alarm_description="Request error rate has exceeded 10%",
    comparison_operator="GreaterThanOrEqualToThreshold",
    evaluation_periods="2",
    insufficient_data_actions=[],
    metric_queries=[
        {
            "expression": "m2/m1*100",
            "id": "e1",
            "label": "Error Rate",
            "returnData": "true",
        },
        {
            "id": "m1",
            "metric": {
                "dimensions": {
                    "LoadBalancer": "app/web",
                },
                "metric_name": "RequestCount",
                "namespace": "AWS/ApplicationELB",
                "period": "120",
                "stat": "Sum",
                "unit": "Count",
            },
        },
        {
            "id": "m2",
            "metric": {
                "dimensions": {
                    "LoadBalancer": "app/web",
                },
                "metric_name": "HTTPCode_ELB_5XX_Count",
                "namespace": "AWS/ApplicationELB",
                "period": "120",
                "stat": "Sum",
                "unit": "Count",
            },
        },
    ],
    threshold="10")
using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var foobar = new Aws.CloudWatch.MetricAlarm("foobar", new Aws.CloudWatch.MetricAlarmArgs
        {
            AlarmDescription = "Request error rate has exceeded 10%",
            ComparisonOperator = "GreaterThanOrEqualToThreshold",
            EvaluationPeriods = 2,
            InsufficientDataActions = {},
            MetricQueries = 
            {
                new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs
                {
                    Expression = "m2/m1*100",
                    Id = "e1",
                    Label = "Error Rate",
                    ReturnData = true,
                },
                new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs
                {
                    Id = "m1",
                    Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs
                    {
                        Dimensions = 
                        {
                            { "LoadBalancer", "app/web" },
                        },
                        MetricName = "RequestCount",
                        Namespace = "AWS/ApplicationELB",
                        Period = 120,
                        Stat = "Sum",
                        Unit = "Count",
                    },
                },
                new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs
                {
                    Id = "m2",
                    Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs
                    {
                        Dimensions = 
                        {
                            { "LoadBalancer", "app/web" },
                        },
                        MetricName = "HTTPCode_ELB_5XX_Count",
                        Namespace = "AWS/ApplicationELB",
                        Period = 120,
                        Stat = "Sum",
                        Unit = "Count",
                    },
                },
            },
            Threshold = 10,
        });
    }

}
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewMetricAlarm(ctx, "foobar", &cloudwatch.MetricAlarmArgs{
			AlarmDescription:        pulumi.String(fmt.Sprintf("%v%v", "Request error rate has exceeded 10", "%")),
			ComparisonOperator:      pulumi.String("GreaterThanOrEqualToThreshold"),
			EvaluationPeriods:       pulumi.Int(2),
			InsufficientDataActions: []interface{}{},
			MetricQueries: cloudwatch.MetricAlarmMetricQueryArray{
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Expression: pulumi.String("m2/m1*100"),
					Id:         pulumi.String("e1"),
					Label:      pulumi.String("Error Rate"),
					ReturnData: pulumi.Bool(true),
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m1"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"LoadBalancer": pulumi.String("app/web"),
						},
						MetricName: pulumi.String("RequestCount"),
						Namespace:  pulumi.String("AWS/ApplicationELB"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Sum"),
						Unit:       pulumi.String("Count"),
					},
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m2"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"LoadBalancer": pulumi.String("app/web"),
						},
						MetricName: pulumi.String("HTTPCode_ELB_5XX_Count"),
						Namespace:  pulumi.String("AWS/ApplicationELB"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Sum"),
						Unit:       pulumi.String("Count"),
					},
				},
			},
			Threshold: pulumi.Float64(10),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const xxAnomalyDetection = new aws.cloudwatch.MetricAlarm("xx_anomaly_detection", {
    alarmDescription: "This metric monitors ec2 cpu utilization",
    comparisonOperator: "GreaterThanUpperThreshold",
    evaluationPeriods: 2,
    insufficientDataActions: [],
    metricQueries: [
        {
            expression: "ANOMALY_DETECTION_BAND(m1)",
            id: "e1",
            label: "CPUUtilization (Expected)",
            returnData: true,
        },
        {
            id: "m1",
            metric: {
                dimensions: {
                    InstanceId: "i-abc123",
                },
                metricName: "CPUUtilization",
                namespace: "AWS/EC2",
                period: 120,
                stat: "Average",
                unit: "Count",
            },
            returnData: true,
        },
    ],
    thresholdMetricId: "e1",
});
import pulumi
import pulumi_aws as aws

xx_anomaly_detection = aws.cloudwatch.MetricAlarm("xxAnomalyDetection",
    alarm_description="This metric monitors ec2 cpu utilization",
    comparison_operator="GreaterThanUpperThreshold",
    evaluation_periods="2",
    insufficient_data_actions=[],
    metric_queries=[
        {
            "expression": "ANOMALY_DETECTION_BAND(m1)",
            "id": "e1",
            "label": "CPUUtilization (Expected)",
            "returnData": "true",
        },
        {
            "id": "m1",
            "metric": {
                "dimensions": {
                    "InstanceId": "i-abc123",
                },
                "metric_name": "CPUUtilization",
                "namespace": "AWS/EC2",
                "period": "120",
                "stat": "Average",
                "unit": "Count",
            },
            "returnData": "true",
        },
    ],
    threshold_metric_id="e1")
using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var xxAnomalyDetection = new Aws.CloudWatch.MetricAlarm("xxAnomalyDetection", new Aws.CloudWatch.MetricAlarmArgs
        {
            AlarmDescription = "This metric monitors ec2 cpu utilization",
            ComparisonOperator = "GreaterThanUpperThreshold",
            EvaluationPeriods = 2,
            InsufficientDataActions = {},
            MetricQueries = 
            {
                new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs
                {
                    Expression = "ANOMALY_DETECTION_BAND(m1)",
                    Id = "e1",
                    Label = "CPUUtilization (Expected)",
                    ReturnData = true,
                },
                new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryArgs
                {
                    Id = "m1",
                    Metric = new Aws.CloudWatch.Inputs.MetricAlarmMetricQueryMetricArgs
                    {
                        Dimensions = 
                        {
                            { "InstanceId", "i-abc123" },
                        },
                        MetricName = "CPUUtilization",
                        Namespace = "AWS/EC2",
                        Period = 120,
                        Stat = "Average",
                        Unit = "Count",
                    },
                    ReturnData = true,
                },
            },
            ThresholdMetricId = "e1",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewMetricAlarm(ctx, "xxAnomalyDetection", &cloudwatch.MetricAlarmArgs{
			AlarmDescription:        pulumi.String("This metric monitors ec2 cpu utilization"),
			ComparisonOperator:      pulumi.String("GreaterThanUpperThreshold"),
			EvaluationPeriods:       pulumi.Int(2),
			InsufficientDataActions: []interface{}{},
			MetricQueries: cloudwatch.MetricAlarmMetricQueryArray{
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Expression: pulumi.String("ANOMALY_DETECTION_BAND(m1)"),
					Id:         pulumi.String("e1"),
					Label:      pulumi.String("CPUUtilization (Expected)"),
					ReturnData: pulumi.Bool(true),
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m1"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"InstanceId": pulumi.String("i-abc123"),
						},
						MetricName: pulumi.String("CPUUtilization"),
						Namespace:  pulumi.String("AWS/EC2"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Average"),
						Unit:       pulumi.String("Count"),
					},
					ReturnData: pulumi.Bool(true),
				},
			},
			ThresholdMetricId: pulumi.String("e1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var foobar = new Aws.CloudWatch.MetricAlarm("foobar", new Aws.CloudWatch.MetricAlarmArgs
        {
            AlarmDescription = "This metric monitors ec2 cpu utilization",
            ComparisonOperator = "GreaterThanOrEqualToThreshold",
            EvaluationPeriods = 2,
            InsufficientDataActions = {},
            MetricName = "CPUUtilization",
            Namespace = "AWS/EC2",
            Period = 120,
            Statistic = "Average",
            Threshold = 80,
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := cloudwatch.NewMetricAlarm(ctx, "foobar", &cloudwatch.MetricAlarmArgs{
            AlarmDescription:        pulumi.String("This metric monitors ec2 cpu utilization"),
            ComparisonOperator:      pulumi.String("GreaterThanOrEqualToThreshold"),
            EvaluationPeriods:       pulumi.Int(2),
            InsufficientDataActions: []interface{}{},
            MetricName:              pulumi.String("CPUUtilization"),
            Namespace:               pulumi.String("AWS/EC2"),
            Period:                  pulumi.Int(120),
            Statistic:               pulumi.String("Average"),
            Threshold:               pulumi.Float64(80),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

foobar = aws.cloudwatch.MetricAlarm("foobar",
    alarm_description="This metric monitors ec2 cpu utilization",
    comparison_operator="GreaterThanOrEqualToThreshold",
    evaluation_periods="2",
    insufficient_data_actions=[],
    metric_name="CPUUtilization",
    namespace="AWS/EC2",
    period="120",
    statistic="Average",
    threshold="80")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foobar = new aws.cloudwatch.MetricAlarm("foobar", {
    alarmDescription: "This metric monitors ec2 cpu utilization",
    comparisonOperator: "GreaterThanOrEqualToThreshold",
    evaluationPeriods: 2,
    insufficientDataActions: [],
    metricName: "CPUUtilization",
    namespace: "AWS/EC2",
    period: 120,
    statistic: "Average",
    threshold: 80,
});

Create a MetricAlarm Resource

def MetricAlarm(resource_name, opts=None, actions_enabled=None, alarm_actions=None, alarm_description=None, comparison_operator=None, datapoints_to_alarm=None, dimensions=None, evaluate_low_sample_count_percentiles=None, evaluation_periods=None, extended_statistic=None, insufficient_data_actions=None, metric_name=None, metric_queries=None, name=None, namespace=None, ok_actions=None, period=None, statistic=None, tags=None, threshold=None, threshold_metric_id=None, treat_missing_data=None, unit=None, __props__=None);
func NewMetricAlarm(ctx *Context, name string, args MetricAlarmArgs, opts ...ResourceOption) (*MetricAlarm, error)
public MetricAlarm(string name, MetricAlarmArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args MetricAlarmArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args MetricAlarmArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args MetricAlarmArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

MetricAlarm Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The MetricAlarm resource accepts the following input properties:

ComparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

ActionsEnabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

AlarmActions List<string>

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

AlarmDescription string

The description for the alarm.

DatapointsToAlarm int

The number of datapoints that must be breaching to trigger the alarm.

Dimensions Dictionary<string, string>

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

EvaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

ExtendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

InsufficientDataActions List<string>

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

MetricName string

The name for this metric. See docs for supported metrics.

MetricQueries List<MetricAlarmMetricQueryArgs>

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

Name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

OkActions List<string>

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Period int

The period in seconds over which the specified stat is applied.

Statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Tags Dictionary<string, string>

A map of tags to assign to the resource.

Threshold double

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

ThresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

TreatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

Unit string

The unit for this metric.

ComparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

ActionsEnabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

AlarmActions []interface{}

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

AlarmDescription string

The description for the alarm.

DatapointsToAlarm int

The number of datapoints that must be breaching to trigger the alarm.

Dimensions map[string]string

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

EvaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

ExtendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

InsufficientDataActions []interface{}

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

MetricName string

The name for this metric. See docs for supported metrics.

MetricQueries []MetricAlarmMetricQuery

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

Name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

OkActions []interface{}

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Period int

The period in seconds over which the specified stat is applied.

Statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Tags map[string]string

A map of tags to assign to the resource.

Threshold float64

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

ThresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

TreatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

Unit string

The unit for this metric.

comparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

evaluationPeriods number

The number of periods over which data is compared to the specified threshold.

actionsEnabled boolean

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

alarmActions string | Topic[]

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

alarmDescription string

The description for the alarm.

datapointsToAlarm number

The number of datapoints that must be breaching to trigger the alarm.

dimensions {[key: string]: string}

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

evaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

extendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

insufficientDataActions string | Topic[]

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

metricName string

The name for this metric. See docs for supported metrics.

metricQueries MetricAlarmMetricQuery[]

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

okActions string | Topic[]

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

period number

The period in seconds over which the specified stat is applied.

statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

tags {[key: string]: string}

A map of tags to assign to the resource.

threshold number

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

thresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

treatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

unit string

The unit for this metric.

comparison_operator str

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

evaluation_periods float

The number of periods over which data is compared to the specified threshold.

actions_enabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

alarm_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

alarm_description str

The description for the alarm.

datapoints_to_alarm float

The number of datapoints that must be breaching to trigger the alarm.

dimensions Dict[str, str]

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

evaluate_low_sample_count_percentiles str

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

extended_statistic str

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

insufficient_data_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

metric_name str

The name for this metric. See docs for supported metrics.

metric_queries List[MetricAlarmMetricQuery]

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

name str

The descriptive name for the alarm. This name must be unique within the user’s AWS account

namespace str

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

ok_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

period float

The period in seconds over which the specified stat is applied.

statistic str

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

tags Dict[str, str]

A map of tags to assign to the resource.

threshold float

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

threshold_metric_id str

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

treat_missing_data str

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

unit str

The unit for this metric.

Outputs

All input properties are implicitly available as output properties. Additionally, the MetricAlarm resource produces the following output properties:

Arn string

The ARN of the cloudwatch metric alarm.

Id string
The provider-assigned unique ID for this managed resource.
Arn string

The ARN of the cloudwatch metric alarm.

Id string
The provider-assigned unique ID for this managed resource.
arn string

The ARN of the cloudwatch metric alarm.

id string
The provider-assigned unique ID for this managed resource.
arn str

The ARN of the cloudwatch metric alarm.

id str
The provider-assigned unique ID for this managed resource.

Look up an Existing MetricAlarm Resource

Get an existing MetricAlarm resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: MetricAlarmState, opts?: CustomResourceOptions): MetricAlarm
static get(resource_name, id, opts=None, actions_enabled=None, alarm_actions=None, alarm_description=None, arn=None, comparison_operator=None, datapoints_to_alarm=None, dimensions=None, evaluate_low_sample_count_percentiles=None, evaluation_periods=None, extended_statistic=None, insufficient_data_actions=None, metric_name=None, metric_queries=None, name=None, namespace=None, ok_actions=None, period=None, statistic=None, tags=None, threshold=None, threshold_metric_id=None, treat_missing_data=None, unit=None, __props__=None);
func GetMetricAlarm(ctx *Context, name string, id IDInput, state *MetricAlarmState, opts ...ResourceOption) (*MetricAlarm, error)
public static MetricAlarm Get(string name, Input<string> id, MetricAlarmState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

ActionsEnabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

AlarmActions List<string>

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

AlarmDescription string

The description for the alarm.

Arn string

The ARN of the cloudwatch metric alarm.

ComparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

DatapointsToAlarm int

The number of datapoints that must be breaching to trigger the alarm.

Dimensions Dictionary<string, string>

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

EvaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

ExtendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

InsufficientDataActions List<string>

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

MetricName string

The name for this metric. See docs for supported metrics.

MetricQueries List<MetricAlarmMetricQueryArgs>

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

Name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

OkActions List<string>

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Period int

The period in seconds over which the specified stat is applied.

Statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Tags Dictionary<string, string>

A map of tags to assign to the resource.

Threshold double

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

ThresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

TreatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

Unit string

The unit for this metric.

ActionsEnabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

AlarmActions []interface{}

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

AlarmDescription string

The description for the alarm.

Arn string

The ARN of the cloudwatch metric alarm.

ComparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

DatapointsToAlarm int

The number of datapoints that must be breaching to trigger the alarm.

Dimensions map[string]string

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

EvaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

ExtendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

InsufficientDataActions []interface{}

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

MetricName string

The name for this metric. See docs for supported metrics.

MetricQueries []MetricAlarmMetricQuery

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

Name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

OkActions []interface{}

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Period int

The period in seconds over which the specified stat is applied.

Statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Tags map[string]string

A map of tags to assign to the resource.

Threshold float64

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

ThresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

TreatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

Unit string

The unit for this metric.

actionsEnabled boolean

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

alarmActions string | Topic[]

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

alarmDescription string

The description for the alarm.

arn string

The ARN of the cloudwatch metric alarm.

comparisonOperator string

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

datapointsToAlarm number

The number of datapoints that must be breaching to trigger the alarm.

dimensions {[key: string]: string}

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

evaluateLowSampleCountPercentiles string

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

evaluationPeriods number

The number of periods over which data is compared to the specified threshold.

extendedStatistic string

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

insufficientDataActions string | Topic[]

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

metricName string

The name for this metric. See docs for supported metrics.

metricQueries MetricAlarmMetricQuery[]

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

name string

The descriptive name for the alarm. This name must be unique within the user’s AWS account

namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

okActions string | Topic[]

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

period number

The period in seconds over which the specified stat is applied.

statistic string

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

tags {[key: string]: string}

A map of tags to assign to the resource.

threshold number

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

thresholdMetricId string

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

treatMissingData string

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

unit string

The unit for this metric.

actions_enabled bool

Indicates whether or not actions should be executed during any changes to the alarm’s state. Defaults to true.

alarm_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

alarm_description str

The description for the alarm.

arn str

The ARN of the cloudwatch metric alarm.

comparison_operator str

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold. Additionally, the values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

datapoints_to_alarm float

The number of datapoints that must be breaching to trigger the alarm.

dimensions Dict[str, str]

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

evaluate_low_sample_count_percentiles str

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. The following values are supported: ignore, and evaluate.

evaluation_periods float

The number of periods over which data is compared to the specified threshold.

extended_statistic str

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

insufficient_data_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

metric_name str

The name for this metric. See docs for supported metrics.

metric_queries List[MetricAlarmMetricQuery]

Enables you to create an alarm based on a metric math expression. You may specify at most 20.

name str

The descriptive name for the alarm. This name must be unique within the user’s AWS account

namespace str

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

ok_actions List[Topic, Default=String>]

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

period float

The period in seconds over which the specified stat is applied.

statistic str

The statistic to apply to the alarm’s associated metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

tags Dict[str, str]

A map of tags to assign to the resource.

threshold float

The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

threshold_metric_id str

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

treat_missing_data str

Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.

unit str

The unit for this metric.

Supporting Types

MetricAlarmMetricQuery

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Id string

A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

Expression string

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Label string

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.

Metric MetricAlarmMetricQueryMetricArgs

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

ReturnData bool

Specify exactly one metric_query to be true to use that metric_query result as the alarm.

Id string

A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

Expression string

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Label string

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.

Metric MetricAlarmMetricQueryMetric

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

ReturnData bool

Specify exactly one metric_query to be true to use that metric_query result as the alarm.

id string

A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

expression string

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

label string

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.

metric MetricAlarmMetricQueryMetric

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

returnData boolean

Specify exactly one metric_query to be true to use that metric_query result as the alarm.

id str

A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

expression str

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

label str

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.

metric Dict[MetricAlarmMetricQueryMetric]

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

returnData bool

Specify exactly one metric_query to be true to use that metric_query result as the alarm.

MetricAlarmMetricQueryMetric

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

MetricName string

The name for this metric. See docs for supported metrics.

Period int

The period in seconds over which the specified stat is applied.

Stat string

The statistic to apply to this metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Dimensions Dictionary<string, string>

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

Unit string

The unit for this metric.

MetricName string

The name for this metric. See docs for supported metrics.

Period int

The period in seconds over which the specified stat is applied.

Stat string

The statistic to apply to this metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

Dimensions map[string]string

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

Namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

Unit string

The unit for this metric.

metricName string

The name for this metric. See docs for supported metrics.

period number

The period in seconds over which the specified stat is applied.

stat string

The statistic to apply to this metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

dimensions {[key: string]: string}

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

namespace string

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

unit string

The unit for this metric.

metric_name str

The name for this metric. See docs for supported metrics.

period float

The period in seconds over which the specified stat is applied.

stat str

The statistic to apply to this metric. Either of the following is supported: SampleCount, Average, Sum, Minimum, Maximum

dimensions Dict[str, str]

The dimensions for this metric. For the list of available dimensions see the AWS documentation here.

namespace str

The namespace for this metric. See docs for the list of namespaces. See docs for supported metrics.

unit str

The unit for this metric.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.