AlarmArgs

data class AlarmArgs(val contactGroups: Output<List<String>>? = null, val dimensions: Output<Map<String, Any>>? = null, val effectiveInterval: Output<String>? = null, val enabled: Output<Boolean>? = null, val endTime: Output<Int>? = null, val escalationsCritical: Output<AlarmEscalationsCriticalArgs>? = null, val escalationsInfo: Output<AlarmEscalationsInfoArgs>? = null, val escalationsWarn: Output<AlarmEscalationsWarnArgs>? = null, val metric: Output<String>? = null, val metricDimensions: Output<String>? = null, val name: Output<String>? = null, val operator: Output<String>? = null, val period: Output<Int>? = null, val project: Output<String>? = null, val prometheuses: Output<List<AlarmPrometheusArgs>>? = null, val silenceTime: Output<Int>? = null, val startTime: Output<Int>? = null, val statistics: Output<String>? = null, val tags: Output<Map<String, Any>>? = null, val threshold: Output<String>? = null, val triggeredCount: Output<Int>? = null, val webhook: Output<String>? = null) : ConvertibleToJava<AlarmArgs>

This resource provides a alarm rule resource and it can be used to monitor several cloud services according different metrics. Details for alarm rule.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cms.Alarm;
import com.pulumi.alicloud.cms.AlarmArgs;
import com.pulumi.alicloud.cms.inputs.AlarmEscalationsCriticalArgs;
import java.util.List;
import java.util.ArrayList;
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 basic = new Alarm("basic", AlarmArgs.builder()
.contactGroups("test-group")
.effectiveInterval("0:00-2:00")
.escalationsCritical(AlarmEscalationsCriticalArgs.builder()
.comparisonOperator("<=")
.statistics("Average")
.threshold(35)
.times(2)
.build())
.metricDimensions("[{\"instanceId\":\"i-bp1247jeep0y53nu3bnk\",\"device\":\"/dev/vda1\"},{\"instanceId\":\"i-bp11gdcik8z6dl5jm84p\",\"device\":\"/dev/vdb1\"}]")
.period(900)
.project("acs_ecs_dashboard")
.webhook(String.format("https://%s.eu-central-1.fc.aliyuncs.com/2016-08-15/proxy/Terraform/AlarmEndpointMock/", data.alicloud_account().current().id()))
.build());
}
}

Import

Alarm rule can be imported using the id, e.g.

$ pulumi import alicloud:cms/alarm:Alarm alarm abc12345

Constructors

Link copied to clipboard
fun AlarmArgs(contactGroups: Output<List<String>>? = null, dimensions: Output<Map<String, Any>>? = null, effectiveInterval: Output<String>? = null, enabled: Output<Boolean>? = null, endTime: Output<Int>? = null, escalationsCritical: Output<AlarmEscalationsCriticalArgs>? = null, escalationsInfo: Output<AlarmEscalationsInfoArgs>? = null, escalationsWarn: Output<AlarmEscalationsWarnArgs>? = null, metric: Output<String>? = null, metricDimensions: Output<String>? = null, name: Output<String>? = null, operator: Output<String>? = null, period: Output<Int>? = null, project: Output<String>? = null, prometheuses: Output<List<AlarmPrometheusArgs>>? = null, silenceTime: Output<Int>? = null, startTime: Output<Int>? = null, statistics: Output<String>? = null, tags: Output<Map<String, Any>>? = null, threshold: Output<String>? = null, triggeredCount: Output<Int>? = null, webhook: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): AlarmArgs

Properties

Link copied to clipboard
val contactGroups: Output<List<String>>? = null

List contact groups of the alarm rule, which must have been created on the console.

Link copied to clipboard
val dimensions: Output<Map<String, Any>>? = null

Field dimensions has been deprecated from version 1.95.0. Use metric_dimensions instead.

Link copied to clipboard
val effectiveInterval: Output<String>? = null

The interval of effecting alarm rule. It format as "hh:mm-hh:mm", like "0:00-4:00". Default to "00:00-23:59".

Link copied to clipboard
val enabled: Output<Boolean>? = null

Whether to enable alarm rule. Default to true.

Link copied to clipboard
val endTime: Output<Int>? = null

It has been deprecated from provider version 1.50.0 and 'effective_interval' instead.

Link copied to clipboard

A configuration of critical alarm (documented below).

Link copied to clipboard

A configuration of critical info (documented below).

Link copied to clipboard

A configuration of critical warn (documented below).

Link copied to clipboard
val metric: Output<String>? = null

Name of the monitoring metrics corresponding to a project, such as "CPUUtilization" and "networkin_rate". For more information, see Metrics Reference.

Link copied to clipboard
val metricDimensions: Output<String>? = null

Map of the resources associated with the alarm rule, such as "instanceId", "device" and "port". Each key's value is a string, and it uses comma to split multiple items. For more information, see Metrics Reference.

Link copied to clipboard
val name: Output<String>? = null

The alarm rule name.

Link copied to clipboard
val operator: Output<String>? = null

It has been deprecated from provider version 1.94.0 and 'escalations_critical.comparison_operator' instead.

Link copied to clipboard
val period: Output<Int>? = null

Index query cycle, which must be consistent with that defined for metrics. Default to 300, in seconds.

Link copied to clipboard
val project: Output<String>? = null

Monitor project name, such as "acs_ecs_dashboard" and "acs_rds_dashboard". For more information, see Metrics Reference. NOTE: The dimensions and metric_dimensions must be empty when project is acs_prometheus, otherwise, one of them must be set.

Link copied to clipboard
val prometheuses: Output<List<AlarmPrometheusArgs>>? = null

The Prometheus alert rule. See the following Block prometheus. Note: This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.

Link copied to clipboard
val silenceTime: Output<Int>? = null

Notification silence period in the alarm state, in seconds. Valid value range: 300, 86400. Default to 86400

Link copied to clipboard
val startTime: Output<Int>? = null

It has been deprecated from provider version 1.50.0 and 'effective_interval' instead.

Link copied to clipboard
val statistics: Output<String>? = null

It has been deprecated from provider version 1.94.0 and 'escalations_critical.statistics' instead.

Link copied to clipboard
val tags: Output<Map<String, Any>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard
val threshold: Output<String>? = null

It has been deprecated from provider version 1.94.0 and 'escalations_critical.threshold' instead.

Link copied to clipboard
val triggeredCount: Output<Int>? = null

It has been deprecated from provider version 1.94.0 and 'escalations_critical.times' instead.

Link copied to clipboard
val webhook: Output<String>? = null

The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string.