pagerduty.EventOrchestrationService
Explore with Pulumi AI
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_servicetotrue. 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: &pagerduty.EventOrchestrationServiceCatchAllActionsArgs{},
			},
		})
		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={
        "actions": {
            "annotate": "string",
            "automation_action": {
                "name": "string",
                "url": "string",
                "auto_send": False,
                "headers": [{
                    "key": "string",
                    "value": "string",
                }],
                "parameters": [{
                    "key": "string",
                    "value": "string",
                }],
            },
            "escalation_policy": "string",
            "event_action": "string",
            "extractions": [{
                "target": "string",
                "regex": "string",
                "source": "string",
                "template": "string",
            }],
            "incident_custom_field_updates": [{
                "id": "string",
                "value": "string",
            }],
            "pagerduty_automation_action": {
                "action_id": "string",
            },
            "priority": "string",
            "route_to": "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",
                "automation_action": {
                    "name": "string",
                    "url": "string",
                    "auto_send": False,
                    "headers": [{
                        "key": "string",
                        "value": "string",
                    }],
                    "parameters": [{
                        "key": "string",
                        "value": "string",
                    }],
                },
                "escalation_policy": "string",
                "event_action": "string",
                "extractions": [{
                    "target": "string",
                    "regex": "string",
                    "source": "string",
                    "template": "string",
                }],
                "incident_custom_field_updates": [{
                    "id": "string",
                    "value": "string",
                }],
                "pagerduty_automation_action": {
                    "action_id": "string",
                },
                "priority": "string",
                "route_to": "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",
        }],
    }],
    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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The EventOrchestrationService resource accepts the following input properties:
- Catch
All EventOrchestration Service Catch All  - the 
catch_allactions 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<Event
Orchestration Service Set>  - 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 boolOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 
- Catch
All EventOrchestration Service Catch All Args  - the 
catch_allactions 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
[]Event
Orchestration Service Set Args  - 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 boolOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 
- catch
All EventOrchestration Service Catch All  - the 
catch_allactions 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<Event
Orchestration Service Set>  - 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 BooleanOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 
- catch
All EventOrchestration Service Catch All  - the 
catch_allactions 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
Event
Orchestration Service Set[]  - 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 booleanOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 
- catch_
all EventOrchestration Service Catch All Args  - the 
catch_allactions 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[Event
Orchestration Service Set Args]  - 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_ boolorchestration_ for_ service  - Opt-in/out for switching the Service to Service Orchestrations.
 
- catch
All Property Map - the 
catch_allactions 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.
 - enable
Event BooleanOrchestration For Service  - 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) -> EventOrchestrationServicefunc 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.
 
- Catch
All EventOrchestration Service Catch All  - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - Enable
Event boolOrchestration For Service  - 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<Event
Orchestration Service Set>  - 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 EventOrchestration Service Catch All Args  - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - Enable
Event boolOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 - Service string
 - ID of the Service to which this Service Orchestration belongs to.
 - Sets
[]Event
Orchestration Service Set Args  - 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 EventOrchestration Service Catch All  - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - enable
Event BooleanOrchestration For Service  - 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<Event
Orchestration Service Set>  - 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 EventOrchestration Service Catch All  - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - enable
Event booleanOrchestration For Service  - Opt-in/out for switching the Service to Service Orchestrations.
 - service string
 - ID of the Service to which this Service Orchestration belongs to.
 - sets
Event
Orchestration Service Set[]  - 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 EventOrchestration Service Catch All Args  - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - enable_
event_ boolorchestration_ for_ service  - 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[Event
Orchestration Service Set Args]  - 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 Property Map - the 
catch_allactions will be applied if an Event reaches the end of any set without matching any rules in that set. - enable
Event BooleanOrchestration For Service  - 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
Event
Orchestration Service Catch All Actions  - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
- Actions
Event
Orchestration Service Catch All Actions  - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
- actions
Event
Orchestration Service Catch All Actions  - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
- actions
Event
Orchestration Service Catch All Actions  - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
- actions
Event
Orchestration Service Catch All Actions  - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
- actions Property Map
 - These are the actions that will be taken to change the resulting alert and incident. 
catch_allsupports all actions described above forruleexceptroute_toaction. 
EventOrchestrationServiceCatchAllActions, EventOrchestrationServiceCatchAllActionsArgs            
- Annotate string
 - Add this text as a note on the resulting incident.
 - Automation
Action EventOrchestration Service Catch All Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - Escalation
Policy 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.
 - Event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - Extractions
