Metric Rule Template Args
Provides a Cloud Monitor Service Metric Rule Template resource. For information about Cloud Monitor Service Metric Rule Template and how to use it, see What is Metric Rule Template.
NOTE: Available since v1.134.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "tf-example";
const example = new alicloud.cms.MetricRuleTemplate("example", {
metricRuleTemplateName: name,
alertTemplates: [{
category: "ecs",
metricName: "cpu_total",
namespace: "acs_ecs_dashboard",
ruleName: "tf_example",
escalations: {
critical: {
comparisonOperator: "GreaterThanThreshold",
statistics: "Average",
threshold: "90",
times: "3",
},
},
}],
});import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-example"
example = alicloud.cms.MetricRuleTemplate("example",
metric_rule_template_name=name,
alert_templates=[alicloud.cms.MetricRuleTemplateAlertTemplateArgs(
category="ecs",
metric_name="cpu_total",
namespace="acs_ecs_dashboard",
rule_name="tf_example",
escalations=alicloud.cms.MetricRuleTemplateAlertTemplateEscalationsArgs(
critical=alicloud.cms.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs(
comparison_operator="GreaterThanThreshold",
statistics="Average",
threshold="90",
times="3",
),
),
)])using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf-example";
var example = new AliCloud.Cms.MetricRuleTemplate("example", new()
{
MetricRuleTemplateName = name,
AlertTemplates = new[]
{
new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateArgs
{
Category = "ecs",
MetricName = "cpu_total",
Namespace = "acs_ecs_dashboard",
RuleName = "tf_example",
Escalations = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsArgs
{
Critical = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs
{
ComparisonOperator = "GreaterThanThreshold",
Statistics = "Average",
Threshold = "90",
Times = "3",
},
},
},
},
});
});package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "tf-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_, err := cms.NewMetricRuleTemplate(ctx, "example", &cms.MetricRuleTemplateArgs{
MetricRuleTemplateName: pulumi.String(name),
AlertTemplates: cms.MetricRuleTemplateAlertTemplateArray{
&cms.MetricRuleTemplateAlertTemplateArgs{
Category: pulumi.String("ecs"),
MetricName: pulumi.String("cpu_total"),
Namespace: pulumi.String("acs_ecs_dashboard"),
RuleName: pulumi.String("tf_example"),
Escalations: &cms.MetricRuleTemplateAlertTemplateEscalationsArgs{
Critical: &cms.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs{
ComparisonOperator: pulumi.String("GreaterThanThreshold"),
Statistics: pulumi.String("Average"),
Threshold: pulumi.String("90"),
Times: pulumi.String("3"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cms.MetricRuleTemplate;
import com.pulumi.alicloud.cms.MetricRuleTemplateArgs;
import com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateArgs;
import com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsArgs;
import com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs;
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) {
final var config = ctx.config();
final var name = config.get("name").orElse("tf-example");
var example = new MetricRuleTemplate("example", MetricRuleTemplateArgs.builder()
.metricRuleTemplateName(name)
.alertTemplates(MetricRuleTemplateAlertTemplateArgs.builder()
.category("ecs")
.metricName("cpu_total")
.namespace("acs_ecs_dashboard")
.ruleName("tf_example")
.escalations(MetricRuleTemplateAlertTemplateEscalationsArgs.builder()
.critical(MetricRuleTemplateAlertTemplateEscalationsCriticalArgs.builder()
.comparisonOperator("GreaterThanThreshold")
.statistics("Average")
.threshold("90")
.times("3")
.build())
.build())
.build())
.build());
}
}configuration:
name:
type: string
default: tf-example
resources:
example:
type: alicloud:cms:MetricRuleTemplate
properties:
metricRuleTemplateName: ${name}
alertTemplates:
- category: ecs
metricName: cpu_total
namespace: acs_ecs_dashboard
ruleName: tf_example
escalations:
critical:
comparisonOperator: GreaterThanThreshold
statistics: Average
threshold: '90'
times: '3'Import
Cloud Monitor Service Metric Rule Template can be imported using the id, e.g.
$ pulumi import alicloud:cms/metricRuleTemplate:MetricRuleTemplate example <id>Constructors
Properties
The details of alert rules that are generated based on the alert template. See alert_templates below.
The mode in which the alert template is applied. Valid values:GROUP_INSTANCE_FIRSTor ALARM_TEMPLATE_FIRST. GROUP_INSTANCE_FIRST: The metrics in the application group take precedence. If a metric specified in the alert template does not exist in the application group, the system does not generate an alert rule for the metric based on the alert template. ALARM_TEMPLATE_FIRST: The metrics specified in the alert template take precedence. If a metric specified in the alert template does not exist in the application group, the system still generates an alert rule for the metric based on the alert template.
The description of the alert template.
The end of the time period during which the alert rule is effective. Valid values: 00 to 23. The value 00 indicates 00:59 and the value 23 indicates 23:59.
The beginning of the time period during which the alert rule is effective. Valid values: 00 to 23. The value 00 indicates 00:00 and the value 23 indicates 23:00.
The name of the alert template.
The alert notification method. Valid values:Set the value to 4. The value 4 indicates that alert notifications are sent by using TradeManager and DingTalk chatbots.
The version of the alert template to be modified.
The mute period during which notifications are not repeatedly sent for an alert.Valid values: 0 to 86400. Unit: seconds. Default value: 86400.