/
getRuleset.go
117 lines (112 loc) · 3.62 KB
/
getRuleset.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package pagerduty
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Use this data source to get information about a specific [ruleset](https://developer.pagerduty.com/api-reference/reference/REST/openapiv3.json/paths/~1rulesets/get) that you can use for managing and grouping [event rules](https://developer.pagerduty.com/api-reference/reference/REST/openapiv3.json/paths/~1rulesets~1%7Bid%7D~1rules/get).
//
// ## Example Usage
//
// ```go
// package main
//
// import (
// "github.com/pulumi/pulumi-pagerduty/sdk/v2/go/pagerduty"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// example, err := pagerduty.LookupRuleset(ctx, &pagerduty.LookupRulesetArgs{
// Name: "My Ruleset",
// }, nil)
// if err != nil {
// return err
// }
// _, err = pagerduty.NewRulesetRule(ctx, "foo", &pagerduty.RulesetRuleArgs{
// Ruleset: pulumi.String(example.Id),
// Position: pulumi.Int(0),
// Disabled: pulumi.Bool(false),
// Conditions: &pagerduty.RulesetRuleConditionsArgs{
// Operator: pulumi.String("and"),
// Subconditions: pagerduty.RulesetRuleConditionsSubconditionArray{
// &pagerduty.RulesetRuleConditionsSubconditionArgs{
// Operator: pulumi.String("contains"),
// Parameters: pagerduty.RulesetRuleConditionsSubconditionParameterArray{
// &pagerduty.RulesetRuleConditionsSubconditionParameterArgs{
// Value: pulumi.String("disk space"),
// Path: pulumi.String("payload.summary"),
// },
// },
// },
// &pagerduty.RulesetRuleConditionsSubconditionArgs{
// Operator: pulumi.String("contains"),
// Parameters: pagerduty.RulesetRuleConditionsSubconditionParameterArray{
// &pagerduty.RulesetRuleConditionsSubconditionParameterArgs{
// Value: pulumi.String("db"),
// Path: pulumi.String("payload.source"),
// },
// },
// },
// },
// },
// Actions: &pagerduty.RulesetRuleActionsArgs{
// Routes: pagerduty.RulesetRuleActionsRouteArray{
// &pagerduty.RulesetRuleActionsRouteArgs{
// Value: pulumi.String("P5DTL0K"),
// },
// },
// },
// })
// if err != nil {
// return err
// }
// return nil
// })
// }
// ```
// ### Default Global Ruleset
//
// ```go
// package main
//
// import (
// "github.com/pulumi/pulumi-pagerduty/sdk/v2/go/pagerduty"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := pagerduty.LookupRuleset(ctx, &pagerduty.LookupRulesetArgs{
// Name: "Default Global",
// }, nil)
// if err != nil {
// return err
// }
// return nil
// })
// }
// ```
func LookupRuleset(ctx *pulumi.Context, args *LookupRulesetArgs, opts ...pulumi.InvokeOption) (*LookupRulesetResult, error) {
var rv LookupRulesetResult
err := ctx.Invoke("pagerduty:index/getRuleset:getRuleset", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getRuleset.
type LookupRulesetArgs struct {
// The name of the ruleset to find in the PagerDuty API.
Name string `pulumi:"name"`
}
// A collection of values returned by getRuleset.
type LookupRulesetResult struct {
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// The name of the found ruleset.
Name string `pulumi:"name"`
// Routing keys routed to this ruleset.
RoutingKeys []string `pulumi:"routingKeys"`
}