List<Event
Orchestration Service Catch All Actions Extraction>  - Replace any CEF field or Custom Details object field using custom variables.
 - Incident
Custom List<EventField Updates Orchestration Service Catch All Actions Incident Custom Field Update>  - Assign a custom field to the resulting incident.
 - Pagerduty
Automation EventAction Orchestration Service Catch All Actions Pagerduty Automation Action  - 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.getPrioritydata source. - Route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - Variables
List<Event
Orchestration Service Catch All Actions Variable>  - 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.
 - Automation
Action EventOrchestration Service Catch All Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - Escalation
Policy 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.
 - Event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - Extractions
[]Event
Orchestration Service Catch All Actions Extraction  - Replace any CEF field or Custom Details object field using custom variables.
 - Incident
Custom []EventField Updates Orchestration Service Catch All Actions Incident Custom Field Update  - Assign a custom field to the resulting incident.
 - Pagerduty
Automation EventAction Orchestration Service Catch All Actions Pagerduty Automation Action  - 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.getPrioritydata source. - Route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - Variables
[]Event
Orchestration Service Catch All Actions Variable  - 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.
 - automation
Action EventOrchestration Service Catch All Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action String - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - extractions
List<Event
Orchestration Service Catch All Actions Extraction>  - Replace any CEF field or Custom Details object field using custom variables.
 - incident
Custom List<EventField Updates Orchestration Service Catch All Actions Incident Custom Field Update>  - Assign a custom field to the resulting incident.
 - pagerduty
Automation EventAction Orchestration Service Catch All Actions Pagerduty Automation Action  - 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.getPrioritydata source. - route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
List<Event
Orchestration Service Catch All Actions Variable>  - 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.
 - automation
Action EventOrchestration Service Catch All Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - extractions
Event
Orchestration Service Catch All Actions Extraction[]  - Replace any CEF field or Custom Details object field using custom variables.
 - incident
Custom EventField Updates Orchestration Service Catch All Actions Incident Custom Field Update[]  - Assign a custom field to the resulting incident.
 - pagerduty
Automation EventAction Orchestration Service Catch All Actions Pagerduty Automation Action  - 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.getPrioritydata source. - route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
Event
Orchestration Service Catch All Actions Variable[]  - 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 EventOrchestration Service Catch All Actions Automation Action  - 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[Event
Orchestration Service Catch All Actions Extraction]  - Replace any CEF field or Custom Details object field using custom variables.
 - incident_
custom_ Sequence[Eventfield_ updates Orchestration Service Catch All Actions Incident Custom Field Update]  - Assign a custom field to the resulting incident.
 - pagerduty_
automation_ Eventaction Orchestration Service Catch All Actions Pagerduty Automation Action  - 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.getPrioritydata 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
Sequence[Event
Orchestration Service Catch All Actions Variable]  - 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.
 - automation
Action Property Map - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action 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.
 - incident
Custom List<Property Map>Field Updates  - Assign a custom field to the resulting incident.
 - pagerduty
Automation Property MapAction  - 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.getPrioritydata source. - route
To 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 
resolveevent 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.
 - 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
List<Event
Orchestration Service Catch All Actions Automation Action Header>  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - Parameters
List<Event
Orchestration Service Catch All Actions Automation Action Parameter>  - 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.
 - 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
[]Event
Orchestration Service Catch All Actions Automation Action Header  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - Parameters
[]Event
Orchestration Service Catch All Actions Automation Action Parameter  - 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.
 - auto
Send 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<Event
Orchestration Service Catch All Actions Automation Action Header>  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
List<Event
Orchestration Service Catch All Actions Automation Action Parameter>  - 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.
 - auto
Send 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
Event
Orchestration Service Catch All Actions Automation Action Header[]  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
Event
Orchestration Service Catch All Actions Automation Action Parameter[]  - 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[Event
Orchestration Service Catch All Actions Automation Action Header]  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
Sequence[Event
Orchestration Service Catch All Actions Automation Action Parameter]  - 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.
 - auto
Send 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                  
EventOrchestrationServiceCatchAllActionsAutomationActionParameter, EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs                  
EventOrchestrationServiceCatchAllActionsExtraction, EventOrchestrationServiceCatchAllActionsExtractionArgs              
- Target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - Regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - Source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - Template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- Target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - Regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - Source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - Template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target String
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex String
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source String
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template String
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target str
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex str
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source str
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template str
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target String
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex String
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source String
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template String
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdate, EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs                    
EventOrchestrationServiceCatchAllActionsPagerdutyAutomationAction, EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs                  
- Action
Id string - Id of the Process Automation action to be triggered.
 
