get Dispatch Rules
This data source provides the Arms Dispatch Rules of the current Alibaba Cloud user.
NOTE: Available since v1.136.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.arms.AlertContact("default", {
alertContactName: "example_value",
email: "example_value@aaa.com",
});
const defaultAlertContactGroup = new alicloud.arms.AlertContactGroup("default", {
alertContactGroupName: "example_value",
contactIds: [_default.id],
});
const defaultDispatchRule = new alicloud.arms.DispatchRule("default", {
dispatchRuleName: "example_value",
dispatchType: "CREATE_ALERT",
groupRules: [{
groupWaitTime: 5,
groupInterval: 15,
repeatInterval: 100,
groupingFields: ["alertname"],
}],
labelMatchExpressionGrids: [{
labelMatchExpressionGroups: [{
labelMatchExpressions: [{
key: "_aliyun_arms_involvedObject_kind",
value: "app",
operator: "eq",
}],
}],
}],
notifyRules: [{
notifyObjects: [
{
notifyObjectId: _default.id,
notifyType: "ARMS_CONTACT",
name: "example_value",
},
{
notifyObjectId: defaultAlertContactGroup.id,
notifyType: "ARMS_CONTACT_GROUP",
name: "example_value",
},
],
notifyChannels: [
"dingTalk",
"wechat",
],
notifyStartTime: "10:00",
notifyEndTime: "23:00",
}],
});
const ids = alicloud.arms.getDispatchRulesOutput({
ids: [defaultDispatchRule.id],
});
export const armsDispatchRuleId1 = ids.apply(ids => ids.rules?.[0]?.id);Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.arms.AlertContact("default",
alert_contact_name="example_value",
email="example_value@aaa.com")
default_alert_contact_group = alicloud.arms.AlertContactGroup("default",
alert_contact_group_name="example_value",
contact_ids=[default.id])
default_dispatch_rule = alicloud.arms.DispatchRule("default",
dispatch_rule_name="example_value",
dispatch_type="CREATE_ALERT",
group_rules=[{
"group_wait_time": 5,
"group_interval": 15,
"repeat_interval": 100,
"grouping_fields": ["alertname"],
}],
label_match_expression_grids=[{
"label_match_expression_groups": [{
"label_match_expressions": [{
"key": "_aliyun_arms_involvedObject_kind",
"value": "app",
"operator": "eq",
}],
}],
}],
notify_rules=[{
"notify_objects": [
{
"notify_object_id": default.id,
"notify_type": "ARMS_CONTACT",
"name": "example_value",
},
{
"notify_object_id": default_alert_contact_group.id,
"notify_type": "ARMS_CONTACT_GROUP",
"name": "example_value",
},
],
"notify_channels": [
"dingTalk",
"wechat",
],
"notify_start_time": "10:00",
"notify_end_time": "23:00",
}])
ids = alicloud.arms.get_dispatch_rules_output(ids=[default_dispatch_rule.id])
pulumi.export("armsDispatchRuleId1", ids.rules[0].id)Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = new AliCloud.Arms.AlertContact("default", new()
{
AlertContactName = "example_value",
Email = "example_value@aaa.com",
});
var defaultAlertContactGroup = new AliCloud.Arms.AlertContactGroup("default", new()
{
AlertContactGroupName = "example_value",
ContactIds = new[]
{
@default.Id,
},
});
var defaultDispatchRule = new AliCloud.Arms.DispatchRule("default", new()
{
DispatchRuleName = "example_value",
DispatchType = "CREATE_ALERT",
GroupRules = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleGroupRuleArgs
{
GroupWaitTime = 5,
GroupInterval = 15,
RepeatInterval = 100,
GroupingFields = new[]
{
"alertname",
},
},
},
LabelMatchExpressionGrids = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridArgs
{
LabelMatchExpressionGroups = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs
{
LabelMatchExpressions = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs
{
Key = "_aliyun_arms_involvedObject_kind",
Value = "app",
Operator = "eq",
},
},
},
},
},
},
NotifyRules = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleArgs
{
NotifyObjects = new[]
{
new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs
{
NotifyObjectId = @default.Id,
NotifyType = "ARMS_CONTACT",
Name = "example_value",
},
new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs
{
NotifyObjectId = defaultAlertContactGroup.Id,
NotifyType = "ARMS_CONTACT_GROUP",
Name = "example_value",
},
},
NotifyChannels = new[]
{
"dingTalk",
"wechat",
},
NotifyStartTime = "10:00",
NotifyEndTime = "23:00",
},
},
});
var ids = AliCloud.Arms.GetDispatchRules.Invoke(new()
{
Ids = new[]
{
defaultDispatchRule.Id,
},
});
return new Dictionary<string, object?>
{
["armsDispatchRuleId1"] = ids.Apply(getDispatchRulesResult => getDispatchRulesResult.Rules[0]?.Id),
};
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := arms.NewAlertContact(ctx, "default", &arms.AlertContactArgs{
AlertContactName: pulumi.String("example_value"),
Email: pulumi.String("example_value@aaa.com"),
})
if err != nil {
return err
}
defaultAlertContactGroup, err := arms.NewAlertContactGroup(ctx, "default", &arms.AlertContactGroupArgs{
AlertContactGroupName: pulumi.String("example_value"),
ContactIds: pulumi.StringArray{
_default.ID(),
},
})
if err != nil {
return err
}
defaultDispatchRule, err := arms.NewDispatchRule(ctx, "default", &arms.DispatchRuleArgs{
DispatchRuleName: pulumi.String("example_value"),
DispatchType: pulumi.String("CREATE_ALERT"),
GroupRules: arms.DispatchRuleGroupRuleArray{
&arms.DispatchRuleGroupRuleArgs{
GroupWaitTime: pulumi.Int(5),
GroupInterval: pulumi.Int(15),
RepeatInterval: pulumi.Int(100),
GroupingFields: pulumi.StringArray{
pulumi.String("alertname"),
},
},
},
LabelMatchExpressionGrids: arms.DispatchRuleLabelMatchExpressionGridArray{
&arms.DispatchRuleLabelMatchExpressionGridArgs{
LabelMatchExpressionGroups: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArray{
&arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs{
LabelMatchExpressions: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArray{
&arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs{
Key: pulumi.String("_aliyun_arms_involvedObject_kind"),
Value: pulumi.String("app"),
Operator: pulumi.String("eq"),
},
},
},
},
},
},
NotifyRules: arms.DispatchRuleNotifyRuleArray{
&arms.DispatchRuleNotifyRuleArgs{
NotifyObjects: arms.DispatchRuleNotifyRuleNotifyObjectArray{
&arms.DispatchRuleNotifyRuleNotifyObjectArgs{
NotifyObjectId: _default.ID(),
NotifyType: pulumi.String("ARMS_CONTACT"),
Name: pulumi.String("example_value"),
},
&arms.DispatchRuleNotifyRuleNotifyObjectArgs{
NotifyObjectId: defaultAlertContactGroup.ID(),
NotifyType: pulumi.String("ARMS_CONTACT_GROUP"),
Name: pulumi.String("example_value"),
},
},
NotifyChannels: pulumi.StringArray{
pulumi.String("dingTalk"),
pulumi.String("wechat"),
},
NotifyStartTime: pulumi.String("10:00"),
NotifyEndTime: pulumi.String("23:00"),
},
},
})
if err != nil {
return err
}
ids := arms.GetDispatchRulesOutput(ctx, arms.GetDispatchRulesOutputArgs{
Ids: pulumi.StringArray{
defaultDispatchRule.ID(),
},
}, nil)
ctx.Export("armsDispatchRuleId1", ids.ApplyT(func(ids arms.GetDispatchRulesResult) (*string, error) {
return &ids.Rules[0].Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.arms.AlertContact;
import com.pulumi.alicloud.arms.AlertContactArgs;
import com.pulumi.alicloud.arms.AlertContactGroup;
import com.pulumi.alicloud.arms.AlertContactGroupArgs;
import com.pulumi.alicloud.arms.DispatchRule;
import com.pulumi.alicloud.arms.DispatchRuleArgs;
import com.pulumi.alicloud.arms.inputs.DispatchRuleGroupRuleArgs;
import com.pulumi.alicloud.arms.inputs.DispatchRuleLabelMatchExpressionGridArgs;
import com.pulumi.alicloud.arms.inputs.DispatchRuleNotifyRuleArgs;
import com.pulumi.alicloud.arms.ArmsFunctions;
import com.pulumi.alicloud.arms.inputs.GetDispatchRulesArgs;
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 default_ = new AlertContact("default", AlertContactArgs.builder()
.alertContactName("example_value")
.email("example_value@aaa.com")
.build());
var defaultAlertContactGroup = new AlertContactGroup("defaultAlertContactGroup", AlertContactGroupArgs.builder()
.alertContactGroupName("example_value")
.contactIds(default_.id())
.build());
var defaultDispatchRule = new DispatchRule("defaultDispatchRule", DispatchRuleArgs.builder()
.dispatchRuleName("example_value")
.dispatchType("CREATE_ALERT")
.groupRules(DispatchRuleGroupRuleArgs.builder()
.groupWaitTime(5)
.groupInterval(15)
.repeatInterval(100)
.groupingFields("alertname")
.build())
.labelMatchExpressionGrids(DispatchRuleLabelMatchExpressionGridArgs.builder()
.labelMatchExpressionGroups(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs.builder()
.labelMatchExpressions(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs.builder()
.key("_aliyun_arms_involvedObject_kind")
.value("app")
.operator("eq")
.build())
.build())
.build())
.notifyRules(DispatchRuleNotifyRuleArgs.builder()
.notifyObjects(
DispatchRuleNotifyRuleNotifyObjectArgs.builder()
.notifyObjectId(default_.id())
.notifyType("ARMS_CONTACT")
.name("example_value")
.build(),
DispatchRuleNotifyRuleNotifyObjectArgs.builder()
.notifyObjectId(defaultAlertContactGroup.id())
.notifyType("ARMS_CONTACT_GROUP")
.name("example_value")
.build())
.notifyChannels(
"dingTalk",
"wechat")
.notifyStartTime("10:00")
.notifyEndTime("23:00")
.build())
.build());
final var ids = ArmsFunctions.getDispatchRules(GetDispatchRulesArgs.builder()
.ids(defaultDispatchRule.id())
.build());
ctx.export("armsDispatchRuleId1", ids.applyValue(getDispatchRulesResult -> getDispatchRulesResult).applyValue(ids -> ids.applyValue(getDispatchRulesResult -> getDispatchRulesResult.rules()[0].id())));
}
}Content copied to clipboard
resources:
default:
type: alicloud:arms:AlertContact
properties:
alertContactName: example_value
email: example_value@aaa.com
defaultAlertContactGroup:
type: alicloud:arms:AlertContactGroup
name: default
properties:
alertContactGroupName: example_value
contactIds:
- ${default.id}
defaultDispatchRule:
type: alicloud:arms:DispatchRule
name: default
properties:
dispatchRuleName: example_value
dispatchType: CREATE_ALERT
groupRules:
- groupWaitTime: 5
groupInterval: 15
repeatInterval: 100
groupingFields:
- alertname
labelMatchExpressionGrids:
- labelMatchExpressionGroups:
- labelMatchExpressions:
- key: _aliyun_arms_involvedObject_kind
value: app
operator: eq
notifyRules:
- notifyObjects:
- notifyObjectId: ${default.id}
notifyType: ARMS_CONTACT
name: example_value
- notifyObjectId: ${defaultAlertContactGroup.id}
notifyType: ARMS_CONTACT_GROUP
name: example_value
notifyChannels:
- dingTalk
- wechat
notifyStartTime: 10:00
notifyEndTime: 23:00
variables:
ids:
fn::invoke:
function: alicloud:arms:getDispatchRules
arguments:
ids:
- ${defaultDispatchRule.id}
outputs:
armsDispatchRuleId1: ${ids.rules[0].id}Content copied to clipboard
Return
A collection of values returned by getDispatchRules.
Parameters
argument
A collection of arguments for invoking getDispatchRules.
suspend fun getDispatchRules(dispatchRuleName: String? = null, enableDetails: Boolean? = null, ids: List<String>? = null, nameRegex: String? = null, outputFile: String? = null): GetDispatchRulesResult
Return
A collection of values returned by getDispatchRules.
Parameters
dispatch Rule Name
The name of the dispatch rule.
enable Details
Default to false. Set it to true can output more details about resource attributes.
ids
A list of dispatch rule id.
name Regex
A regex string to filter results by Dispatch Rule name.
output File
File name where to save data source results (after running pulumi preview).
See also
suspend fun getDispatchRules(argument: suspend GetDispatchRulesPlainArgsBuilder.() -> Unit): GetDispatchRulesResult
Return
A collection of values returned by getDispatchRules.
Parameters
argument
Builder for com.pulumi.alicloud.arms.kotlin.inputs.GetDispatchRulesPlainArgs.