1. Packages
  2. PagerDuty
  3. API Docs
  4. EventOrchestrationService
PagerDuty v4.14.6 published on Tuesday, Sep 24, 2024 by Pulumi

pagerduty.EventOrchestrationService

Explore with Pulumi AI

pagerduty logo
PagerDuty v4.14.6 published on Tuesday, Sep 24, 2024 by Pulumi

    A Service Orchestration allows you to create a set of Event Rules. The Service Orchestration evaluates Events sent to this Service against each of its rules, beginning with the rules in the “start” set. When a matching rule is found, it can modify and enhance the event and can route the event to another set of rules within this Service Orchestration for further processing.

    If you have a Service that uses Service Event Rules, you can switch to Service Orchestrations at any time setting the attribute enable_event_orchestration_for_service to true. Please read the Switch to Service Orchestrations instructions for more information.

    Example of configuring a Service Orchestration

    This example shows creating Team, User, Escalation Policy, and Service resources followed by creating a Service Orchestration to handle Events sent to that Service.

    This example also shows using the pagerduty.getPriority and pagerduty.EscalationPolicy data sources to configure priority and escalation_policy actions for a rule.

    This example shows a Service Orchestration that has nested sets: a rule in the “start” set has a route_to action pointing at the “step-two” set.

    The catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set. In this example the catch_all doesn’t have any actions so it’ll leave events as-is.

    import * as pulumi from "@pulumi/pulumi";
    import * as pagerduty from "@pulumi/pagerduty";
    
    const engineering = new pagerduty.Team("engineering", {name: "Engineering"});
    const example = new pagerduty.User("example", {
        name: "Earline Greenholt",
        email: "125.greenholt.earline@graham.name",
    });
    const foo = new pagerduty.TeamMembership("foo", {
        userId: example.id,
        teamId: engineering.id,
        role: "manager",
    });
    const exampleEscalationPolicy = new pagerduty.EscalationPolicy("example", {
        name: "Engineering Escalation Policy",
        numLoops: 2,
        rules: [{
            escalationDelayInMinutes: 10,
            targets: [{
                type: "user_reference",
                id: example.id,
            }],
        }],
    });
    const exampleService = new pagerduty.Service("example", {
        name: "My Web App",
        autoResolveTimeout: "14400",
        acknowledgementTimeout: "600",
        escalationPolicy: exampleEscalationPolicy.id,
        alertCreation: "create_alerts_and_incidents",
    });
    const csImpact = new pagerduty.IncidentCustomField("cs_impact", {
        name: "impact",
        dataType: "string",
        fieldType: "single_value",
    });
    const p1 = pagerduty.getPriority({
        name: "P1",
    });
    const sreEscPolicy = pagerduty.getEscalationPolicy({
        name: "SRE Escalation Policy",
    });
    const www = new pagerduty.EventOrchestrationService("www", {
        service: exampleService.id,
        enableEventOrchestrationForService: true,
        sets: [
            {
                id: "start",
                rules: [{
                    label: "Always apply some consistent event transformations to all events",
                    actions: {
                        variables: [{
                            name: "hostname",
                            path: "event.component",
                            value: "hostname: (.*)",
                            type: "regex",
                        }],
                        extractions: [
                            {
                                template: "{{variables.hostname}}",
                                target: "event.custom_details.hostname",
                            },
                            {
                                source: "event.source",
                                regex: "www (.*) service",
                                target: "event.source",
                            },
                        ],
                        routeTo: "step-two",
                    },
                }],
            },
            {
                id: "step-two",
                rules: [
                    {
                        label: "All critical alerts should be treated as P1 incident",
                        conditions: [{
                            expression: "event.severity matches 'critical'",
                        }],
                        actions: {
                            annotate: "Please use our P1 runbook: https://docs.test/p1-runbook",
                            priority: p1.then(p1 => p1.id),
                            incidentCustomFieldUpdates: [{
                                id: csImpact.id,
                                value: "High Impact",
                            }],
                        },
                    },
                    {
                        label: "If any of the API apps are unavailable, page the SRE team",
                        conditions: [{
                            expression: "event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'",
                        }],
                        actions: {
                            escalationPolicy: sreEscPolicy.then(sreEscPolicy => sreEscPolicy.id),
                        },
                    },
                    {
                        label: "If there's something wrong on the canary let the team know about it in our deployments Slack channel",
                        conditions: [{
                            expression: "event.custom_details.hostname matches part 'canary'",
                        }],
                        actions: {
                            automationAction: {
                                name: "Canary Slack Notification",
                                url: "https://our-slack-listerner.test/canary-notification",
                                autoSend: true,
                                parameters: [
                                    {
                                        key: "channel",
                                        value: "#my-team-channel",
                                    },
                                    {
                                        key: "message",
                                        value: "something is wrong with the canary deployment",
                                    },
                                ],
                                headers: [{
                                    key: "X-Notification-Source",
                                    value: "PagerDuty Incident Webhook",
                                }],
                            },
                        },
                    },
                    {
                        label: "Never bother the on-call for info-level events outside of work hours",
                        conditions: [{
                            expression: "event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)",
                        }],
                        actions: {
                            suppress: true,
                        },
                    },
                ],
            },
        ],
        catchAll: {
            actions: {},
        },
    });
    
    import pulumi
    import pulumi_pagerduty as pagerduty
    
    engineering = pagerduty.Team("engineering", name="Engineering")
    example = pagerduty.User("example",
        name="Earline Greenholt",
        email="125.greenholt.earline@graham.name")
    foo = pagerduty.TeamMembership("foo",
        user_id=example.id,
        team_id=engineering.id,
        role="manager")
    example_escalation_policy = pagerduty.EscalationPolicy("example",
        name="Engineering Escalation Policy",
        num_loops=2,
        rules=[{
            "escalation_delay_in_minutes": 10,
            "targets": [{
                "type": "user_reference",
                "id": example.id,
            }],
        }])
    example_service = pagerduty.Service("example",
        name="My Web App",
        auto_resolve_timeout="14400",
        acknowledgement_timeout="600",
        escalation_policy=example_escalation_policy.id,
        alert_creation="create_alerts_and_incidents")
    cs_impact = pagerduty.IncidentCustomField("cs_impact",
        name="impact",
        data_type="string",
        field_type="single_value")
    p1 = pagerduty.get_priority(name="P1")
    sre_esc_policy = pagerduty.get_escalation_policy(name="SRE Escalation Policy")
    www = pagerduty.EventOrchestrationService("www",
        service=example_service.id,
        enable_event_orchestration_for_service=True,
        sets=[
            {
                "id": "start",
                "rules": [{
                    "label": "Always apply some consistent event transformations to all events",
                    "actions": {
                        "variables": [{
                            "name": "hostname",
                            "path": "event.component",
                            "value": "hostname: (.*)",
                            "type": "regex",
                        }],
                        "extractions": [
                            {
                                "template": "{{variables.hostname}}",
                                "target": "event.custom_details.hostname",
                            },
                            {
                                "source": "event.source",
                                "regex": "www (.*) service",
                                "target": "event.source",
                            },
                        ],
                        "route_to": "step-two",
                    },
                }],
            },
            {
                "id": "step-two",
                "rules": [
                    {
                        "label": "All critical alerts should be treated as P1 incident",
                        "conditions": [{
                            "expression": "event.severity matches 'critical'",
                        }],
                        "actions": {
                            "annotate": "Please use our P1 runbook: https://docs.test/p1-runbook",
                            "priority": p1.id,
                            "incident_custom_field_updates": [{
                                "id": cs_impact.id,
                                "value": "High Impact",
                            }],
                        },
                    },
                    {
                        "label": "If any of the API apps are unavailable, page the SRE team",
                        "conditions": [{
                            "expression": "event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'",
                        }],
                        "actions": {
                            "escalation_policy": sre_esc_policy.id,
                        },
                    },
                    {
                        "label": "If there's something wrong on the canary let the team know about it in our deployments Slack channel",
                        "conditions": [{
                            "expression": "event.custom_details.hostname matches part 'canary'",
                        }],
                        "actions": {
                            "automation_action": {
                                "name": "Canary Slack Notification",
                                "url": "https://our-slack-listerner.test/canary-notification",
                                "auto_send": True,
                                "parameters": [
                                    {
                                        "key": "channel",
                                        "value": "#my-team-channel",
                                    },
                                    {
                                        "key": "message",
                                        "value": "something is wrong with the canary deployment",
                                    },
                                ],
                                "headers": [{
                                    "key": "X-Notification-Source",
                                    "value": "PagerDuty Incident Webhook",
                                }],
                            },
                        },
                    },
                    {
                        "label": "Never bother the on-call for info-level events outside of work hours",
                        "conditions": [{
                            "expression": "event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)",
                        }],
                        "actions": {
                            "suppress": True,
                        },
                    },
                ],
            },
        ],
        catch_all={
            "actions": {},
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		engineering, err := pagerduty.NewTeam(ctx, "engineering", &pagerduty.TeamArgs{
    			Name: pulumi.String("Engineering"),
    		})
    		if err != nil {
    			return err
    		}
    		example, err := pagerduty.NewUser(ctx, "example", &pagerduty.UserArgs{
    			Name:  pulumi.String("Earline Greenholt"),
    			Email: pulumi.String("125.greenholt.earline@graham.name"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = pagerduty.NewTeamMembership(ctx, "foo", &pagerduty.TeamMembershipArgs{
    			UserId: example.ID(),
    			TeamId: engineering.ID(),
    			Role:   pulumi.String("manager"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleEscalationPolicy, err := pagerduty.NewEscalationPolicy(ctx, "example", &pagerduty.EscalationPolicyArgs{
    			Name:     pulumi.String("Engineering Escalation Policy"),
    			NumLoops: pulumi.Int(2),
    			Rules: pagerduty.EscalationPolicyRuleArray{
    				&pagerduty.EscalationPolicyRuleArgs{
    					EscalationDelayInMinutes: pulumi.Int(10),
    					Targets: pagerduty.EscalationPolicyRuleTargetArray{
    						&pagerduty.EscalationPolicyRuleTargetArgs{
    							Type: pulumi.String("user_reference"),
    							Id:   example.ID(),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleService, err := pagerduty.NewService(ctx, "example", &pagerduty.ServiceArgs{
    			Name:                   pulumi.String("My Web App"),
    			AutoResolveTimeout:     pulumi.String("14400"),
    			AcknowledgementTimeout: pulumi.String("600"),
    			EscalationPolicy:       exampleEscalationPolicy.ID(),
    			AlertCreation:          pulumi.String("create_alerts_and_incidents"),
    		})
    		if err != nil {
    			return err
    		}
    		csImpact, err := pagerduty.NewIncidentCustomField(ctx, "cs_impact", &pagerduty.IncidentCustomFieldArgs{
    			Name:      pulumi.String("impact"),
    			DataType:  pulumi.String("string"),
    			FieldType: pulumi.String("single_value"),
    		})
    		if err != nil {
    			return err
    		}
    		p1, err := pagerduty.GetPriority(ctx, &pagerduty.GetPriorityArgs{
    			Name: "P1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		sreEscPolicy, err := pagerduty.LookupEscalationPolicy(ctx, &pagerduty.LookupEscalationPolicyArgs{
    			Name: "SRE Escalation Policy",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = pagerduty.NewEventOrchestrationService(ctx, "www", &pagerduty.EventOrchestrationServiceArgs{
    			Service:                            exampleService.ID(),
    			EnableEventOrchestrationForService: pulumi.Bool(true),
    			Sets: pagerduty.EventOrchestrationServiceSetArray{
    				&pagerduty.EventOrchestrationServiceSetArgs{
    					Id: pulumi.String("start"),
    					Rules: pagerduty.EventOrchestrationServiceSetRuleArray{
    						&pagerduty.EventOrchestrationServiceSetRuleArgs{
    							Label: pulumi.String("Always apply some consistent event transformations to all events"),
    							Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    								Variables: pagerduty.EventOrchestrationServiceSetRuleActionsVariableArray{
    									&pagerduty.EventOrchestrationServiceSetRuleActionsVariableArgs{
    										Name:  pulumi.String("hostname"),
    										Path:  pulumi.String("event.component"),
    										Value: pulumi.String("hostname: (.*)"),
    										Type:  pulumi.String("regex"),
    									},
    								},
    								Extractions: pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArray{
    									&pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{
    										Template: pulumi.String("{{variables.hostname}}"),
    										Target:   pulumi.String("event.custom_details.hostname"),
    									},
    									&pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{
    										Source: pulumi.String("event.source"),
    										Regex:  pulumi.String("www (.*) service"),
    										Target: pulumi.String("event.source"),
    									},
    								},
    								RouteTo: pulumi.String("step-two"),
    							},
    						},
    					},
    				},
    				&pagerduty.EventOrchestrationServiceSetArgs{
    					Id: pulumi.String("step-two"),
    					Rules: pagerduty.EventOrchestrationServiceSetRuleArray{
    						&pagerduty.EventOrchestrationServiceSetRuleArgs{
    							Label: pulumi.String("All critical alerts should be treated as P1 incident"),
    							Conditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{
    								&pagerduty.EventOrchestrationServiceSetRuleConditionArgs{
    									Expression: pulumi.String("event.severity matches 'critical'"),
    								},
    							},
    							Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    								Annotate: pulumi.String("Please use our P1 runbook: https://docs.test/p1-runbook"),
    								Priority: pulumi.String(p1.Id),
    								IncidentCustomFieldUpdates: pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArray{
    									&pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs{
    										Id:    csImpact.ID(),
    										Value: pulumi.String("High Impact"),
    									},
    								},
    							},
    						},
    						&pagerduty.EventOrchestrationServiceSetRuleArgs{
    							Label: pulumi.String("If any of the API apps are unavailable, page the SRE team"),
    							Conditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{
    								&pagerduty.EventOrchestrationServiceSetRuleConditionArgs{
    									Expression: pulumi.String("event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'"),
    								},
    							},
    							Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    								EscalationPolicy: pulumi.String(sreEscPolicy.Id),
    							},
    						},
    						&pagerduty.EventOrchestrationServiceSetRuleArgs{
    							Label: pulumi.String("If there's something wrong on the canary let the team know about it in our deployments Slack channel"),
    							Conditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{
    								&pagerduty.EventOrchestrationServiceSetRuleConditionArgs{
    									Expression: pulumi.String("event.custom_details.hostname matches part 'canary'"),
    								},
    							},
    							Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    								AutomationAction: &pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionArgs{
    									Name:     pulumi.String("Canary Slack Notification"),
    									Url:      pulumi.String("https://our-slack-listerner.test/canary-notification"),
    									AutoSend: pulumi.Bool(true),
    									Parameters: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArray{
    										&pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{
    											Key:   pulumi.String("channel"),
    											Value: pulumi.String("#my-team-channel"),
    										},
    										&pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{
    											Key:   pulumi.String("message"),
    											Value: pulumi.String("something is wrong with the canary deployment"),
    										},
    									},
    									Headers: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArray{
    										&pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs{
    											Key:   pulumi.String("X-Notification-Source"),
    											Value: pulumi.String("PagerDuty Incident Webhook"),
    										},
    									},
    								},
    							},
    						},
    						&pagerduty.EventOrchestrationServiceSetRuleArgs{
    							Label: pulumi.String("Never bother the on-call for info-level events outside of work hours"),
    							Conditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{
    								&pagerduty.EventOrchestrationServiceSetRuleConditionArgs{
    									Expression: pulumi.String("event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)"),
    								},
    							},
    							Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    								Suppress: pulumi.Bool(true),
    							},
    						},
    					},
    				},
    			},
    			CatchAll: &pagerduty.EventOrchestrationServiceCatchAllArgs{
    				Actions: nil,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Pagerduty = Pulumi.Pagerduty;
    
    return await Deployment.RunAsync(() => 
    {
        var engineering = new Pagerduty.Team("engineering", new()
        {
            Name = "Engineering",
        });
    
        var example = new Pagerduty.User("example", new()
        {
            Name = "Earline Greenholt",
            Email = "125.greenholt.earline@graham.name",
        });
    
        var foo = new Pagerduty.TeamMembership("foo", new()
        {
            UserId = example.Id,
            TeamId = engineering.Id,
            Role = "manager",
        });
    
        var exampleEscalationPolicy = new Pagerduty.EscalationPolicy("example", new()
        {
            Name = "Engineering Escalation Policy",
            NumLoops = 2,
            Rules = new[]
            {
                new Pagerduty.Inputs.EscalationPolicyRuleArgs
                {
                    EscalationDelayInMinutes = 10,
                    Targets = new[]
                    {
                        new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs
                        {
                            Type = "user_reference",
                            Id = example.Id,
                        },
                    },
                },
            },
        });
    
        var exampleService = new Pagerduty.Service("example", new()
        {
            Name = "My Web App",
            AutoResolveTimeout = "14400",
            AcknowledgementTimeout = "600",
            EscalationPolicy = exampleEscalationPolicy.Id,
            AlertCreation = "create_alerts_and_incidents",
        });
    
        var csImpact = new Pagerduty.IncidentCustomField("cs_impact", new()
        {
            Name = "impact",
            DataType = "string",
            FieldType = "single_value",
        });
    
        var p1 = Pagerduty.GetPriority.Invoke(new()
        {
            Name = "P1",
        });
    
        var sreEscPolicy = Pagerduty.GetEscalationPolicy.Invoke(new()
        {
            Name = "SRE Escalation Policy",
        });
    
        var www = new Pagerduty.EventOrchestrationService("www", new()
        {
            Service = exampleService.Id,
            EnableEventOrchestrationForService = true,
            Sets = new[]
            {
                new Pagerduty.Inputs.EventOrchestrationServiceSetArgs
                {
                    Id = "start",
                    Rules = new[]
                    {
                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                        {
                            Label = "Always apply some consistent event transformations to all events",
                            Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                            {
                                Variables = new[]
                                {
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsVariableArgs
                                    {
                                        Name = "hostname",
                                        Path = "event.component",
                                        Value = "hostname: (.*)",
                                        Type = "regex",
                                    },
                                },
                                Extractions = new[]
                                {
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs
                                    {
                                        Template = "{{variables.hostname}}",
                                        Target = "event.custom_details.hostname",
                                    },
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs
                                    {
                                        Source = "event.source",
                                        Regex = "www (.*) service",
                                        Target = "event.source",
                                    },
                                },
                                RouteTo = "step-two",
                            },
                        },
                    },
                },
                new Pagerduty.Inputs.EventOrchestrationServiceSetArgs
                {
                    Id = "step-two",
                    Rules = new[]
                    {
                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                        {
                            Label = "All critical alerts should be treated as P1 incident",
                            Conditions = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs
                                {
                                    Expression = "event.severity matches 'critical'",
                                },
                            },
                            Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                            {
                                Annotate = "Please use our P1 runbook: https://docs.test/p1-runbook",
                                Priority = p1.Apply(getPriorityResult => getPriorityResult.Id),
                                IncidentCustomFieldUpdates = new[]
                                {
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs
                                    {
                                        Id = csImpact.Id,
                                        Value = "High Impact",
                                    },
                                },
                            },
                        },
                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                        {
                            Label = "If any of the API apps are unavailable, page the SRE team",
                            Conditions = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs
                                {
                                    Expression = "event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'",
                                },
                            },
                            Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                            {
                                EscalationPolicy = sreEscPolicy.Apply(getEscalationPolicyResult => getEscalationPolicyResult.Id),
                            },
                        },
                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                        {
                            Label = "If there's something wrong on the canary let the team know about it in our deployments Slack channel",
                            Conditions = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs
                                {
                                    Expression = "event.custom_details.hostname matches part 'canary'",
                                },
                            },
                            Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                            {
                                AutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionArgs
                                {
                                    Name = "Canary Slack Notification",
                                    Url = "https://our-slack-listerner.test/canary-notification",
                                    AutoSend = true,
                                    Parameters = new[]
                                    {
                                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs
                                        {
                                            Key = "channel",
                                            Value = "#my-team-channel",
                                        },
                                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs
                                        {
                                            Key = "message",
                                            Value = "something is wrong with the canary deployment",
                                        },
                                    },
                                    Headers = new[]
                                    {
                                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs
                                        {
                                            Key = "X-Notification-Source",
                                            Value = "PagerDuty Incident Webhook",
                                        },
                                    },
                                },
                            },
                        },
                        new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                        {
                            Label = "Never bother the on-call for info-level events outside of work hours",
                            Conditions = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs
                                {
                                    Expression = "event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)",
                                },
                            },
                            Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                            {
                                Suppress = true,
                            },
                        },
                    },
                },
            },
            CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs
            {
                Actions = null,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.pagerduty.Team;
    import com.pulumi.pagerduty.TeamArgs;
    import com.pulumi.pagerduty.User;
    import com.pulumi.pagerduty.UserArgs;
    import com.pulumi.pagerduty.TeamMembership;
    import com.pulumi.pagerduty.TeamMembershipArgs;
    import com.pulumi.pagerduty.EscalationPolicy;
    import com.pulumi.pagerduty.EscalationPolicyArgs;
    import com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;
    import com.pulumi.pagerduty.Service;
    import com.pulumi.pagerduty.ServiceArgs;
    import com.pulumi.pagerduty.IncidentCustomField;
    import com.pulumi.pagerduty.IncidentCustomFieldArgs;
    import com.pulumi.pagerduty.PagerdutyFunctions;
    import com.pulumi.pagerduty.inputs.GetPriorityArgs;
    import com.pulumi.pagerduty.inputs.GetEscalationPolicyArgs;
    import com.pulumi.pagerduty.EventOrchestrationService;
    import com.pulumi.pagerduty.EventOrchestrationServiceArgs;
    import com.pulumi.pagerduty.inputs.EventOrchestrationServiceSetArgs;
    import com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllArgs;
    import com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllActionsArgs;
    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 engineering = new Team("engineering", TeamArgs.builder()
                .name("Engineering")
                .build());
    
            var example = new User("example", UserArgs.builder()
                .name("Earline Greenholt")
                .email("125.greenholt.earline@graham.name")
                .build());
    
            var foo = new TeamMembership("foo", TeamMembershipArgs.builder()
                .userId(example.id())
                .teamId(engineering.id())
                .role("manager")
                .build());
    
            var exampleEscalationPolicy = new EscalationPolicy("exampleEscalationPolicy", EscalationPolicyArgs.builder()
                .name("Engineering Escalation Policy")
                .numLoops(2)
                .rules(EscalationPolicyRuleArgs.builder()
                    .escalationDelayInMinutes(10)
                    .targets(EscalationPolicyRuleTargetArgs.builder()
                        .type("user_reference")
                        .id(example.id())
                        .build())
                    .build())
                .build());
    
            var exampleService = new Service("exampleService", ServiceArgs.builder()
                .name("My Web App")
                .autoResolveTimeout(14400)
                .acknowledgementTimeout(600)
                .escalationPolicy(exampleEscalationPolicy.id())
                .alertCreation("create_alerts_and_incidents")
                .build());
    
            var csImpact = new IncidentCustomField("csImpact", IncidentCustomFieldArgs.builder()
                .name("impact")
                .dataType("string")
                .fieldType("single_value")
                .build());
    
            final var p1 = PagerdutyFunctions.getPriority(GetPriorityArgs.builder()
                .name("P1")
                .build());
    
            final var sreEscPolicy = PagerdutyFunctions.getEscalationPolicy(GetEscalationPolicyArgs.builder()
                .name("SRE Escalation Policy")
                .build());
    
            var www = new EventOrchestrationService("www", EventOrchestrationServiceArgs.builder()
                .service(exampleService.id())
                .enableEventOrchestrationForService(true)
                .sets(            
                    EventOrchestrationServiceSetArgs.builder()
                        .id("start")
                        .rules(EventOrchestrationServiceSetRuleArgs.builder()
                            .label("Always apply some consistent event transformations to all events")
                            .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                                .variables(EventOrchestrationServiceSetRuleActionsVariableArgs.builder()
                                    .name("hostname")
                                    .path("event.component")
                                    .value("hostname: (.*)")
                                    .type("regex")
                                    .build())
                                .extractions(                            
                                    EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()
                                        .template("{{variables.hostname}}")
                                        .target("event.custom_details.hostname")
                                        .build(),
                                    EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()
                                        .source("event.source")
                                        .regex("www (.*) service")
                                        .target("event.source")
                                        .build())
                                .routeTo("step-two")
                                .build())
                            .build())
                        .build(),
                    EventOrchestrationServiceSetArgs.builder()
                        .id("step-two")
                        .rules(                    
                            EventOrchestrationServiceSetRuleArgs.builder()
                                .label("All critical alerts should be treated as P1 incident")
                                .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()
                                    .expression("event.severity matches 'critical'")
                                    .build())
                                .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                                    .annotate("Please use our P1 runbook: https://docs.test/p1-runbook")
                                    .priority(p1.applyValue(getPriorityResult -> getPriorityResult.id()))
                                    .incidentCustomFieldUpdates(EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs.builder()
                                        .id(csImpact.id())
                                        .value("High Impact")
                                        .build())
                                    .build())
                                .build(),
                            EventOrchestrationServiceSetRuleArgs.builder()
                                .label("If any of the API apps are unavailable, page the SRE team")
                                .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()
                                    .expression("event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'")
                                    .build())
                                .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                                    .escalationPolicy(sreEscPolicy.applyValue(getEscalationPolicyResult -> getEscalationPolicyResult.id()))
                                    .build())
                                .build(),
                            EventOrchestrationServiceSetRuleArgs.builder()
                                .label("If there's something wrong on the canary let the team know about it in our deployments Slack channel")
                                .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()
                                    .expression("event.custom_details.hostname matches part 'canary'")
                                    .build())
                                .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                                    .automationAction(EventOrchestrationServiceSetRuleActionsAutomationActionArgs.builder()
                                        .name("Canary Slack Notification")
                                        .url("https://our-slack-listerner.test/canary-notification")
                                        .autoSend(true)
                                        .parameters(                                    
                                            EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()
                                                .key("channel")
                                                .value("#my-team-channel")
                                                .build(),
                                            EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()
                                                .key("message")
                                                .value("something is wrong with the canary deployment")
                                                .build())
                                        .headers(EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs.builder()
                                            .key("X-Notification-Source")
                                            .value("PagerDuty Incident Webhook")
                                            .build())
                                        .build())
                                    .build())
                                .build(),
                            EventOrchestrationServiceSetRuleArgs.builder()
                                .label("Never bother the on-call for info-level events outside of work hours")
                                .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()
                                    .expression("event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)")
                                    .build())
                                .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                                    .suppress(true)
                                    .build())
                                .build())
                        .build())
                .catchAll(EventOrchestrationServiceCatchAllArgs.builder()
                    .actions()
                    .build())
                .build());
    
        }
    }
    
    resources:
      engineering:
        type: pagerduty:Team
        properties:
          name: Engineering
      example:
        type: pagerduty:User
        properties:
          name: Earline Greenholt
          email: 125.greenholt.earline@graham.name
      foo:
        type: pagerduty:TeamMembership
        properties:
          userId: ${example.id}
          teamId: ${engineering.id}
          role: manager
      exampleEscalationPolicy:
        type: pagerduty:EscalationPolicy
        name: example
        properties:
          name: Engineering Escalation Policy
          numLoops: 2
          rules:
            - escalationDelayInMinutes: 10
              targets:
                - type: user_reference
                  id: ${example.id}
      exampleService:
        type: pagerduty:Service
        name: example
        properties:
          name: My Web App
          autoResolveTimeout: 14400
          acknowledgementTimeout: 600
          escalationPolicy: ${exampleEscalationPolicy.id}
          alertCreation: create_alerts_and_incidents
      csImpact:
        type: pagerduty:IncidentCustomField
        name: cs_impact
        properties:
          name: impact
          dataType: string
          fieldType: single_value
      www:
        type: pagerduty:EventOrchestrationService
        properties:
          service: ${exampleService.id}
          enableEventOrchestrationForService: true
          sets:
            - id: start
              rules:
                - label: Always apply some consistent event transformations to all events
                  actions:
                    variables:
                      - name: hostname
                        path: event.component
                        value: 'hostname: (.*)'
                        type: regex
                    extractions:
                      - template: '{{variables.hostname}}'
                        target: event.custom_details.hostname
                      - source: event.source
                        regex: www (.*) service
                        target: event.source
                    routeTo: step-two
            - id: step-two
              rules:
                - label: All critical alerts should be treated as P1 incident
                  conditions:
                    - expression: event.severity matches 'critical'
                  actions:
                    annotate: 'Please use our P1 runbook: https://docs.test/p1-runbook'
                    priority: ${p1.id}
                    incidentCustomFieldUpdates:
                      - id: ${csImpact.id}
                        value: High Impact
                - label: If any of the API apps are unavailable, page the SRE team
                  conditions:
                    - expression: event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'
                  actions:
                    escalationPolicy: ${sreEscPolicy.id}
                - label: If there's something wrong on the canary let the team know about it in our deployments Slack channel
                  conditions:
                    - expression: event.custom_details.hostname matches part 'canary'
                  actions:
                    automationAction:
                      name: Canary Slack Notification
                      url: https://our-slack-listerner.test/canary-notification
                      autoSend: true
                      parameters:
                        - key: channel
                          value: '#my-team-channel'
                        - key: message
                          value: something is wrong with the canary deployment
                      headers:
                        - key: X-Notification-Source
                          value: PagerDuty Incident Webhook
                - label: Never bother the on-call for info-level events outside of work hours
                  conditions:
                    - expression: event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)
                  actions:
                    suppress: true
          catchAll:
            actions: {}
    variables:
      p1:
        fn::invoke:
          Function: pagerduty:getPriority
          Arguments:
            name: P1
      sreEscPolicy:
        fn::invoke:
          Function: pagerduty:getEscalationPolicy
          Arguments:
            name: SRE Escalation Policy
    

    Create EventOrchestrationService Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new EventOrchestrationService(name: string, args: EventOrchestrationServiceArgs, opts?: CustomResourceOptions);
    @overload
    def EventOrchestrationService(resource_name: str,
                                  args: EventOrchestrationServiceArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def EventOrchestrationService(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  catch_all: Optional[EventOrchestrationServiceCatchAllArgs] = None,
                                  service: Optional[str] = None,
                                  sets: Optional[Sequence[EventOrchestrationServiceSetArgs]] = None,
                                  enable_event_orchestration_for_service: Optional[bool] = None)
    func NewEventOrchestrationService(ctx *Context, name string, args EventOrchestrationServiceArgs, opts ...ResourceOption) (*EventOrchestrationService, error)
    public EventOrchestrationService(string name, EventOrchestrationServiceArgs args, CustomResourceOptions? opts = null)
    public EventOrchestrationService(String name, EventOrchestrationServiceArgs args)
    public EventOrchestrationService(String name, EventOrchestrationServiceArgs args, CustomResourceOptions options)
    
    type: pagerduty:EventOrchestrationService
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args EventOrchestrationServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args EventOrchestrationServiceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args EventOrchestrationServiceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args EventOrchestrationServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args EventOrchestrationServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var eventOrchestrationServiceResource = new Pagerduty.EventOrchestrationService("eventOrchestrationServiceResource", new()
    {
        CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs
        {
            Actions = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsArgs
            {
                Annotate = "string",
                AutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsAutomationActionArgs
                {
                    Name = "string",
                    Url = "string",
                    AutoSend = false,
                    Headers = new[]
                    {
                        new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs
                        {
                            Key = "string",
                            Value = "string",
                        },
                    },
                    Parameters = new[]
                    {
                        new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs
                        {
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
                EscalationPolicy = "string",
                EventAction = "string",
                Extractions = new[]
                {
                    new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsExtractionArgs
                    {
                        Target = "string",
                        Regex = "string",
                        Source = "string",
                        Template = "string",
                    },
                },
                IncidentCustomFieldUpdates = new[]
                {
                    new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs
                    {
                        Id = "string",
                        Value = "string",
                    },
                },
                PagerdutyAutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs
                {
                    ActionId = "string",
                },
                Priority = "string",
                RouteTo = "string",
                Severity = "string",
                Suppress = false,
                Suspend = 0,
                Variables = new[]
                {
                    new Pagerduty.Inputs.EventOrchestrationServiceCatchAllActionsVariableArgs
                    {
                        Name = "string",
                        Path = "string",
                        Type = "string",
                        Value = "string",
                    },
                },
            },
        },
        Service = "string",
        Sets = new[]
        {
            new Pagerduty.Inputs.EventOrchestrationServiceSetArgs
            {
                Id = "string",
                Rules = new[]
                {
                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs
                    {
                        Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs
                        {
                            Annotate = "string",
                            AutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionArgs
                            {
                                Name = "string",
                                Url = "string",
                                AutoSend = false,
                                Headers = new[]
                                {
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs
                                    {
                                        Key = "string",
                                        Value = "string",
                                    },
                                },
                                Parameters = new[]
                                {
                                    new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs
                                    {
                                        Key = "string",
                                        Value = "string",
                                    },
                                },
                            },
                            EscalationPolicy = "string",
                            EventAction = "string",
                            Extractions = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs
                                {
                                    Target = "string",
                                    Regex = "string",
                                    Source = "string",
                                    Template = "string",
                                },
                            },
                            IncidentCustomFieldUpdates = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs
                                {
                                    Id = "string",
                                    Value = "string",
                                },
                            },
                            PagerdutyAutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs
                            {
                                ActionId = "string",
                            },
                            Priority = "string",
                            RouteTo = "string",
                            Severity = "string",
                            Suppress = false,
                            Suspend = 0,
                            Variables = new[]
                            {
                                new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsVariableArgs
                                {
                                    Name = "string",
                                    Path = "string",
                                    Type = "string",
                                    Value = "string",
                                },
                            },
                        },
                        Conditions = new[]
                        {
                            new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs
                            {
                                Expression = "string",
                            },
                        },
                        Disabled = false,
                        Id = "string",
                        Label = "string",
                    },
                },
            },
        },
        EnableEventOrchestrationForService = false,
    });
    
    example, err := pagerduty.NewEventOrchestrationService(ctx, "eventOrchestrationServiceResource", &pagerduty.EventOrchestrationServiceArgs{
    	CatchAll: &pagerduty.EventOrchestrationServiceCatchAllArgs{
    		Actions: &pagerduty.EventOrchestrationServiceCatchAllActionsArgs{
    			Annotate: pulumi.String("string"),
    			AutomationAction: &pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionArgs{
    				Name:     pulumi.String("string"),
    				Url:      pulumi.String("string"),
    				AutoSend: pulumi.Bool(false),
    				Headers: pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArray{
    					&pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs{
    						Key:   pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Parameters: pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionParameterArray{
    					&pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs{
    						Key:   pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    			},
    			EscalationPolicy: pulumi.String("string"),
    			EventAction:      pulumi.String("string"),
    			Extractions: pagerduty.EventOrchestrationServiceCatchAllActionsExtractionArray{
    				&pagerduty.EventOrchestrationServiceCatchAllActionsExtractionArgs{
    					Target:   pulumi.String("string"),
    					Regex:    pulumi.String("string"),
    					Source:   pulumi.String("string"),
    					Template: pulumi.String("string"),
    				},
    			},
    			IncidentCustomFieldUpdates: pagerduty.EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArray{
    				&pagerduty.EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs{
    					Id:    pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			PagerdutyAutomationAction: &pagerduty.EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs{
    				ActionId: pulumi.String("string"),
    			},
    			Priority: pulumi.String("string"),
    			RouteTo:  pulumi.String("string"),
    			Severity: pulumi.String("string"),
    			Suppress: pulumi.Bool(false),
    			Suspend:  pulumi.Int(0),
    			Variables: pagerduty.EventOrchestrationServiceCatchAllActionsVariableArray{
    				&pagerduty.EventOrchestrationServiceCatchAllActionsVariableArgs{
    					Name:  pulumi.String("string"),
    					Path:  pulumi.String("string"),
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Service: pulumi.String("string"),
    	Sets: pagerduty.EventOrchestrationServiceSetArray{
    		&pagerduty.EventOrchestrationServiceSetArgs{
    			Id: pulumi.String("string"),
    			Rules: pagerduty.EventOrchestrationServiceSetRuleArray{
    				&pagerduty.EventOrchestrationServiceSetRuleArgs{
    					Actions: &pagerduty.EventOrchestrationServiceSetRuleActionsArgs{
    						Annotate: pulumi.String("string"),
    						AutomationAction: &pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionArgs{
    							Name:     pulumi.String("string"),
    							Url:      pulumi.String("string"),
    							AutoSend: pulumi.Bool(false),
    							Headers: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArray{
    								&pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs{
    									Key:   pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    							Parameters: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArray{
    								&pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{
    									Key:   pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    						},
    						EscalationPolicy: pulumi.String("string"),
    						EventAction:      pulumi.String("string"),
    						Extractions: pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArray{
    							&pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{
    								Target:   pulumi.String("string"),
    								Regex:    pulumi.String("string"),
    								Source:   pulumi.String("string"),
    								Template: pulumi.String("string"),
    							},
    						},
    						IncidentCustomFieldUpdates: pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArray{
    							&pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs{
    								Id:    pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						PagerdutyAutomationAction: &pagerduty.EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs{
    							ActionId: pulumi.String("string"),
    						},
    						Priority: pulumi.String("string"),
    						RouteTo:  pulumi.String("string"),
    						Severity: pulumi.String("string"),
    						Suppress: pulumi.Bool(false),
    						Suspend:  pulumi.Int(0),
    						Variables: pagerduty.EventOrchestrationServiceSetRuleActionsVariableArray{
    							&pagerduty.EventOrchestrationServiceSetRuleActionsVariableArgs{
    								Name:  pulumi.String("string"),
    								Path:  pulumi.String("string"),
    								Type:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    					},
    					Conditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{
    						&pagerduty.EventOrchestrationServiceSetRuleConditionArgs{
    							Expression: pulumi.String("string"),
    						},
    					},
    					Disabled: pulumi.Bool(false),
    					Id:       pulumi.String("string"),
    					Label:    pulumi.String("string"),
    				},
    			},
    		},
    	},
    	EnableEventOrchestrationForService: pulumi.Bool(false),
    })
    
    var eventOrchestrationServiceResource = new EventOrchestrationService("eventOrchestrationServiceResource", EventOrchestrationServiceArgs.builder()
        .catchAll(EventOrchestrationServiceCatchAllArgs.builder()
            .actions(EventOrchestrationServiceCatchAllActionsArgs.builder()
                .annotate("string")
                .automationAction(EventOrchestrationServiceCatchAllActionsAutomationActionArgs.builder()
                    .name("string")
                    .url("string")
                    .autoSend(false)
                    .headers(EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs.builder()
                        .key("string")
                        .value("string")
                        .build())
                    .parameters(EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs.builder()
                        .key("string")
                        .value("string")
                        .build())
                    .build())
                .escalationPolicy("string")
                .eventAction("string")
                .extractions(EventOrchestrationServiceCatchAllActionsExtractionArgs.builder()
                    .target("string")
                    .regex("string")
                    .source("string")
                    .template("string")
                    .build())
                .incidentCustomFieldUpdates(EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs.builder()
                    .id("string")
                    .value("string")
                    .build())
                .pagerdutyAutomationAction(EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs.builder()
                    .actionId("string")
                    .build())
                .priority("string")
                .routeTo("string")
                .severity("string")
                .suppress(false)
                .suspend(0)
                .variables(EventOrchestrationServiceCatchAllActionsVariableArgs.builder()
                    .name("string")
                    .path("string")
                    .type("string")
                    .value("string")
                    .build())
                .build())
            .build())
        .service("string")
        .sets(EventOrchestrationServiceSetArgs.builder()
            .id("string")
            .rules(EventOrchestrationServiceSetRuleArgs.builder()
                .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()
                    .annotate("string")
                    .automationAction(EventOrchestrationServiceSetRuleActionsAutomationActionArgs.builder()
                        .name("string")
                        .url("string")
                        .autoSend(false)
                        .headers(EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs.builder()
                            .key("string")
                            .value("string")
                            .build())
                        .parameters(EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()
                            .key("string")
                            .value("string")
                            .build())
                        .build())
                    .escalationPolicy("string")
                    .eventAction("string")
                    .extractions(EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()
                        .target("string")
                        .regex("string")
                        .source("string")
                        .template("string")
                        .build())
                    .incidentCustomFieldUpdates(EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs.builder()
                        .id("string")
                        .value("string")
                        .build())
                    .pagerdutyAutomationAction(EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs.builder()
                        .actionId("string")
                        .build())
                    .priority("string")
                    .routeTo("string")
                    .severity("string")
                    .suppress(false)
                    .suspend(0)
                    .variables(EventOrchestrationServiceSetRuleActionsVariableArgs.builder()
                        .name("string")
                        .path("string")
                        .type("string")
                        .value("string")
                        .build())
                    .build())
                .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()
                    .expression("string")
                    .build())
                .disabled(false)
                .id("string")
                .label("string")
                .build())
            .build())
        .enableEventOrchestrationForService(false)
        .build());
    
    event_orchestration_service_resource = pagerduty.EventOrchestrationService("eventOrchestrationServiceResource",
        catch_all=pagerduty.EventOrchestrationServiceCatchAllArgs(
            actions=pagerduty.EventOrchestrationServiceCatchAllActionsArgs(
                annotate="string",
                automation_action=pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionArgs(
                    name="string",
                    url="string",
                    auto_send=False,
                    headers=[pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs(
                        key="string",
                        value="string",
                    )],
                    parameters=[pagerduty.EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs(
                        key="string",
                        value="string",
                    )],
                ),
                escalation_policy="string",
                event_action="string",
                extractions=[pagerduty.EventOrchestrationServiceCatchAllActionsExtractionArgs(
                    target="string",
                    regex="string",
                    source="string",
                    template="string",
                )],
                incident_custom_field_updates=[pagerduty.EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs(
                    id="string",
                    value="string",
                )],
                pagerduty_automation_action=pagerduty.EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs(
                    action_id="string",
                ),
                priority="string",
                route_to="string",
                severity="string",
                suppress=False,
                suspend=0,
                variables=[pagerduty.EventOrchestrationServiceCatchAllActionsVariableArgs(
                    name="string",
                    path="string",
                    type="string",
                    value="string",
                )],
            ),
        ),
        service="string",
        sets=[pagerduty.EventOrchestrationServiceSetArgs(
            id="string",
            rules=[pagerduty.EventOrchestrationServiceSetRuleArgs(
                actions=pagerduty.EventOrchestrationServiceSetRuleActionsArgs(
                    annotate="string",
                    automation_action=pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionArgs(
                        name="string",
                        url="string",
                        auto_send=False,
                        headers=[pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs(
                            key="string",
                            value="string",
                        )],
                        parameters=[pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs(
                            key="string",
                            value="string",
                        )],
                    ),
                    escalation_policy="string",
                    event_action="string",
                    extractions=[pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs(
                        target="string",
                        regex="string",
                        source="string",
                        template="string",
                    )],
                    incident_custom_field_updates=[pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs(
                        id="string",
                        value="string",
                    )],
                    pagerduty_automation_action=pagerduty.EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs(
                        action_id="string",
                    ),
                    priority="string",
                    route_to="string",
                    severity="string",
                    suppress=False,
                    suspend=0,
                    variables=[pagerduty.EventOrchestrationServiceSetRuleActionsVariableArgs(
                        name="string",
                        path="string",
                        type="string",
                        value="string",
                    )],
                ),
                conditions=[pagerduty.EventOrchestrationServiceSetRuleConditionArgs(
                    expression="string",
                )],
                disabled=False,
                id="string",
                label="string",
            )],
        )],
        enable_event_orchestration_for_service=False)
    
    const eventOrchestrationServiceResource = new pagerduty.EventOrchestrationService("eventOrchestrationServiceResource", {
        catchAll: {
            actions: {
                annotate: "string",
                automationAction: {
                    name: "string",
                    url: "string",
                    autoSend: false,
                    headers: [{
                        key: "string",
                        value: "string",
                    }],
                    parameters: [{
                        key: "string",
                        value: "string",
                    }],
                },
                escalationPolicy: "string",
                eventAction: "string",
                extractions: [{
                    target: "string",
                    regex: "string",
                    source: "string",
                    template: "string",
                }],
                incidentCustomFieldUpdates: [{
                    id: "string",
                    value: "string",
                }],
                pagerdutyAutomationAction: {
                    actionId: "string",
                },
                priority: "string",
                routeTo: "string",
                severity: "string",
                suppress: false,
                suspend: 0,
                variables: [{
                    name: "string",
                    path: "string",
                    type: "string",
                    value: "string",
                }],
            },
        },
        service: "string",
        sets: [{
            id: "string",
            rules: [{
                actions: {
                    annotate: "string",
                    automationAction: {
                        name: "string",
                        url: "string",
                        autoSend: false,
                        headers: [{
                            key: "string",
                            value: "string",
                        }],
                        parameters: [{
                            key: "string",
                            value: "string",
                        }],
                    },
                    escalationPolicy: "string",
                    eventAction: "string",
                    extractions: [{
                        target: "string",
                        regex: "string",
                        source: "string",
                        template: "string",
                    }],
                    incidentCustomFieldUpdates: [{
                        id: "string",
                        value: "string",
                    }],
                    pagerdutyAutomationAction: {
                        actionId: "string",
                    },
                    priority: "string",
                    routeTo: "string",
                    severity: "string",
                    suppress: false,
                    suspend: 0,
                    variables: [{
                        name: "string",
                        path: "string",
                        type: "string",
                        value: "string",
                    }],
                },
                conditions: [{
                    expression: "string",
                }],
                disabled: false,
                id: "string",
                label: "string",
            }],
        }],
        enableEventOrchestrationForService: false,
    });
    
    type: pagerduty:EventOrchestrationService
    properties:
        catchAll:
            actions:
                annotate: string
                automationAction:
                    autoSend: false
                    headers:
                        - key: string
                          value: string
                    name: string
                    parameters:
                        - key: string
                          value: string
                    url: string
                escalationPolicy: string
                eventAction: string
                extractions:
                    - regex: string
                      source: string
                      target: string
                      template: string
                incidentCustomFieldUpdates:
                    - id: string
                      value: string
                pagerdutyAutomationAction:
                    actionId: string
                priority: string
                routeTo: string
                severity: string
                suppress: false
                suspend: 0
                variables:
                    - name: string
                      path: string
                      type: string
                      value: string
        enableEventOrchestrationForService: false
        service: string
        sets:
            - id: string
              rules:
                - actions:
                    annotate: string
                    automationAction:
                        autoSend: false
                        headers:
                            - key: string
                              value: string
                        name: string
                        parameters:
                            - key: string
                              value: string
                        url: string
                    escalationPolicy: string
                    eventAction: string
                    extractions:
                        - regex: string
                          source: string
                          target: string
                          template: string
                    incidentCustomFieldUpdates:
                        - id: string
                          value: string
                    pagerdutyAutomationAction:
                        actionId: string
                    priority: string
                    routeTo: string
                    severity: string
                    suppress: false
                    suspend: 0
                    variables:
                        - name: string
                          path: string
                          type: string
                          value: string
                  conditions:
                    - expression: string
                  disabled: false
                  id: string
                  label: string
    

    EventOrchestrationService Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The EventOrchestrationService resource accepts the following input properties:

    CatchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    Service string
    ID of the Service to which this Service Orchestration belongs to.
    Sets List<EventOrchestrationServiceSet>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    EnableEventOrchestrationForService bool
    Opt-in/out for switching the Service to Service Orchestrations.
    CatchAll EventOrchestrationServiceCatchAllArgs
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    Service string
    ID of the Service to which this Service Orchestration belongs to.
    Sets []EventOrchestrationServiceSetArgs
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    EnableEventOrchestrationForService bool
    Opt-in/out for switching the Service to Service Orchestrations.
    catchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    service String
    ID of the Service to which this Service Orchestration belongs to.
    sets List<EventOrchestrationServiceSet>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    enableEventOrchestrationForService Boolean
    Opt-in/out for switching the Service to Service Orchestrations.
    catchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    service string
    ID of the Service to which this Service Orchestration belongs to.
    sets EventOrchestrationServiceSet[]
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    enableEventOrchestrationForService boolean
    Opt-in/out for switching the Service to Service Orchestrations.
    catch_all EventOrchestrationServiceCatchAllArgs
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    service str
    ID of the Service to which this Service Orchestration belongs to.
    sets Sequence[EventOrchestrationServiceSetArgs]
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    enable_event_orchestration_for_service bool
    Opt-in/out for switching the Service to Service Orchestrations.
    catchAll Property Map
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    service String
    ID of the Service to which this Service Orchestration belongs to.
    sets List<Property Map>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    enableEventOrchestrationForService Boolean
    Opt-in/out for switching the Service to Service Orchestrations.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the EventOrchestrationService resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing EventOrchestrationService Resource

    Get an existing EventOrchestrationService resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: EventOrchestrationServiceState, opts?: CustomResourceOptions): EventOrchestrationService
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            catch_all: Optional[EventOrchestrationServiceCatchAllArgs] = None,
            enable_event_orchestration_for_service: Optional[bool] = None,
            service: Optional[str] = None,
            sets: Optional[Sequence[EventOrchestrationServiceSetArgs]] = None) -> EventOrchestrationService
    func GetEventOrchestrationService(ctx *Context, name string, id IDInput, state *EventOrchestrationServiceState, opts ...ResourceOption) (*EventOrchestrationService, error)
    public static EventOrchestrationService Get(string name, Input<string> id, EventOrchestrationServiceState? state, CustomResourceOptions? opts = null)
    public static EventOrchestrationService get(String name, Output<String> id, EventOrchestrationServiceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CatchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    EnableEventOrchestrationForService bool
    Opt-in/out for switching the Service to Service Orchestrations.
    Service string
    ID of the Service to which this Service Orchestration belongs to.
    Sets List<EventOrchestrationServiceSet>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    CatchAll EventOrchestrationServiceCatchAllArgs
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    EnableEventOrchestrationForService bool
    Opt-in/out for switching the Service to Service Orchestrations.
    Service string
    ID of the Service to which this Service Orchestration belongs to.
    Sets []EventOrchestrationServiceSetArgs
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    catchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    enableEventOrchestrationForService Boolean
    Opt-in/out for switching the Service to Service Orchestrations.
    service String
    ID of the Service to which this Service Orchestration belongs to.
    sets List<EventOrchestrationServiceSet>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    catchAll EventOrchestrationServiceCatchAll
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    enableEventOrchestrationForService boolean
    Opt-in/out for switching the Service to Service Orchestrations.
    service string
    ID of the Service to which this Service Orchestration belongs to.
    sets EventOrchestrationServiceSet[]
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    catch_all EventOrchestrationServiceCatchAllArgs
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    enable_event_orchestration_for_service bool
    Opt-in/out for switching the Service to Service Orchestrations.
    service str
    ID of the Service to which this Service Orchestration belongs to.
    sets Sequence[EventOrchestrationServiceSetArgs]
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.
    catchAll Property Map
    the catch_all actions will be applied if an Event reaches the end of any set without matching any rules in that set.
    enableEventOrchestrationForService Boolean
    Opt-in/out for switching the Service to Service Orchestrations.
    service String
    ID of the Service to which this Service Orchestration belongs to.
    sets List<Property Map>
    A Service Orchestration must contain at least a "start" set, but can contain any number of additional sets that are routed to by other rules to form a directional graph.

    Supporting Types

    EventOrchestrationServiceCatchAll, EventOrchestrationServiceCatchAllArgs

    Actions EventOrchestrationServiceCatchAllActions
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.
    Actions EventOrchestrationServiceCatchAllActions
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.
    actions EventOrchestrationServiceCatchAllActions
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.
    actions EventOrchestrationServiceCatchAllActions
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.
    actions EventOrchestrationServiceCatchAllActions
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.
    actions Property Map
    These are the actions that will be taken to change the resulting alert and incident. catch_all supports all actions described above for rule except route_to action.

    EventOrchestrationServiceCatchAllActions, EventOrchestrationServiceCatchAllActionsArgs

    Annotate string
    Add this text as a note on the resulting incident.
    AutomationAction EventOrchestrationServiceCatchAllActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    EscalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    EventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    Extractions List<EventOrchestrationServiceCatchAllActionsExtraction>
    Replace any CEF field or Custom Details object field using custom variables.
    IncidentCustomFieldUpdates List<EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate>
    Assign a custom field to the resulting incident.
    PagerdutyAutomationAction EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    Priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    RouteTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    Severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    Suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    Suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    Variables List<EventOrchestrationServiceCatchAllActionsVariable>
    Populate variables from event payloads and use those variables in other event actions.
    Annotate string
    Add this text as a note on the resulting incident.
    AutomationAction EventOrchestrationServiceCatchAllActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    EscalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    EventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    Extractions []EventOrchestrationServiceCatchAllActionsExtraction
    Replace any CEF field or Custom Details object field using custom variables.
    IncidentCustomFieldUpdates []EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate
    Assign a custom field to the resulting incident.
    PagerdutyAutomationAction EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    Priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    RouteTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    Severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    Suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    Suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    Variables []EventOrchestrationServiceCatchAllActionsVariable
    Populate variables from event payloads and use those variables in other event actions.
    annotate String
    Add this text as a note on the resulting incident.
    automationAction EventOrchestrationServiceCatchAllActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalationPolicy String
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction String
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions List<EventOrchestrationServiceCatchAllActionsExtraction>
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates List<EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate>
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority String
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo String
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity String
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress Boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend Integer
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables List<EventOrchestrationServiceCatchAllActionsVariable>
    Populate variables from event payloads and use those variables in other event actions.
    annotate string
    Add this text as a note on the resulting incident.
    automationAction EventOrchestrationServiceCatchAllActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions EventOrchestrationServiceCatchAllActionsExtraction[]
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate[]
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend number
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables EventOrchestrationServiceCatchAllActionsVariable[]
    Populate variables from event payloads and use those variables in other event actions.
    annotate str
    Add this text as a note on the resulting incident.
    automation_action EventOrchestrationServiceCatchAllActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalation_policy str
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    event_action str
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions Sequence[EventOrchestrationServiceCatchAllActionsExtraction]
    Replace any CEF field or Custom Details object field using custom variables.
    incident_custom_field_updates Sequence[EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate]
    Assign a custom field to the resulting incident.
    pagerduty_automation_action EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority str
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    route_to str
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity str
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables Sequence[EventOrchestrationServiceCatchAllActionsVariable]
    Populate variables from event payloads and use those variables in other event actions.
    annotate String
    Add this text as a note on the resulting incident.
    automationAction Property Map
    Create a Webhook associated with the resulting incident.
    escalationPolicy String
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction String
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions List<Property Map>
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates List<Property Map>
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction Property Map
    Configure a Process Automation associated with the resulting incident.
    priority String
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo String
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity String
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress Boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend Number
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables List<Property Map>
    Populate variables from event payloads and use those variables in other event actions.

    EventOrchestrationServiceCatchAllActionsAutomationAction, EventOrchestrationServiceCatchAllActionsAutomationActionArgs

    Name string
    Name of this Webhook.
    Url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    AutoSend bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    Headers List<EventOrchestrationServiceCatchAllActionsAutomationActionHeader>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    Parameters List<EventOrchestrationServiceCatchAllActionsAutomationActionParameter>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    Name string
    Name of this Webhook.
    Url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    AutoSend bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    Headers []EventOrchestrationServiceCatchAllActionsAutomationActionHeader
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    Parameters []EventOrchestrationServiceCatchAllActionsAutomationActionParameter
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name String
    Name of this Webhook.
    url String
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend Boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers List<EventOrchestrationServiceCatchAllActionsAutomationActionHeader>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters List<EventOrchestrationServiceCatchAllActionsAutomationActionParameter>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name string
    Name of this Webhook.
    url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers EventOrchestrationServiceCatchAllActionsAutomationActionHeader[]
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters EventOrchestrationServiceCatchAllActionsAutomationActionParameter[]
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name str
    Name of this Webhook.
    url str
    The API endpoint where PagerDuty's servers will send the webhook request.
    auto_send bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers Sequence[EventOrchestrationServiceCatchAllActionsAutomationActionHeader]
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters Sequence[EventOrchestrationServiceCatchAllActionsAutomationActionParameter]
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name String
    Name of this Webhook.
    url String
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend Boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers List<Property Map>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters List<Property Map>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.

    EventOrchestrationServiceCatchAllActionsAutomationActionHeader, EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs

    Key string
    Name to identify the header
    Value string
    Value of this header
    Key string
    Name to identify the header
    Value string
    Value of this header
    key String
    Name to identify the header
    value String
    Value of this header
    key string
    Name to identify the header
    value string
    Value of this header
    key str
    Name to identify the header
    value str
    Value of this header
    key String
    Name to identify the header
    value String
    Value of this header

    EventOrchestrationServiceCatchAllActionsAutomationActionParameter, EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs

    Key string
    Name to identify the parameter
    Value string
    Value of this parameter
    Key string
    Name to identify the parameter
    Value string
    Value of this parameter
    key String
    Name to identify the parameter
    value String
    Value of this parameter
    key string
    Name to identify the parameter
    value string
    Value of this parameter
    key str
    Name to identify the parameter
    value str
    Value of this parameter
    key String
    Name to identify the parameter
    value String
    Value of this parameter

    EventOrchestrationServiceCatchAllActionsExtraction, EventOrchestrationServiceCatchAllActionsExtractionArgs

    Target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    Regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    Source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    Template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    Target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    Regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    Source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    Template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target String
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex String
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source String
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template String
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target str
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex str
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source str
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template str
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target String
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex String
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source String
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template String
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}

    EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate, EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs

    Id string
    The custom field id
    Value string
    The value to assign to this custom field
    Id string
    The custom field id
    Value string
    The value to assign to this custom field
    id String
    The custom field id
    value String
    The value to assign to this custom field
    id string
    The custom field id
    value string
    The value to assign to this custom field
    id str
    The custom field id
    value str
    The value to assign to this custom field
    id String
    The custom field id
    value String
    The value to assign to this custom field

    EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction, EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs

    ActionId string
    Id of the Process Automation action to be triggered.
    ActionId string
    Id of the Process Automation action to be triggered.
    actionId String
    Id of the Process Automation action to be triggered.
    actionId string
    Id of the Process Automation action to be triggered.
    action_id str
    Id of the Process Automation action to be triggered.
    actionId String
    Id of the Process Automation action to be triggered.

    EventOrchestrationServiceCatchAllActionsVariable, EventOrchestrationServiceCatchAllActionsVariableArgs

    Name string
    The name of the variable
    Path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    Type string
    Only regex is supported
    Value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    Name string
    The name of the variable
    Path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    Type string
    Only regex is supported
    Value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name String
    The name of the variable
    path String
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type String
    Only regex is supported
    value String
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name string
    The name of the variable
    path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type string
    Only regex is supported
    value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name str
    The name of the variable
    path str
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type str
    Only regex is supported
    value str
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name String
    The name of the variable
    path String
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type String
    Only regex is supported
    value String
    The Regex expression to match against. Must use valid RE2 regular expression syntax.

    EventOrchestrationServiceSet, EventOrchestrationServiceSetArgs

    Id string
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    Rules List<EventOrchestrationServiceSetRule>
    Id string
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    Rules []EventOrchestrationServiceSetRule
    id String
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    rules List<EventOrchestrationServiceSetRule>
    id string
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    rules EventOrchestrationServiceSetRule[]
    id str
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    rules Sequence[EventOrchestrationServiceSetRule]
    id String
    The ID of this set of rules. Rules in other sets can route events into this set using the rule's route_to property.
    rules List<Property Map>

    EventOrchestrationServiceSetRule, EventOrchestrationServiceSetRuleArgs

    Actions EventOrchestrationServiceSetRuleActions
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    Conditions List<EventOrchestrationServiceSetRuleCondition>
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    Disabled bool
    Indicates whether the rule is disabled and would therefore not be evaluated.
    Id string
    The ID of the rule within the set.
    Label string
    A description of this rule's purpose.
    Actions EventOrchestrationServiceSetRuleActions
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    Conditions []EventOrchestrationServiceSetRuleCondition
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    Disabled bool
    Indicates whether the rule is disabled and would therefore not be evaluated.
    Id string
    The ID of the rule within the set.
    Label string
    A description of this rule's purpose.
    actions EventOrchestrationServiceSetRuleActions
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    conditions List<EventOrchestrationServiceSetRuleCondition>
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    disabled Boolean
    Indicates whether the rule is disabled and would therefore not be evaluated.
    id String
    The ID of the rule within the set.
    label String
    A description of this rule's purpose.
    actions EventOrchestrationServiceSetRuleActions
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    conditions EventOrchestrationServiceSetRuleCondition[]
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    disabled boolean
    Indicates whether the rule is disabled and would therefore not be evaluated.
    id string
    The ID of the rule within the set.
    label string
    A description of this rule's purpose.
    actions EventOrchestrationServiceSetRuleActions
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    conditions Sequence[EventOrchestrationServiceSetRuleCondition]
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    disabled bool
    Indicates whether the rule is disabled and would therefore not be evaluated.
    id str
    The ID of the rule within the set.
    label str
    A description of this rule's purpose.
    actions Property Map
    Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
    conditions List<Property Map>
    Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will always match against the rule.
    disabled Boolean
    Indicates whether the rule is disabled and would therefore not be evaluated.
    id String
    The ID of the rule within the set.
    label String
    A description of this rule's purpose.

    EventOrchestrationServiceSetRuleActions, EventOrchestrationServiceSetRuleActionsArgs

    Annotate string
    Add this text as a note on the resulting incident.
    AutomationAction EventOrchestrationServiceSetRuleActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    EscalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    EventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    Extractions List<EventOrchestrationServiceSetRuleActionsExtraction>
    Replace any CEF field or Custom Details object field using custom variables.
    IncidentCustomFieldUpdates List<EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate>
    Assign a custom field to the resulting incident.
    PagerdutyAutomationAction EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    Priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    RouteTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    Severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    Suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    Suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    Variables List<EventOrchestrationServiceSetRuleActionsVariable>
    Populate variables from event payloads and use those variables in other event actions.
    Annotate string
    Add this text as a note on the resulting incident.
    AutomationAction EventOrchestrationServiceSetRuleActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    EscalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    EventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    Extractions []EventOrchestrationServiceSetRuleActionsExtraction
    Replace any CEF field or Custom Details object field using custom variables.
    IncidentCustomFieldUpdates []EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate
    Assign a custom field to the resulting incident.
    PagerdutyAutomationAction EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    Priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    RouteTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    Severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    Suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    Suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    Variables []EventOrchestrationServiceSetRuleActionsVariable
    Populate variables from event payloads and use those variables in other event actions.
    annotate String
    Add this text as a note on the resulting incident.
    automationAction EventOrchestrationServiceSetRuleActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalationPolicy String
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction String
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions List<EventOrchestrationServiceSetRuleActionsExtraction>
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates List<EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate>
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority String
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo String
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity String
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress Boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend Integer
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables List<EventOrchestrationServiceSetRuleActionsVariable>
    Populate variables from event payloads and use those variables in other event actions.
    annotate string
    Add this text as a note on the resulting incident.
    automationAction EventOrchestrationServiceSetRuleActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalationPolicy string
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction string
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions EventOrchestrationServiceSetRuleActionsExtraction[]
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate[]
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority string
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo string
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity string
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend number
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables EventOrchestrationServiceSetRuleActionsVariable[]
    Populate variables from event payloads and use those variables in other event actions.
    annotate str
    Add this text as a note on the resulting incident.
    automation_action EventOrchestrationServiceSetRuleActionsAutomationAction
    Create a Webhook associated with the resulting incident.
    escalation_policy str
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    event_action str
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions Sequence[EventOrchestrationServiceSetRuleActionsExtraction]
    Replace any CEF field or Custom Details object field using custom variables.
    incident_custom_field_updates Sequence[EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate]
    Assign a custom field to the resulting incident.
    pagerduty_automation_action EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction
    Configure a Process Automation associated with the resulting incident.
    priority str
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    route_to str
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity str
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress bool
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend int
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables Sequence[EventOrchestrationServiceSetRuleActionsVariable]
    Populate variables from event payloads and use those variables in other event actions.
    annotate String
    Add this text as a note on the resulting incident.
    automationAction Property Map
    Create a Webhook associated with the resulting incident.
    escalationPolicy String
    The ID of the Escalation Policy you want to assign incidents to. Event rules with this action will override the Escalation Policy already set on a Service's settings, with what is configured by this action.
    eventAction String
    sets whether the resulting alert status is trigger or resolve. Allowed values are: trigger, resolve
    extractions List<Property Map>
    Replace any CEF field or Custom Details object field using custom variables.
    incidentCustomFieldUpdates List<Property Map>
    Assign a custom field to the resulting incident.
    pagerdutyAutomationAction Property Map
    Configure a Process Automation associated with the resulting incident.
    priority String
    The ID of the priority you want to set on resulting incident. Consider using the pagerduty.getPriority data source.
    routeTo String
    The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule.
    severity String
    sets Severity of the resulting alert. Allowed values are: info, error, warning, critical
    suppress Boolean
    Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident.
    suspend Number
    The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a resolve event arrives before the alert triggers then PagerDuty won't create an incident for this alert.
    variables List<Property Map>
    Populate variables from event payloads and use those variables in other event actions.

    EventOrchestrationServiceSetRuleActionsAutomationAction, EventOrchestrationServiceSetRuleActionsAutomationActionArgs

    Name string
    Name of this Webhook.
    Url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    AutoSend bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    Headers List<EventOrchestrationServiceSetRuleActionsAutomationActionHeader>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    Parameters List<EventOrchestrationServiceSetRuleActionsAutomationActionParameter>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    Name string
    Name of this Webhook.
    Url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    AutoSend bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    Headers []EventOrchestrationServiceSetRuleActionsAutomationActionHeader
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    Parameters []EventOrchestrationServiceSetRuleActionsAutomationActionParameter
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name String
    Name of this Webhook.
    url String
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend Boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers List<EventOrchestrationServiceSetRuleActionsAutomationActionHeader>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters List<EventOrchestrationServiceSetRuleActionsAutomationActionParameter>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name string
    Name of this Webhook.
    url string
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers EventOrchestrationServiceSetRuleActionsAutomationActionHeader[]
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters EventOrchestrationServiceSetRuleActionsAutomationActionParameter[]
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name str
    Name of this Webhook.
    url str
    The API endpoint where PagerDuty's servers will send the webhook request.
    auto_send bool
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers Sequence[EventOrchestrationServiceSetRuleActionsAutomationActionHeader]
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters Sequence[EventOrchestrationServiceSetRuleActionsAutomationActionParameter]
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.
    name String
    Name of this Webhook.
    url String
    The API endpoint where PagerDuty's servers will send the webhook request.
    autoSend Boolean
    When true, PagerDuty's servers will automatically send this webhook request as soon as the resulting incident is created. When false, your incident responder will be able to manually trigger the Webhook via the PagerDuty website and mobile app.
    headers List<Property Map>
    Specify custom key/value pairs that'll be sent with the webhook request as request headers.
    parameters List<Property Map>
    Specify custom key/value pairs that'll be included in the webhook request's JSON payload.

    EventOrchestrationServiceSetRuleActionsAutomationActionHeader, EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs

    Key string
    Name to identify the header
    Value string
    Value of this header
    Key string
    Name to identify the header
    Value string
    Value of this header
    key String
    Name to identify the header
    value String
    Value of this header
    key string
    Name to identify the header
    value string
    Value of this header
    key str
    Name to identify the header
    value str
    Value of this header
    key String
    Name to identify the header
    value String
    Value of this header

    EventOrchestrationServiceSetRuleActionsAutomationActionParameter, EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs

    Key string
    Name to identify the parameter
    Value string
    Value of this parameter
    Key string
    Name to identify the parameter
    Value string
    Value of this parameter
    key String
    Name to identify the parameter
    value String
    Value of this parameter
    key string
    Name to identify the parameter
    value string
    Value of this parameter
    key str
    Name to identify the parameter
    value str
    Value of this parameter
    key String
    Name to identify the parameter
    value String
    Value of this parameter

    EventOrchestrationServiceSetRuleActionsExtraction, EventOrchestrationServiceSetRuleActionsExtractionArgs

    Target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    Regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    Source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    Template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    Target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    Regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    Source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    Template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target String
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex String
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source String
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template String
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target string
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex string
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source string
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template string
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target str
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex str
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source str
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template str
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}
    target String
    The PagerDuty Common Event Format PD-CEF field that will be set with the value from the template or based on regex and source fields.
    regex String
    A RE2 regular expression that will be matched against field specified via the source argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for template based extractions.
    source String
    The path to the event field where the regex will be applied to extract a value. You can use any valid PCL path like event.summary and you can reference previously-defined variables using a path like variables.hostname. This field can be ignored for template based extractions.
    template String
    A string that will be used to populate the target field. You can reference variables or event data within your template using double curly braces. For example:

    • Use variables named ip and subnet with a template like: {{variables.ip}}/{{variables.subnet}}
    • Combine the event severity & summary with template like: {{event.severity}}:{{event.summary}}

    EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate, EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs

    Id string
    The custom field id
    Value string
    The value to assign to this custom field
    Id string
    The custom field id
    Value string
    The value to assign to this custom field
    id String
    The custom field id
    value String
    The value to assign to this custom field
    id string
    The custom field id
    value string
    The value to assign to this custom field
    id str
    The custom field id
    value str
    The value to assign to this custom field
    id String
    The custom field id
    value String
    The value to assign to this custom field

    EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction, EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs

    ActionId string
    Id of the Process Automation action to be triggered.
    ActionId string
    Id of the Process Automation action to be triggered.
    actionId String
    Id of the Process Automation action to be triggered.
    actionId string
    Id of the Process Automation action to be triggered.
    action_id str
    Id of the Process Automation action to be triggered.
    actionId String
    Id of the Process Automation action to be triggered.

    EventOrchestrationServiceSetRuleActionsVariable, EventOrchestrationServiceSetRuleActionsVariableArgs

    Name string
    The name of the variable
    Path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    Type string
    Only regex is supported
    Value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    Name string
    The name of the variable
    Path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    Type string
    Only regex is supported
    Value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name String
    The name of the variable
    path String
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type String
    Only regex is supported
    value String
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name string
    The name of the variable
    path string
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type string
    Only regex is supported
    value string
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name str
    The name of the variable
    path str
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type str
    Only regex is supported
    value str
    The Regex expression to match against. Must use valid RE2 regular expression syntax.
    name String
    The name of the variable
    path String
    Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format PD-CEF and non-CEF fields. Eg: Use event.summary for the summary CEF field. Use raw_event.fieldname to read from the original event fieldname data. You can use any valid PCL path.
    type String
    Only regex is supported
    value String
    The Regex expression to match against. Must use valid RE2 regular expression syntax.

    EventOrchestrationServiceSetRuleCondition, EventOrchestrationServiceSetRuleConditionArgs

    Expression string
    A PCL condition string.
    Expression string
    A PCL condition string.
    expression String
    A PCL condition string.
    expression string
    A PCL condition string.
    expression String
    A PCL condition string.

    Import

    Service Orchestration can be imported using the id of the Service, e.g.

    $ pulumi import pagerduty:index/eventOrchestrationService:EventOrchestrationService service PFEODA7
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    PagerDuty pulumi/pulumi-pagerduty
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the pagerduty Terraform Provider.
    pagerduty logo
    PagerDuty v4.14.6 published on Tuesday, Sep 24, 2024 by Pulumi