- Action
Id string - Id of the Process Automation action to be triggered.
 
- action
Id String - Id of the Process Automation action to be triggered.
 
- action
Id string - Id of the Process Automation action to be triggered.
 
- action_
id str - Id of the Process Automation action to be triggered.
 
- action
Id 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - Type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - Type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type String
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type str
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type String
 - Only 
regexis 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_toproperty. - Rules
List<Event
Orchestration Service Set Rule>  
- Id string
 - The ID of this set of rules. Rules in other sets can route events into this set using the rule's 
route_toproperty. - Rules
[]Event
Orchestration Service Set Rule  
- id String
 - The ID of this set of rules. Rules in other sets can route events into this set using the rule's 
route_toproperty. - rules
List<Event
Orchestration Service Set Rule>  
- id string
 - The ID of this set of rules. Rules in other sets can route events into this set using the rule's 
route_toproperty. - rules
Event
Orchestration Service Set Rule[]  
- id str
 - The ID of this set of rules. Rules in other sets can route events into this set using the rule's 
route_toproperty. - rules
Sequence[Event
Orchestration Service Set Rule]  
- id String
 - The ID of this set of rules. Rules in other sets can route events into this set using the rule's 
route_toproperty. - rules List<Property Map>
 
EventOrchestrationServiceSetRule, EventOrchestrationServiceSetRuleArgs          
- Actions
Event
Orchestration Service Set Rule Actions  - Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
 - Conditions
List<Event
Orchestration Service Set Rule Condition>  - 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 
alwaysmatch 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
Event
Orchestration Service Set Rule Actions  - Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
 - Conditions
[]Event
Orchestration Service Set Rule Condition  - 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 
alwaysmatch 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
Event
Orchestration Service Set Rule Actions  - Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
 - conditions
List<Event
Orchestration Service Set Rule Condition>  - 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 
alwaysmatch 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
Event
Orchestration Service Set Rule Actions  - Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
 - conditions
Event
Orchestration Service Set Rule Condition[]  - 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 
alwaysmatch 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
Event
Orchestration Service Set Rule Actions  - Actions that will be taken to change the resulting alert and incident, when an event matches this rule.
 - conditions
Sequence[Event
Orchestration Service Set Rule Condition]  - 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 
alwaysmatch 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 
alwaysmatch 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.
 - Automation
Action EventOrchestration Service Set Rule Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - Escalation
Policy 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.
 - Event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - Extractions
List<Event
Orchestration Service Set Rule Actions Extraction>  - Replace any CEF field or Custom Details object field using custom variables.
 - Incident
Custom List<EventField Updates Orchestration Service Set Rule Actions Incident Custom Field Update>  - Assign a custom field to the resulting incident.
 - Pagerduty
Automation EventAction Orchestration Service Set Rule Actions Pagerduty Automation Action  - 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.getPrioritydata source. - Route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - Variables
List<Event
Orchestration Service Set Rule Actions Variable>  - 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.
 - Automation
Action EventOrchestration Service Set Rule Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - Escalation
Policy 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.
 - Event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - Extractions
[]Event
Orchestration Service Set Rule Actions Extraction  - Replace any CEF field or Custom Details object field using custom variables.
 - Incident
Custom []EventField Updates Orchestration Service Set Rule Actions Incident Custom Field Update  - Assign a custom field to the resulting incident.
 - Pagerduty
Automation EventAction Orchestration Service Set Rule Actions Pagerduty Automation Action  - 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.getPrioritydata source. - Route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - Variables
[]Event
Orchestration Service Set Rule Actions Variable  - 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.
 - automation
Action EventOrchestration Service Set Rule Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action String - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - extractions
List<Event
Orchestration Service Set Rule Actions Extraction>  - Replace any CEF field or Custom Details object field using custom variables.
 - incident
Custom List<EventField Updates Orchestration Service Set Rule Actions Incident Custom Field Update>  - Assign a custom field to the resulting incident.
 - pagerduty
Automation EventAction Orchestration Service Set Rule Actions Pagerduty Automation Action  - 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.getPrioritydata source. - route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
List<Event
Orchestration Service Set Rule Actions Variable>  - 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.
 - automation
Action EventOrchestration Service Set Rule Actions Automation Action  - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action string - sets whether the resulting alert status is trigger or resolve. Allowed values are: 
trigger,resolve - extractions
Event
Orchestration Service Set Rule Actions Extraction[]  - Replace any CEF field or Custom Details object field using custom variables.
 - incident
