Class MetricAlarm


  • public class MetricAlarm
    extends com.pulumi.resources.CustomResource
    Provides a CloudWatch Metric Alarm resource. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder()
                 .name("test-foobar5")
                 .comparisonOperator("GreaterThanOrEqualToThreshold")
                 .evaluationPeriods(2)
                 .metricName("CPUUtilization")
                 .namespace("AWS/EC2")
                 .period(120)
                 .statistic("Average")
                 .threshold(80.0)
                 .alarmDescription("This metric monitors ec2 cpu utilization")
                 .insufficientDataActions()
                 .build());
     
         }
     }
     
     
    ### With Scaling Policies
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.autoscaling.Policy;
     import com.pulumi.aws.autoscaling.PolicyArgs;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var bat = new Policy("bat", PolicyArgs.builder()
                 .name("foobar3-test")
                 .scalingAdjustment(4)
                 .adjustmentType("ChangeInCapacity")
                 .cooldown(300)
                 .autoscalingGroupName(bar.name())
                 .build());
     
             var batMetricAlarm = new MetricAlarm("batMetricAlarm", MetricAlarmArgs.builder()
                 .name("test-foobar5")
                 .comparisonOperator("GreaterThanOrEqualToThreshold")
                 .evaluationPeriods(2)
                 .metricName("CPUUtilization")
                 .namespace("AWS/EC2")
                 .period(120)
                 .statistic("Average")
                 .threshold(80.0)
                 .dimensions(Map.of("AutoScalingGroupName", bar.name()))
                 .alarmDescription("This metric monitors ec2 cpu utilization")
                 .alarmActions(bat.arn())
                 .build());
     
         }
     }
     
     
    ### With a Metrics Math Expression
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var foobar = new MetricAlarm("foobar", MetricAlarmArgs.builder()
                 .metricQueries(            
                     MetricAlarmMetricQueryArgs.builder()
                         .id("e1")
                         .expression("m2/m1*100")
                         .label("Error Rate")
                         .returnData(true)
                         .build(),
                     MetricAlarmMetricQueryArgs.builder()
                         .metric(MetricAlarmMetricQueryMetricArgs.builder()
                             .metricName("RequestCount")
                             .namespace("AWS/ApplicationELB")
                             .period(120)
                             .stat("Sum")
                             .unit("Count")
                             .dimensions(Map.of("LoadBalancer", "app/web"))
                             .build())
                         .id("m1")
                         .build(),
                     MetricAlarmMetricQueryArgs.builder()
                         .metric(MetricAlarmMetricQueryMetricArgs.builder()
                             .metricName("HTTPCode_ELB_5XX_Count")
                             .namespace("AWS/ApplicationELB")
                             .period(120)
                             .stat("Sum")
                             .unit("Count")
                             .dimensions(Map.of("LoadBalancer", "app/web"))
                             .build())
                         .id("m2")
                         .build())
                 .name("test-foobar")
                 .comparisonOperator("GreaterThanOrEqualToThreshold")
                 .evaluationPeriods(2)
                 .threshold(10.0)
                 .alarmDescription("Request error rate has exceeded 10%")
                 .insufficientDataActions()
                 .build());
     
         }
     }
     
     
    ### With PromQL
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmEvaluationCriteriaArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmEvaluationCriteriaPromqlCriteriaArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var promqlAlarm = new MetricAlarm("promqlAlarm", MetricAlarmArgs.builder()
                 .evaluationCriteria(MetricAlarmEvaluationCriteriaArgs.builder()
                     .promqlCriteria(MetricAlarmEvaluationCriteriaPromqlCriteriaArgs.builder()
                         .query("avg(cpu_utilization_percent) > 80")
                         .pendingPeriod(300)
                         .recoveryPeriod(120)
                         .build())
                     .build())
                 .name("high-cpu-promql")
                 .alarmDescription("Alarm when average CPU exceeds 80% using PromQL")
                 .evaluationInterval(30)
                 .alarmActions(alerts.arn())
                 .build());
     
         }
     }
     
     
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryMetricArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var xxAnomalyDetection = new MetricAlarm("xxAnomalyDetection", MetricAlarmArgs.builder()
                 .metricQueries(            
                     MetricAlarmMetricQueryArgs.builder()
                         .id("e1")
                         .returnData(true)
                         .expression("ANOMALY_DETECTION_BAND(m1)")
                         .label("CPUUtilization (Expected)")
                         .build(),
                     MetricAlarmMetricQueryArgs.builder()
                         .metric(MetricAlarmMetricQueryMetricArgs.builder()
                             .metricName("CPUUtilization")
                             .namespace("AWS/EC2")
                             .period(120)
                             .stat("Average")
                             .unit("Count")
                             .dimensions(Map.of("InstanceId", "i-abc123"))
                             .build())
                         .id("m1")
                         .returnData(true)
                         .build())
                 .name("test-foobar")
                 .comparisonOperator("GreaterThanUpperThreshold")
                 .evaluationPeriods(2)
                 .thresholdMetricId("e1")
                 .alarmDescription("This metric monitors ec2 cpu utilization")
                 .insufficientDataActions()
                 .build());
     
         }
     }
     
     
    ### With a Metrics Insights Query
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmMetricQueryArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new MetricAlarm("example", MetricAlarmArgs.builder()
                 .metricQueries(MetricAlarmMetricQueryArgs.builder()
                     .id("q1")
                     .expression("""
     SELECT
       MAX(DBLoadRelativeToNumVCPUs)
     FROM SCHEMA(\"AWS/RDS\", DBInstanceIdentifier)
     WHERE DBInstanceIdentifier != 'example-rds-instance'
     GROUP BY DBInstanceIdentifier
     ORDER BY MIN() ASC
     LIMIT 1
                     """)
                     .period(60)
                     .returnData(true)
                     .label("Max DB Load of the Least-Loaded RDS Instance")
                     .build())
                 .name("example-alarm")
                 .alarmDescription("Triggers if the smallest per-instance maximum load during the evaluation period exceeds the threshold")
                 .comparisonOperator("GreaterThanThreshold")
                 .evaluationPeriods(1)
                 .threshold(0.6)
                 .treatMissingData("notBreaching")
                 .build());
     
         }
     }
     
     
    ### Monitoring Healthy NLB Hosts with Target Group and NLB
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var nlbHealthyhosts = new MetricAlarm("nlbHealthyhosts", MetricAlarmArgs.builder()
                 .name("alarmname")
                 .comparisonOperator("LessThanThreshold")
                 .evaluationPeriods(1)
                 .metricName("HealthyHostCount")
                 .namespace("AWS/NetworkELB")
                 .period(60)
                 .statistic("Average")
                 .threshold(logstashServersCount)
                 .alarmDescription("Number of healthy nodes in Target Group")
                 .actionsEnabled(true)
                 .alarmActions(sns.arn())
                 .okActions(sns.arn())
                 .dimensions(Map.ofEntries(
                     Map.entry("TargetGroup", lb_tg.arnSuffix()),
                     Map.entry("LoadBalancer", lb.arnSuffix())
                 ))
                 .build());
     
         }
     }
     
     
    ### With a Warm-Up Period
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmWarmUpConfigurationArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new MetricAlarm("example", MetricAlarmArgs.builder()
                 .warmUpConfiguration(MetricAlarmWarmUpConfigurationArgs.builder()
                     .warmUpPeriodDurationInMinutes(30)
                     .build())
                 .name("example-service-errors")
                 .comparisonOperator("GreaterThanThreshold")
                 .evaluationPeriods(3)
                 .metricName("Errors")
                 .namespace("ExampleApp")
                 .period(60)
                 .statistic("Sum")
                 .threshold(0.0)
                 .treatMissingData("breaching")
                 .alarmActions(exampleAwsSnsTopic.arn())
                 .build());
     
         }
     }
     
     
    ### With a Wall Clock Evaluation Window
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudwatch.MetricAlarm;
     import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmEvaluationWindowArgs;
     import com.pulumi.aws.cloudwatch.inputs.MetricAlarmEvaluationWindowWallClockWindowArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new MetricAlarm("example", MetricAlarmArgs.builder()
                 .evaluationWindow(MetricAlarmEvaluationWindowArgs.builder()
                     .wallClockWindow(MetricAlarmEvaluationWindowWallClockWindowArgs.builder()
                         .timezone("America/New_York")
                         .build())
                     .build())
                 .name("example-daily-errors")
                 .comparisonOperator("GreaterThanThreshold")
                 .evaluationPeriods(1)
                 .metricName("Errors")
                 .namespace("ExampleApp")
                 .period(86400)
                 .statistic("Sum")
                 .threshold(0.0)
                 .alarmActions(exampleAwsSnsTopic.arn())
                 .build());
     
         }
     }
     
     
    > **NOTE:** You cannot create a metric alarm consisting of both `statistic` and `extendedStatistic` parameters. You must choose one or the other. ## Import ### Identity Schema #### Required * `alarmName` (String) Name of the CloudWatch metric alarm. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import CloudWatch Metric Alarm using the `alarmName`. For example: ```sh $ pulumi import aws:cloudwatch/metricAlarm:MetricAlarm example alarm-12345 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> actionsEnabled()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> alarmActions()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> alarmDescription()  
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> comparisonOperator()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> datapointsToAlarm()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> dimensions()  
      com.pulumi.core.Output<java.lang.String> evaluateLowSampleCountPercentiles()  
      com.pulumi.core.Output<java.util.Optional<MetricAlarmEvaluationCriteria>> evaluationCriteria()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> evaluationInterval()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> evaluationPeriods()  
      com.pulumi.core.Output<java.util.Optional<MetricAlarmEvaluationWindow>> evaluationWindow()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> extendedStatistic()  
      static MetricAlarm get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, MetricAlarmState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> insufficientDataActions()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> metricName()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<MetricAlarmMetricQuery>>> metricQueries()  
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> namespace()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> okActions()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> period()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> statistic()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Double>> threshold()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> thresholdMetricId()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> treatMissingData()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> unit()  
      com.pulumi.core.Output<java.util.Optional<MetricAlarmWarmUpConfiguration>> warmUpConfiguration()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MetricAlarm

        public MetricAlarm​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • MetricAlarm

        public MetricAlarm​(java.lang.String name,
                           @Nullable
                           MetricAlarmArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • MetricAlarm

        public MetricAlarm​(java.lang.String name,
                           @Nullable
                           MetricAlarmArgs args,
                           @Nullable
                           com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • actionsEnabled

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> actionsEnabled()
        Returns:
        Indicates whether or not actions should be executed during any changes to the alarm's state. Defaults to `true`.
      • alarmActions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> alarmActions()
        Returns:
        List of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an ARN.
      • alarmDescription

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> alarmDescription()
        Returns:
        The description for the alarm.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        The ARN of the CloudWatch Metric Alarm.
      • comparisonOperator

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> comparisonOperator()
        Returns:
        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

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> datapointsToAlarm()
        Returns:
        The number of data points that must be breaching to trigger the alarm.
      • dimensions

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> dimensions()
        Returns:
        The dimensions for the alarm's associated metric. For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
      • evaluateLowSampleCountPercentiles

        public com.pulumi.core.Output<java.lang.String> evaluateLowSampleCountPercentiles()
        Returns:
        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`.
      • evaluationCriteria

        public com.pulumi.core.Output<java.util.Optional<MetricAlarmEvaluationCriteria>> evaluationCriteria()
        Returns:
        The evaluation criteria for PromQL alarms. Cannot be used with traditional metric alarm parameters.
      • evaluationInterval

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> evaluationInterval()
        Returns:
        The frequency, in seconds, at which the alarm is evaluated. Valid values are `10`, `20`, `30`, and any multiple of `60`. Required when using `evaluationCriteria`.
      • evaluationPeriods

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> evaluationPeriods()
        Returns:
        The number of periods over which data is compared to the specified threshold. Required for traditional metric alarms.
      • evaluationWindow

        public com.pulumi.core.Output<java.util.Optional<MetricAlarmEvaluationWindow>> evaluationWindow()
        Returns:
        Configures the alarm to use a wall clock evaluation window instead of the default sliding window. Not supported for alarms that use `evaluationCriteria`. See `evaluationWindow` below.
      • extendedStatistic

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> extendedStatistic()
        Returns:
        The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
      • insufficientDataActions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> insufficientDataActions()
        Returns:
        List of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an ARN.
      • metricName

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> metricName()
        Returns:
        The name for the alarm's associated metric. See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
      • metricQueries

        public com.pulumi.core.Output<java.util.Optional<java.util.List<MetricAlarmMetricQuery>>> metricQueries()
        Returns:
        Enables you to create an alarm based on a metric math expression. You may specify at most 20.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        The descriptive name for the alarm. This name must be unique within the user's AWS account
      • namespace

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> namespace()
        Returns:
        The namespace for the alarm's associated metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html). See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
      • okActions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> okActions()
        Returns:
        List of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an ARN.
      • period

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> period()
        Returns:
        The period in seconds over which the specified `statistic` is applied. Valid values are `10`, `20`, `30`, or any multiple of `60`.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • statistic

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> statistic()
        Returns:
        The statistic to apply to the alarm's associated metric. Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. See [related part of AWS Docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) for details about valid values. > **NOTE:** If you specify at least one `metricQuery`, you may not specify a `metricName`, `namespace`, `period` or `statistic`. If you do not specify a `metricQuery`, you must specify each of these (although you may use `extendedStatistic` instead of `statistic`).
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • threshold

        public com.pulumi.core.Output<java.util.Optional<java.lang.Double>> threshold()
        Returns:
        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

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> thresholdMetricId()
        Returns:
        If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.
      • treatMissingData

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> treatMissingData()
        Returns:
        Sets how this alarm is to handle missing data points. The following values are supported: `missing`, `ignore`, `breaching` and `notBreaching`. Defaults to `missing`.
      • unit

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> unit()
        Returns:
        The unit for the alarm's associated metric.
      • warmUpConfiguration

        public com.pulumi.core.Output<java.util.Optional<MetricAlarmWarmUpConfiguration>> warmUpConfiguration()
        Returns:
        Warm-up period that delays alarm evaluation after the alarm is created. During the warm-up period the alarm stays in `INSUFFICIENT_DATA` and does not perform alarm actions. See `warmUpConfiguration` below.
      • get

        public static MetricAlarm get​(java.lang.String name,
                                      com.pulumi.core.Output<java.lang.String> id,
                                      @Nullable
                                      MetricAlarmState state,
                                      @Nullable
                                      com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.