Custom EventField Updates Orchestration Service Set Rule Actions Incident Custom Field Update[]  - Assign a custom field to the resulting incident.
 - pagerduty
Automation EventAction Orchestration Service Set Rule Actions Pagerduty Automation Action  - 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.getPrioritydata source. - route
To 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
Event
Orchestration Service Set Rule Actions Variable[]  - 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 EventOrchestration Service Set Rule Actions Automation Action  - 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[Event
Orchestration Service Set Rule Actions Extraction]  - Replace any CEF field or Custom Details object field using custom variables.
 - incident_
custom_ Sequence[Eventfield_ updates Orchestration Service Set Rule Actions Incident Custom Field Update]  - Assign a custom field to the resulting incident.
 - pagerduty_
automation_ Eventaction Orchestration Service Set Rule Actions Pagerduty Automation Action  - 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.getPrioritydata 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 
resolveevent arrives before the alert triggers then PagerDuty won't create an incident for this alert. - variables
Sequence[Event
Orchestration Service Set Rule Actions Variable]  - 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.
 - automation
Action Property Map - Create a Webhook associated with the resulting incident.
 - escalation
Policy 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.
 - event
Action 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.
 - incident
Custom List<Property Map>Field Updates  - Assign a custom field to the resulting incident.
 - pagerduty
Automation Property MapAction  - 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.getPrioritydata source. - route
To 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 
resolveevent 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.
 - 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
List<Event
Orchestration Service Set Rule Actions Automation Action Header>  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - Parameters
List<Event
Orchestration Service Set Rule Actions Automation Action Parameter>  - 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.
 - 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
[]Event
Orchestration Service Set Rule Actions Automation Action Header  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - Parameters
[]Event
Orchestration Service Set Rule Actions Automation Action Parameter  - 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.
 - auto
Send 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<Event
Orchestration Service Set Rule Actions Automation Action Header>  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
List<Event
Orchestration Service Set Rule Actions Automation Action Parameter>  - 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.
 - auto
Send 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
Event
Orchestration Service Set Rule Actions Automation Action Header[]  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
Event
Orchestration Service Set Rule Actions Automation Action Parameter[]  - 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[Event
Orchestration Service Set Rule Actions Automation Action Header]  - Specify custom key/value pairs that'll be sent with the webhook request as request headers.
 - parameters
Sequence[Event
Orchestration Service Set Rule Actions Automation Action Parameter]  - 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.
 - auto
Send 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                  
EventOrchestrationServiceSetRuleActionsAutomationActionParameter, EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs                  
EventOrchestrationServiceSetRuleActionsExtraction, EventOrchestrationServiceSetRuleActionsExtractionArgs              
- Target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - Regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - Source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - Template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- Target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - Regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - Source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - Template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target String
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex String
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source String
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template String
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target string
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex string
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source string
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template string
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target str
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex str
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source str
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template str
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
- target String
 - The PagerDuty Common Event Format PD-CEF field that will be set with the value from the 
templateor based onregexandsourcefields. - regex String
 - A RE2 regular expression that will be matched against field specified via the 
sourceargument. 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 fortemplatebased extractions. - source String
 - The path to the event field where the 
regexwill be applied to extract a value. You can use any valid PCL path likeevent.summaryand you can reference previously-defined variables using a path likevariables.hostname. This field can be ignored fortemplatebased extractions. - template String
 - A string that will be used to populate the 
targetfield. You can reference variables or event data within your template using double curly braces. For example:- Use variables named 
ipandsubnetwith a template like:{{variables.ip}}/{{variables.subnet}} - Combine the event severity & summary with template like: 
{{event.severity}}:{{event.summary}} 
 - Use variables named 
 
EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdate, EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs                    
EventOrchestrationServiceSetRuleActionsPagerdutyAutomationAction, EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs                  
- Action
Id string - Id of the Process Automation action to be triggered.
 
- Action
Id string - Id of the Process Automation action to be triggered.
 
- action
Id String - Id of the Process Automation action to be triggered.
 
- action
Id string - Id of the Process Automation action to be triggered.
 
- action_
id str - Id of the Process Automation action to be triggered.
 
- action
Id 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - Type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - Type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type String
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type string
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type str
 - Only 
regexis 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.summaryfor thesummaryCEF field. Useraw_event.fieldnameto read from the original eventfieldnamedata. You can use any valid PCL path. - type String
 - Only 
regexis 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 str
 - 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 
pagerdutyTerraform Provider.