From 06ab4ecc6583c6c9bb357439a54f5f77fe777096 Mon Sep 17 00:00:00 2001 From: pulumi-bot Date: Thu, 10 Oct 2024 19:58:21 +0000 Subject: [PATCH 1/3] make tfgen --- examples/go.mod | 4 +-- examples/go.sum | 8 +++--- .../cmd/pulumi-resource-pagerduty/schema.json | 14 +++++----- provider/go.mod | 14 +++++----- provider/go.sum | 28 +++++++++---------- sdk/go.mod | 2 +- sdk/go.sum | 4 +-- 7 files changed, 37 insertions(+), 37 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index 5b041713..9b6fba12 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-pagerduty/examples/v3 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.133.0 +require github.com/pulumi/pulumi/pkg/v3 v3.136.1 require ( cloud.google.com/go v0.112.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.133.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.136.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 3cbb21d7..408d628c 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -342,10 +342,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= -github.com/pulumi/pulumi/pkg/v3 v3.133.0 h1:j1rd7ToLZIQc5H0427ISOXSbOIIemZ6B0MXtRhQ38Yg= -github.com/pulumi/pulumi/pkg/v3 v3.133.0/go.mod h1:JtMAnrsFIccO138WcMfPdhO0PioDukKihnZC0xTRLwo= -github.com/pulumi/pulumi/sdk/v3 v3.133.0 h1:o+7dbJZY9BVgAjOF5GYIWgjp/zpKAgWZwD4pPjUMXKQ= -github.com/pulumi/pulumi/sdk/v3 v3.133.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/pkg/v3 v3.136.1 h1:zA8aJZ7qI0QgZkBKjjQaYHEcigK6pZfrbfG38imXzWo= +github.com/pulumi/pulumi/pkg/v3 v3.136.1/go.mod h1:Iz8QIs07AbEdrO52hEIEM5C4VBDUYFH2NdM9u2xxBxY= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/provider/cmd/pulumi-resource-pagerduty/schema.json b/provider/cmd/pulumi-resource-pagerduty/schema.json index fdd3bdc0..d285c363 100644 --- a/provider/cmd/pulumi-resource-pagerduty/schema.json +++ b/provider/cmd/pulumi-resource-pagerduty/schema.json @@ -4827,7 +4827,7 @@ } }, "pagerduty:index/eventOrchestrationGlobal:EventOrchestrationGlobal": { - "description": "A [Global Orchestration](https://support.pagerduty.com/docs/event-orchestration#global-orchestrations) allows you to create a set of Event Rules. The Global Orchestration evaluates Events sent to it 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 Global Orchestration for further processing.\n\n## Example of configuring a Global Orchestration\n\nThis example shows creating `Team`, and `Event Orchestration` resources followed by creating a Global Orchestration to handle Events sent to that Event Orchestration.\n\nThis example also shows using the pagerduty.getPriority and pagerduty.EscalationPolicy data sources to configure `priority` and `escalation_policy` actions for a rule.\n\nThis example shows a Global Orchestration that has nested sets: a rule in the \"start\" set has a `route_to` action pointing at the \"step-two\" set.\n\nThe `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.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst eventOrchestration = new pagerduty.EventOrchestration(\"event_orchestration\", {\n name: \"Example Orchestration\",\n team: databaseTeam.id,\n});\nconst p1 = pagerduty.getPriority({\n name: \"P1\",\n});\nconst sreEscPolicy = pagerduty.getEscalationPolicy({\n name: \"SRE Escalation Policy\",\n});\nconst global = new pagerduty.EventOrchestrationGlobal(\"global\", {\n eventOrchestration: eventOrchestration.id,\n sets: [\n {\n id: \"start\",\n rules: [{\n label: \"Always annotate a note to all events\",\n actions: {\n annotate: \"This incident was created by the Database Team via a Global Orchestration\",\n routeTo: \"step-two\",\n },\n }],\n },\n {\n id: \"step-two\",\n rules: [\n {\n label: \"Drop events that are marked as no-op\",\n conditions: [{\n expression: \"event.summary matches 'no-op'\",\n }],\n actions: {\n dropEvent: true,\n },\n },\n {\n label: \"If the DB host is running out of space, then page the SRE team\",\n conditions: [{\n expression: \"event.summary matches part 'running out of space'\",\n }],\n actions: {\n escalationPolicy: sreEscPolicy.then(sreEscPolicy =\u003e sreEscPolicy.id),\n },\n },\n {\n label: \"If there's something wrong on the replica, then mark the alert as a warning\",\n conditions: [{\n expression: \"event.custom_details.hostname matches part 'replica'\",\n }],\n actions: {\n severity: \"warning\",\n },\n },\n {\n label: \"Otherwise, set the incident to P1 and run a diagnostic\",\n actions: {\n priority: p1.then(p1 =\u003e p1.id),\n automationAction: {\n name: \"db-diagnostic\",\n url: \"https://example.com/run-diagnostic\",\n autoSend: true,\n },\n },\n },\n ],\n },\n ],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nevent_orchestration = pagerduty.EventOrchestration(\"event_orchestration\",\n name=\"Example Orchestration\",\n team=database_team.id)\np1 = pagerduty.get_priority(name=\"P1\")\nsre_esc_policy = pagerduty.get_escalation_policy(name=\"SRE Escalation Policy\")\nglobal_ = pagerduty.EventOrchestrationGlobal(\"global\",\n event_orchestration=event_orchestration.id,\n sets=[\n {\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always annotate a note to all events\",\n \"actions\": {\n \"annotate\": \"This incident was created by the Database Team via a Global Orchestration\",\n \"route_to\": \"step-two\",\n },\n }],\n },\n {\n \"id\": \"step-two\",\n \"rules\": [\n {\n \"label\": \"Drop events that are marked as no-op\",\n \"conditions\": [{\n \"expression\": \"event.summary matches 'no-op'\",\n }],\n \"actions\": {\n \"drop_event\": True,\n },\n },\n {\n \"label\": \"If the DB host is running out of space, then page the SRE team\",\n \"conditions\": [{\n \"expression\": \"event.summary matches part 'running out of space'\",\n }],\n \"actions\": {\n \"escalation_policy\": sre_esc_policy.id,\n },\n },\n {\n \"label\": \"If there's something wrong on the replica, then mark the alert as a warning\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.hostname matches part 'replica'\",\n }],\n \"actions\": {\n \"severity\": \"warning\",\n },\n },\n {\n \"label\": \"Otherwise, set the incident to P1 and run a diagnostic\",\n \"actions\": {\n \"priority\": p1.id,\n \"automation_action\": {\n \"name\": \"db-diagnostic\",\n \"url\": \"https://example.com/run-diagnostic\",\n \"auto_send\": True,\n },\n },\n },\n ],\n },\n ],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestration(\"event_orchestration\", new()\n {\n Name = \"Example Orchestration\",\n Team = databaseTeam.Id,\n });\n\n var p1 = Pagerduty.GetPriority.Invoke(new()\n {\n Name = \"P1\",\n });\n\n var sreEscPolicy = Pagerduty.GetEscalationPolicy.Invoke(new()\n {\n Name = \"SRE Escalation Policy\",\n });\n\n var @global = new Pagerduty.EventOrchestrationGlobal(\"global\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Always annotate a note to all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Annotate = \"This incident was created by the Database Team via a Global Orchestration\",\n RouteTo = \"step-two\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"step-two\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Drop events that are marked as no-op\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.summary matches 'no-op'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n DropEvent = true,\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"If the DB host is running out of space, then page the SRE team\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.summary matches part 'running out of space'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n EscalationPolicy = sreEscPolicy.Apply(getEscalationPolicyResult =\u003e getEscalationPolicyResult.Id),\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"If there's something wrong on the replica, then mark the alert as a warning\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.custom_details.hostname matches part 'replica'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Severity = \"warning\",\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Otherwise, set the incident to P1 and run a diagnostic\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Priority = p1.Apply(getPriorityResult =\u003e getPriorityResult.Id),\n AutomationAction = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsAutomationActionArgs\n {\n Name = \"db-diagnostic\",\n Url = \"https://example.com/run-diagnostic\",\n AutoSend = true,\n },\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationGlobalCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventOrchestration, err := pagerduty.NewEventOrchestration(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationArgs{\n\t\t\tName: pulumi.String(\"Example Orchestration\"),\n\t\t\tTeam: databaseTeam.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp1, err := pagerduty.GetPriority(ctx, \u0026pagerduty.GetPriorityArgs{\n\t\t\tName: \"P1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsreEscPolicy, err := pagerduty.LookupEscalationPolicy(ctx, \u0026pagerduty.LookupEscalationPolicyArgs{\n\t\t\tName: \"SRE Escalation Policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobal(ctx, \"global\", \u0026pagerduty.EventOrchestrationGlobalArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tSets: pagerduty.EventOrchestrationGlobalSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always annotate a note to all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"This incident was created by the Database Team via a Global Orchestration\"),\n\t\t\t\t\t\t\t\tRouteTo: pulumi.String(\"step-two\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"step-two\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Drop events that are marked as no-op\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.summary matches 'no-op'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tDropEvent: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If the DB host is running out of space, then page the SRE team\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.summary matches part 'running out of space'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tEscalationPolicy: pulumi.String(sreEscPolicy.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If there's something wrong on the replica, then mark the alert as a warning\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.hostname matches part 'replica'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSeverity: pulumi.String(\"warning\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Otherwise, set the incident to P1 and run a diagnostic\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.String(p1.Id),\n\t\t\t\t\t\t\t\tAutomationAction: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsAutomationActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"db-diagnostic\"),\n\t\t\t\t\t\t\t\t\tUrl: pulumi.String(\"https://example.com/run-diagnostic\"),\n\t\t\t\t\t\t\t\t\tAutoSend: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationGlobalCatchAllArgs{\n\t\t\t\tActions: nil,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.EventOrchestration;\nimport com.pulumi.pagerduty.EventOrchestrationArgs;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetPriorityArgs;\nimport com.pulumi.pagerduty.inputs.GetEscalationPolicyArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobal;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var eventOrchestration = new EventOrchestration(\"eventOrchestration\", EventOrchestrationArgs.builder()\n .name(\"Example Orchestration\")\n .team(databaseTeam.id())\n .build());\n\n final var p1 = PagerdutyFunctions.getPriority(GetPriorityArgs.builder()\n .name(\"P1\")\n .build());\n\n final var sreEscPolicy = PagerdutyFunctions.getEscalationPolicy(GetEscalationPolicyArgs.builder()\n .name(\"SRE Escalation Policy\")\n .build());\n\n var global = new EventOrchestrationGlobal(\"global\", EventOrchestrationGlobalArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .sets( \n EventOrchestrationGlobalSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Always annotate a note to all events\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .annotate(\"This incident was created by the Database Team via a Global Orchestration\")\n .routeTo(\"step-two\")\n .build())\n .build())\n .build(),\n EventOrchestrationGlobalSetArgs.builder()\n .id(\"step-two\")\n .rules( \n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Drop events that are marked as no-op\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.summary matches 'no-op'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .dropEvent(true)\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"If the DB host is running out of space, then page the SRE team\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.summary matches part 'running out of space'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .escalationPolicy(sreEscPolicy.applyValue(getEscalationPolicyResult -\u003e getEscalationPolicyResult.id()))\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"If there's something wrong on the replica, then mark the alert as a warning\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.hostname matches part 'replica'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .severity(\"warning\")\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Otherwise, set the incident to P1 and run a diagnostic\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .priority(p1.applyValue(getPriorityResult -\u003e getPriorityResult.id()))\n .automationAction(EventOrchestrationGlobalSetRuleActionsAutomationActionArgs.builder()\n .name(\"db-diagnostic\")\n .url(\"https://example.com/run-diagnostic\")\n .autoSend(true)\n .build())\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationGlobalCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n eventOrchestration:\n type: pagerduty:EventOrchestration\n name: event_orchestration\n properties:\n name: Example Orchestration\n team: ${databaseTeam.id}\n global:\n type: pagerduty:EventOrchestrationGlobal\n properties:\n eventOrchestration: ${eventOrchestration.id}\n sets:\n - id: start\n rules:\n - label: Always annotate a note to all events\n actions:\n annotate: This incident was created by the Database Team via a Global Orchestration\n routeTo: step-two\n - id: step-two\n rules:\n - label: Drop events that are marked as no-op\n conditions:\n - expression: event.summary matches 'no-op'\n actions:\n dropEvent: true\n - label: If the DB host is running out of space, then page the SRE team\n conditions:\n - expression: event.summary matches part 'running out of space'\n actions:\n escalationPolicy: ${sreEscPolicy.id}\n - label: If there's something wrong on the replica, then mark the alert as a warning\n conditions:\n - expression: event.custom_details.hostname matches part 'replica'\n actions:\n severity: warning\n - label: Otherwise, set the incident to P1 and run a diagnostic\n actions:\n priority: ${p1.id}\n automationAction:\n name: db-diagnostic\n url: https://example.com/run-diagnostic\n autoSend: true\n catchAll:\n actions: {}\nvariables:\n p1:\n fn::invoke:\n Function: pagerduty:getPriority\n Arguments:\n name: P1\n sreEscPolicy:\n fn::invoke:\n Function: pagerduty:getEscalationPolicy\n Arguments:\n name: SRE Escalation Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Orchestration can be imported using the `id` of the Event Orchestration, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationGlobal:EventOrchestrationGlobal global 1b49abe7-26db-4439-a715-c6d883acfb3e\n```\n", + "description": "A [Global Orchestration](https://support.pagerduty.com/docs/event-orchestration#global-orchestrations) allows you to create a set of Event Rules. The Global Orchestration evaluates Events sent to it 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 Global Orchestration for further processing.\n\n## Example of configuring a Global Orchestration\n\nThis example shows creating `Team`, and `Event Orchestration` resources followed by creating a Global Orchestration to handle Events sent to that Event Orchestration.\n\nThis example also shows using the pagerduty.getPriority and pagerduty.EscalationPolicy data sources to configure `priority` and `escalation_policy` actions for a rule.\n\nThis example shows a Global Orchestration that has nested sets: a rule in the \"start\" set has a `route_to` action pointing at the \"step-two\" set.\n\nThe `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.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst eventOrchestration = new pagerduty.EventOrchestration(\"event_orchestration\", {\n name: \"Example Orchestration\",\n team: databaseTeam.id,\n});\nconst p1 = pagerduty.getPriority({\n name: \"P1\",\n});\nconst sreEscPolicy = pagerduty.getEscalationPolicy({\n name: \"SRE Escalation Policy\",\n});\nconst global = new pagerduty.EventOrchestrationGlobal(\"global\", {\n eventOrchestration: eventOrchestration.id,\n sets: [\n {\n id: \"start\",\n rules: [{\n label: \"Always annotate a note to all events\",\n actions: {\n annotate: \"This incident was created by the Database Team via a Global Orchestration\",\n routeTo: \"step-two\",\n },\n }],\n },\n {\n id: \"step-two\",\n rules: [\n {\n label: \"Drop events that are marked as no-op\",\n conditions: [{\n expression: \"event.summary matches 'no-op'\",\n }],\n actions: {\n dropEvent: true,\n },\n },\n {\n label: \"If the DB host is running out of space, then page the SRE team\",\n conditions: [{\n expression: \"event.summary matches part 'running out of space'\",\n }],\n actions: {\n escalationPolicy: sreEscPolicy.then(sreEscPolicy =\u003e sreEscPolicy.id),\n },\n },\n {\n label: \"If there's something wrong on the replica, then mark the alert as a warning\",\n conditions: [{\n expression: \"event.custom_details.hostname matches part 'replica'\",\n }],\n actions: {\n severity: \"warning\",\n },\n },\n {\n label: \"Otherwise, set the incident to P1 and run a diagnostic\",\n actions: {\n priority: p1.then(p1 =\u003e p1.id),\n automationAction: {\n name: \"db-diagnostic\",\n url: \"https://example.com/run-diagnostic\",\n autoSend: true,\n },\n },\n },\n ],\n },\n ],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nevent_orchestration = pagerduty.EventOrchestration(\"event_orchestration\",\n name=\"Example Orchestration\",\n team=database_team.id)\np1 = pagerduty.get_priority(name=\"P1\")\nsre_esc_policy = pagerduty.get_escalation_policy(name=\"SRE Escalation Policy\")\nglobal_ = pagerduty.EventOrchestrationGlobal(\"global\",\n event_orchestration=event_orchestration.id,\n sets=[\n {\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always annotate a note to all events\",\n \"actions\": {\n \"annotate\": \"This incident was created by the Database Team via a Global Orchestration\",\n \"route_to\": \"step-two\",\n },\n }],\n },\n {\n \"id\": \"step-two\",\n \"rules\": [\n {\n \"label\": \"Drop events that are marked as no-op\",\n \"conditions\": [{\n \"expression\": \"event.summary matches 'no-op'\",\n }],\n \"actions\": {\n \"drop_event\": True,\n },\n },\n {\n \"label\": \"If the DB host is running out of space, then page the SRE team\",\n \"conditions\": [{\n \"expression\": \"event.summary matches part 'running out of space'\",\n }],\n \"actions\": {\n \"escalation_policy\": sre_esc_policy.id,\n },\n },\n {\n \"label\": \"If there's something wrong on the replica, then mark the alert as a warning\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.hostname matches part 'replica'\",\n }],\n \"actions\": {\n \"severity\": \"warning\",\n },\n },\n {\n \"label\": \"Otherwise, set the incident to P1 and run a diagnostic\",\n \"actions\": {\n \"priority\": p1.id,\n \"automation_action\": {\n \"name\": \"db-diagnostic\",\n \"url\": \"https://example.com/run-diagnostic\",\n \"auto_send\": True,\n },\n },\n },\n ],\n },\n ],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestration(\"event_orchestration\", new()\n {\n Name = \"Example Orchestration\",\n Team = databaseTeam.Id,\n });\n\n var p1 = Pagerduty.GetPriority.Invoke(new()\n {\n Name = \"P1\",\n });\n\n var sreEscPolicy = Pagerduty.GetEscalationPolicy.Invoke(new()\n {\n Name = \"SRE Escalation Policy\",\n });\n\n var @global = new Pagerduty.EventOrchestrationGlobal(\"global\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Always annotate a note to all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Annotate = \"This incident was created by the Database Team via a Global Orchestration\",\n RouteTo = \"step-two\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"step-two\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Drop events that are marked as no-op\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.summary matches 'no-op'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n DropEvent = true,\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"If the DB host is running out of space, then page the SRE team\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.summary matches part 'running out of space'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n EscalationPolicy = sreEscPolicy.Apply(getEscalationPolicyResult =\u003e getEscalationPolicyResult.Id),\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"If there's something wrong on the replica, then mark the alert as a warning\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleConditionArgs\n {\n Expression = \"event.custom_details.hostname matches part 'replica'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Severity = \"warning\",\n },\n },\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Otherwise, set the incident to P1 and run a diagnostic\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Priority = p1.Apply(getPriorityResult =\u003e getPriorityResult.Id),\n AutomationAction = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsAutomationActionArgs\n {\n Name = \"db-diagnostic\",\n Url = \"https://example.com/run-diagnostic\",\n AutoSend = true,\n },\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationGlobalCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventOrchestration, err := pagerduty.NewEventOrchestration(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationArgs{\n\t\t\tName: pulumi.String(\"Example Orchestration\"),\n\t\t\tTeam: databaseTeam.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp1, err := pagerduty.GetPriority(ctx, \u0026pagerduty.GetPriorityArgs{\n\t\t\tName: \"P1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsreEscPolicy, err := pagerduty.LookupEscalationPolicy(ctx, \u0026pagerduty.LookupEscalationPolicyArgs{\n\t\t\tName: \"SRE Escalation Policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobal(ctx, \"global\", \u0026pagerduty.EventOrchestrationGlobalArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tSets: pagerduty.EventOrchestrationGlobalSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always annotate a note to all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"This incident was created by the Database Team via a Global Orchestration\"),\n\t\t\t\t\t\t\t\tRouteTo: pulumi.String(\"step-two\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"step-two\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Drop events that are marked as no-op\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.summary matches 'no-op'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tDropEvent: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If the DB host is running out of space, then page the SRE team\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.summary matches part 'running out of space'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tEscalationPolicy: pulumi.String(sreEscPolicy.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If there's something wrong on the replica, then mark the alert as a warning\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationGlobalSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.hostname matches part 'replica'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSeverity: pulumi.String(\"warning\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Otherwise, set the incident to P1 and run a diagnostic\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tPriority: pulumi.String(p1.Id),\n\t\t\t\t\t\t\t\tAutomationAction: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsAutomationActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"db-diagnostic\"),\n\t\t\t\t\t\t\t\t\tUrl: pulumi.String(\"https://example.com/run-diagnostic\"),\n\t\t\t\t\t\t\t\t\tAutoSend: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationGlobalCatchAllArgs{\n\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalCatchAllActionsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.EventOrchestration;\nimport com.pulumi.pagerduty.EventOrchestrationArgs;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetPriorityArgs;\nimport com.pulumi.pagerduty.inputs.GetEscalationPolicyArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobal;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var eventOrchestration = new EventOrchestration(\"eventOrchestration\", EventOrchestrationArgs.builder()\n .name(\"Example Orchestration\")\n .team(databaseTeam.id())\n .build());\n\n final var p1 = PagerdutyFunctions.getPriority(GetPriorityArgs.builder()\n .name(\"P1\")\n .build());\n\n final var sreEscPolicy = PagerdutyFunctions.getEscalationPolicy(GetEscalationPolicyArgs.builder()\n .name(\"SRE Escalation Policy\")\n .build());\n\n var global = new EventOrchestrationGlobal(\"global\", EventOrchestrationGlobalArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .sets( \n EventOrchestrationGlobalSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Always annotate a note to all events\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .annotate(\"This incident was created by the Database Team via a Global Orchestration\")\n .routeTo(\"step-two\")\n .build())\n .build())\n .build(),\n EventOrchestrationGlobalSetArgs.builder()\n .id(\"step-two\")\n .rules( \n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Drop events that are marked as no-op\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.summary matches 'no-op'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .dropEvent(true)\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"If the DB host is running out of space, then page the SRE team\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.summary matches part 'running out of space'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .escalationPolicy(sreEscPolicy.applyValue(getEscalationPolicyResult -\u003e getEscalationPolicyResult.id()))\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"If there's something wrong on the replica, then mark the alert as a warning\")\n .conditions(EventOrchestrationGlobalSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.hostname matches part 'replica'\")\n .build())\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .severity(\"warning\")\n .build())\n .build(),\n EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Otherwise, set the incident to P1 and run a diagnostic\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .priority(p1.applyValue(getPriorityResult -\u003e getPriorityResult.id()))\n .automationAction(EventOrchestrationGlobalSetRuleActionsAutomationActionArgs.builder()\n .name(\"db-diagnostic\")\n .url(\"https://example.com/run-diagnostic\")\n .autoSend(true)\n .build())\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationGlobalCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n eventOrchestration:\n type: pagerduty:EventOrchestration\n name: event_orchestration\n properties:\n name: Example Orchestration\n team: ${databaseTeam.id}\n global:\n type: pagerduty:EventOrchestrationGlobal\n properties:\n eventOrchestration: ${eventOrchestration.id}\n sets:\n - id: start\n rules:\n - label: Always annotate a note to all events\n actions:\n annotate: This incident was created by the Database Team via a Global Orchestration\n routeTo: step-two\n - id: step-two\n rules:\n - label: Drop events that are marked as no-op\n conditions:\n - expression: event.summary matches 'no-op'\n actions:\n dropEvent: true\n - label: If the DB host is running out of space, then page the SRE team\n conditions:\n - expression: event.summary matches part 'running out of space'\n actions:\n escalationPolicy: ${sreEscPolicy.id}\n - label: If there's something wrong on the replica, then mark the alert as a warning\n conditions:\n - expression: event.custom_details.hostname matches part 'replica'\n actions:\n severity: warning\n - label: Otherwise, set the incident to P1 and run a diagnostic\n actions:\n priority: ${p1.id}\n automationAction:\n name: db-diagnostic\n url: https://example.com/run-diagnostic\n autoSend: true\n catchAll:\n actions: {}\nvariables:\n p1:\n fn::invoke:\n Function: pagerduty:getPriority\n Arguments:\n name: P1\n sreEscPolicy:\n fn::invoke:\n Function: pagerduty:getEscalationPolicy\n Arguments:\n name: SRE Escalation Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Orchestration can be imported using the `id` of the Event Orchestration, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationGlobal:EventOrchestrationGlobal global 1b49abe7-26db-4439-a715-c6d883acfb3e\n```\n", "properties": { "catchAll": { "$ref": "#/types/pagerduty:index/EventOrchestrationGlobalCatchAll:EventOrchestrationGlobalCatchAll", @@ -4895,7 +4895,7 @@ } }, "pagerduty:index/eventOrchestrationGlobalCacheVariable:EventOrchestrationGlobalCacheVariable": { - "description": "A [Cache Variable](https://support.pagerduty.com/docs/event-orchestration-variables) can be created on a Global Event Orchestration, in order to temporarily store event data to be referenced later within the Global Event Orchestration\n\n## Example of configuring a Cache Variable for a Global Event Orchestration\n\nThis example shows creating a global `Event Orchestration` and a `Cache Variable`. All events that have the `event.source` field will have its `source` value stored in this Cache Variable, and appended as a note for the subsequent incident created by this Event Orchestration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst eventOrchestration = new pagerduty.EventOrchestration(\"event_orchestration\", {\n name: \"Example Orchestration\",\n team: databaseTeam.id,\n});\nconst cacheVar = new pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\", {\n eventOrchestration: eventOrchestration.id,\n name: \"recent_host\",\n conditions: [{\n expression: \"event.source exists\",\n }],\n configuration: {\n type: \"recent_value\",\n source: \"event.source\",\n regex: \".*\",\n },\n});\nconst global = new pagerduty.EventOrchestrationGlobal(\"global\", {\n eventOrchestration: eventOrchestration.id,\n sets: [{\n id: \"start\",\n rules: [{\n label: \"Always annotate the incident with the event source for all events\",\n actions: {\n annotate: \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n }],\n }],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nevent_orchestration = pagerduty.EventOrchestration(\"event_orchestration\",\n name=\"Example Orchestration\",\n team=database_team.id)\ncache_var = pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\",\n event_orchestration=event_orchestration.id,\n name=\"recent_host\",\n conditions=[{\n \"expression\": \"event.source exists\",\n }],\n configuration={\n \"type\": \"recent_value\",\n \"source\": \"event.source\",\n \"regex\": \".*\",\n })\nglobal_ = pagerduty.EventOrchestrationGlobal(\"global\",\n event_orchestration=event_orchestration.id,\n sets=[{\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always annotate the incident with the event source for all events\",\n \"actions\": {\n \"annotate\": \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n }],\n }],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestration(\"event_orchestration\", new()\n {\n Name = \"Example Orchestration\",\n Team = databaseTeam.Id,\n });\n\n var cacheVar = new Pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Name = \"recent_host\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalCacheVariableConditionArgs\n {\n Expression = \"event.source exists\",\n },\n },\n Configuration = new Pagerduty.Inputs.EventOrchestrationGlobalCacheVariableConfigurationArgs\n {\n Type = \"recent_value\",\n Source = \"event.source\",\n Regex = \".*\",\n },\n });\n\n var @global = new Pagerduty.EventOrchestrationGlobal(\"global\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Always annotate the incident with the event source for all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Annotate = \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationGlobalCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventOrchestration, err := pagerduty.NewEventOrchestration(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationArgs{\n\t\t\tName: pulumi.String(\"Example Orchestration\"),\n\t\t\tTeam: databaseTeam.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobalCacheVariable(ctx, \"cache_var\", \u0026pagerduty.EventOrchestrationGlobalCacheVariableArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tName: pulumi.String(\"recent_host\"),\n\t\t\tConditions: pagerduty.EventOrchestrationGlobalCacheVariableConditionArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalCacheVariableConditionArgs{\n\t\t\t\t\tExpression: pulumi.String(\"event.source exists\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: \u0026pagerduty.EventOrchestrationGlobalCacheVariableConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"recent_value\"),\n\t\t\t\tSource: pulumi.String(\"event.source\"),\n\t\t\t\tRegex: pulumi.String(\".*\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobal(ctx, \"global\", \u0026pagerduty.EventOrchestrationGlobalArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tSets: pagerduty.EventOrchestrationGlobalSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always annotate the incident with the event source for all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationGlobalCatchAllArgs{\n\t\t\t\tActions: nil,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.EventOrchestration;\nimport com.pulumi.pagerduty.EventOrchestrationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalCacheVariable;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalCacheVariableArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCacheVariableConditionArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCacheVariableConfigurationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobal;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var eventOrchestration = new EventOrchestration(\"eventOrchestration\", EventOrchestrationArgs.builder()\n .name(\"Example Orchestration\")\n .team(databaseTeam.id())\n .build());\n\n var cacheVar = new EventOrchestrationGlobalCacheVariable(\"cacheVar\", EventOrchestrationGlobalCacheVariableArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .name(\"recent_host\")\n .conditions(EventOrchestrationGlobalCacheVariableConditionArgs.builder()\n .expression(\"event.source exists\")\n .build())\n .configuration(EventOrchestrationGlobalCacheVariableConfigurationArgs.builder()\n .type(\"recent_value\")\n .source(\"event.source\")\n .regex(\".*\")\n .build())\n .build());\n\n var global = new EventOrchestrationGlobal(\"global\", EventOrchestrationGlobalArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .sets(EventOrchestrationGlobalSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Always annotate the incident with the event source for all events\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .annotate(\"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\")\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationGlobalCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n eventOrchestration:\n type: pagerduty:EventOrchestration\n name: event_orchestration\n properties:\n name: Example Orchestration\n team: ${databaseTeam.id}\n cacheVar:\n type: pagerduty:EventOrchestrationGlobalCacheVariable\n name: cache_var\n properties:\n eventOrchestration: ${eventOrchestration.id}\n name: recent_host\n conditions:\n - expression: event.source exists\n configuration:\n type: recent_value\n source: event.source\n regex: .*\n global:\n type: pagerduty:EventOrchestrationGlobal\n properties:\n eventOrchestration: ${eventOrchestration.id}\n sets:\n - id: start\n rules:\n - label: Always annotate the incident with the event source for all events\n actions:\n annotate: 'Last time, we saw this incident occur on host: {{cache_var.recent_host}}'\n catchAll:\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCache Variables can be imported using colon-separated IDs, which is the combination of the Global Event Orchestration ID followed by the Cache Variable ID, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationGlobalCacheVariable:EventOrchestrationGlobalCacheVariable cache_variable 5e7110bf-0ee7-429e-9724-34ed1fe15ac3:138ed254-3444-44ad-8cc7-701d69def439\n```\n", + "description": "A [Cache Variable](https://support.pagerduty.com/docs/event-orchestration-variables) can be created on a Global Event Orchestration, in order to temporarily store event data to be referenced later within the Global Event Orchestration\n\n## Example of configuring a Cache Variable for a Global Event Orchestration\n\nThis example shows creating a global `Event Orchestration` and a `Cache Variable`. All events that have the `event.source` field will have its `source` value stored in this Cache Variable, and appended as a note for the subsequent incident created by this Event Orchestration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst eventOrchestration = new pagerduty.EventOrchestration(\"event_orchestration\", {\n name: \"Example Orchestration\",\n team: databaseTeam.id,\n});\nconst cacheVar = new pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\", {\n eventOrchestration: eventOrchestration.id,\n name: \"recent_host\",\n conditions: [{\n expression: \"event.source exists\",\n }],\n configuration: {\n type: \"recent_value\",\n source: \"event.source\",\n regex: \".*\",\n },\n});\nconst global = new pagerduty.EventOrchestrationGlobal(\"global\", {\n eventOrchestration: eventOrchestration.id,\n sets: [{\n id: \"start\",\n rules: [{\n label: \"Always annotate the incident with the event source for all events\",\n actions: {\n annotate: \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n }],\n }],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nevent_orchestration = pagerduty.EventOrchestration(\"event_orchestration\",\n name=\"Example Orchestration\",\n team=database_team.id)\ncache_var = pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\",\n event_orchestration=event_orchestration.id,\n name=\"recent_host\",\n conditions=[{\n \"expression\": \"event.source exists\",\n }],\n configuration={\n \"type\": \"recent_value\",\n \"source\": \"event.source\",\n \"regex\": \".*\",\n })\nglobal_ = pagerduty.EventOrchestrationGlobal(\"global\",\n event_orchestration=event_orchestration.id,\n sets=[{\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always annotate the incident with the event source for all events\",\n \"actions\": {\n \"annotate\": \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n }],\n }],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestration(\"event_orchestration\", new()\n {\n Name = \"Example Orchestration\",\n Team = databaseTeam.Id,\n });\n\n var cacheVar = new Pagerduty.EventOrchestrationGlobalCacheVariable(\"cache_var\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Name = \"recent_host\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalCacheVariableConditionArgs\n {\n Expression = \"event.source exists\",\n },\n },\n Configuration = new Pagerduty.Inputs.EventOrchestrationGlobalCacheVariableConfigurationArgs\n {\n Type = \"recent_value\",\n Source = \"event.source\",\n Regex = \".*\",\n },\n });\n\n var @global = new Pagerduty.EventOrchestrationGlobal(\"global\", new()\n {\n EventOrchestration = eventOrchestration.Id,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleArgs\n {\n Label = \"Always annotate the incident with the event source for all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationGlobalSetRuleActionsArgs\n {\n Annotate = \"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\",\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationGlobalCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teventOrchestration, err := pagerduty.NewEventOrchestration(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationArgs{\n\t\t\tName: pulumi.String(\"Example Orchestration\"),\n\t\t\tTeam: databaseTeam.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobalCacheVariable(ctx, \"cache_var\", \u0026pagerduty.EventOrchestrationGlobalCacheVariableArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tName: pulumi.String(\"recent_host\"),\n\t\t\tConditions: pagerduty.EventOrchestrationGlobalCacheVariableConditionArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalCacheVariableConditionArgs{\n\t\t\t\t\tExpression: pulumi.String(\"event.source exists\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: \u0026pagerduty.EventOrchestrationGlobalCacheVariableConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"recent_value\"),\n\t\t\t\tSource: pulumi.String(\"event.source\"),\n\t\t\t\tRegex: pulumi.String(\".*\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationGlobal(ctx, \"global\", \u0026pagerduty.EventOrchestrationGlobalArgs{\n\t\t\tEventOrchestration: eventOrchestration.ID(),\n\t\t\tSets: pagerduty.EventOrchestrationGlobalSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationGlobalSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationGlobalSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always annotate the incident with the event source for all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationGlobalCatchAllArgs{\n\t\t\t\tActions: \u0026pagerduty.EventOrchestrationGlobalCatchAllActionsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.EventOrchestration;\nimport com.pulumi.pagerduty.EventOrchestrationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalCacheVariable;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalCacheVariableArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCacheVariableConditionArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCacheVariableConfigurationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationGlobal;\nimport com.pulumi.pagerduty.EventOrchestrationGlobalArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationGlobalCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var eventOrchestration = new EventOrchestration(\"eventOrchestration\", EventOrchestrationArgs.builder()\n .name(\"Example Orchestration\")\n .team(databaseTeam.id())\n .build());\n\n var cacheVar = new EventOrchestrationGlobalCacheVariable(\"cacheVar\", EventOrchestrationGlobalCacheVariableArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .name(\"recent_host\")\n .conditions(EventOrchestrationGlobalCacheVariableConditionArgs.builder()\n .expression(\"event.source exists\")\n .build())\n .configuration(EventOrchestrationGlobalCacheVariableConfigurationArgs.builder()\n .type(\"recent_value\")\n .source(\"event.source\")\n .regex(\".*\")\n .build())\n .build());\n\n var global = new EventOrchestrationGlobal(\"global\", EventOrchestrationGlobalArgs.builder()\n .eventOrchestration(eventOrchestration.id())\n .sets(EventOrchestrationGlobalSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationGlobalSetRuleArgs.builder()\n .label(\"Always annotate the incident with the event source for all events\")\n .actions(EventOrchestrationGlobalSetRuleActionsArgs.builder()\n .annotate(\"Last time, we saw this incident occur on host: {{cache_var.recent_host}}\")\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationGlobalCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n eventOrchestration:\n type: pagerduty:EventOrchestration\n name: event_orchestration\n properties:\n name: Example Orchestration\n team: ${databaseTeam.id}\n cacheVar:\n type: pagerduty:EventOrchestrationGlobalCacheVariable\n name: cache_var\n properties:\n eventOrchestration: ${eventOrchestration.id}\n name: recent_host\n conditions:\n - expression: event.source exists\n configuration:\n type: recent_value\n source: event.source\n regex: .*\n global:\n type: pagerduty:EventOrchestrationGlobal\n properties:\n eventOrchestration: ${eventOrchestration.id}\n sets:\n - id: start\n rules:\n - label: Always annotate the incident with the event source for all events\n actions:\n annotate: 'Last time, we saw this incident occur on host: {{cache_var.recent_host}}'\n catchAll:\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCache Variables can be imported using colon-separated IDs, which is the combination of the Global Event Orchestration ID followed by the Cache Variable ID, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationGlobalCacheVariable:EventOrchestrationGlobalCacheVariable cache_variable 5e7110bf-0ee7-429e-9724-34ed1fe15ac3:138ed254-3444-44ad-8cc7-701d69def439\n```\n", "properties": { "conditions": { "type": "array", @@ -5105,7 +5105,7 @@ } }, "pagerduty:index/eventOrchestrationService:EventOrchestrationService": { - "description": "A [Service Orchestration](https://support.pagerduty.com/docs/event-orchestration#service-orchestrations) 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.\n\n\u003e If you have a Service that uses [Service Event Rules](https://support.pagerduty.com/docs/rulesets#service-event-rules), you can switch to [Service Orchestrations](https://support.pagerduty.com/docs/event-orchestration#service-orchestrations) at any time setting the attribute `enable_event_orchestration_for_service` to `true`. Please read the [Switch to Service Orchestrations](https://support.pagerduty.com/docs/event-orchestration#switch-to-service-orchestrations) instructions for more information.\n\n## Example of configuring a Service Orchestration\n\nThis example shows creating `Team`, `User`, `Escalation Policy`, and `Service` resources followed by creating a Service Orchestration to handle Events sent to that Service.\n\nThis example also shows using the pagerduty.getPriority and pagerduty.EscalationPolicy data sources to configure `priority` and `escalation_policy` actions for a rule.\n\nThis 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.\n\nThe `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.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst engineering = new pagerduty.Team(\"engineering\", {name: \"Engineering\"});\nconst example = new pagerduty.User(\"example\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n});\nconst foo = new pagerduty.TeamMembership(\"foo\", {\n userId: example.id,\n teamId: engineering.id,\n role: \"manager\",\n});\nconst exampleEscalationPolicy = new pagerduty.EscalationPolicy(\"example\", {\n name: \"Engineering Escalation Policy\",\n numLoops: 2,\n rules: [{\n escalationDelayInMinutes: 10,\n targets: [{\n type: \"user_reference\",\n id: example.id,\n }],\n }],\n});\nconst exampleService = new pagerduty.Service(\"example\", {\n name: \"My Web App\",\n autoResolveTimeout: \"14400\",\n acknowledgementTimeout: \"600\",\n escalationPolicy: exampleEscalationPolicy.id,\n alertCreation: \"create_alerts_and_incidents\",\n});\nconst csImpact = new pagerduty.IncidentCustomField(\"cs_impact\", {\n name: \"impact\",\n dataType: \"string\",\n fieldType: \"single_value\",\n});\nconst p1 = pagerduty.getPriority({\n name: \"P1\",\n});\nconst sreEscPolicy = pagerduty.getEscalationPolicy({\n name: \"SRE Escalation Policy\",\n});\nconst www = new pagerduty.EventOrchestrationService(\"www\", {\n service: exampleService.id,\n enableEventOrchestrationForService: true,\n sets: [\n {\n id: \"start\",\n rules: [{\n label: \"Always apply some consistent event transformations to all events\",\n actions: {\n variables: [{\n name: \"hostname\",\n path: \"event.component\",\n value: \"hostname: (.*)\",\n type: \"regex\",\n }],\n extractions: [\n {\n template: \"{{variables.hostname}}\",\n target: \"event.custom_details.hostname\",\n },\n {\n source: \"event.source\",\n regex: \"www (.*) service\",\n target: \"event.source\",\n },\n ],\n routeTo: \"step-two\",\n },\n }],\n },\n {\n id: \"step-two\",\n rules: [\n {\n label: \"All critical alerts should be treated as P1 incident\",\n conditions: [{\n expression: \"event.severity matches 'critical'\",\n }],\n actions: {\n annotate: \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n priority: p1.then(p1 =\u003e p1.id),\n incidentCustomFieldUpdates: [{\n id: csImpact.id,\n value: \"High Impact\",\n }],\n },\n },\n {\n label: \"If any of the API apps are unavailable, page the SRE team\",\n conditions: [{\n expression: \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n }],\n actions: {\n escalationPolicy: sreEscPolicy.then(sreEscPolicy =\u003e sreEscPolicy.id),\n },\n },\n {\n label: \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n conditions: [{\n expression: \"event.custom_details.hostname matches part 'canary'\",\n }],\n actions: {\n automationAction: {\n name: \"Canary Slack Notification\",\n url: \"https://our-slack-listerner.test/canary-notification\",\n autoSend: true,\n parameters: [\n {\n key: \"channel\",\n value: \"#my-team-channel\",\n },\n {\n key: \"message\",\n value: \"something is wrong with the canary deployment\",\n },\n ],\n headers: [{\n key: \"X-Notification-Source\",\n value: \"PagerDuty Incident Webhook\",\n }],\n },\n },\n },\n {\n label: \"Never bother the on-call for info-level events outside of work hours\",\n conditions: [{\n expression: \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n }],\n actions: {\n suppress: true,\n },\n },\n ],\n },\n ],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\nengineering = pagerduty.Team(\"engineering\", name=\"Engineering\")\nexample = pagerduty.User(\"example\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\")\nfoo = pagerduty.TeamMembership(\"foo\",\n user_id=example.id,\n team_id=engineering.id,\n role=\"manager\")\nexample_escalation_policy = pagerduty.EscalationPolicy(\"example\",\n name=\"Engineering Escalation Policy\",\n num_loops=2,\n rules=[{\n \"escalation_delay_in_minutes\": 10,\n \"targets\": [{\n \"type\": \"user_reference\",\n \"id\": example.id,\n }],\n }])\nexample_service = pagerduty.Service(\"example\",\n name=\"My Web App\",\n auto_resolve_timeout=\"14400\",\n acknowledgement_timeout=\"600\",\n escalation_policy=example_escalation_policy.id,\n alert_creation=\"create_alerts_and_incidents\")\ncs_impact = pagerduty.IncidentCustomField(\"cs_impact\",\n name=\"impact\",\n data_type=\"string\",\n field_type=\"single_value\")\np1 = pagerduty.get_priority(name=\"P1\")\nsre_esc_policy = pagerduty.get_escalation_policy(name=\"SRE Escalation Policy\")\nwww = pagerduty.EventOrchestrationService(\"www\",\n service=example_service.id,\n enable_event_orchestration_for_service=True,\n sets=[\n {\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always apply some consistent event transformations to all events\",\n \"actions\": {\n \"variables\": [{\n \"name\": \"hostname\",\n \"path\": \"event.component\",\n \"value\": \"hostname: (.*)\",\n \"type\": \"regex\",\n }],\n \"extractions\": [\n {\n \"template\": \"{{variables.hostname}}\",\n \"target\": \"event.custom_details.hostname\",\n },\n {\n \"source\": \"event.source\",\n \"regex\": \"www (.*) service\",\n \"target\": \"event.source\",\n },\n ],\n \"route_to\": \"step-two\",\n },\n }],\n },\n {\n \"id\": \"step-two\",\n \"rules\": [\n {\n \"label\": \"All critical alerts should be treated as P1 incident\",\n \"conditions\": [{\n \"expression\": \"event.severity matches 'critical'\",\n }],\n \"actions\": {\n \"annotate\": \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n \"priority\": p1.id,\n \"incident_custom_field_updates\": [{\n \"id\": cs_impact.id,\n \"value\": \"High Impact\",\n }],\n },\n },\n {\n \"label\": \"If any of the API apps are unavailable, page the SRE team\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n }],\n \"actions\": {\n \"escalation_policy\": sre_esc_policy.id,\n },\n },\n {\n \"label\": \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.hostname matches part 'canary'\",\n }],\n \"actions\": {\n \"automation_action\": {\n \"name\": \"Canary Slack Notification\",\n \"url\": \"https://our-slack-listerner.test/canary-notification\",\n \"auto_send\": True,\n \"parameters\": [\n {\n \"key\": \"channel\",\n \"value\": \"#my-team-channel\",\n },\n {\n \"key\": \"message\",\n \"value\": \"something is wrong with the canary deployment\",\n },\n ],\n \"headers\": [{\n \"key\": \"X-Notification-Source\",\n \"value\": \"PagerDuty Incident Webhook\",\n }],\n },\n },\n },\n {\n \"label\": \"Never bother the on-call for info-level events outside of work hours\",\n \"conditions\": [{\n \"expression\": \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n }],\n \"actions\": {\n \"suppress\": True,\n },\n },\n ],\n },\n ],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var engineering = new Pagerduty.Team(\"engineering\", new()\n {\n Name = \"Engineering\",\n });\n\n var example = new Pagerduty.User(\"example\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n });\n\n var foo = new Pagerduty.TeamMembership(\"foo\", new()\n {\n UserId = example.Id,\n TeamId = engineering.Id,\n Role = \"manager\",\n });\n\n var exampleEscalationPolicy = new Pagerduty.EscalationPolicy(\"example\", new()\n {\n Name = \"Engineering Escalation Policy\",\n NumLoops = 2,\n Rules = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleArgs\n {\n EscalationDelayInMinutes = 10,\n Targets = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs\n {\n Type = \"user_reference\",\n Id = example.Id,\n },\n },\n },\n },\n });\n\n var exampleService = new Pagerduty.Service(\"example\", new()\n {\n Name = \"My Web App\",\n AutoResolveTimeout = \"14400\",\n AcknowledgementTimeout = \"600\",\n EscalationPolicy = exampleEscalationPolicy.Id,\n AlertCreation = \"create_alerts_and_incidents\",\n });\n\n var csImpact = new Pagerduty.IncidentCustomField(\"cs_impact\", new()\n {\n Name = \"impact\",\n DataType = \"string\",\n FieldType = \"single_value\",\n });\n\n var p1 = Pagerduty.GetPriority.Invoke(new()\n {\n Name = \"P1\",\n });\n\n var sreEscPolicy = Pagerduty.GetEscalationPolicy.Invoke(new()\n {\n Name = \"SRE Escalation Policy\",\n });\n\n var www = new Pagerduty.EventOrchestrationService(\"www\", new()\n {\n Service = exampleService.Id,\n EnableEventOrchestrationForService = true,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Always apply some consistent event transformations to all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Variables = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsVariableArgs\n {\n Name = \"hostname\",\n Path = \"event.component\",\n Value = \"hostname: (.*)\",\n Type = \"regex\",\n },\n },\n Extractions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs\n {\n Template = \"{{variables.hostname}}\",\n Target = \"event.custom_details.hostname\",\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs\n {\n Source = \"event.source\",\n Regex = \"www (.*) service\",\n Target = \"event.source\",\n },\n },\n RouteTo = \"step-two\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"step-two\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"All critical alerts should be treated as P1 incident\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.severity matches 'critical'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Annotate = \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n Priority = p1.Apply(getPriorityResult =\u003e getPriorityResult.Id),\n IncidentCustomFieldUpdates = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs\n {\n Id = csImpact.Id,\n Value = \"High Impact\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"If any of the API apps are unavailable, page the SRE team\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n EscalationPolicy = sreEscPolicy.Apply(getEscalationPolicyResult =\u003e getEscalationPolicyResult.Id),\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.custom_details.hostname matches part 'canary'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n AutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionArgs\n {\n Name = \"Canary Slack Notification\",\n Url = \"https://our-slack-listerner.test/canary-notification\",\n AutoSend = true,\n Parameters = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs\n {\n Key = \"channel\",\n Value = \"#my-team-channel\",\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs\n {\n Key = \"message\",\n Value = \"something is wrong with the canary deployment\",\n },\n },\n Headers = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs\n {\n Key = \"X-Notification-Source\",\n Value = \"PagerDuty Incident Webhook\",\n },\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Never bother the on-call for info-level events outside of work hours\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Suppress = true,\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tengineering, err := pagerduty.NewTeam(ctx, \"engineering\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Engineering\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := pagerduty.NewUser(ctx, \"example\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewTeamMembership(ctx, \"foo\", \u0026pagerduty.TeamMembershipArgs{\n\t\t\tUserId: example.ID(),\n\t\t\tTeamId: engineering.ID(),\n\t\t\tRole: pulumi.String(\"manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEscalationPolicy, err := pagerduty.NewEscalationPolicy(ctx, \"example\", \u0026pagerduty.EscalationPolicyArgs{\n\t\t\tName: pulumi.String(\"Engineering Escalation Policy\"),\n\t\t\tNumLoops: pulumi.Int(2),\n\t\t\tRules: pagerduty.EscalationPolicyRuleArray{\n\t\t\t\t\u0026pagerduty.EscalationPolicyRuleArgs{\n\t\t\t\t\tEscalationDelayInMinutes: pulumi.Int(10),\n\t\t\t\t\tTargets: pagerduty.EscalationPolicyRuleTargetArray{\n\t\t\t\t\t\t\u0026pagerduty.EscalationPolicyRuleTargetArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"user_reference\"),\n\t\t\t\t\t\t\tId: example.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := pagerduty.NewService(ctx, \"example\", \u0026pagerduty.ServiceArgs{\n\t\t\tName: pulumi.String(\"My Web App\"),\n\t\t\tAutoResolveTimeout: pulumi.String(\"14400\"),\n\t\t\tAcknowledgementTimeout: pulumi.String(\"600\"),\n\t\t\tEscalationPolicy: exampleEscalationPolicy.ID(),\n\t\t\tAlertCreation: pulumi.String(\"create_alerts_and_incidents\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsImpact, err := pagerduty.NewIncidentCustomField(ctx, \"cs_impact\", \u0026pagerduty.IncidentCustomFieldArgs{\n\t\t\tName: pulumi.String(\"impact\"),\n\t\t\tDataType: pulumi.String(\"string\"),\n\t\t\tFieldType: pulumi.String(\"single_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp1, err := pagerduty.GetPriority(ctx, \u0026pagerduty.GetPriorityArgs{\n\t\t\tName: \"P1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsreEscPolicy, err := pagerduty.LookupEscalationPolicy(ctx, \u0026pagerduty.LookupEscalationPolicyArgs{\n\t\t\tName: \"SRE Escalation Policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationService(ctx, \"www\", \u0026pagerduty.EventOrchestrationServiceArgs{\n\t\t\tService: exampleService.ID(),\n\t\t\tEnableEventOrchestrationForService: pulumi.Bool(true),\n\t\t\tSets: pagerduty.EventOrchestrationServiceSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always apply some consistent event transformations to all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tVariables: pagerduty.EventOrchestrationServiceSetRuleActionsVariableArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsVariableArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"hostname\"),\n\t\t\t\t\t\t\t\t\t\tPath: pulumi.String(\"event.component\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"hostname: (.*)\"),\n\t\t\t\t\t\t\t\t\t\tType: pulumi.String(\"regex\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tExtractions: pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{\n\t\t\t\t\t\t\t\t\t\tTemplate: pulumi.String(\"{{variables.hostname}}\"),\n\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"event.custom_details.hostname\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{\n\t\t\t\t\t\t\t\t\t\tSource: pulumi.String(\"event.source\"),\n\t\t\t\t\t\t\t\t\t\tRegex: pulumi.String(\"www (.*) service\"),\n\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"event.source\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tRouteTo: pulumi.String(\"step-two\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"step-two\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"All critical alerts should be treated as P1 incident\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.severity matches 'critical'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"Please use our P1 runbook: https://docs.test/p1-runbook\"),\n\t\t\t\t\t\t\t\tPriority: pulumi.String(p1.Id),\n\t\t\t\t\t\t\t\tIncidentCustomFieldUpdates: pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs{\n\t\t\t\t\t\t\t\t\t\tId: csImpact.ID(),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"High Impact\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If any of the API apps are unavailable, page the SRE team\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tEscalationPolicy: pulumi.String(sreEscPolicy.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If there's something wrong on the canary let the team know about it in our deployments Slack channel\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.hostname matches part 'canary'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAutomationAction: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Canary Slack Notification\"),\n\t\t\t\t\t\t\t\t\tUrl: pulumi.String(\"https://our-slack-listerner.test/canary-notification\"),\n\t\t\t\t\t\t\t\t\tAutoSend: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\tParameters: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"channel\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"#my-team-channel\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"message\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"something is wrong with the canary deployment\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tHeaders: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArray{\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"X-Notification-Source\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"PagerDuty Incident Webhook\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Never bother the on-call for info-level events outside of work hours\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: 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)\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSuppress: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationServiceCatchAllArgs{\n\t\t\t\tActions: nil,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.TeamMembership;\nimport com.pulumi.pagerduty.TeamMembershipArgs;\nimport com.pulumi.pagerduty.EscalationPolicy;\nimport com.pulumi.pagerduty.EscalationPolicyArgs;\nimport com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;\nimport com.pulumi.pagerduty.Service;\nimport com.pulumi.pagerduty.ServiceArgs;\nimport com.pulumi.pagerduty.IncidentCustomField;\nimport com.pulumi.pagerduty.IncidentCustomFieldArgs;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetPriorityArgs;\nimport com.pulumi.pagerduty.inputs.GetEscalationPolicyArgs;\nimport com.pulumi.pagerduty.EventOrchestrationService;\nimport com.pulumi.pagerduty.EventOrchestrationServiceArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var engineering = new Team(\"engineering\", TeamArgs.builder()\n .name(\"Engineering\")\n .build());\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .build());\n\n var foo = new TeamMembership(\"foo\", TeamMembershipArgs.builder()\n .userId(example.id())\n .teamId(engineering.id())\n .role(\"manager\")\n .build());\n\n var exampleEscalationPolicy = new EscalationPolicy(\"exampleEscalationPolicy\", EscalationPolicyArgs.builder()\n .name(\"Engineering Escalation Policy\")\n .numLoops(2)\n .rules(EscalationPolicyRuleArgs.builder()\n .escalationDelayInMinutes(10)\n .targets(EscalationPolicyRuleTargetArgs.builder()\n .type(\"user_reference\")\n .id(example.id())\n .build())\n .build())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"My Web App\")\n .autoResolveTimeout(14400)\n .acknowledgementTimeout(600)\n .escalationPolicy(exampleEscalationPolicy.id())\n .alertCreation(\"create_alerts_and_incidents\")\n .build());\n\n var csImpact = new IncidentCustomField(\"csImpact\", IncidentCustomFieldArgs.builder()\n .name(\"impact\")\n .dataType(\"string\")\n .fieldType(\"single_value\")\n .build());\n\n final var p1 = PagerdutyFunctions.getPriority(GetPriorityArgs.builder()\n .name(\"P1\")\n .build());\n\n final var sreEscPolicy = PagerdutyFunctions.getEscalationPolicy(GetEscalationPolicyArgs.builder()\n .name(\"SRE Escalation Policy\")\n .build());\n\n var www = new EventOrchestrationService(\"www\", EventOrchestrationServiceArgs.builder()\n .service(exampleService.id())\n .enableEventOrchestrationForService(true)\n .sets( \n EventOrchestrationServiceSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Always apply some consistent event transformations to all events\")\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .variables(EventOrchestrationServiceSetRuleActionsVariableArgs.builder()\n .name(\"hostname\")\n .path(\"event.component\")\n .value(\"hostname: (.*)\")\n .type(\"regex\")\n .build())\n .extractions( \n EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()\n .template(\"{{variables.hostname}}\")\n .target(\"event.custom_details.hostname\")\n .build(),\n EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()\n .source(\"event.source\")\n .regex(\"www (.*) service\")\n .target(\"event.source\")\n .build())\n .routeTo(\"step-two\")\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetArgs.builder()\n .id(\"step-two\")\n .rules( \n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"All critical alerts should be treated as P1 incident\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.severity matches 'critical'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .annotate(\"Please use our P1 runbook: https://docs.test/p1-runbook\")\n .priority(p1.applyValue(getPriorityResult -\u003e getPriorityResult.id()))\n .incidentCustomFieldUpdates(EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs.builder()\n .id(csImpact.id())\n .value(\"High Impact\")\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"If any of the API apps are unavailable, page the SRE team\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .escalationPolicy(sreEscPolicy.applyValue(getEscalationPolicyResult -\u003e getEscalationPolicyResult.id()))\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"If there's something wrong on the canary let the team know about it in our deployments Slack channel\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.hostname matches part 'canary'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .automationAction(EventOrchestrationServiceSetRuleActionsAutomationActionArgs.builder()\n .name(\"Canary Slack Notification\")\n .url(\"https://our-slack-listerner.test/canary-notification\")\n .autoSend(true)\n .parameters( \n EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()\n .key(\"channel\")\n .value(\"#my-team-channel\")\n .build(),\n EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()\n .key(\"message\")\n .value(\"something is wrong with the canary deployment\")\n .build())\n .headers(EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs.builder()\n .key(\"X-Notification-Source\")\n .value(\"PagerDuty Incident Webhook\")\n .build())\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Never bother the on-call for info-level events outside of work hours\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .suppress(true)\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationServiceCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n engineering:\n type: pagerduty:Team\n properties:\n name: Engineering\n example:\n type: pagerduty:User\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n foo:\n type: pagerduty:TeamMembership\n properties:\n userId: ${example.id}\n teamId: ${engineering.id}\n role: manager\n exampleEscalationPolicy:\n type: pagerduty:EscalationPolicy\n name: example\n properties:\n name: Engineering Escalation Policy\n numLoops: 2\n rules:\n - escalationDelayInMinutes: 10\n targets:\n - type: user_reference\n id: ${example.id}\n exampleService:\n type: pagerduty:Service\n name: example\n properties:\n name: My Web App\n autoResolveTimeout: 14400\n acknowledgementTimeout: 600\n escalationPolicy: ${exampleEscalationPolicy.id}\n alertCreation: create_alerts_and_incidents\n csImpact:\n type: pagerduty:IncidentCustomField\n name: cs_impact\n properties:\n name: impact\n dataType: string\n fieldType: single_value\n www:\n type: pagerduty:EventOrchestrationService\n properties:\n service: ${exampleService.id}\n enableEventOrchestrationForService: true\n sets:\n - id: start\n rules:\n - label: Always apply some consistent event transformations to all events\n actions:\n variables:\n - name: hostname\n path: event.component\n value: 'hostname: (.*)'\n type: regex\n extractions:\n - template: '{{variables.hostname}}'\n target: event.custom_details.hostname\n - source: event.source\n regex: www (.*) service\n target: event.source\n routeTo: step-two\n - id: step-two\n rules:\n - label: All critical alerts should be treated as P1 incident\n conditions:\n - expression: event.severity matches 'critical'\n actions:\n annotate: 'Please use our P1 runbook: https://docs.test/p1-runbook'\n priority: ${p1.id}\n incidentCustomFieldUpdates:\n - id: ${csImpact.id}\n value: High Impact\n - label: If any of the API apps are unavailable, page the SRE team\n conditions:\n - expression: event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\n actions:\n escalationPolicy: ${sreEscPolicy.id}\n - label: If there's something wrong on the canary let the team know about it in our deployments Slack channel\n conditions:\n - expression: event.custom_details.hostname matches part 'canary'\n actions:\n automationAction:\n name: Canary Slack Notification\n url: https://our-slack-listerner.test/canary-notification\n autoSend: true\n parameters:\n - key: channel\n value: '#my-team-channel'\n - key: message\n value: something is wrong with the canary deployment\n headers:\n - key: X-Notification-Source\n value: PagerDuty Incident Webhook\n - label: Never bother the on-call for info-level events outside of work hours\n conditions:\n - expression: event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\n actions:\n suppress: true\n catchAll:\n actions: {}\nvariables:\n p1:\n fn::invoke:\n Function: pagerduty:getPriority\n Arguments:\n name: P1\n sreEscPolicy:\n fn::invoke:\n Function: pagerduty:getEscalationPolicy\n Arguments:\n name: SRE Escalation Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Orchestration can be imported using the `id` of the Service, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationService:EventOrchestrationService service PFEODA7\n```\n", + "description": "A [Service Orchestration](https://support.pagerduty.com/docs/event-orchestration#service-orchestrations) 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.\n\n\u003e If you have a Service that uses [Service Event Rules](https://support.pagerduty.com/docs/rulesets#service-event-rules), you can switch to [Service Orchestrations](https://support.pagerduty.com/docs/event-orchestration#service-orchestrations) at any time setting the attribute `enable_event_orchestration_for_service` to `true`. Please read the [Switch to Service Orchestrations](https://support.pagerduty.com/docs/event-orchestration#switch-to-service-orchestrations) instructions for more information.\n\n## Example of configuring a Service Orchestration\n\nThis example shows creating `Team`, `User`, `Escalation Policy`, and `Service` resources followed by creating a Service Orchestration to handle Events sent to that Service.\n\nThis example also shows using the pagerduty.getPriority and pagerduty.EscalationPolicy data sources to configure `priority` and `escalation_policy` actions for a rule.\n\nThis 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.\n\nThe `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.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst engineering = new pagerduty.Team(\"engineering\", {name: \"Engineering\"});\nconst example = new pagerduty.User(\"example\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n});\nconst foo = new pagerduty.TeamMembership(\"foo\", {\n userId: example.id,\n teamId: engineering.id,\n role: \"manager\",\n});\nconst exampleEscalationPolicy = new pagerduty.EscalationPolicy(\"example\", {\n name: \"Engineering Escalation Policy\",\n numLoops: 2,\n rules: [{\n escalationDelayInMinutes: 10,\n targets: [{\n type: \"user_reference\",\n id: example.id,\n }],\n }],\n});\nconst exampleService = new pagerduty.Service(\"example\", {\n name: \"My Web App\",\n autoResolveTimeout: \"14400\",\n acknowledgementTimeout: \"600\",\n escalationPolicy: exampleEscalationPolicy.id,\n alertCreation: \"create_alerts_and_incidents\",\n});\nconst csImpact = new pagerduty.IncidentCustomField(\"cs_impact\", {\n name: \"impact\",\n dataType: \"string\",\n fieldType: \"single_value\",\n});\nconst p1 = pagerduty.getPriority({\n name: \"P1\",\n});\nconst sreEscPolicy = pagerduty.getEscalationPolicy({\n name: \"SRE Escalation Policy\",\n});\nconst www = new pagerduty.EventOrchestrationService(\"www\", {\n service: exampleService.id,\n enableEventOrchestrationForService: true,\n sets: [\n {\n id: \"start\",\n rules: [{\n label: \"Always apply some consistent event transformations to all events\",\n actions: {\n variables: [{\n name: \"hostname\",\n path: \"event.component\",\n value: \"hostname: (.*)\",\n type: \"regex\",\n }],\n extractions: [\n {\n template: \"{{variables.hostname}}\",\n target: \"event.custom_details.hostname\",\n },\n {\n source: \"event.source\",\n regex: \"www (.*) service\",\n target: \"event.source\",\n },\n ],\n routeTo: \"step-two\",\n },\n }],\n },\n {\n id: \"step-two\",\n rules: [\n {\n label: \"All critical alerts should be treated as P1 incident\",\n conditions: [{\n expression: \"event.severity matches 'critical'\",\n }],\n actions: {\n annotate: \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n priority: p1.then(p1 =\u003e p1.id),\n incidentCustomFieldUpdates: [{\n id: csImpact.id,\n value: \"High Impact\",\n }],\n },\n },\n {\n label: \"If any of the API apps are unavailable, page the SRE team\",\n conditions: [{\n expression: \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n }],\n actions: {\n escalationPolicy: sreEscPolicy.then(sreEscPolicy =\u003e sreEscPolicy.id),\n },\n },\n {\n label: \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n conditions: [{\n expression: \"event.custom_details.hostname matches part 'canary'\",\n }],\n actions: {\n automationAction: {\n name: \"Canary Slack Notification\",\n url: \"https://our-slack-listerner.test/canary-notification\",\n autoSend: true,\n parameters: [\n {\n key: \"channel\",\n value: \"#my-team-channel\",\n },\n {\n key: \"message\",\n value: \"something is wrong with the canary deployment\",\n },\n ],\n headers: [{\n key: \"X-Notification-Source\",\n value: \"PagerDuty Incident Webhook\",\n }],\n },\n },\n },\n {\n label: \"Never bother the on-call for info-level events outside of work hours\",\n conditions: [{\n expression: \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n }],\n actions: {\n suppress: true,\n },\n },\n ],\n },\n ],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\nengineering = pagerduty.Team(\"engineering\", name=\"Engineering\")\nexample = pagerduty.User(\"example\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\")\nfoo = pagerduty.TeamMembership(\"foo\",\n user_id=example.id,\n team_id=engineering.id,\n role=\"manager\")\nexample_escalation_policy = pagerduty.EscalationPolicy(\"example\",\n name=\"Engineering Escalation Policy\",\n num_loops=2,\n rules=[{\n \"escalation_delay_in_minutes\": 10,\n \"targets\": [{\n \"type\": \"user_reference\",\n \"id\": example.id,\n }],\n }])\nexample_service = pagerduty.Service(\"example\",\n name=\"My Web App\",\n auto_resolve_timeout=\"14400\",\n acknowledgement_timeout=\"600\",\n escalation_policy=example_escalation_policy.id,\n alert_creation=\"create_alerts_and_incidents\")\ncs_impact = pagerduty.IncidentCustomField(\"cs_impact\",\n name=\"impact\",\n data_type=\"string\",\n field_type=\"single_value\")\np1 = pagerduty.get_priority(name=\"P1\")\nsre_esc_policy = pagerduty.get_escalation_policy(name=\"SRE Escalation Policy\")\nwww = pagerduty.EventOrchestrationService(\"www\",\n service=example_service.id,\n enable_event_orchestration_for_service=True,\n sets=[\n {\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Always apply some consistent event transformations to all events\",\n \"actions\": {\n \"variables\": [{\n \"name\": \"hostname\",\n \"path\": \"event.component\",\n \"value\": \"hostname: (.*)\",\n \"type\": \"regex\",\n }],\n \"extractions\": [\n {\n \"template\": \"{{variables.hostname}}\",\n \"target\": \"event.custom_details.hostname\",\n },\n {\n \"source\": \"event.source\",\n \"regex\": \"www (.*) service\",\n \"target\": \"event.source\",\n },\n ],\n \"route_to\": \"step-two\",\n },\n }],\n },\n {\n \"id\": \"step-two\",\n \"rules\": [\n {\n \"label\": \"All critical alerts should be treated as P1 incident\",\n \"conditions\": [{\n \"expression\": \"event.severity matches 'critical'\",\n }],\n \"actions\": {\n \"annotate\": \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n \"priority\": p1.id,\n \"incident_custom_field_updates\": [{\n \"id\": cs_impact.id,\n \"value\": \"High Impact\",\n }],\n },\n },\n {\n \"label\": \"If any of the API apps are unavailable, page the SRE team\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n }],\n \"actions\": {\n \"escalation_policy\": sre_esc_policy.id,\n },\n },\n {\n \"label\": \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n \"conditions\": [{\n \"expression\": \"event.custom_details.hostname matches part 'canary'\",\n }],\n \"actions\": {\n \"automation_action\": {\n \"name\": \"Canary Slack Notification\",\n \"url\": \"https://our-slack-listerner.test/canary-notification\",\n \"auto_send\": True,\n \"parameters\": [\n {\n \"key\": \"channel\",\n \"value\": \"#my-team-channel\",\n },\n {\n \"key\": \"message\",\n \"value\": \"something is wrong with the canary deployment\",\n },\n ],\n \"headers\": [{\n \"key\": \"X-Notification-Source\",\n \"value\": \"PagerDuty Incident Webhook\",\n }],\n },\n },\n },\n {\n \"label\": \"Never bother the on-call for info-level events outside of work hours\",\n \"conditions\": [{\n \"expression\": \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n }],\n \"actions\": {\n \"suppress\": True,\n },\n },\n ],\n },\n ],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var engineering = new Pagerduty.Team(\"engineering\", new()\n {\n Name = \"Engineering\",\n });\n\n var example = new Pagerduty.User(\"example\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n });\n\n var foo = new Pagerduty.TeamMembership(\"foo\", new()\n {\n UserId = example.Id,\n TeamId = engineering.Id,\n Role = \"manager\",\n });\n\n var exampleEscalationPolicy = new Pagerduty.EscalationPolicy(\"example\", new()\n {\n Name = \"Engineering Escalation Policy\",\n NumLoops = 2,\n Rules = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleArgs\n {\n EscalationDelayInMinutes = 10,\n Targets = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs\n {\n Type = \"user_reference\",\n Id = example.Id,\n },\n },\n },\n },\n });\n\n var exampleService = new Pagerduty.Service(\"example\", new()\n {\n Name = \"My Web App\",\n AutoResolveTimeout = \"14400\",\n AcknowledgementTimeout = \"600\",\n EscalationPolicy = exampleEscalationPolicy.Id,\n AlertCreation = \"create_alerts_and_incidents\",\n });\n\n var csImpact = new Pagerduty.IncidentCustomField(\"cs_impact\", new()\n {\n Name = \"impact\",\n DataType = \"string\",\n FieldType = \"single_value\",\n });\n\n var p1 = Pagerduty.GetPriority.Invoke(new()\n {\n Name = \"P1\",\n });\n\n var sreEscPolicy = Pagerduty.GetEscalationPolicy.Invoke(new()\n {\n Name = \"SRE Escalation Policy\",\n });\n\n var www = new Pagerduty.EventOrchestrationService(\"www\", new()\n {\n Service = exampleService.Id,\n EnableEventOrchestrationForService = true,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Always apply some consistent event transformations to all events\",\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Variables = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsVariableArgs\n {\n Name = \"hostname\",\n Path = \"event.component\",\n Value = \"hostname: (.*)\",\n Type = \"regex\",\n },\n },\n Extractions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs\n {\n Template = \"{{variables.hostname}}\",\n Target = \"event.custom_details.hostname\",\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsExtractionArgs\n {\n Source = \"event.source\",\n Regex = \"www (.*) service\",\n Target = \"event.source\",\n },\n },\n RouteTo = \"step-two\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"step-two\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"All critical alerts should be treated as P1 incident\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.severity matches 'critical'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Annotate = \"Please use our P1 runbook: https://docs.test/p1-runbook\",\n Priority = p1.Apply(getPriorityResult =\u003e getPriorityResult.Id),\n IncidentCustomFieldUpdates = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs\n {\n Id = csImpact.Id,\n Value = \"High Impact\",\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"If any of the API apps are unavailable, page the SRE team\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n EscalationPolicy = sreEscPolicy.Apply(getEscalationPolicyResult =\u003e getEscalationPolicyResult.Id),\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"If there's something wrong on the canary let the team know about it in our deployments Slack channel\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.custom_details.hostname matches part 'canary'\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n AutomationAction = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionArgs\n {\n Name = \"Canary Slack Notification\",\n Url = \"https://our-slack-listerner.test/canary-notification\",\n AutoSend = true,\n Parameters = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs\n {\n Key = \"channel\",\n Value = \"#my-team-channel\",\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs\n {\n Key = \"message\",\n Value = \"something is wrong with the canary deployment\",\n },\n },\n Headers = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs\n {\n Key = \"X-Notification-Source\",\n Value = \"PagerDuty Incident Webhook\",\n },\n },\n },\n },\n },\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Never bother the on-call for info-level events outside of work hours\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Suppress = true,\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tengineering, err := pagerduty.NewTeam(ctx, \"engineering\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Engineering\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := pagerduty.NewUser(ctx, \"example\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewTeamMembership(ctx, \"foo\", \u0026pagerduty.TeamMembershipArgs{\n\t\t\tUserId: example.ID(),\n\t\t\tTeamId: engineering.ID(),\n\t\t\tRole: pulumi.String(\"manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEscalationPolicy, err := pagerduty.NewEscalationPolicy(ctx, \"example\", \u0026pagerduty.EscalationPolicyArgs{\n\t\t\tName: pulumi.String(\"Engineering Escalation Policy\"),\n\t\t\tNumLoops: pulumi.Int(2),\n\t\t\tRules: pagerduty.EscalationPolicyRuleArray{\n\t\t\t\t\u0026pagerduty.EscalationPolicyRuleArgs{\n\t\t\t\t\tEscalationDelayInMinutes: pulumi.Int(10),\n\t\t\t\t\tTargets: pagerduty.EscalationPolicyRuleTargetArray{\n\t\t\t\t\t\t\u0026pagerduty.EscalationPolicyRuleTargetArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"user_reference\"),\n\t\t\t\t\t\t\tId: example.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleService, err := pagerduty.NewService(ctx, \"example\", \u0026pagerduty.ServiceArgs{\n\t\t\tName: pulumi.String(\"My Web App\"),\n\t\t\tAutoResolveTimeout: pulumi.String(\"14400\"),\n\t\t\tAcknowledgementTimeout: pulumi.String(\"600\"),\n\t\t\tEscalationPolicy: exampleEscalationPolicy.ID(),\n\t\t\tAlertCreation: pulumi.String(\"create_alerts_and_incidents\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcsImpact, err := pagerduty.NewIncidentCustomField(ctx, \"cs_impact\", \u0026pagerduty.IncidentCustomFieldArgs{\n\t\t\tName: pulumi.String(\"impact\"),\n\t\t\tDataType: pulumi.String(\"string\"),\n\t\t\tFieldType: pulumi.String(\"single_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tp1, err := pagerduty.GetPriority(ctx, \u0026pagerduty.GetPriorityArgs{\n\t\t\tName: \"P1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsreEscPolicy, err := pagerduty.LookupEscalationPolicy(ctx, \u0026pagerduty.LookupEscalationPolicyArgs{\n\t\t\tName: \"SRE Escalation Policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationService(ctx, \"www\", \u0026pagerduty.EventOrchestrationServiceArgs{\n\t\t\tService: exampleService.ID(),\n\t\t\tEnableEventOrchestrationForService: pulumi.Bool(true),\n\t\t\tSets: pagerduty.EventOrchestrationServiceSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Always apply some consistent event transformations to all events\"),\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tVariables: pagerduty.EventOrchestrationServiceSetRuleActionsVariableArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsVariableArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"hostname\"),\n\t\t\t\t\t\t\t\t\t\tPath: pulumi.String(\"event.component\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"hostname: (.*)\"),\n\t\t\t\t\t\t\t\t\t\tType: pulumi.String(\"regex\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tExtractions: pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{\n\t\t\t\t\t\t\t\t\t\tTemplate: pulumi.String(\"{{variables.hostname}}\"),\n\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"event.custom_details.hostname\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsExtractionArgs{\n\t\t\t\t\t\t\t\t\t\tSource: pulumi.String(\"event.source\"),\n\t\t\t\t\t\t\t\t\t\tRegex: pulumi.String(\"www (.*) service\"),\n\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"event.source\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tRouteTo: pulumi.String(\"step-two\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"step-two\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"All critical alerts should be treated as P1 incident\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.severity matches 'critical'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAnnotate: pulumi.String(\"Please use our P1 runbook: https://docs.test/p1-runbook\"),\n\t\t\t\t\t\t\t\tPriority: pulumi.String(p1.Id),\n\t\t\t\t\t\t\t\tIncidentCustomFieldUpdates: pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArray{\n\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs{\n\t\t\t\t\t\t\t\t\t\tId: csImpact.ID(),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"High Impact\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If any of the API apps are unavailable, page the SRE team\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tEscalationPolicy: pulumi.String(sreEscPolicy.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"If there's something wrong on the canary let the team know about it in our deployments Slack channel\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"event.custom_details.hostname matches part 'canary'\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tAutomationAction: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Canary Slack Notification\"),\n\t\t\t\t\t\t\t\t\tUrl: pulumi.String(\"https://our-slack-listerner.test/canary-notification\"),\n\t\t\t\t\t\t\t\t\tAutoSend: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\tParameters: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"channel\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"#my-team-channel\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"message\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"something is wrong with the canary deployment\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tHeaders: pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArray{\n\t\t\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"X-Notification-Source\"),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"PagerDuty Incident Webhook\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Never bother the on-call for info-level events outside of work hours\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: 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)\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSuppress: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationServiceCatchAllArgs{\n\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceCatchAllActionsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.TeamMembership;\nimport com.pulumi.pagerduty.TeamMembershipArgs;\nimport com.pulumi.pagerduty.EscalationPolicy;\nimport com.pulumi.pagerduty.EscalationPolicyArgs;\nimport com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;\nimport com.pulumi.pagerduty.Service;\nimport com.pulumi.pagerduty.ServiceArgs;\nimport com.pulumi.pagerduty.IncidentCustomField;\nimport com.pulumi.pagerduty.IncidentCustomFieldArgs;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetPriorityArgs;\nimport com.pulumi.pagerduty.inputs.GetEscalationPolicyArgs;\nimport com.pulumi.pagerduty.EventOrchestrationService;\nimport com.pulumi.pagerduty.EventOrchestrationServiceArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var engineering = new Team(\"engineering\", TeamArgs.builder()\n .name(\"Engineering\")\n .build());\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .build());\n\n var foo = new TeamMembership(\"foo\", TeamMembershipArgs.builder()\n .userId(example.id())\n .teamId(engineering.id())\n .role(\"manager\")\n .build());\n\n var exampleEscalationPolicy = new EscalationPolicy(\"exampleEscalationPolicy\", EscalationPolicyArgs.builder()\n .name(\"Engineering Escalation Policy\")\n .numLoops(2)\n .rules(EscalationPolicyRuleArgs.builder()\n .escalationDelayInMinutes(10)\n .targets(EscalationPolicyRuleTargetArgs.builder()\n .type(\"user_reference\")\n .id(example.id())\n .build())\n .build())\n .build());\n\n var exampleService = new Service(\"exampleService\", ServiceArgs.builder()\n .name(\"My Web App\")\n .autoResolveTimeout(14400)\n .acknowledgementTimeout(600)\n .escalationPolicy(exampleEscalationPolicy.id())\n .alertCreation(\"create_alerts_and_incidents\")\n .build());\n\n var csImpact = new IncidentCustomField(\"csImpact\", IncidentCustomFieldArgs.builder()\n .name(\"impact\")\n .dataType(\"string\")\n .fieldType(\"single_value\")\n .build());\n\n final var p1 = PagerdutyFunctions.getPriority(GetPriorityArgs.builder()\n .name(\"P1\")\n .build());\n\n final var sreEscPolicy = PagerdutyFunctions.getEscalationPolicy(GetEscalationPolicyArgs.builder()\n .name(\"SRE Escalation Policy\")\n .build());\n\n var www = new EventOrchestrationService(\"www\", EventOrchestrationServiceArgs.builder()\n .service(exampleService.id())\n .enableEventOrchestrationForService(true)\n .sets( \n EventOrchestrationServiceSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Always apply some consistent event transformations to all events\")\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .variables(EventOrchestrationServiceSetRuleActionsVariableArgs.builder()\n .name(\"hostname\")\n .path(\"event.component\")\n .value(\"hostname: (.*)\")\n .type(\"regex\")\n .build())\n .extractions( \n EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()\n .template(\"{{variables.hostname}}\")\n .target(\"event.custom_details.hostname\")\n .build(),\n EventOrchestrationServiceSetRuleActionsExtractionArgs.builder()\n .source(\"event.source\")\n .regex(\"www (.*) service\")\n .target(\"event.source\")\n .build())\n .routeTo(\"step-two\")\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetArgs.builder()\n .id(\"step-two\")\n .rules( \n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"All critical alerts should be treated as P1 incident\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.severity matches 'critical'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .annotate(\"Please use our P1 runbook: https://docs.test/p1-runbook\")\n .priority(p1.applyValue(getPriorityResult -\u003e getPriorityResult.id()))\n .incidentCustomFieldUpdates(EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs.builder()\n .id(csImpact.id())\n .value(\"High Impact\")\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"If any of the API apps are unavailable, page the SRE team\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .escalationPolicy(sreEscPolicy.applyValue(getEscalationPolicyResult -\u003e getEscalationPolicyResult.id()))\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"If there's something wrong on the canary let the team know about it in our deployments Slack channel\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.custom_details.hostname matches part 'canary'\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .automationAction(EventOrchestrationServiceSetRuleActionsAutomationActionArgs.builder()\n .name(\"Canary Slack Notification\")\n .url(\"https://our-slack-listerner.test/canary-notification\")\n .autoSend(true)\n .parameters( \n EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()\n .key(\"channel\")\n .value(\"#my-team-channel\")\n .build(),\n EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs.builder()\n .key(\"message\")\n .value(\"something is wrong with the canary deployment\")\n .build())\n .headers(EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs.builder()\n .key(\"X-Notification-Source\")\n .value(\"PagerDuty Incident Webhook\")\n .build())\n .build())\n .build())\n .build(),\n EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Never bother the on-call for info-level events outside of work hours\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .suppress(true)\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationServiceCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n engineering:\n type: pagerduty:Team\n properties:\n name: Engineering\n example:\n type: pagerduty:User\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n foo:\n type: pagerduty:TeamMembership\n properties:\n userId: ${example.id}\n teamId: ${engineering.id}\n role: manager\n exampleEscalationPolicy:\n type: pagerduty:EscalationPolicy\n name: example\n properties:\n name: Engineering Escalation Policy\n numLoops: 2\n rules:\n - escalationDelayInMinutes: 10\n targets:\n - type: user_reference\n id: ${example.id}\n exampleService:\n type: pagerduty:Service\n name: example\n properties:\n name: My Web App\n autoResolveTimeout: 14400\n acknowledgementTimeout: 600\n escalationPolicy: ${exampleEscalationPolicy.id}\n alertCreation: create_alerts_and_incidents\n csImpact:\n type: pagerduty:IncidentCustomField\n name: cs_impact\n properties:\n name: impact\n dataType: string\n fieldType: single_value\n www:\n type: pagerduty:EventOrchestrationService\n properties:\n service: ${exampleService.id}\n enableEventOrchestrationForService: true\n sets:\n - id: start\n rules:\n - label: Always apply some consistent event transformations to all events\n actions:\n variables:\n - name: hostname\n path: event.component\n value: 'hostname: (.*)'\n type: regex\n extractions:\n - template: '{{variables.hostname}}'\n target: event.custom_details.hostname\n - source: event.source\n regex: www (.*) service\n target: event.source\n routeTo: step-two\n - id: step-two\n rules:\n - label: All critical alerts should be treated as P1 incident\n conditions:\n - expression: event.severity matches 'critical'\n actions:\n annotate: 'Please use our P1 runbook: https://docs.test/p1-runbook'\n priority: ${p1.id}\n incidentCustomFieldUpdates:\n - id: ${csImpact.id}\n value: High Impact\n - label: If any of the API apps are unavailable, page the SRE team\n conditions:\n - expression: event.custom_details.service_name matches part '-api' and event.custom_details.status_code matches '502'\n actions:\n escalationPolicy: ${sreEscPolicy.id}\n - label: If there's something wrong on the canary let the team know about it in our deployments Slack channel\n conditions:\n - expression: event.custom_details.hostname matches part 'canary'\n actions:\n automationAction:\n name: Canary Slack Notification\n url: https://our-slack-listerner.test/canary-notification\n autoSend: true\n parameters:\n - key: channel\n value: '#my-team-channel'\n - key: message\n value: something is wrong with the canary deployment\n headers:\n - key: X-Notification-Source\n value: PagerDuty Incident Webhook\n - label: Never bother the on-call for info-level events outside of work hours\n conditions:\n - expression: event.severity matches 'info' and not (now in Mon,Tue,Wed,Thu,Fri 09:00:00 to 17:00:00 America/Los_Angeles)\n actions:\n suppress: true\n catchAll:\n actions: {}\nvariables:\n p1:\n fn::invoke:\n Function: pagerduty:getPriority\n Arguments:\n name: P1\n sreEscPolicy:\n fn::invoke:\n Function: pagerduty:getEscalationPolicy\n Arguments:\n name: SRE Escalation Policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Orchestration can be imported using the `id` of the Service, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationService:EventOrchestrationService service PFEODA7\n```\n", "properties": { "catchAll": { "$ref": "#/types/pagerduty:index/EventOrchestrationServiceCatchAll:EventOrchestrationServiceCatchAll", @@ -5186,7 +5186,7 @@ } }, "pagerduty:index/eventOrchestrationServiceCacheVariable:EventOrchestrationServiceCacheVariable": { - "description": "A [Cache Variable](https://support.pagerduty.com/docs/event-orchestration-variables) can be created on a Service Event Orchestration, in order to temporarily store event data to be referenced later within the Service Event Orchestration\n\n## Example of configuring a Cache Variable for a Service Event Orchestration\n\nThis example shows creating a service `Event Orchestration` and a `Cache Variable`. This Cache Variable will count and store the number of trigger events with 'database' in its title. Then all alerts sent to this Event Orchestration will have its severity upped to 'critical' if the count has reached at least 5 triggers within the last 1 minute.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst user1 = new pagerduty.User(\"user_1\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n teams: [databaseTeam.id],\n});\nconst dbEp = new pagerduty.EscalationPolicy(\"db_ep\", {\n name: \"Database Escalation Policy\",\n numLoops: 2,\n rules: [{\n escalationDelayInMinutes: 10,\n targets: [{\n type: \"user\",\n id: user1.id,\n }],\n }],\n});\nconst svc = new pagerduty.Service(\"svc\", {\n name: \"My Database Service\",\n autoResolveTimeout: \"14400\",\n acknowledgementTimeout: \"600\",\n escalationPolicy: dbEp.id,\n alertCreation: \"create_alerts_and_incidents\",\n});\nconst numDbTriggers = new pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\", {\n service: svc.id,\n name: \"num_db_triggers\",\n conditions: [{\n expression: \"event.summary matches part 'database'\",\n }],\n configuration: {\n type: \"trigger_event_count\",\n ttlSeconds: 60,\n },\n});\nconst eventOrchestration = new pagerduty.EventOrchestrationService(\"event_orchestration\", {\n service: svc.id,\n enableEventOrchestrationForService: true,\n sets: [{\n id: \"start\",\n rules: [{\n label: \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n conditions: [{\n expression: \"cache_var.num_db_triggers \u003e= 5\",\n }],\n actions: {\n severity: \"critical\",\n },\n }],\n }],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nuser1 = pagerduty.User(\"user_1\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\",\n teams=[database_team.id])\ndb_ep = pagerduty.EscalationPolicy(\"db_ep\",\n name=\"Database Escalation Policy\",\n num_loops=2,\n rules=[{\n \"escalation_delay_in_minutes\": 10,\n \"targets\": [{\n \"type\": \"user\",\n \"id\": user1.id,\n }],\n }])\nsvc = pagerduty.Service(\"svc\",\n name=\"My Database Service\",\n auto_resolve_timeout=\"14400\",\n acknowledgement_timeout=\"600\",\n escalation_policy=db_ep.id,\n alert_creation=\"create_alerts_and_incidents\")\nnum_db_triggers = pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\",\n service=svc.id,\n name=\"num_db_triggers\",\n conditions=[{\n \"expression\": \"event.summary matches part 'database'\",\n }],\n configuration={\n \"type\": \"trigger_event_count\",\n \"ttl_seconds\": 60,\n })\nevent_orchestration = pagerduty.EventOrchestrationService(\"event_orchestration\",\n service=svc.id,\n enable_event_orchestration_for_service=True,\n sets=[{\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n \"conditions\": [{\n \"expression\": \"cache_var.num_db_triggers \u003e= 5\",\n }],\n \"actions\": {\n \"severity\": \"critical\",\n },\n }],\n }],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var user1 = new Pagerduty.User(\"user_1\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n Teams = new[]\n {\n databaseTeam.Id,\n },\n });\n\n var dbEp = new Pagerduty.EscalationPolicy(\"db_ep\", new()\n {\n Name = \"Database Escalation Policy\",\n NumLoops = 2,\n Rules = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleArgs\n {\n EscalationDelayInMinutes = 10,\n Targets = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs\n {\n Type = \"user\",\n Id = user1.Id,\n },\n },\n },\n },\n });\n\n var svc = new Pagerduty.Service(\"svc\", new()\n {\n Name = \"My Database Service\",\n AutoResolveTimeout = \"14400\",\n AcknowledgementTimeout = \"600\",\n EscalationPolicy = dbEp.Id,\n AlertCreation = \"create_alerts_and_incidents\",\n });\n\n var numDbTriggers = new Pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\", new()\n {\n Service = svc.Id,\n Name = \"num_db_triggers\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceCacheVariableConditionArgs\n {\n Expression = \"event.summary matches part 'database'\",\n },\n },\n Configuration = new Pagerduty.Inputs.EventOrchestrationServiceCacheVariableConfigurationArgs\n {\n Type = \"trigger_event_count\",\n TtlSeconds = 60,\n },\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestrationService(\"event_orchestration\", new()\n {\n Service = svc.Id,\n EnableEventOrchestrationForService = true,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"cache_var.num_db_triggers \u003e= 5\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Severity = \"critical\",\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser1, err := pagerduty.NewUser(ctx, \"user_1\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t\tTeams: pulumi.StringArray{\n\t\t\t\tdatabaseTeam.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdbEp, err := pagerduty.NewEscalationPolicy(ctx, \"db_ep\", \u0026pagerduty.EscalationPolicyArgs{\n\t\t\tName: pulumi.String(\"Database Escalation Policy\"),\n\t\t\tNumLoops: pulumi.Int(2),\n\t\t\tRules: pagerduty.EscalationPolicyRuleArray{\n\t\t\t\t\u0026pagerduty.EscalationPolicyRuleArgs{\n\t\t\t\t\tEscalationDelayInMinutes: pulumi.Int(10),\n\t\t\t\t\tTargets: pagerduty.EscalationPolicyRuleTargetArray{\n\t\t\t\t\t\t\u0026pagerduty.EscalationPolicyRuleTargetArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"user\"),\n\t\t\t\t\t\t\tId: user1.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsvc, err := pagerduty.NewService(ctx, \"svc\", \u0026pagerduty.ServiceArgs{\n\t\t\tName: pulumi.String(\"My Database Service\"),\n\t\t\tAutoResolveTimeout: pulumi.String(\"14400\"),\n\t\t\tAcknowledgementTimeout: pulumi.String(\"600\"),\n\t\t\tEscalationPolicy: dbEp.ID(),\n\t\t\tAlertCreation: pulumi.String(\"create_alerts_and_incidents\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationServiceCacheVariable(ctx, \"num_db_triggers\", \u0026pagerduty.EventOrchestrationServiceCacheVariableArgs{\n\t\t\tService: svc.ID(),\n\t\t\tName: pulumi.String(\"num_db_triggers\"),\n\t\t\tConditions: pagerduty.EventOrchestrationServiceCacheVariableConditionArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceCacheVariableConditionArgs{\n\t\t\t\t\tExpression: pulumi.String(\"event.summary matches part 'database'\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: \u0026pagerduty.EventOrchestrationServiceCacheVariableConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"trigger_event_count\"),\n\t\t\t\tTtlSeconds: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationService(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationServiceArgs{\n\t\t\tService: svc.ID(),\n\t\t\tEnableEventOrchestrationForService: pulumi.Bool(true),\n\t\t\tSets: pagerduty.EventOrchestrationServiceSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"cache_var.num_db_triggers \u003e= 5\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSeverity: pulumi.String(\"critical\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationServiceCatchAllArgs{\n\t\t\t\tActions: nil,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.EscalationPolicy;\nimport com.pulumi.pagerduty.EscalationPolicyArgs;\nimport com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;\nimport com.pulumi.pagerduty.Service;\nimport com.pulumi.pagerduty.ServiceArgs;\nimport com.pulumi.pagerduty.EventOrchestrationServiceCacheVariable;\nimport com.pulumi.pagerduty.EventOrchestrationServiceCacheVariableArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCacheVariableConditionArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCacheVariableConfigurationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationService;\nimport com.pulumi.pagerduty.EventOrchestrationServiceArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var user1 = new User(\"user1\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .teams(databaseTeam.id())\n .build());\n\n var dbEp = new EscalationPolicy(\"dbEp\", EscalationPolicyArgs.builder()\n .name(\"Database Escalation Policy\")\n .numLoops(2)\n .rules(EscalationPolicyRuleArgs.builder()\n .escalationDelayInMinutes(10)\n .targets(EscalationPolicyRuleTargetArgs.builder()\n .type(\"user\")\n .id(user1.id())\n .build())\n .build())\n .build());\n\n var svc = new Service(\"svc\", ServiceArgs.builder()\n .name(\"My Database Service\")\n .autoResolveTimeout(14400)\n .acknowledgementTimeout(600)\n .escalationPolicy(dbEp.id())\n .alertCreation(\"create_alerts_and_incidents\")\n .build());\n\n var numDbTriggers = new EventOrchestrationServiceCacheVariable(\"numDbTriggers\", EventOrchestrationServiceCacheVariableArgs.builder()\n .service(svc.id())\n .name(\"num_db_triggers\")\n .conditions(EventOrchestrationServiceCacheVariableConditionArgs.builder()\n .expression(\"event.summary matches part 'database'\")\n .build())\n .configuration(EventOrchestrationServiceCacheVariableConfigurationArgs.builder()\n .type(\"trigger_event_count\")\n .ttlSeconds(60)\n .build())\n .build());\n\n var eventOrchestration = new EventOrchestrationService(\"eventOrchestration\", EventOrchestrationServiceArgs.builder()\n .service(svc.id())\n .enableEventOrchestrationForService(true)\n .sets(EventOrchestrationServiceSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"cache_var.num_db_triggers \u003e= 5\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .severity(\"critical\")\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationServiceCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n user1:\n type: pagerduty:User\n name: user_1\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n teams:\n - ${databaseTeam.id}\n dbEp:\n type: pagerduty:EscalationPolicy\n name: db_ep\n properties:\n name: Database Escalation Policy\n numLoops: 2\n rules:\n - escalationDelayInMinutes: 10\n targets:\n - type: user\n id: ${user1.id}\n svc:\n type: pagerduty:Service\n properties:\n name: My Database Service\n autoResolveTimeout: 14400\n acknowledgementTimeout: 600\n escalationPolicy: ${dbEp.id}\n alertCreation: create_alerts_and_incidents\n numDbTriggers:\n type: pagerduty:EventOrchestrationServiceCacheVariable\n name: num_db_triggers\n properties:\n service: ${svc.id}\n name: num_db_triggers\n conditions:\n - expression: event.summary matches part 'database'\n configuration:\n type: trigger_event_count\n ttlSeconds: 60\n eventOrchestration:\n type: pagerduty:EventOrchestrationService\n name: event_orchestration\n properties:\n service: ${svc.id}\n enableEventOrchestrationForService: true\n sets:\n - id: start\n rules:\n - label: Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\n conditions:\n - expression: cache_var.num_db_triggers \u003e= 5\n actions:\n severity: critical\n catchAll:\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCache Variables can be imported using colon-separated IDs, which is the combination of the Service Event Orchestration ID followed by the Cache Variable ID, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationServiceCacheVariable:EventOrchestrationServiceCacheVariable cache_variable PLBP09X:138ed254-3444-44ad-8cc7-701d69def439\n```\n", + "description": "A [Cache Variable](https://support.pagerduty.com/docs/event-orchestration-variables) can be created on a Service Event Orchestration, in order to temporarily store event data to be referenced later within the Service Event Orchestration\n\n## Example of configuring a Cache Variable for a Service Event Orchestration\n\nThis example shows creating a service `Event Orchestration` and a `Cache Variable`. This Cache Variable will count and store the number of trigger events with 'database' in its title. Then all alerts sent to this Event Orchestration will have its severity upped to 'critical' if the count has reached at least 5 triggers within the last 1 minute.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst databaseTeam = new pagerduty.Team(\"database_team\", {name: \"Database Team\"});\nconst user1 = new pagerduty.User(\"user_1\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n teams: [databaseTeam.id],\n});\nconst dbEp = new pagerduty.EscalationPolicy(\"db_ep\", {\n name: \"Database Escalation Policy\",\n numLoops: 2,\n rules: [{\n escalationDelayInMinutes: 10,\n targets: [{\n type: \"user\",\n id: user1.id,\n }],\n }],\n});\nconst svc = new pagerduty.Service(\"svc\", {\n name: \"My Database Service\",\n autoResolveTimeout: \"14400\",\n acknowledgementTimeout: \"600\",\n escalationPolicy: dbEp.id,\n alertCreation: \"create_alerts_and_incidents\",\n});\nconst numDbTriggers = new pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\", {\n service: svc.id,\n name: \"num_db_triggers\",\n conditions: [{\n expression: \"event.summary matches part 'database'\",\n }],\n configuration: {\n type: \"trigger_event_count\",\n ttlSeconds: 60,\n },\n});\nconst eventOrchestration = new pagerduty.EventOrchestrationService(\"event_orchestration\", {\n service: svc.id,\n enableEventOrchestrationForService: true,\n sets: [{\n id: \"start\",\n rules: [{\n label: \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n conditions: [{\n expression: \"cache_var.num_db_triggers \u003e= 5\",\n }],\n actions: {\n severity: \"critical\",\n },\n }],\n }],\n catchAll: {\n actions: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndatabase_team = pagerduty.Team(\"database_team\", name=\"Database Team\")\nuser1 = pagerduty.User(\"user_1\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\",\n teams=[database_team.id])\ndb_ep = pagerduty.EscalationPolicy(\"db_ep\",\n name=\"Database Escalation Policy\",\n num_loops=2,\n rules=[{\n \"escalation_delay_in_minutes\": 10,\n \"targets\": [{\n \"type\": \"user\",\n \"id\": user1.id,\n }],\n }])\nsvc = pagerduty.Service(\"svc\",\n name=\"My Database Service\",\n auto_resolve_timeout=\"14400\",\n acknowledgement_timeout=\"600\",\n escalation_policy=db_ep.id,\n alert_creation=\"create_alerts_and_incidents\")\nnum_db_triggers = pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\",\n service=svc.id,\n name=\"num_db_triggers\",\n conditions=[{\n \"expression\": \"event.summary matches part 'database'\",\n }],\n configuration={\n \"type\": \"trigger_event_count\",\n \"ttl_seconds\": 60,\n })\nevent_orchestration = pagerduty.EventOrchestrationService(\"event_orchestration\",\n service=svc.id,\n enable_event_orchestration_for_service=True,\n sets=[{\n \"id\": \"start\",\n \"rules\": [{\n \"label\": \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n \"conditions\": [{\n \"expression\": \"cache_var.num_db_triggers \u003e= 5\",\n }],\n \"actions\": {\n \"severity\": \"critical\",\n },\n }],\n }],\n catch_all={\n \"actions\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var databaseTeam = new Pagerduty.Team(\"database_team\", new()\n {\n Name = \"Database Team\",\n });\n\n var user1 = new Pagerduty.User(\"user_1\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n Teams = new[]\n {\n databaseTeam.Id,\n },\n });\n\n var dbEp = new Pagerduty.EscalationPolicy(\"db_ep\", new()\n {\n Name = \"Database Escalation Policy\",\n NumLoops = 2,\n Rules = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleArgs\n {\n EscalationDelayInMinutes = 10,\n Targets = new[]\n {\n new Pagerduty.Inputs.EscalationPolicyRuleTargetArgs\n {\n Type = \"user\",\n Id = user1.Id,\n },\n },\n },\n },\n });\n\n var svc = new Pagerduty.Service(\"svc\", new()\n {\n Name = \"My Database Service\",\n AutoResolveTimeout = \"14400\",\n AcknowledgementTimeout = \"600\",\n EscalationPolicy = dbEp.Id,\n AlertCreation = \"create_alerts_and_incidents\",\n });\n\n var numDbTriggers = new Pagerduty.EventOrchestrationServiceCacheVariable(\"num_db_triggers\", new()\n {\n Service = svc.Id,\n Name = \"num_db_triggers\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceCacheVariableConditionArgs\n {\n Expression = \"event.summary matches part 'database'\",\n },\n },\n Configuration = new Pagerduty.Inputs.EventOrchestrationServiceCacheVariableConfigurationArgs\n {\n Type = \"trigger_event_count\",\n TtlSeconds = 60,\n },\n });\n\n var eventOrchestration = new Pagerduty.EventOrchestrationService(\"event_orchestration\", new()\n {\n Service = svc.Id,\n EnableEventOrchestrationForService = true,\n Sets = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetArgs\n {\n Id = \"start\",\n Rules = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleArgs\n {\n Label = \"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\",\n Conditions = new[]\n {\n new Pagerduty.Inputs.EventOrchestrationServiceSetRuleConditionArgs\n {\n Expression = \"cache_var.num_db_triggers \u003e= 5\",\n },\n },\n Actions = new Pagerduty.Inputs.EventOrchestrationServiceSetRuleActionsArgs\n {\n Severity = \"critical\",\n },\n },\n },\n },\n },\n CatchAll = new Pagerduty.Inputs.EventOrchestrationServiceCatchAllArgs\n {\n Actions = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatabaseTeam, err := pagerduty.NewTeam(ctx, \"database_team\", \u0026pagerduty.TeamArgs{\n\t\t\tName: pulumi.String(\"Database Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser1, err := pagerduty.NewUser(ctx, \"user_1\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t\tTeams: pulumi.StringArray{\n\t\t\t\tdatabaseTeam.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdbEp, err := pagerduty.NewEscalationPolicy(ctx, \"db_ep\", \u0026pagerduty.EscalationPolicyArgs{\n\t\t\tName: pulumi.String(\"Database Escalation Policy\"),\n\t\t\tNumLoops: pulumi.Int(2),\n\t\t\tRules: pagerduty.EscalationPolicyRuleArray{\n\t\t\t\t\u0026pagerduty.EscalationPolicyRuleArgs{\n\t\t\t\t\tEscalationDelayInMinutes: pulumi.Int(10),\n\t\t\t\t\tTargets: pagerduty.EscalationPolicyRuleTargetArray{\n\t\t\t\t\t\t\u0026pagerduty.EscalationPolicyRuleTargetArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"user\"),\n\t\t\t\t\t\t\tId: user1.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsvc, err := pagerduty.NewService(ctx, \"svc\", \u0026pagerduty.ServiceArgs{\n\t\t\tName: pulumi.String(\"My Database Service\"),\n\t\t\tAutoResolveTimeout: pulumi.String(\"14400\"),\n\t\t\tAcknowledgementTimeout: pulumi.String(\"600\"),\n\t\t\tEscalationPolicy: dbEp.ID(),\n\t\t\tAlertCreation: pulumi.String(\"create_alerts_and_incidents\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationServiceCacheVariable(ctx, \"num_db_triggers\", \u0026pagerduty.EventOrchestrationServiceCacheVariableArgs{\n\t\t\tService: svc.ID(),\n\t\t\tName: pulumi.String(\"num_db_triggers\"),\n\t\t\tConditions: pagerduty.EventOrchestrationServiceCacheVariableConditionArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceCacheVariableConditionArgs{\n\t\t\t\t\tExpression: pulumi.String(\"event.summary matches part 'database'\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: \u0026pagerduty.EventOrchestrationServiceCacheVariableConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"trigger_event_count\"),\n\t\t\t\tTtlSeconds: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewEventOrchestrationService(ctx, \"event_orchestration\", \u0026pagerduty.EventOrchestrationServiceArgs{\n\t\t\tService: svc.ID(),\n\t\t\tEnableEventOrchestrationForService: pulumi.Bool(true),\n\t\t\tSets: pagerduty.EventOrchestrationServiceSetArray{\n\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetArgs{\n\t\t\t\t\tId: pulumi.String(\"start\"),\n\t\t\t\t\tRules: pagerduty.EventOrchestrationServiceSetRuleArray{\n\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleArgs{\n\t\t\t\t\t\t\tLabel: pulumi.String(\"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\"),\n\t\t\t\t\t\t\tConditions: pagerduty.EventOrchestrationServiceSetRuleConditionArray{\n\t\t\t\t\t\t\t\t\u0026pagerduty.EventOrchestrationServiceSetRuleConditionArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"cache_var.num_db_triggers \u003e= 5\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceSetRuleActionsArgs{\n\t\t\t\t\t\t\t\tSeverity: pulumi.String(\"critical\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCatchAll: \u0026pagerduty.EventOrchestrationServiceCatchAllArgs{\n\t\t\t\tActions: \u0026pagerduty.EventOrchestrationServiceCatchAllActionsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.Team;\nimport com.pulumi.pagerduty.TeamArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.EscalationPolicy;\nimport com.pulumi.pagerduty.EscalationPolicyArgs;\nimport com.pulumi.pagerduty.inputs.EscalationPolicyRuleArgs;\nimport com.pulumi.pagerduty.Service;\nimport com.pulumi.pagerduty.ServiceArgs;\nimport com.pulumi.pagerduty.EventOrchestrationServiceCacheVariable;\nimport com.pulumi.pagerduty.EventOrchestrationServiceCacheVariableArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCacheVariableConditionArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCacheVariableConfigurationArgs;\nimport com.pulumi.pagerduty.EventOrchestrationService;\nimport com.pulumi.pagerduty.EventOrchestrationServiceArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceSetArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllArgs;\nimport com.pulumi.pagerduty.inputs.EventOrchestrationServiceCatchAllActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var databaseTeam = new Team(\"databaseTeam\", TeamArgs.builder()\n .name(\"Database Team\")\n .build());\n\n var user1 = new User(\"user1\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .teams(databaseTeam.id())\n .build());\n\n var dbEp = new EscalationPolicy(\"dbEp\", EscalationPolicyArgs.builder()\n .name(\"Database Escalation Policy\")\n .numLoops(2)\n .rules(EscalationPolicyRuleArgs.builder()\n .escalationDelayInMinutes(10)\n .targets(EscalationPolicyRuleTargetArgs.builder()\n .type(\"user\")\n .id(user1.id())\n .build())\n .build())\n .build());\n\n var svc = new Service(\"svc\", ServiceArgs.builder()\n .name(\"My Database Service\")\n .autoResolveTimeout(14400)\n .acknowledgementTimeout(600)\n .escalationPolicy(dbEp.id())\n .alertCreation(\"create_alerts_and_incidents\")\n .build());\n\n var numDbTriggers = new EventOrchestrationServiceCacheVariable(\"numDbTriggers\", EventOrchestrationServiceCacheVariableArgs.builder()\n .service(svc.id())\n .name(\"num_db_triggers\")\n .conditions(EventOrchestrationServiceCacheVariableConditionArgs.builder()\n .expression(\"event.summary matches part 'database'\")\n .build())\n .configuration(EventOrchestrationServiceCacheVariableConfigurationArgs.builder()\n .type(\"trigger_event_count\")\n .ttlSeconds(60)\n .build())\n .build());\n\n var eventOrchestration = new EventOrchestrationService(\"eventOrchestration\", EventOrchestrationServiceArgs.builder()\n .service(svc.id())\n .enableEventOrchestrationForService(true)\n .sets(EventOrchestrationServiceSetArgs.builder()\n .id(\"start\")\n .rules(EventOrchestrationServiceSetRuleArgs.builder()\n .label(\"Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\")\n .conditions(EventOrchestrationServiceSetRuleConditionArgs.builder()\n .expression(\"cache_var.num_db_triggers \u003e= 5\")\n .build())\n .actions(EventOrchestrationServiceSetRuleActionsArgs.builder()\n .severity(\"critical\")\n .build())\n .build())\n .build())\n .catchAll(EventOrchestrationServiceCatchAllArgs.builder()\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n databaseTeam:\n type: pagerduty:Team\n name: database_team\n properties:\n name: Database Team\n user1:\n type: pagerduty:User\n name: user_1\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n teams:\n - ${databaseTeam.id}\n dbEp:\n type: pagerduty:EscalationPolicy\n name: db_ep\n properties:\n name: Database Escalation Policy\n numLoops: 2\n rules:\n - escalationDelayInMinutes: 10\n targets:\n - type: user\n id: ${user1.id}\n svc:\n type: pagerduty:Service\n properties:\n name: My Database Service\n autoResolveTimeout: 14400\n acknowledgementTimeout: 600\n escalationPolicy: ${dbEp.id}\n alertCreation: create_alerts_and_incidents\n numDbTriggers:\n type: pagerduty:EventOrchestrationServiceCacheVariable\n name: num_db_triggers\n properties:\n service: ${svc.id}\n name: num_db_triggers\n conditions:\n - expression: event.summary matches part 'database'\n configuration:\n type: trigger_event_count\n ttlSeconds: 60\n eventOrchestration:\n type: pagerduty:EventOrchestrationService\n name: event_orchestration\n properties:\n service: ${svc.id}\n enableEventOrchestrationForService: true\n sets:\n - id: start\n rules:\n - label: Set severity to critical if we see at least 5 triggers on the DB within the last 1 minute\n conditions:\n - expression: cache_var.num_db_triggers \u003e= 5\n actions:\n severity: critical\n catchAll:\n actions: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCache Variables can be imported using colon-separated IDs, which is the combination of the Service Event Orchestration ID followed by the Cache Variable ID, e.g.\n\n```sh\n$ pulumi import pagerduty:index/eventOrchestrationServiceCacheVariable:EventOrchestrationServiceCacheVariable cache_variable PLBP09X:138ed254-3444-44ad-8cc7-701d69def439\n```\n", "properties": { "conditions": { "type": "array", @@ -8902,7 +8902,7 @@ } }, "pagerduty:index/getLicenses:getLicenses": { - "description": "Use this data source to get information about the purchased [licenses](https://developer.pagerduty.com/api-reference/4c10cb38f7381-list-licenses) that you can use for other managing PagerDuty user resources. To reference a unique license, see `pagerduty.getLicense` [data source](https://registry.terraform.io/providers/PagerDuty/pagerduty/latest/docs/data-sources/pagerduty_license). After applying changes to users' licenses, the `current_value` and `allocations_available` attributes of licenses will change.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst invalidRoles = [\"owner\"];\nconst licenses = pagerduty.getLicenses({});\nconst example = new pagerduty.User(\"example\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n license: licenses.then(licenses =\u003e licenses.licenses?.[0]?.id),\n role: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ninvalid_roles = [\"owner\"]\nlicenses = pagerduty.get_licenses()\nexample = pagerduty.User(\"example\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\",\n license=licenses.licenses[0].id,\n role=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var invalidRoles = new[]\n {\n \"owner\",\n };\n\n var licenses = Pagerduty.GetLicenses.Invoke();\n\n var example = new Pagerduty.User(\"example\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n License = licenses.Apply(getLicensesResult =\u003e getLicensesResult.Licenses[0]?.Id),\n Role = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_ := []string{\n\t\t\t\"owner\",\n\t\t}\n\t\tlicenses, err := pagerduty.GetLicenses(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewUser(ctx, \"example\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t\tLicense: pulumi.String(licenses.Licenses[0].Id),\n\t\t\tRole: pulumi.String(\"user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetLicensesArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var invalidRoles = \"owner\";\n\n final var licenses = PagerdutyFunctions.getLicenses();\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .license(licenses.applyValue(getLicensesResult -\u003e getLicensesResult.licenses()[0].id()))\n .role(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: pagerduty:User\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n license: ${licenses.licenses[0].id}\n role: user\nvariables:\n invalidRoles:\n - owner\n licenses:\n fn::invoke:\n Function: pagerduty:getLicenses\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about the purchased [licenses](https://developer.pagerduty.com/api-reference/4c10cb38f7381-list-licenses) that you can use for other managing PagerDuty user resources. To reference a unique license, see `pagerduty.getLicense` [data source](https://registry.terraform.io/providers/PagerDuty/pagerduty/latest/docs/data-sources/pagerduty_license). After applying changes to users' licenses, the `current_value` and `allocations_available` attributes of licenses will change.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst invalidRoles = [\"owner\"];\nconst licenses = pagerduty.getLicenses({});\nconst example = new pagerduty.User(\"example\", {\n name: \"Earline Greenholt\",\n email: \"125.greenholt.earline@graham.name\",\n license: licenses.then(licenses =\u003e licenses.licenses?.[0]?.id),\n role: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ninvalid_roles = [\"owner\"]\nlicenses = pagerduty.get_licenses()\nexample = pagerduty.User(\"example\",\n name=\"Earline Greenholt\",\n email=\"125.greenholt.earline@graham.name\",\n license=licenses.licenses[0].id,\n role=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var invalidRoles = new[]\n {\n \"owner\",\n };\n\n var licenses = Pagerduty.GetLicenses.Invoke();\n\n var example = new Pagerduty.User(\"example\", new()\n {\n Name = \"Earline Greenholt\",\n Email = \"125.greenholt.earline@graham.name\",\n License = licenses.Apply(getLicensesResult =\u003e getLicensesResult.Licenses[0]?.Id),\n Role = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_ := []string{\n\t\t\t\"owner\",\n\t\t}\n\t\tlicenses, err := pagerduty.GetLicenses(ctx, \u0026pagerduty.GetLicensesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewUser(ctx, \"example\", \u0026pagerduty.UserArgs{\n\t\t\tName: pulumi.String(\"Earline Greenholt\"),\n\t\t\tEmail: pulumi.String(\"125.greenholt.earline@graham.name\"),\n\t\t\tLicense: pulumi.String(licenses.Licenses[0].Id),\n\t\t\tRole: pulumi.String(\"user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetLicensesArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var invalidRoles = \"owner\";\n\n final var licenses = PagerdutyFunctions.getLicenses();\n\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Earline Greenholt\")\n .email(\"125.greenholt.earline@graham.name\")\n .license(licenses.applyValue(getLicensesResult -\u003e getLicensesResult.licenses()[0].id()))\n .role(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: pagerduty:User\n properties:\n name: Earline Greenholt\n email: 125.greenholt.earline@graham.name\n license: ${licenses.licenses[0].id}\n role: user\nvariables:\n invalidRoles:\n - owner\n licenses:\n fn::invoke:\n Function: pagerduty:getLicenses\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLicenses.\n", "properties": { @@ -9169,7 +9169,7 @@ } }, "pagerduty:index/getStandards:getStandards": { - "description": "Use this data source to get information about the [standards](https://developer.pagerduty.com/api-reference/dbed9a0ff9355-list-standards) applicable to\nthe PagerDuty account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst standards = pagerduty.getStandards({});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\nstandards = pagerduty.get_standards()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var standards = Pagerduty.GetStandards.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pagerduty.GetStandards(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetStandardsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var standards = PagerdutyFunctions.getStandards();\n\n }\n}\n```\n```yaml\nvariables:\n standards:\n fn::invoke:\n Function: pagerduty:getStandards\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about the [standards](https://developer.pagerduty.com/api-reference/dbed9a0ff9355-list-standards) applicable to\nthe PagerDuty account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst standards = pagerduty.getStandards({});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\nstandards = pagerduty.get_standards()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var standards = Pagerduty.GetStandards.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pagerduty.GetStandards(ctx, \u0026pagerduty.GetStandardsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetStandardsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var standards = PagerdutyFunctions.getStandards();\n\n }\n}\n```\n```yaml\nvariables:\n standards:\n fn::invoke:\n Function: pagerduty:getStandards\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStandards.\n", "properties": { @@ -9586,7 +9586,7 @@ } }, "pagerduty:index/getUsers:getUsers": { - "description": "Use this data source to get information about [list of users](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODIzMw-list-users) that you can use for other PagerDuty resources, optionally filtering by team ids.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst devops = pagerduty.getTeam({\n name: \"devops\",\n});\nconst me = pagerduty.getUser({\n email: \"me@example.com\",\n});\nconst exampleWTeam = new pagerduty.User(\"example_w_team\", {\n name: \"user-with-team\",\n email: \"user-with-team@example.com\",\n});\nconst example = new pagerduty.TeamMembership(\"example\", {\n teamId: devopsPagerdutyTeam.id,\n userId: exampleWTeam.id,\n});\nconst allUsers = pagerduty.getUsers({});\nconst fromDevopsTeam = pagerduty.getUsers({\n teamIds: [devopsPagerdutyTeam.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndevops = pagerduty.get_team(name=\"devops\")\nme = pagerduty.get_user(email=\"me@example.com\")\nexample_w_team = pagerduty.User(\"example_w_team\",\n name=\"user-with-team\",\n email=\"user-with-team@example.com\")\nexample = pagerduty.TeamMembership(\"example\",\n team_id=devops_pagerduty_team[\"id\"],\n user_id=example_w_team.id)\nall_users = pagerduty.get_users()\nfrom_devops_team = pagerduty.get_users(team_ids=[devops_pagerduty_team[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devops = Pagerduty.GetTeam.Invoke(new()\n {\n Name = \"devops\",\n });\n\n var me = Pagerduty.GetUser.Invoke(new()\n {\n Email = \"me@example.com\",\n });\n\n var exampleWTeam = new Pagerduty.User(\"example_w_team\", new()\n {\n Name = \"user-with-team\",\n Email = \"user-with-team@example.com\",\n });\n\n var example = new Pagerduty.TeamMembership(\"example\", new()\n {\n TeamId = devopsPagerdutyTeam.Id,\n UserId = exampleWTeam.Id,\n });\n\n var allUsers = Pagerduty.GetUsers.Invoke();\n\n var fromDevopsTeam = Pagerduty.GetUsers.Invoke(new()\n {\n TeamIds = new[]\n {\n devopsPagerdutyTeam.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := pagerduty.LookupTeam(ctx, \u0026pagerduty.LookupTeamArgs{\nName: \"devops\",\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = pagerduty.LookupUser(ctx, \u0026pagerduty.LookupUserArgs{\nEmail: \"me@example.com\",\n}, nil);\nif err != nil {\nreturn err\n}\nexampleWTeam, err := pagerduty.NewUser(ctx, \"example_w_team\", \u0026pagerduty.UserArgs{\nName: pulumi.String(\"user-with-team\"),\nEmail: pulumi.String(\"user-with-team@example.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = pagerduty.NewTeamMembership(ctx, \"example\", \u0026pagerduty.TeamMembershipArgs{\nTeamId: pulumi.Any(devopsPagerdutyTeam.Id),\nUserId: exampleWTeam.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = pagerduty.GetUsers(ctx, nil, nil);\nif err != nil {\nreturn err\n}\n_, err = pagerduty.GetUsers(ctx, \u0026pagerduty.GetUsersArgs{\nTeamIds: interface{}{\ndevopsPagerdutyTeam.Id,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetTeamArgs;\nimport com.pulumi.pagerduty.inputs.GetUserArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.TeamMembership;\nimport com.pulumi.pagerduty.TeamMembershipArgs;\nimport com.pulumi.pagerduty.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var devops = PagerdutyFunctions.getTeam(GetTeamArgs.builder()\n .name(\"devops\")\n .build());\n\n final var me = PagerdutyFunctions.getUser(GetUserArgs.builder()\n .email(\"me@example.com\")\n .build());\n\n var exampleWTeam = new User(\"exampleWTeam\", UserArgs.builder()\n .name(\"user-with-team\")\n .email(\"user-with-team@example.com\")\n .build());\n\n var example = new TeamMembership(\"example\", TeamMembershipArgs.builder()\n .teamId(devopsPagerdutyTeam.id())\n .userId(exampleWTeam.id())\n .build());\n\n final var allUsers = PagerdutyFunctions.getUsers();\n\n final var fromDevopsTeam = PagerdutyFunctions.getUsers(GetUsersArgs.builder()\n .teamIds(devopsPagerdutyTeam.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleWTeam:\n type: pagerduty:User\n name: example_w_team\n properties:\n name: user-with-team\n email: user-with-team@example.com\n example:\n type: pagerduty:TeamMembership\n properties:\n teamId: ${devopsPagerdutyTeam.id}\n userId: ${exampleWTeam.id}\nvariables:\n devops:\n fn::invoke:\n Function: pagerduty:getTeam\n Arguments:\n name: devops\n me:\n fn::invoke:\n Function: pagerduty:getUser\n Arguments:\n email: me@example.com\n allUsers:\n fn::invoke:\n Function: pagerduty:getUsers\n Arguments: {}\n fromDevopsTeam:\n fn::invoke:\n Function: pagerduty:getUsers\n Arguments:\n teamIds:\n - ${devopsPagerdutyTeam.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about [list of users](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODIzMw-list-users) that you can use for other PagerDuty resources, optionally filtering by team ids.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pagerduty from \"@pulumi/pagerduty\";\n\nconst devops = pagerduty.getTeam({\n name: \"devops\",\n});\nconst me = pagerduty.getUser({\n email: \"me@example.com\",\n});\nconst exampleWTeam = new pagerduty.User(\"example_w_team\", {\n name: \"user-with-team\",\n email: \"user-with-team@example.com\",\n});\nconst example = new pagerduty.TeamMembership(\"example\", {\n teamId: devopsPagerdutyTeam.id,\n userId: exampleWTeam.id,\n});\nconst allUsers = pagerduty.getUsers({});\nconst fromDevopsTeam = pagerduty.getUsers({\n teamIds: [devopsPagerdutyTeam.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_pagerduty as pagerduty\n\ndevops = pagerduty.get_team(name=\"devops\")\nme = pagerduty.get_user(email=\"me@example.com\")\nexample_w_team = pagerduty.User(\"example_w_team\",\n name=\"user-with-team\",\n email=\"user-with-team@example.com\")\nexample = pagerduty.TeamMembership(\"example\",\n team_id=devops_pagerduty_team[\"id\"],\n user_id=example_w_team.id)\nall_users = pagerduty.get_users()\nfrom_devops_team = pagerduty.get_users(team_ids=[devops_pagerduty_team[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Pagerduty = Pulumi.Pagerduty;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devops = Pagerduty.GetTeam.Invoke(new()\n {\n Name = \"devops\",\n });\n\n var me = Pagerduty.GetUser.Invoke(new()\n {\n Email = \"me@example.com\",\n });\n\n var exampleWTeam = new Pagerduty.User(\"example_w_team\", new()\n {\n Name = \"user-with-team\",\n Email = \"user-with-team@example.com\",\n });\n\n var example = new Pagerduty.TeamMembership(\"example\", new()\n {\n TeamId = devopsPagerdutyTeam.Id,\n UserId = exampleWTeam.Id,\n });\n\n var allUsers = Pagerduty.GetUsers.Invoke();\n\n var fromDevopsTeam = Pagerduty.GetUsers.Invoke(new()\n {\n TeamIds = new[]\n {\n devopsPagerdutyTeam.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := pagerduty.LookupTeam(ctx, \u0026pagerduty.LookupTeamArgs{\nName: \"devops\",\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = pagerduty.LookupUser(ctx, \u0026pagerduty.LookupUserArgs{\nEmail: \"me@example.com\",\n}, nil);\nif err != nil {\nreturn err\n}\nexampleWTeam, err := pagerduty.NewUser(ctx, \"example_w_team\", \u0026pagerduty.UserArgs{\nName: pulumi.String(\"user-with-team\"),\nEmail: pulumi.String(\"user-with-team@example.com\"),\n})\nif err != nil {\nreturn err\n}\n_, err = pagerduty.NewTeamMembership(ctx, \"example\", \u0026pagerduty.TeamMembershipArgs{\nTeamId: pulumi.Any(devopsPagerdutyTeam.Id),\nUserId: exampleWTeam.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = pagerduty.GetUsers(ctx, \u0026pagerduty.GetUsersArgs{\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = pagerduty.GetUsers(ctx, \u0026pagerduty.GetUsersArgs{\nTeamIds: interface{}{\ndevopsPagerdutyTeam.Id,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.pagerduty.PagerdutyFunctions;\nimport com.pulumi.pagerduty.inputs.GetTeamArgs;\nimport com.pulumi.pagerduty.inputs.GetUserArgs;\nimport com.pulumi.pagerduty.User;\nimport com.pulumi.pagerduty.UserArgs;\nimport com.pulumi.pagerduty.TeamMembership;\nimport com.pulumi.pagerduty.TeamMembershipArgs;\nimport com.pulumi.pagerduty.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var devops = PagerdutyFunctions.getTeam(GetTeamArgs.builder()\n .name(\"devops\")\n .build());\n\n final var me = PagerdutyFunctions.getUser(GetUserArgs.builder()\n .email(\"me@example.com\")\n .build());\n\n var exampleWTeam = new User(\"exampleWTeam\", UserArgs.builder()\n .name(\"user-with-team\")\n .email(\"user-with-team@example.com\")\n .build());\n\n var example = new TeamMembership(\"example\", TeamMembershipArgs.builder()\n .teamId(devopsPagerdutyTeam.id())\n .userId(exampleWTeam.id())\n .build());\n\n final var allUsers = PagerdutyFunctions.getUsers();\n\n final var fromDevopsTeam = PagerdutyFunctions.getUsers(GetUsersArgs.builder()\n .teamIds(devopsPagerdutyTeam.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleWTeam:\n type: pagerduty:User\n name: example_w_team\n properties:\n name: user-with-team\n email: user-with-team@example.com\n example:\n type: pagerduty:TeamMembership\n properties:\n teamId: ${devopsPagerdutyTeam.id}\n userId: ${exampleWTeam.id}\nvariables:\n devops:\n fn::invoke:\n Function: pagerduty:getTeam\n Arguments:\n name: devops\n me:\n fn::invoke:\n Function: pagerduty:getUser\n Arguments:\n email: me@example.com\n allUsers:\n fn::invoke:\n Function: pagerduty:getUsers\n Arguments: {}\n fromDevopsTeam:\n fn::invoke:\n Function: pagerduty:getUsers\n Arguments:\n teamIds:\n - ${devopsPagerdutyTeam.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUsers.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index a0681f16..cbf0b29e 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,10 +6,10 @@ toolchain go1.22.7 require ( github.com/PagerDuty/terraform-provider-pagerduty v0.0.0 - github.com/pulumi/providertest v0.0.14 - github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1 - github.com/pulumi/pulumi/sdk/v3 v3.133.0 + github.com/pulumi/providertest v0.1.2 + github.com/pulumi/pulumi-terraform-bridge/pf v0.45.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.92.0 + github.com/pulumi/pulumi/sdk/v3 v3.136.1 github.com/stretchr/testify v1.9.0 ) @@ -190,9 +190,9 @@ require ( github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.1.1 // indirect github.com/pulumi/pulumi-java/pkg v0.16.1 // indirect - github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.10.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.133.0 // indirect + github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.10 // indirect + github.com/pulumi/pulumi-yaml v1.10.3 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.136.1 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index d32d6cc4..c378f374 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1935,22 +1935,22 @@ github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+SobA= github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= -github.com/pulumi/providertest v0.0.14 h1:5QlAPAAs82jkQraHsJvq1xgVfC7xtW8sFJwv2pHgxQ8= -github.com/pulumi/providertest v0.0.14/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= +github.com/pulumi/providertest v0.1.2 h1:9pJS9MeNkMyGwyNeHmvh8QqLgJy39Nk2/ym5u7r13ng= +github.com/pulumi/providertest v0.1.2/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= github.com/pulumi/pulumi-java/pkg v0.16.1 h1:orHnDWFbpOERwaBLry9f+6nqPX7x0MsrIkaa5QDGAns= github.com/pulumi/pulumi-java/pkg v0.16.1/go.mod h1:QH0DihZkWYle9XFc+LJ76m4hUo+fA3RdyaM90pqOaSM= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1 h1:39UPLBqbnvylm2heU/Rxa1+G++NZHdtW2Qg+hEhp5Wo= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1/go.mod h1:Zj4XBf+TuV3um7y82X3xk2yQiP+pnQ7YxMc4fq/rVVw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1 h1:Twh0IKS1pGHP6LHDq1oR0vbHlV52asoUCC7spEJl3Ao= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1/go.mod h1:DvueDDtOIbf7W1Or4oH0o7F990ozp/ROmlm/vgLoe+g= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi-yaml v1.10.0 h1:djbgMJCxJBmYMr4kOpAXH5iauxGohYjEuTLfxD3NUUI= -github.com/pulumi/pulumi-yaml v1.10.0/go.mod h1://lTvwHpgJ+WBKeMGiLrd/jinc4dl3eWV5LZ3G8iCfE= -github.com/pulumi/pulumi/pkg/v3 v3.133.0 h1:j1rd7ToLZIQc5H0427ISOXSbOIIemZ6B0MXtRhQ38Yg= -github.com/pulumi/pulumi/pkg/v3 v3.133.0/go.mod h1:JtMAnrsFIccO138WcMfPdhO0PioDukKihnZC0xTRLwo= -github.com/pulumi/pulumi/sdk/v3 v3.133.0 h1:o+7dbJZY9BVgAjOF5GYIWgjp/zpKAgWZwD4pPjUMXKQ= -github.com/pulumi/pulumi/sdk/v3 v3.133.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi-terraform-bridge/pf v0.45.0 h1:RIu3thoVfOR2yyyVS1xwuJ9ud05SPuXTf7Q+mnV6CQg= +github.com/pulumi/pulumi-terraform-bridge/pf v0.45.0/go.mod h1:bcSV/ALzPJm4Ib1qS2rga27/O3DCGo2mV4XXGrcNfZE= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.92.0 h1:LOUHyMFGYkchv4Bzej7v+1W1ooaspgQG6/oZVJ+3lXY= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.92.0/go.mod h1:aI3U3eanRcyOX05No+Nk6FuJvppx4jjcQwFelHSI8yE= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.10 h1:VAXmHuldKd760ZlMe6khXeJY0ccY3TJF1g1FnWGccaM= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.10/go.mod h1:+AQS/2h775Chx1a4vxb7cDdyiOsdEw2Q6gD7K5QCIwI= +github.com/pulumi/pulumi-yaml v1.10.3 h1:j5cjPiE32ILmjrWnC1cfZ0MWdqCZ8fg9wlaWk7HOtM4= +github.com/pulumi/pulumi-yaml v1.10.3/go.mod h1:MFMQXkaUP5YQUKVJ6Z/aagZDl2f8hdU9oGaJfTcMf1Y= +github.com/pulumi/pulumi/pkg/v3 v3.136.1 h1:zA8aJZ7qI0QgZkBKjjQaYHEcigK6pZfrbfG38imXzWo= +github.com/pulumi/pulumi/pkg/v3 v3.136.1/go.mod h1:Iz8QIs07AbEdrO52hEIEM5C4VBDUYFH2NdM9u2xxBxY= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/sdk/go.mod b/sdk/go.mod index b17f2728..95d090cd 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.133.0 + github.com/pulumi/pulumi/sdk/v3 v3.136.1 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 6df8468b..f84872a1 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.133.0 h1:o+7dbJZY9BVgAjOF5GYIWgjp/zpKAgWZwD4pPjUMXKQ= -github.com/pulumi/pulumi/sdk/v3 v3.133.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= From e7482bc80d6d1eff1394b00606d9ee604a9753db Mon Sep 17 00:00:00 2001 From: pulumi-bot Date: Thu, 10 Oct 2024 20:00:07 +0000 Subject: [PATCH 2/3] make build_sdks --- sdk/go/pagerduty/eventOrchestrationGlobal.go | 2 +- .../eventOrchestrationGlobalCacheVariable.go | 2 +- sdk/go/pagerduty/eventOrchestrationService.go | 2 +- .../eventOrchestrationServiceCacheVariable.go | 2 +- sdk/go/pagerduty/getLicenses.go | 2 +- sdk/go/pagerduty/getStandards.go | 2 +- sdk/go/pagerduty/getUsers.go | 3 +- sdk/nodejs/package.json | 2 +- sdk/python/pulumi_pagerduty/_inputs.py | 2635 ++++++++++++++++- sdk/python/pulumi_pagerduty/_utilities.py | 2 +- sdk/python/pulumi_pagerduty/addon.py | 5 + .../automation_actions_action.py | 5 + ...tion_actions_action_service_association.py | 5 + ...omation_actions_action_team_association.py | 5 + .../automation_actions_runner.py | 5 + ...omation_actions_runner_team_association.py | 5 + .../pulumi_pagerduty/business_service.py | 5 + .../business_service_subscriber.py | 5 + .../pulumi_pagerduty/config/__init__.pyi | 5 + sdk/python/pulumi_pagerduty/config/outputs.py | 5 + sdk/python/pulumi_pagerduty/config/vars.py | 5 + .../pulumi_pagerduty/escalation_policy.py | 5 + .../pulumi_pagerduty/event_orchestration.py | 5 + .../event_orchestration_global.py | 5 + ...ent_orchestration_global_cache_variable.py | 5 + .../event_orchestration_integration.py | 5 + .../event_orchestration_router.py | 5 + .../event_orchestration_service.py | 5 + ...nt_orchestration_service_cache_variable.py | 5 + .../event_orchestration_unrouted.py | 5 + sdk/python/pulumi_pagerduty/event_rule.py | 5 + sdk/python/pulumi_pagerduty/extension.py | 5 + .../pulumi_pagerduty/extension_service_now.py | 5 + .../get_automation_actions_action.py | 32 +- .../get_automation_actions_runner.py | 25 +- .../pulumi_pagerduty/get_business_service.py | 17 +- .../pulumi_pagerduty/get_escalation_policy.py | 16 +- .../get_event_orchestration.py | 18 +- ...ent_orchestration_global_cache_variable.py | 22 +- .../get_event_orchestration_integration.py | 20 +- ...nt_orchestration_service_cache_variable.py | 22 +- .../get_event_orchestrations.py | 17 +- .../pulumi_pagerduty/get_extension_schema.py | 17 +- .../get_incident_custom_field.py | 20 +- .../pulumi_pagerduty/get_incident_workflow.py | 17 +- sdk/python/pulumi_pagerduty/get_license.py | 27 +- sdk/python/pulumi_pagerduty/get_licenses.py | 16 +- sdk/python/pulumi_pagerduty/get_priority.py | 17 +- sdk/python/pulumi_pagerduty/get_ruleset.py | 17 +- sdk/python/pulumi_pagerduty/get_schedule.py | 16 +- sdk/python/pulumi_pagerduty/get_service.py | 23 +- .../get_service_integration.py | 19 +- sdk/python/pulumi_pagerduty/get_standards.py | 17 +- .../get_standards_resource_scores.py | 19 +- .../get_standards_resources_scores.py | 19 +- sdk/python/pulumi_pagerduty/get_tag.py | 16 +- sdk/python/pulumi_pagerduty/get_team.py | 21 +- .../pulumi_pagerduty/get_team_members.py | 17 +- sdk/python/pulumi_pagerduty/get_user.py | 21 +- .../get_user_contact_method.py | 26 +- sdk/python/pulumi_pagerduty/get_users.py | 17 +- sdk/python/pulumi_pagerduty/get_vendor.py | 17 +- .../pulumi_pagerduty/incident_custom_field.py | 5 + .../incident_custom_field_option.py | 5 + .../pulumi_pagerduty/incident_workflow.py | 5 + .../incident_workflow_trigger.py | 5 + .../pulumi_pagerduty/maintenance_window.py | 5 + sdk/python/pulumi_pagerduty/outputs.py | 5 + sdk/python/pulumi_pagerduty/provider.py | 5 + sdk/python/pulumi_pagerduty/response_play.py | 5 + sdk/python/pulumi_pagerduty/ruleset.py | 5 + sdk/python/pulumi_pagerduty/ruleset_rule.py | 5 + sdk/python/pulumi_pagerduty/schedule.py | 5 + sdk/python/pulumi_pagerduty/service.py | 5 + .../pulumi_pagerduty/service_dependency.py | 5 + .../pulumi_pagerduty/service_event_rule.py | 5 + .../pulumi_pagerduty/service_integration.py | 5 + .../pulumi_pagerduty/slack_connection.py | 5 + sdk/python/pulumi_pagerduty/tag.py | 5 + sdk/python/pulumi_pagerduty/tag_assignment.py | 5 + sdk/python/pulumi_pagerduty/team.py | 5 + .../pulumi_pagerduty/team_membership.py | 5 + sdk/python/pulumi_pagerduty/user.py | 5 + .../pulumi_pagerduty/user_contact_method.py | 5 + .../user_handoff_notification_rule.py | 5 + .../user_notification_rule.py | 5 + .../pulumi_pagerduty/webhook_subscription.py | 5 + sdk/python/pyproject.toml | 2 +- 88 files changed, 3307 insertions(+), 157 deletions(-) diff --git a/sdk/go/pagerduty/eventOrchestrationGlobal.go b/sdk/go/pagerduty/eventOrchestrationGlobal.go index af3d0530..d3b0dc68 100644 --- a/sdk/go/pagerduty/eventOrchestrationGlobal.go +++ b/sdk/go/pagerduty/eventOrchestrationGlobal.go @@ -127,7 +127,7 @@ import ( // }, // }, // CatchAll: &pagerduty.EventOrchestrationGlobalCatchAllArgs{ -// Actions: nil, +// Actions: &pagerduty.EventOrchestrationGlobalCatchAllActionsArgs{}, // }, // }) // if err != nil { diff --git a/sdk/go/pagerduty/eventOrchestrationGlobalCacheVariable.go b/sdk/go/pagerduty/eventOrchestrationGlobalCacheVariable.go index 3797f4e3..f5d3ced1 100644 --- a/sdk/go/pagerduty/eventOrchestrationGlobalCacheVariable.go +++ b/sdk/go/pagerduty/eventOrchestrationGlobalCacheVariable.go @@ -76,7 +76,7 @@ import ( // }, // }, // CatchAll: &pagerduty.EventOrchestrationGlobalCatchAllArgs{ -// Actions: nil, +// Actions: &pagerduty.EventOrchestrationGlobalCatchAllActionsArgs{}, // }, // }) // if err != nil { diff --git a/sdk/go/pagerduty/eventOrchestrationService.go b/sdk/go/pagerduty/eventOrchestrationService.go index 819a6e6f..117f3ac5 100644 --- a/sdk/go/pagerduty/eventOrchestrationService.go +++ b/sdk/go/pagerduty/eventOrchestrationService.go @@ -219,7 +219,7 @@ import ( // }, // }, // CatchAll: &pagerduty.EventOrchestrationServiceCatchAllArgs{ -// Actions: nil, +// Actions: &pagerduty.EventOrchestrationServiceCatchAllActionsArgs{}, // }, // }) // if err != nil { diff --git a/sdk/go/pagerduty/eventOrchestrationServiceCacheVariable.go b/sdk/go/pagerduty/eventOrchestrationServiceCacheVariable.go index 65f84d9b..c9210f27 100644 --- a/sdk/go/pagerduty/eventOrchestrationServiceCacheVariable.go +++ b/sdk/go/pagerduty/eventOrchestrationServiceCacheVariable.go @@ -112,7 +112,7 @@ import ( // }, // }, // CatchAll: &pagerduty.EventOrchestrationServiceCatchAllArgs{ -// Actions: nil, +// Actions: &pagerduty.EventOrchestrationServiceCatchAllActionsArgs{}, // }, // }) // if err != nil { diff --git a/sdk/go/pagerduty/getLicenses.go b/sdk/go/pagerduty/getLicenses.go index bb2b85cd..8194d0d8 100644 --- a/sdk/go/pagerduty/getLicenses.go +++ b/sdk/go/pagerduty/getLicenses.go @@ -30,7 +30,7 @@ import ( // _ := []string{ // "owner", // } -// licenses, err := pagerduty.GetLicenses(ctx, nil, nil) +// licenses, err := pagerduty.GetLicenses(ctx, &pagerduty.GetLicensesArgs{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/pagerduty/getStandards.go b/sdk/go/pagerduty/getStandards.go index bf3207e1..f95bcdd3 100644 --- a/sdk/go/pagerduty/getStandards.go +++ b/sdk/go/pagerduty/getStandards.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := pagerduty.GetStandards(ctx, nil, nil) +// _, err := pagerduty.GetStandards(ctx, &pagerduty.GetStandardsArgs{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/pagerduty/getUsers.go b/sdk/go/pagerduty/getUsers.go index a28cab80..9d377abd 100644 --- a/sdk/go/pagerduty/getUsers.go +++ b/sdk/go/pagerduty/getUsers.go @@ -52,7 +52,8 @@ import ( // if err != nil { // return err // } -// _, err = pagerduty.GetUsers(ctx, nil, nil); +// _, err = pagerduty.GetUsers(ctx, &pagerduty.GetUsersArgs{ +// }, nil); // if err != nil { // return err // } diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index a5094f6c..665053ae 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -13,7 +13,7 @@ "build": "tsc" }, "dependencies": { - "@pulumi/pulumi": "^3.42.0" + "@pulumi/pulumi": "^3.136.0" }, "devDependencies": { "@types/mime": "^2.0.0", diff --git a/sdk/python/pulumi_pagerduty/_inputs.py b/sdk/python/pulumi_pagerduty/_inputs.py index 58cb4f8c..df4f5143 100644 --- a/sdk/python/pulumi_pagerduty/_inputs.py +++ b/sdk/python/pulumi_pagerduty/_inputs.py @@ -4,154 +4,326 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ 'AutomationActionsActionActionDataReferenceArgs', + 'AutomationActionsActionActionDataReferenceArgsDict', 'EscalationPolicyRuleArgs', + 'EscalationPolicyRuleArgsDict', 'EscalationPolicyRuleEscalationRuleAssignmentStrategyArgs', + 'EscalationPolicyRuleEscalationRuleAssignmentStrategyArgsDict', 'EscalationPolicyRuleTargetArgs', + 'EscalationPolicyRuleTargetArgsDict', 'EventOrchestrationGlobalCacheVariableConditionArgs', + 'EventOrchestrationGlobalCacheVariableConditionArgsDict', 'EventOrchestrationGlobalCacheVariableConfigurationArgs', + 'EventOrchestrationGlobalCacheVariableConfigurationArgsDict', 'EventOrchestrationGlobalCatchAllArgs', + 'EventOrchestrationGlobalCatchAllArgsDict', 'EventOrchestrationGlobalCatchAllActionsArgs', + 'EventOrchestrationGlobalCatchAllActionsArgsDict', 'EventOrchestrationGlobalCatchAllActionsAutomationActionArgs', + 'EventOrchestrationGlobalCatchAllActionsAutomationActionArgsDict', 'EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgs', + 'EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgsDict', 'EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgs', + 'EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgsDict', 'EventOrchestrationGlobalCatchAllActionsExtractionArgs', + 'EventOrchestrationGlobalCatchAllActionsExtractionArgsDict', 'EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgs', + 'EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgsDict', 'EventOrchestrationGlobalCatchAllActionsVariableArgs', + 'EventOrchestrationGlobalCatchAllActionsVariableArgsDict', 'EventOrchestrationGlobalSetArgs', + 'EventOrchestrationGlobalSetArgsDict', 'EventOrchestrationGlobalSetRuleArgs', + 'EventOrchestrationGlobalSetRuleArgsDict', 'EventOrchestrationGlobalSetRuleActionsArgs', + 'EventOrchestrationGlobalSetRuleActionsArgsDict', 'EventOrchestrationGlobalSetRuleActionsAutomationActionArgs', + 'EventOrchestrationGlobalSetRuleActionsAutomationActionArgsDict', 'EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgs', + 'EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgsDict', 'EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgs', + 'EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgsDict', 'EventOrchestrationGlobalSetRuleActionsExtractionArgs', + 'EventOrchestrationGlobalSetRuleActionsExtractionArgsDict', 'EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgs', + 'EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgsDict', 'EventOrchestrationGlobalSetRuleActionsVariableArgs', + 'EventOrchestrationGlobalSetRuleActionsVariableArgsDict', 'EventOrchestrationGlobalSetRuleConditionArgs', + 'EventOrchestrationGlobalSetRuleConditionArgsDict', 'EventOrchestrationIntegrationArgs', + 'EventOrchestrationIntegrationArgsDict', 'EventOrchestrationIntegrationParameterArgs', + 'EventOrchestrationIntegrationParameterArgsDict', 'EventOrchestrationRouterCatchAllArgs', + 'EventOrchestrationRouterCatchAllArgsDict', 'EventOrchestrationRouterCatchAllActionsArgs', + 'EventOrchestrationRouterCatchAllActionsArgsDict', 'EventOrchestrationRouterSetArgs', + 'EventOrchestrationRouterSetArgsDict', 'EventOrchestrationRouterSetRuleArgs', + 'EventOrchestrationRouterSetRuleArgsDict', 'EventOrchestrationRouterSetRuleActionsArgs', + 'EventOrchestrationRouterSetRuleActionsArgsDict', 'EventOrchestrationRouterSetRuleActionsDynamicRouteToArgs', + 'EventOrchestrationRouterSetRuleActionsDynamicRouteToArgsDict', 'EventOrchestrationRouterSetRuleConditionArgs', + 'EventOrchestrationRouterSetRuleConditionArgsDict', 'EventOrchestrationServiceCacheVariableConditionArgs', + 'EventOrchestrationServiceCacheVariableConditionArgsDict', 'EventOrchestrationServiceCacheVariableConfigurationArgs', + 'EventOrchestrationServiceCacheVariableConfigurationArgsDict', 'EventOrchestrationServiceCatchAllArgs', + 'EventOrchestrationServiceCatchAllArgsDict', 'EventOrchestrationServiceCatchAllActionsArgs', + 'EventOrchestrationServiceCatchAllActionsArgsDict', 'EventOrchestrationServiceCatchAllActionsAutomationActionArgs', + 'EventOrchestrationServiceCatchAllActionsAutomationActionArgsDict', 'EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs', + 'EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgsDict', 'EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs', + 'EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgsDict', 'EventOrchestrationServiceCatchAllActionsExtractionArgs', + 'EventOrchestrationServiceCatchAllActionsExtractionArgsDict', 'EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs', + 'EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgsDict', 'EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs', + 'EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgsDict', 'EventOrchestrationServiceCatchAllActionsVariableArgs', + 'EventOrchestrationServiceCatchAllActionsVariableArgsDict', 'EventOrchestrationServiceSetArgs', + 'EventOrchestrationServiceSetArgsDict', 'EventOrchestrationServiceSetRuleArgs', + 'EventOrchestrationServiceSetRuleArgsDict', 'EventOrchestrationServiceSetRuleActionsArgs', + 'EventOrchestrationServiceSetRuleActionsArgsDict', 'EventOrchestrationServiceSetRuleActionsAutomationActionArgs', + 'EventOrchestrationServiceSetRuleActionsAutomationActionArgsDict', 'EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs', + 'EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgsDict', 'EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs', + 'EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgsDict', 'EventOrchestrationServiceSetRuleActionsExtractionArgs', + 'EventOrchestrationServiceSetRuleActionsExtractionArgsDict', 'EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs', + 'EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgsDict', 'EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs', + 'EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgsDict', 'EventOrchestrationServiceSetRuleActionsVariableArgs', + 'EventOrchestrationServiceSetRuleActionsVariableArgsDict', 'EventOrchestrationServiceSetRuleConditionArgs', + 'EventOrchestrationServiceSetRuleConditionArgsDict', 'EventOrchestrationUnroutedCatchAllArgs', + 'EventOrchestrationUnroutedCatchAllArgsDict', 'EventOrchestrationUnroutedCatchAllActionsArgs', + 'EventOrchestrationUnroutedCatchAllActionsArgsDict', 'EventOrchestrationUnroutedCatchAllActionsExtractionArgs', + 'EventOrchestrationUnroutedCatchAllActionsExtractionArgsDict', 'EventOrchestrationUnroutedCatchAllActionsVariableArgs', + 'EventOrchestrationUnroutedCatchAllActionsVariableArgsDict', 'EventOrchestrationUnroutedSetArgs', + 'EventOrchestrationUnroutedSetArgsDict', 'EventOrchestrationUnroutedSetRuleArgs', + 'EventOrchestrationUnroutedSetRuleArgsDict', 'EventOrchestrationUnroutedSetRuleActionsArgs', + 'EventOrchestrationUnroutedSetRuleActionsArgsDict', 'EventOrchestrationUnroutedSetRuleActionsExtractionArgs', + 'EventOrchestrationUnroutedSetRuleActionsExtractionArgsDict', 'EventOrchestrationUnroutedSetRuleActionsVariableArgs', + 'EventOrchestrationUnroutedSetRuleActionsVariableArgsDict', 'EventOrchestrationUnroutedSetRuleConditionArgs', + 'EventOrchestrationUnroutedSetRuleConditionArgsDict', 'IncidentWorkflowStepArgs', + 'IncidentWorkflowStepArgsDict', 'IncidentWorkflowStepInlineStepsInputArgs', + 'IncidentWorkflowStepInlineStepsInputArgsDict', 'IncidentWorkflowStepInlineStepsInputStepArgs', + 'IncidentWorkflowStepInlineStepsInputStepArgsDict', 'IncidentWorkflowStepInlineStepsInputStepInputArgs', + 'IncidentWorkflowStepInlineStepsInputStepInputArgsDict', 'IncidentWorkflowStepInputArgs', + 'IncidentWorkflowStepInputArgsDict', 'IncidentWorkflowTriggerPermissionsArgs', + 'IncidentWorkflowTriggerPermissionsArgsDict', 'ProviderUseAppOauthScopedTokenArgs', + 'ProviderUseAppOauthScopedTokenArgsDict', 'ResponsePlayResponderArgs', + 'ResponsePlayResponderArgsDict', 'ResponsePlayResponderEscalationRuleArgs', + 'ResponsePlayResponderEscalationRuleArgsDict', 'ResponsePlayResponderEscalationRuleTargetArgs', + 'ResponsePlayResponderEscalationRuleTargetArgsDict', 'ResponsePlayResponderServiceArgs', + 'ResponsePlayResponderServiceArgsDict', 'ResponsePlayResponderTeamArgs', + 'ResponsePlayResponderTeamArgsDict', 'ResponsePlaySubscriberArgs', + 'ResponsePlaySubscriberArgsDict', 'RulesetRuleActionsArgs', + 'RulesetRuleActionsArgsDict', 'RulesetRuleActionsAnnotateArgs', + 'RulesetRuleActionsAnnotateArgsDict', 'RulesetRuleActionsEventActionArgs', + 'RulesetRuleActionsEventActionArgsDict', 'RulesetRuleActionsExtractionArgs', + 'RulesetRuleActionsExtractionArgsDict', 'RulesetRuleActionsPriorityArgs', + 'RulesetRuleActionsPriorityArgsDict', 'RulesetRuleActionsRouteArgs', + 'RulesetRuleActionsRouteArgsDict', 'RulesetRuleActionsSeverityArgs', + 'RulesetRuleActionsSeverityArgsDict', 'RulesetRuleActionsSuppressArgs', + 'RulesetRuleActionsSuppressArgsDict', 'RulesetRuleActionsSuspendArgs', + 'RulesetRuleActionsSuspendArgsDict', 'RulesetRuleConditionsArgs', + 'RulesetRuleConditionsArgsDict', 'RulesetRuleConditionsSubconditionArgs', + 'RulesetRuleConditionsSubconditionArgsDict', 'RulesetRuleConditionsSubconditionParameterArgs', + 'RulesetRuleConditionsSubconditionParameterArgsDict', 'RulesetRuleTimeFrameArgs', + 'RulesetRuleTimeFrameArgsDict', 'RulesetRuleTimeFrameActiveBetweenArgs', + 'RulesetRuleTimeFrameActiveBetweenArgsDict', 'RulesetRuleTimeFrameScheduledWeeklyArgs', + 'RulesetRuleTimeFrameScheduledWeeklyArgsDict', 'RulesetRuleVariableArgs', + 'RulesetRuleVariableArgsDict', 'RulesetRuleVariableParameterArgs', + 'RulesetRuleVariableParameterArgsDict', 'RulesetTeamArgs', + 'RulesetTeamArgsDict', 'ScheduleFinalScheduleArgs', + 'ScheduleFinalScheduleArgsDict', 'ScheduleLayerArgs', + 'ScheduleLayerArgsDict', 'ScheduleLayerRestrictionArgs', + 'ScheduleLayerRestrictionArgsDict', 'ServiceAlertGroupingParametersArgs', + 'ServiceAlertGroupingParametersArgsDict', 'ServiceAlertGroupingParametersConfigArgs', + 'ServiceAlertGroupingParametersConfigArgsDict', 'ServiceAutoPauseNotificationsParametersArgs', + 'ServiceAutoPauseNotificationsParametersArgsDict', 'ServiceDependencyDependencyArgs', + 'ServiceDependencyDependencyArgsDict', 'ServiceDependencyDependencyDependentServiceArgs', + 'ServiceDependencyDependencyDependentServiceArgsDict', 'ServiceDependencyDependencySupportingServiceArgs', + 'ServiceDependencyDependencySupportingServiceArgsDict', 'ServiceEventRuleActionsArgs', + 'ServiceEventRuleActionsArgsDict', 'ServiceEventRuleActionsAnnotateArgs', + 'ServiceEventRuleActionsAnnotateArgsDict', 'ServiceEventRuleActionsEventActionArgs', + 'ServiceEventRuleActionsEventActionArgsDict', 'ServiceEventRuleActionsExtractionArgs', + 'ServiceEventRuleActionsExtractionArgsDict', 'ServiceEventRuleActionsPriorityArgs', + 'ServiceEventRuleActionsPriorityArgsDict', 'ServiceEventRuleActionsSeverityArgs', + 'ServiceEventRuleActionsSeverityArgsDict', 'ServiceEventRuleActionsSuppressArgs', + 'ServiceEventRuleActionsSuppressArgsDict', 'ServiceEventRuleActionsSuspendArgs', + 'ServiceEventRuleActionsSuspendArgsDict', 'ServiceEventRuleConditionsArgs', + 'ServiceEventRuleConditionsArgsDict', 'ServiceEventRuleConditionsSubconditionArgs', + 'ServiceEventRuleConditionsSubconditionArgsDict', 'ServiceEventRuleConditionsSubconditionParameterArgs', + 'ServiceEventRuleConditionsSubconditionParameterArgsDict', 'ServiceEventRuleTimeFrameArgs', + 'ServiceEventRuleTimeFrameArgsDict', 'ServiceEventRuleTimeFrameActiveBetweenArgs', + 'ServiceEventRuleTimeFrameActiveBetweenArgsDict', 'ServiceEventRuleTimeFrameScheduledWeeklyArgs', + 'ServiceEventRuleTimeFrameScheduledWeeklyArgsDict', 'ServiceEventRuleVariableArgs', + 'ServiceEventRuleVariableArgsDict', 'ServiceEventRuleVariableParameterArgs', + 'ServiceEventRuleVariableParameterArgsDict', 'ServiceIncidentUrgencyRuleArgs', + 'ServiceIncidentUrgencyRuleArgsDict', 'ServiceIncidentUrgencyRuleDuringSupportHoursArgs', + 'ServiceIncidentUrgencyRuleDuringSupportHoursArgsDict', 'ServiceIncidentUrgencyRuleOutsideSupportHoursArgs', + 'ServiceIncidentUrgencyRuleOutsideSupportHoursArgsDict', 'ServiceIntegrationEmailFilterArgs', + 'ServiceIntegrationEmailFilterArgsDict', 'ServiceIntegrationEmailParserArgs', + 'ServiceIntegrationEmailParserArgsDict', 'ServiceIntegrationEmailParserMatchPredicateArgs', + 'ServiceIntegrationEmailParserMatchPredicateArgsDict', 'ServiceIntegrationEmailParserMatchPredicatePredicateArgs', + 'ServiceIntegrationEmailParserMatchPredicatePredicateArgsDict', 'ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs', + 'ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgsDict', 'ServiceIntegrationEmailParserValueExtractorArgs', + 'ServiceIntegrationEmailParserValueExtractorArgsDict', 'ServiceScheduledActionArgs', + 'ServiceScheduledActionArgsDict', 'ServiceScheduledActionAtArgs', + 'ServiceScheduledActionAtArgsDict', 'ServiceSupportHoursArgs', + 'ServiceSupportHoursArgsDict', 'SlackConnectionConfigArgs', + 'SlackConnectionConfigArgsDict', 'UserHandoffNotificationRuleContactMethodArgs', + 'UserHandoffNotificationRuleContactMethodArgsDict', 'WebhookSubscriptionDeliveryMethodArgs', + 'WebhookSubscriptionDeliveryMethodArgsDict', 'WebhookSubscriptionDeliveryMethodCustomHeaderArgs', + 'WebhookSubscriptionDeliveryMethodCustomHeaderArgsDict', 'WebhookSubscriptionFilterArgs', + 'WebhookSubscriptionFilterArgsDict', 'GetEventOrchestrationIntegrationDetailArgs', + 'GetEventOrchestrationIntegrationDetailArgsDict', 'GetEventOrchestrationIntegrationDetailParameterArgs', + 'GetEventOrchestrationIntegrationDetailParameterArgsDict', ] +MYPY = False + +if not MYPY: + class AutomationActionsActionActionDataReferenceArgsDict(TypedDict): + invocation_command: NotRequired[pulumi.Input[str]] + """ + The command to execute the script with. + """ + process_automation_job_arguments: NotRequired[pulumi.Input[str]] + """ + The arguments to pass to the Process Automation job execution. + """ + process_automation_job_id: NotRequired[pulumi.Input[str]] + """ + The ID of the Process Automation job to execute. + """ + process_automation_node_filter: NotRequired[pulumi.Input[str]] + """ + The expression that filters on which nodes a Process Automation Job executes [Learn more](https://docs.rundeck.com/docs/manual/05-nodes.html#node-filtering). + """ + script: NotRequired[pulumi.Input[str]] + """ + Body of the script to be executed on the Runner. Max length is 16777215 characters. + """ +elif False: + AutomationActionsActionActionDataReferenceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class AutomationActionsActionActionDataReferenceArgs: def __init__(__self__, *, @@ -239,6 +411,24 @@ def script(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "script", value) +if not MYPY: + class EscalationPolicyRuleArgsDict(TypedDict): + escalation_delay_in_minutes: pulumi.Input[int] + """ + The number of minutes before an unacknowledged incident escalates away from this rule. + """ + targets: pulumi.Input[Sequence[pulumi.Input['EscalationPolicyRuleTargetArgsDict']]] + escalation_rule_assignment_strategy: NotRequired[pulumi.Input['EscalationPolicyRuleEscalationRuleAssignmentStrategyArgsDict']] + """ + The strategy used to assign the escalation rule to an incident. Documented below. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the escalation policy. + """ +elif False: + EscalationPolicyRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EscalationPolicyRuleArgs: def __init__(__self__, *, @@ -304,6 +494,15 @@ def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) +if not MYPY: + class EscalationPolicyRuleEscalationRuleAssignmentStrategyArgsDict(TypedDict): + type: NotRequired[pulumi.Input[str]] + """ + Can be `round_robin` or `assign_to_everyone`. + """ +elif False: + EscalationPolicyRuleEscalationRuleAssignmentStrategyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EscalationPolicyRuleEscalationRuleAssignmentStrategyArgs: def __init__(__self__, *, @@ -327,6 +526,19 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class EscalationPolicyRuleTargetArgsDict(TypedDict): + id: pulumi.Input[str] + """ + A target ID + """ + type: NotRequired[pulumi.Input[str]] + """ + Can be `user_reference` or `schedule_reference`. Defaults to `user_reference`. For multiple users as example, repeat the target. + """ +elif False: + EscalationPolicyRuleTargetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EscalationPolicyRuleTargetArgs: def __init__(__self__, *, @@ -365,6 +577,15 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class EventOrchestrationGlobalCacheVariableConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationGlobalCacheVariableConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCacheVariableConditionArgs: def __init__(__self__, *, @@ -387,6 +608,27 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class EventOrchestrationGlobalCacheVariableConfigurationArgsDict(TypedDict): + type: pulumi.Input[str] + """ + The [type of value](https://support.pagerduty.com/docs/event-orchestration-variables) to store into the Cache Variable. Can be one of: `recent_value` or `trigger_event_count`. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression][4] that will be matched against the field specified via the `source` argument. This field is only used when `type` is `recent_value` + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). This field is only used when `type` is `recent_value` + """ + ttl_seconds: NotRequired[pulumi.Input[int]] + """ + The number of seconds indicating how long to count incoming trigger events for. This field is only used when `type` is `trigger_event_count` + """ +elif False: + EventOrchestrationGlobalCacheVariableConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCacheVariableConfigurationArgs: def __init__(__self__, *, @@ -457,6 +699,15 @@ def ttl_seconds(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "ttl_seconds", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationGlobalCatchAllActionsArgsDict'] + """ + These are the actions that will be taken to change the resulting alert and incident. `catch_all` supports all actions described above for `rule` _except_ `route_to` action. + """ +elif False: + EventOrchestrationGlobalCatchAllArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllArgs: def __init__(__self__, *, @@ -479,6 +730,63 @@ def actions(self, value: pulumi.Input['EventOrchestrationGlobalCatchAllActionsAr pulumi.set(self, "actions", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsArgsDict(TypedDict): + annotate: NotRequired[pulumi.Input[str]] + """ + Add this text as a note on the resulting incident. + """ + automation_action: NotRequired[pulumi.Input['EventOrchestrationGlobalCatchAllActionsAutomationActionArgsDict']] + """ + Create a [Webhook](https://support.pagerduty.com/docs/event-orchestration#webhooks) associated with the resulting incident. + """ + drop_event: NotRequired[pulumi.Input[bool]] + """ + When true, this event will be dropped. Dropped events will not trigger or resolve an alert or an incident. Dropped events will not be evaluated against router rules. + """ + escalation_policy: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalCatchAllActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + incident_custom_field_updates: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgsDict']]]] + """ + Assign a custom field to the resulting incident. + """ + priority: NotRequired[pulumi.Input[str]] + """ + The ID of the priority you want to set on resulting incident. Consider using the `get_priority` data source. + """ + route_to: NotRequired[pulumi.Input[str]] + """ + The ID of a Set from this Global Orchestration whose rules you also want to use with events that match this rule. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + suppress: NotRequired[pulumi.Input[bool]] + """ + Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident. + """ + suspend: NotRequired[pulumi.Input[int]] + """ + The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a `resolve` event arrives before the alert triggers then PagerDuty won't create an incident for this alert. + """ + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalCatchAllActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationGlobalCatchAllActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsArgs: def __init__(__self__, *, @@ -694,6 +1002,31 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsAutomationActionArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Name of this Webhook. + """ + url: pulumi.Input[str] + """ + The API endpoint where PagerDuty's servers will send the webhook request. + """ + auto_send: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgsDict']]]] + """ + Specify custom key/value pairs that'll be sent with the webhook request as request headers. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgsDict']]]] + """ + Specify custom key/value pairs that'll be included in the webhook request's JSON payload. + """ +elif False: + EventOrchestrationGlobalCatchAllActionsAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsAutomationActionArgs: def __init__(__self__, *, @@ -779,6 +1112,19 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOr pulumi.set(self, "parameters", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the header + """ + value: pulumi.Input[str] + """ + Value of this header + """ +elif False: + EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsAutomationActionHeaderArgs: def __init__(__self__, *, @@ -816,6 +1162,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the parameter + """ + value: pulumi.Input[str] + """ + Value of this parameter + """ +elif False: + EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsAutomationActionParameterArgs: def __init__(__self__, *, @@ -853,6 +1212,29 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationGlobalCatchAllActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsExtractionArgs: def __init__(__self__, *, @@ -927,6 +1309,19 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The custom field id + """ + value: pulumi.Input[str] + """ + The value to assign to this custom field + """ +elif False: + EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsIncidentCustomFieldUpdateArgs: def __init__(__self__, *, @@ -964,6 +1359,27 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalCatchAllActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationGlobalCatchAllActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalCatchAllActionsVariableArgs: def __init__(__self__, *, @@ -1031,6 +1447,16 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalSetArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of this set of rules. Rules in other sets can route events into this set using the rule's `route_to` property. + """ + rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleArgsDict']]]] +elif False: + EventOrchestrationGlobalSetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetArgs: def __init__(__self__, *, @@ -1065,6 +1491,31 @@ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchest pulumi.set(self, "rules", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationGlobalSetRuleActionsArgsDict'] + """ + Actions that will be taken to change the resulting alert and incident, when an event matches this rule. + """ + conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleConditionArgsDict']]]] + """ + Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will `always` match against the rule. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + Indicates whether the rule is disabled and would therefore not be evaluated. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the rule within the set. + """ + label: NotRequired[pulumi.Input[str]] + """ + A description of this rule's purpose. + """ +elif False: + EventOrchestrationGlobalSetRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleArgs: def __init__(__self__, *, @@ -1151,6 +1602,63 @@ def label(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "label", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsArgsDict(TypedDict): + annotate: NotRequired[pulumi.Input[str]] + """ + Add this text as a note on the resulting incident. + """ + automation_action: NotRequired[pulumi.Input['EventOrchestrationGlobalSetRuleActionsAutomationActionArgsDict']] + """ + Create a [Webhook](https://support.pagerduty.com/docs/event-orchestration#webhooks) associated with the resulting incident. + """ + drop_event: NotRequired[pulumi.Input[bool]] + """ + When true, this event will be dropped. Dropped events will not trigger or resolve an alert or an incident. Dropped events will not be evaluated against router rules. + """ + escalation_policy: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + incident_custom_field_updates: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgsDict']]]] + """ + Assign a custom field to the resulting incident. + """ + priority: NotRequired[pulumi.Input[str]] + """ + The ID of the priority you want to set on resulting incident. Consider using the `get_priority` data source. + """ + route_to: NotRequired[pulumi.Input[str]] + """ + The ID of a Set from this Global Orchestration whose rules you also want to use with events that match this rule. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + suppress: NotRequired[pulumi.Input[bool]] + """ + Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident. + """ + suspend: NotRequired[pulumi.Input[int]] + """ + The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a `resolve` event arrives before the alert triggers then PagerDuty won't create an incident for this alert. + """ + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationGlobalSetRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsArgs: def __init__(__self__, *, @@ -1366,6 +1874,31 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsAutomationActionArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Name of this Webhook. + """ + url: pulumi.Input[str] + """ + The API endpoint where PagerDuty's servers will send the webhook request. + """ + auto_send: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgsDict']]]] + """ + Specify custom key/value pairs that'll be sent with the webhook request as request headers. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgsDict']]]] + """ + Specify custom key/value pairs that'll be included in the webhook request's JSON payload. + """ +elif False: + EventOrchestrationGlobalSetRuleActionsAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsAutomationActionArgs: def __init__(__self__, *, @@ -1451,6 +1984,19 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOr pulumi.set(self, "parameters", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the header + """ + value: pulumi.Input[str] + """ + Value of this header + """ +elif False: + EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsAutomationActionHeaderArgs: def __init__(__self__, *, @@ -1488,6 +2034,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the parameter + """ + value: pulumi.Input[str] + """ + Value of this parameter + """ +elif False: + EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsAutomationActionParameterArgs: def __init__(__self__, *, @@ -1525,8 +2084,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) -@pulumi.input_type -class EventOrchestrationGlobalSetRuleActionsExtractionArgs: +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationGlobalSetRuleActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventOrchestrationGlobalSetRuleActionsExtractionArgs: def __init__(__self__, *, target: pulumi.Input[str], regex: Optional[pulumi.Input[str]] = None, @@ -1599,6 +2181,19 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The custom field id + """ + value: pulumi.Input[str] + """ + The value to assign to this custom field + """ +elif False: + EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsIncidentCustomFieldUpdateArgs: def __init__(__self__, *, @@ -1636,6 +2231,27 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationGlobalSetRuleActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleActionsVariableArgs: def __init__(__self__, *, @@ -1703,6 +2319,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationGlobalSetRuleConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationGlobalSetRuleConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationGlobalSetRuleConditionArgs: def __init__(__self__, *, @@ -1725,6 +2350,17 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class EventOrchestrationIntegrationArgsDict(TypedDict): + id: NotRequired[pulumi.Input[str]] + """ + ID of the integration + """ + label: NotRequired[pulumi.Input[str]] + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationIntegrationParameterArgsDict']]]] +elif False: + EventOrchestrationIntegrationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationIntegrationArgs: def __init__(__self__, *, @@ -1772,6 +2408,19 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOr pulumi.set(self, "parameters", value) +if not MYPY: + class EventOrchestrationIntegrationParameterArgsDict(TypedDict): + routing_key: NotRequired[pulumi.Input[str]] + """ + Routing key that routes to this Orchestration. + """ + type: NotRequired[pulumi.Input[str]] + """ + Type of the routing key. `global` is the default type. + """ +elif False: + EventOrchestrationIntegrationParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationIntegrationParameterArgs: def __init__(__self__, *, @@ -1811,6 +2460,15 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class EventOrchestrationRouterCatchAllArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationRouterCatchAllActionsArgsDict'] + """ + These are the actions that will be taken to change the resulting alert and incident. + """ +elif False: + EventOrchestrationRouterCatchAllArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterCatchAllArgs: def __init__(__self__, *, @@ -1833,6 +2491,15 @@ def actions(self, value: pulumi.Input['EventOrchestrationRouterCatchAllActionsAr pulumi.set(self, "actions", value) +if not MYPY: + class EventOrchestrationRouterCatchAllActionsArgsDict(TypedDict): + route_to: pulumi.Input[str] + """ + Defines where an alert will be sent if doesn't match any rules. Can either be the ID of a Service _or_ the string `"unrouted"` to send events to the Unrouted Orchestration. + """ +elif False: + EventOrchestrationRouterCatchAllActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterCatchAllActionsArgs: def __init__(__self__, *, @@ -1855,6 +2522,16 @@ def route_to(self, value: pulumi.Input[str]): pulumi.set(self, "route_to", value) +if not MYPY: + class EventOrchestrationRouterSetArgsDict(TypedDict): + id: pulumi.Input[str] + """ + ID of the `start` set. Router supports only one set and it's id has to be `start` + """ + rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationRouterSetRuleArgsDict']]]] +elif False: + EventOrchestrationRouterSetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterSetArgs: def __init__(__self__, *, @@ -1889,6 +2566,31 @@ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchest pulumi.set(self, "rules", value) +if not MYPY: + class EventOrchestrationRouterSetRuleArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationRouterSetRuleActionsArgsDict'] + """ + Actions that will be taken to change the resulting alert and incident, when an event matches this rule. + """ + conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationRouterSetRuleConditionArgsDict']]]] + """ + Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will _always_ match against the rule. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + Indicates whether the rule is disabled and would therefore not be evaluated. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the rule within the `start` set. + """ + label: NotRequired[pulumi.Input[str]] + """ + A description of this rule's purpose. + """ +elif False: + EventOrchestrationRouterSetRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterSetRuleArgs: def __init__(__self__, *, @@ -1975,6 +2677,16 @@ def label(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "label", value) +if not MYPY: + class EventOrchestrationRouterSetRuleActionsArgsDict(TypedDict): + dynamic_route_tos: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationRouterSetRuleActionsDynamicRouteToArgsDict']]]] + """ + supports the following: + """ + route_to: NotRequired[pulumi.Input[str]] +elif False: + EventOrchestrationRouterSetRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterSetRuleActionsArgs: def __init__(__self__, *, @@ -2010,6 +2722,25 @@ def route_to(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "route_to", value) +if not MYPY: + class EventOrchestrationRouterSetRuleActionsDynamicRouteToArgsDict(TypedDict): + lookup_by: pulumi.Input[str] + """ + Indicates whether the extracted value from the source is a service's name or ID. Allowed values are: `service_name`, `service_id` + + If an event has a value at the specified `source`, and if the `regex` successfully matches the value, and if the matching portion is valid Service ID or Name, then the event will be routed to that service. Otherwise the event will be checked against any subsequent router rules. + """ + regex: pulumi.Input[str] + """ + The regular expression, used to extract a value from the source field. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ + source: pulumi.Input[str] + """ + The path to a field in an event. + """ +elif False: + EventOrchestrationRouterSetRuleActionsDynamicRouteToArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterSetRuleActionsDynamicRouteToArgs: def __init__(__self__, *, @@ -2066,6 +2797,15 @@ def source(self, value: pulumi.Input[str]): pulumi.set(self, "source", value) +if not MYPY: + class EventOrchestrationRouterSetRuleConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationRouterSetRuleConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationRouterSetRuleConditionArgs: def __init__(__self__, *, @@ -2088,6 +2828,15 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class EventOrchestrationServiceCacheVariableConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationServiceCacheVariableConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCacheVariableConditionArgs: def __init__(__self__, *, @@ -2110,6 +2859,27 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class EventOrchestrationServiceCacheVariableConfigurationArgsDict(TypedDict): + type: pulumi.Input[str] + """ + The [type of value](https://support.pagerduty.com/docs/event-orchestration-variables) to store into the Cache Variable. Can be one of: `recent_value` or `trigger_event_count`. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression][4] that will be matched against the field specified via the `source` argument. This field is only used when `type` is `recent_value` + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). This field is only used when `type` is `recent_value` + """ + ttl_seconds: NotRequired[pulumi.Input[int]] + """ + The number of seconds indicating how long to count incoming trigger events for. This field is only used when `type` is `trigger_event_count` + """ +elif False: + EventOrchestrationServiceCacheVariableConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCacheVariableConfigurationArgs: def __init__(__self__, *, @@ -2180,6 +2950,15 @@ def ttl_seconds(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "ttl_seconds", value) +if not MYPY: + class EventOrchestrationServiceCatchAllArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationServiceCatchAllActionsArgsDict'] + """ + These are the actions that will be taken to change the resulting alert and incident. `catch_all` supports all actions described above for `rule` _except_ `route_to` action. + """ +elif False: + EventOrchestrationServiceCatchAllArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllArgs: def __init__(__self__, *, @@ -2202,6 +2981,63 @@ def actions(self, value: pulumi.Input['EventOrchestrationServiceCatchAllActionsA pulumi.set(self, "actions", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsArgsDict(TypedDict): + annotate: NotRequired[pulumi.Input[str]] + """ + Add this text as a note on the resulting incident. + """ + automation_action: NotRequired[pulumi.Input['EventOrchestrationServiceCatchAllActionsAutomationActionArgsDict']] + """ + Create a [Webhook](https://support.pagerduty.com/docs/event-orchestration#webhooks) associated with the resulting incident. + """ + escalation_policy: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceCatchAllActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + incident_custom_field_updates: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgsDict']]]] + """ + Assign a custom field to the resulting incident. + """ + pagerduty_automation_action: NotRequired[pulumi.Input['EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgsDict']] + """ + Configure a [Process Automation](https://support.pagerduty.com/docs/event-orchestration#process-automation) associated with the resulting incident. + """ + priority: NotRequired[pulumi.Input[str]] + """ + The ID of the priority you want to set on resulting incident. Consider using the `get_priority` data source. + """ + route_to: NotRequired[pulumi.Input[str]] + """ + The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + suppress: NotRequired[pulumi.Input[bool]] + """ + Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident. + """ + suspend: NotRequired[pulumi.Input[int]] + """ + The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a `resolve` event arrives before the alert triggers then PagerDuty won't create an incident for this alert. + """ + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceCatchAllActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationServiceCatchAllActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsArgs: def __init__(__self__, *, @@ -2417,6 +3253,31 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsAutomationActionArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Name of this Webhook. + """ + url: pulumi.Input[str] + """ + The API endpoint where PagerDuty's servers will send the webhook request. + """ + auto_send: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgsDict']]]] + """ + Specify custom key/value pairs that'll be sent with the webhook request as request headers. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgsDict']]]] + """ + Specify custom key/value pairs that'll be included in the webhook request's JSON payload. + """ +elif False: + EventOrchestrationServiceCatchAllActionsAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsAutomationActionArgs: def __init__(__self__, *, @@ -2502,6 +3363,19 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOr pulumi.set(self, "parameters", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the header + """ + value: pulumi.Input[str] + """ + Value of this header + """ +elif False: + EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsAutomationActionHeaderArgs: def __init__(__self__, *, @@ -2539,6 +3413,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the parameter + """ + value: pulumi.Input[str] + """ + Value of this parameter + """ +elif False: + EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsAutomationActionParameterArgs: def __init__(__self__, *, @@ -2576,6 +3463,29 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationServiceCatchAllActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsExtractionArgs: def __init__(__self__, *, @@ -2650,6 +3560,19 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The custom field id + """ + value: pulumi.Input[str] + """ + The value to assign to this custom field + """ +elif False: + EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsIncidentCustomFieldUpdateArgs: def __init__(__self__, *, @@ -2687,6 +3610,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgsDict(TypedDict): + action_id: pulumi.Input[str] + """ + Id of the Process Automation action to be triggered. + """ +elif False: + EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsPagerdutyAutomationActionArgs: def __init__(__self__, *, @@ -2709,6 +3641,27 @@ def action_id(self, value: pulumi.Input[str]): pulumi.set(self, "action_id", value) +if not MYPY: + class EventOrchestrationServiceCatchAllActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationServiceCatchAllActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceCatchAllActionsVariableArgs: def __init__(__self__, *, @@ -2776,6 +3729,16 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceSetArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of this set of rules. Rules in other sets can route events into this set using the rule's `route_to` property. + """ + rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleArgsDict']]]] +elif False: + EventOrchestrationServiceSetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetArgs: def __init__(__self__, *, @@ -2810,6 +3773,31 @@ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchest pulumi.set(self, "rules", value) +if not MYPY: + class EventOrchestrationServiceSetRuleArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationServiceSetRuleActionsArgsDict'] + """ + Actions that will be taken to change the resulting alert and incident, when an event matches this rule. + """ + conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleConditionArgsDict']]]] + """ + Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will `always` match against the rule. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + Indicates whether the rule is disabled and would therefore not be evaluated. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the rule within the set. + """ + label: NotRequired[pulumi.Input[str]] + """ + A description of this rule's purpose. + """ +elif False: + EventOrchestrationServiceSetRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleArgs: def __init__(__self__, *, @@ -2896,12 +3884,69 @@ def label(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "label", value) -@pulumi.input_type -class EventOrchestrationServiceSetRuleActionsArgs: - def __init__(__self__, *, - annotate: Optional[pulumi.Input[str]] = None, - automation_action: Optional[pulumi.Input['EventOrchestrationServiceSetRuleActionsAutomationActionArgs']] = None, - escalation_policy: Optional[pulumi.Input[str]] = None, +if not MYPY: + class EventOrchestrationServiceSetRuleActionsArgsDict(TypedDict): + annotate: NotRequired[pulumi.Input[str]] + """ + Add this text as a note on the resulting incident. + """ + automation_action: NotRequired[pulumi.Input['EventOrchestrationServiceSetRuleActionsAutomationActionArgsDict']] + """ + Create a [Webhook](https://support.pagerduty.com/docs/event-orchestration#webhooks) associated with the resulting incident. + """ + escalation_policy: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + incident_custom_field_updates: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgsDict']]]] + """ + Assign a custom field to the resulting incident. + """ + pagerduty_automation_action: NotRequired[pulumi.Input['EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgsDict']] + """ + Configure a [Process Automation](https://support.pagerduty.com/docs/event-orchestration#process-automation) associated with the resulting incident. + """ + priority: NotRequired[pulumi.Input[str]] + """ + The ID of the priority you want to set on resulting incident. Consider using the `get_priority` data source. + """ + route_to: NotRequired[pulumi.Input[str]] + """ + The ID of a Set from this Service Orchestration whose rules you also want to use with events that match this rule. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + suppress: NotRequired[pulumi.Input[bool]] + """ + Set whether the resulting alert is suppressed. Suppressed alerts will not trigger an incident. + """ + suspend: NotRequired[pulumi.Input[int]] + """ + The number of seconds to suspend the resulting alert before triggering. This effectively pauses incident notifications. If a `resolve` event arrives before the alert triggers then PagerDuty won't create an incident for this alert. + """ + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationServiceSetRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventOrchestrationServiceSetRuleActionsArgs: + def __init__(__self__, *, + annotate: Optional[pulumi.Input[str]] = None, + automation_action: Optional[pulumi.Input['EventOrchestrationServiceSetRuleActionsAutomationActionArgs']] = None, + escalation_policy: Optional[pulumi.Input[str]] = None, event_action: Optional[pulumi.Input[str]] = None, extractions: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsExtractionArgs']]]] = None, incident_custom_field_updates: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs']]]] = None, @@ -3111,6 +4156,31 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsAutomationActionArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Name of this Webhook. + """ + url: pulumi.Input[str] + """ + The API endpoint where PagerDuty's servers will send the webhook request. + """ + auto_send: NotRequired[pulumi.Input[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: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgsDict']]]] + """ + Specify custom key/value pairs that'll be sent with the webhook request as request headers. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgsDict']]]] + """ + Specify custom key/value pairs that'll be included in the webhook request's JSON payload. + """ +elif False: + EventOrchestrationServiceSetRuleActionsAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsAutomationActionArgs: def __init__(__self__, *, @@ -3196,6 +4266,19 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOr pulumi.set(self, "parameters", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the header + """ + value: pulumi.Input[str] + """ + Value of this header + """ +elif False: + EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsAutomationActionHeaderArgs: def __init__(__self__, *, @@ -3233,6 +4316,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgsDict(TypedDict): + key: pulumi.Input[str] + """ + Name to identify the parameter + """ + value: pulumi.Input[str] + """ + Value of this parameter + """ +elif False: + EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsAutomationActionParameterArgs: def __init__(__self__, *, @@ -3270,6 +4366,29 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationServiceSetRuleActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsExtractionArgs: def __init__(__self__, *, @@ -3344,6 +4463,19 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The custom field id + """ + value: pulumi.Input[str] + """ + The value to assign to this custom field + """ +elif False: + EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsIncidentCustomFieldUpdateArgs: def __init__(__self__, *, @@ -3381,6 +4513,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgsDict(TypedDict): + action_id: pulumi.Input[str] + """ + Id of the Process Automation action to be triggered. + """ +elif False: + EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsPagerdutyAutomationActionArgs: def __init__(__self__, *, @@ -3403,6 +4544,27 @@ def action_id(self, value: pulumi.Input[str]): pulumi.set(self, "action_id", value) +if not MYPY: + class EventOrchestrationServiceSetRuleActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths). + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationServiceSetRuleActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleActionsVariableArgs: def __init__(__self__, *, @@ -3470,6 +4632,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationServiceSetRuleConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationServiceSetRuleConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationServiceSetRuleConditionArgs: def __init__(__self__, *, @@ -3492,6 +4663,15 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class EventOrchestrationUnroutedCatchAllArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationUnroutedCatchAllActionsArgsDict'] + """ + These are the actions that will be taken to change the resulting alert and incident. `catch_all` supports all actions described above for `rule` _except_ `route_to` action. + """ +elif False: + EventOrchestrationUnroutedCatchAllArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedCatchAllArgs: def __init__(__self__, *, @@ -3514,6 +4694,28 @@ def actions(self, value: pulumi.Input['EventOrchestrationUnroutedCatchAllActions pulumi.set(self, "actions", value) +if not MYPY: + class EventOrchestrationUnroutedCatchAllActionsArgsDict(TypedDict): + event_action: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedCatchAllActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + suppress: NotRequired[pulumi.Input[bool]] + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedCatchAllActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationUnroutedCatchAllActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedCatchAllActionsArgs: def __init__(__self__, *, @@ -3597,6 +4799,29 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationUnroutedCatchAllActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationUnroutedCatchAllActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedCatchAllActionsExtractionArgs: def __init__(__self__, *, @@ -3671,6 +4896,27 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationUnroutedCatchAllActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationUnroutedCatchAllActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedCatchAllActionsVariableArgs: def __init__(__self__, *, @@ -3738,6 +4984,16 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationUnroutedSetArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of this set of rules. Rules in other sets can route events into this set using the rule's `route_to` property. + """ + rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedSetRuleArgsDict']]]] +elif False: + EventOrchestrationUnroutedSetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetArgs: def __init__(__self__, *, @@ -3772,6 +5028,31 @@ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrchest pulumi.set(self, "rules", value) +if not MYPY: + class EventOrchestrationUnroutedSetRuleArgsDict(TypedDict): + actions: pulumi.Input['EventOrchestrationUnroutedSetRuleActionsArgsDict'] + """ + Actions that will be taken to change the resulting alert and incident, when an event matches this rule. + """ + conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedSetRuleConditionArgsDict']]]] + """ + Each of these conditions is evaluated to check if an event matches this rule. The rule is considered a match if any of these conditions match. If none are provided, the event will `always` match against the rule. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + Indicates whether the rule is disabled and would therefore not be evaluated. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the rule within the set. + """ + label: NotRequired[pulumi.Input[str]] + """ + A description of this rule's purpose. + """ +elif False: + EventOrchestrationUnroutedSetRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetRuleArgs: def __init__(__self__, *, @@ -3858,6 +5139,31 @@ def label(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "label", value) +if not MYPY: + class EventOrchestrationUnroutedSetRuleActionsArgsDict(TypedDict): + event_action: NotRequired[pulumi.Input[str]] + """ + sets whether the resulting alert status is trigger or resolve. Allowed values are: `trigger`, `resolve` + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedSetRuleActionsExtractionArgsDict']]]] + """ + Replace any CEF field or Custom Details object field using custom variables. + """ + route_to: NotRequired[pulumi.Input[str]] + """ + The ID of a Set from this Unrouted Orchestration whose rules you also want to use with events that match this rule. + """ + severity: NotRequired[pulumi.Input[str]] + """ + sets Severity of the resulting alert. Allowed values are: `info`, `error`, `warning`, `critical` + """ + variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventOrchestrationUnroutedSetRuleActionsVariableArgsDict']]]] + """ + Populate variables from event payloads and use those variables in other event actions. + """ +elif False: + EventOrchestrationUnroutedSetRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetRuleActionsArgs: def __init__(__self__, *, @@ -3945,6 +5251,29 @@ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventOrc pulumi.set(self, "variables", value) +if not MYPY: + class EventOrchestrationUnroutedSetRuleActionsExtractionArgsDict(TypedDict): + target: pulumi.Input[str] + """ + The PagerDuty Common Event Format [PD-CEF](https://support.pagerduty.com/docs/pd-cef) field that will be set with the value from the `template` or based on `regex` and `source` fields. + """ + regex: NotRequired[pulumi.Input[str]] + """ + A [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) that will be matched against field specified via the `source` argument. If the regex contains one or more capture groups, their values will be extracted and appended together. If it contains no capture groups, the whole match is used. This field can be ignored for `template` based extractions. + """ + source: NotRequired[pulumi.Input[str]] + """ + The path to the event field where the `regex` will be applied to extract a value. You can use any valid [PCL path](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview#paths) like `event.summary` and you can reference previously-defined variables using a path like `variables.hostname`. This field can be ignored for `template` based extractions. + """ + template: NotRequired[pulumi.Input[str]] + """ + A string that will be used to populate the `target` field. You can reference variables or event data within your template using double curly braces. For example: + * Use variables named `ip` and `subnet` with a template like: `{{variables.ip}}/{{variables.subnet}}` + * Combine the event severity & summary with template like: `{{event.severity}}:{{event.summary}}` + """ +elif False: + EventOrchestrationUnroutedSetRuleActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetRuleActionsExtractionArgs: def __init__(__self__, *, @@ -4019,6 +5348,27 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class EventOrchestrationUnroutedSetRuleActionsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the variable + """ + path: pulumi.Input[str] + """ + Path to a field in an event, in dot-notation. This supports both [PD-CEF](https://support.pagerduty.com/docs/pd-cef) and non-CEF fields. Eg: Use `event.summary` for the `summary` CEF field. Use `raw_event.fieldname` to read from the original event `fieldname` data. + """ + type: pulumi.Input[str] + """ + Only `regex` is supported + """ + value: pulumi.Input[str] + """ + The Regex expression to match against. Must use valid [RE2 regular expression](https://github.com/google/re2/wiki/Syntax) syntax. + """ +elif False: + EventOrchestrationUnroutedSetRuleActionsVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetRuleActionsVariableArgs: def __init__(__self__, *, @@ -4086,6 +5436,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class EventOrchestrationUnroutedSetRuleConditionArgsDict(TypedDict): + expression: pulumi.Input[str] + """ + A [PCL condition](https://developer.pagerduty.com/docs/ZG9jOjM1NTE0MDc0-pcl-overview) string. + """ +elif False: + EventOrchestrationUnroutedSetRuleConditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class EventOrchestrationUnroutedSetRuleConditionArgs: def __init__(__self__, *, @@ -4108,6 +5467,31 @@ def expression(self, value: pulumi.Input[str]): pulumi.set(self, "expression", value) +if not MYPY: + class IncidentWorkflowStepArgsDict(TypedDict): + action: pulumi.Input[str] + """ + The action id for the workflow step, including the version. A list of actions available can be retrieved using the [PagerDuty API](https://developer.pagerduty.com/api-reference/aa192a25fac39-list-actions). + """ + name: pulumi.Input[str] + """ + The name of the workflow step. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the incident workflow. + """ + inline_steps_inputs: NotRequired[pulumi.Input[Sequence[pulumi.Input['IncidentWorkflowStepInlineStepsInputArgsDict']]]] + """ + The list of inputs that contain a series of inline steps for the workflow action. + """ + inputs: NotRequired[pulumi.Input[Sequence[pulumi.Input['IncidentWorkflowStepInputArgsDict']]]] + """ + The list of standard inputs for the workflow action. + """ +elif False: + IncidentWorkflowStepArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IncidentWorkflowStepArgs: def __init__(__self__, *, @@ -4193,6 +5577,19 @@ def inputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IncidentWor pulumi.set(self, "inputs", value) +if not MYPY: + class IncidentWorkflowStepInlineStepsInputArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the input. + """ + steps: NotRequired[pulumi.Input[Sequence[pulumi.Input['IncidentWorkflowStepInlineStepsInputStepArgsDict']]]] + """ + The inline steps of the input. An inline step adheres to the step schema described above. + """ +elif False: + IncidentWorkflowStepInlineStepsInputArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IncidentWorkflowStepInlineStepsInputArgs: def __init__(__self__, *, @@ -4231,7 +5628,24 @@ def steps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IncidentWork pulumi.set(self, "steps", value) -@pulumi.input_type +if not MYPY: + class IncidentWorkflowStepInlineStepsInputStepArgsDict(TypedDict): + action: pulumi.Input[str] + """ + The action id for the workflow step, including the version. A list of actions available can be retrieved using the [PagerDuty API](https://developer.pagerduty.com/api-reference/aa192a25fac39-list-actions). + """ + name: pulumi.Input[str] + """ + The name of the workflow step. + """ + inputs: NotRequired[pulumi.Input[Sequence[pulumi.Input['IncidentWorkflowStepInlineStepsInputStepInputArgsDict']]]] + """ + The list of standard inputs for the workflow action. + """ +elif False: + IncidentWorkflowStepInlineStepsInputStepArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type class IncidentWorkflowStepInlineStepsInputStepArgs: def __init__(__self__, *, action: pulumi.Input[str], @@ -4284,6 +5698,20 @@ def inputs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IncidentWor pulumi.set(self, "inputs", value) +if not MYPY: + class IncidentWorkflowStepInlineStepsInputStepInputArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the input. + """ + value: pulumi.Input[str] + """ + The value of the input. + """ + generated: NotRequired[pulumi.Input[bool]] +elif False: + IncidentWorkflowStepInlineStepsInputStepInputArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IncidentWorkflowStepInlineStepsInputStepInputArgs: def __init__(__self__, *, @@ -4333,6 +5761,20 @@ def generated(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "generated", value) +if not MYPY: + class IncidentWorkflowStepInputArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the input. + """ + value: pulumi.Input[str] + """ + The value of the input. + """ + generated: NotRequired[pulumi.Input[bool]] +elif False: + IncidentWorkflowStepInputArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IncidentWorkflowStepInputArgs: def __init__(__self__, *, @@ -4382,6 +5824,19 @@ def generated(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "generated", value) +if not MYPY: + class IncidentWorkflowTriggerPermissionsArgsDict(TypedDict): + restricted: NotRequired[pulumi.Input[bool]] + """ + If `true`, indicates that the Trigger can only be started by authorized Users. If `false` (default), any user can start this Trigger. Applicable only to `manual`-type triggers. + """ + team_id: NotRequired[pulumi.Input[str]] + """ + The ID of the Team whose members can manually start this Trigger. Required and allowed only if `restricted` is `true`. + """ +elif False: + IncidentWorkflowTriggerPermissionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IncidentWorkflowTriggerPermissionsArgs: def __init__(__self__, *, @@ -4421,6 +5876,14 @@ def team_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "team_id", value) +if not MYPY: + class ProviderUseAppOauthScopedTokenArgsDict(TypedDict): + pd_client_id: NotRequired[pulumi.Input[str]] + pd_client_secret: NotRequired[pulumi.Input[str]] + pd_subdomain: NotRequired[pulumi.Input[str]] +elif False: + ProviderUseAppOauthScopedTokenArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProviderUseAppOauthScopedTokenArgs: def __init__(__self__, *, @@ -4462,6 +5925,47 @@ def pd_subdomain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pd_subdomain", value) +if not MYPY: + class ResponsePlayResponderArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + Description of escalation policy + """ + escalation_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResponsePlayResponderEscalationRuleArgsDict']]]] + """ + The escalation rules + """ + id: NotRequired[pulumi.Input[str]] + """ + ID of the user defined as the responder + """ + name: NotRequired[pulumi.Input[str]] + """ + Name of the escalation policy + """ + num_loops: NotRequired[pulumi.Input[int]] + """ + The number of times the escalation policy will repeat after reaching the end of its escalation. + """ + on_call_handoff_notifications: NotRequired[pulumi.Input[str]] + """ + Determines how on call handoff notifications will be sent for users on the escalation policy. Defaults to "if_has_services". Could be "if_has_services", "always + """ + services: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResponsePlayResponderServiceArgsDict']]]] + """ + There can be multiple services associated with a policy. + """ + teams: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResponsePlayResponderTeamArgsDict']]]] + """ + Teams associated with the policy. Account must have the `teams` ability to use this parameter. There can be multiple teams associated with a policy. + """ + type: NotRequired[pulumi.Input[str]] + """ + Should be set as `escalation_policy` for escalation policy responders. + """ +elif False: + ResponsePlayResponderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlayResponderArgs: def __init__(__self__, *, @@ -4613,6 +6117,23 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ResponsePlayResponderEscalationRuleArgsDict(TypedDict): + targets: pulumi.Input[Sequence[pulumi.Input['ResponsePlayResponderEscalationRuleTargetArgsDict']]] + """ + The targets an incident should be assigned to upon reaching this rule. + """ + escalation_delay_in_minutes: NotRequired[pulumi.Input[int]] + """ + The number of minutes before an unacknowledged incident escalates away from this rule. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the response play. + """ +elif False: + ResponsePlayResponderEscalationRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlayResponderEscalationRuleArgs: def __init__(__self__, *, @@ -4667,6 +6188,19 @@ def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) +if not MYPY: + class ResponsePlayResponderEscalationRuleTargetArgsDict(TypedDict): + id: NotRequired[pulumi.Input[str]] + """ + The ID of the response play. + """ + type: NotRequired[pulumi.Input[str]] + """ + Type of object of the target. Supported types are `user_reference`, `schedule_reference`. + """ +elif False: + ResponsePlayResponderEscalationRuleTargetArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlayResponderEscalationRuleTargetArgs: def __init__(__self__, *, @@ -4706,6 +6240,19 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ResponsePlayResponderServiceArgsDict(TypedDict): + id: NotRequired[pulumi.Input[str]] + """ + The ID of the response play. + """ + type: NotRequired[pulumi.Input[str]] + """ + A string that determines the schema of the object. If not set, the default value is "response_play". + """ +elif False: + ResponsePlayResponderServiceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlayResponderServiceArgs: def __init__(__self__, *, @@ -4745,6 +6292,19 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ResponsePlayResponderTeamArgsDict(TypedDict): + type: pulumi.Input[str] + """ + A string that determines the schema of the object. If not set, the default value is "response_play". + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the response play. + """ +elif False: + ResponsePlayResponderTeamArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlayResponderTeamArgs: def __init__(__self__, *, @@ -4783,6 +6343,19 @@ def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) +if not MYPY: + class ResponsePlaySubscriberArgsDict(TypedDict): + id: NotRequired[pulumi.Input[str]] + """ + The ID of the response play. + """ + type: NotRequired[pulumi.Input[str]] + """ + A string that determines the schema of the object. If not set, the default value is "response_play". + """ +elif False: + ResponsePlaySubscriberArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ResponsePlaySubscriberArgs: def __init__(__self__, *, @@ -4822,6 +6395,43 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class RulesetRuleActionsArgsDict(TypedDict): + annotates: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsAnnotateArgsDict']]]] + """ + Note added to the event. + """ + event_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsEventActionArgsDict']]]] + """ + An object with a single `value` field. The value sets whether the resulting alert status is `trigger` or `resolve`. + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsExtractionArgsDict']]]] + """ + Allows you to copy important data from one event field to another. Extraction objects may use *either* of the following field structures: + """ + priorities: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsPriorityArgsDict']]]] + """ + The ID of the priority applied to the event. + """ + routes: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsRouteArgsDict']]]] + """ + The ID of the service where the event will be routed. + """ + severities: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsSeverityArgsDict']]]] + """ + The [severity level](https://support.pagerduty.com/docs/rulesets#section-set-severity-with-event-rules) of the event. Can be either `info`,`warning`,`error`, or `critical`. + """ + suppresses: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsSuppressArgsDict']]]] + """ + Controls whether an alert is [suppressed](https://support.pagerduty.com/docs/rulesets#section-suppress-but-create-triggering-thresholds-with-event-rules) (does not create an incident). Note: If a threshold is set, the rule must also have a `route` action. + """ + suspends: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleActionsSuspendArgsDict']]]] + """ + An object with a single `value` field. The value sets the length of time to suspend the resulting alert before triggering. Note: A rule with a `suspend` action must also have a `route` action. + """ +elif False: + RulesetRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsArgs: def __init__(__self__, *, @@ -4957,6 +6567,15 @@ def suspends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RulesetRu pulumi.set(self, "suspends", value) +if not MYPY: + class RulesetRuleActionsAnnotateArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsAnnotateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsAnnotateArgs: def __init__(__self__, *, @@ -4980,6 +6599,15 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsEventActionArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsEventActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsEventActionArgs: def __init__(__self__, *, @@ -5003,6 +6631,31 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsExtractionArgsDict(TypedDict): + regex: NotRequired[pulumi.Input[str]] + """ + The conditions that need to be met for the extraction to happen. Must use valid [RE2 regular expression syntax](https://github.com/google/re2/wiki/Syntax). + + *- **OR** -* + """ + source: NotRequired[pulumi.Input[str]] + """ + Field where the data is being copied from. Must be a [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef) field. + """ + target: NotRequired[pulumi.Input[str]] + """ + Field where the data is being copied to. Must be a [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef) field. + + *NOTE: A rule can have multiple `extraction` objects attributed to it.* + """ + template: NotRequired[pulumi.Input[str]] + """ + A customized field message. This can also include variables extracted from the payload by using string interpolation. + """ +elif False: + RulesetRuleActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsExtractionArgs: def __init__(__self__, *, @@ -5082,6 +6735,15 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class RulesetRuleActionsPriorityArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsPriorityArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsPriorityArgs: def __init__(__self__, *, @@ -5105,6 +6767,15 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsRouteArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsRouteArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsRouteArgs: def __init__(__self__, *, @@ -5128,6 +6799,15 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsSeverityArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsSeverityArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsSeverityArgs: def __init__(__self__, *, @@ -5151,6 +6831,27 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsSuppressArgsDict(TypedDict): + threshold_time_amount: NotRequired[pulumi.Input[int]] + """ + The number value of the `threshold_time_unit` before an incident is created. Must be greater than 0. + """ + threshold_time_unit: NotRequired[pulumi.Input[str]] + """ + The `seconds`,`minutes`, or `hours` the `threshold_time_amount` should be measured. + """ + threshold_value: NotRequired[pulumi.Input[int]] + """ + The number of alerts that should be suppressed. Must be greater than 0. + """ + value: NotRequired[pulumi.Input[bool]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsSuppressArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsSuppressArgs: def __init__(__self__, *, @@ -5222,6 +6923,15 @@ def value(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleActionsSuspendArgsDict(TypedDict): + value: NotRequired[pulumi.Input[int]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleActionsSuspendArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleActionsSuspendArgs: def __init__(__self__, *, @@ -5245,6 +6955,19 @@ def value(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleConditionsArgsDict(TypedDict): + operator: NotRequired[pulumi.Input[str]] + """ + Operator to combine sub-conditions. Can be `and` or `or`. + """ + subconditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleConditionsSubconditionArgsDict']]]] + """ + List of sub-conditions that define the condition. + """ +elif False: + RulesetRuleConditionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleConditionsArgs: def __init__(__self__, *, @@ -5284,6 +7007,19 @@ def subconditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Rule pulumi.set(self, "subconditions", value) +if not MYPY: + class RulesetRuleConditionsSubconditionArgsDict(TypedDict): + operator: NotRequired[pulumi.Input[str]] + """ + Type of operator to apply to the sub-condition. Can be `exists`,`nexists`,`equals`,`nequals`,`contains`,`ncontains`,`matches`, or `nmatches`. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleConditionsSubconditionParameterArgsDict']]]] + """ + Parameter for the sub-condition. It requires both a `path` and `value` to be set. + """ +elif False: + RulesetRuleConditionsSubconditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleConditionsSubconditionArgs: def __init__(__self__, *, @@ -5323,6 +7059,16 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ruleset pulumi.set(self, "parameters", value) +if not MYPY: + class RulesetRuleConditionsSubconditionParameterArgsDict(TypedDict): + path: NotRequired[pulumi.Input[str]] + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleConditionsSubconditionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleConditionsSubconditionParameterArgs: def __init__(__self__, *, @@ -5358,6 +7104,19 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetRuleTimeFrameArgsDict(TypedDict): + active_betweens: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleTimeFrameActiveBetweenArgsDict']]]] + """ + Values for executing the rule during a specific time period. + """ + scheduled_weeklies: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleTimeFrameScheduledWeeklyArgsDict']]]] + """ + Values for executing the rule on a recurring schedule. + """ +elif False: + RulesetRuleTimeFrameArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleTimeFrameArgs: def __init__(__self__, *, @@ -5397,6 +7156,16 @@ def scheduled_weeklies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ pulumi.set(self, "scheduled_weeklies", value) +if not MYPY: + class RulesetRuleTimeFrameActiveBetweenArgsDict(TypedDict): + end_time: NotRequired[pulumi.Input[int]] + start_time: NotRequired[pulumi.Input[int]] + """ + A Unix timestamp in milliseconds which is combined with the `timezone` to determine the time this rule will start on each specified `weekday`. Note that the _date_ of the timestamp you specify does **not** matter, except that it lets you determine whether daylight saving time is in effect so that you use the correct UTC offset for the timezone you specify. In practice, you may want to use the `time_static` resource to generate this value, as demonstrated in the `resource.pagerduty_ruleset_rule.foo` code example at the top of this page. To generate this timestamp manually, if you want your rule to apply starting at 9:30am in the `America/New_York` timezone, use your programing language of choice to determine a Unix timestamp that represents 9:30am in that timezone, like [1554989400000](https://www.epochconverter.com/timezones?q=1554989400000&tz=America%2FNew_York). + """ +elif False: + RulesetRuleTimeFrameActiveBetweenArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleTimeFrameActiveBetweenArgs: def __init__(__self__, *, @@ -5432,6 +7201,27 @@ def start_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "start_time", value) +if not MYPY: + class RulesetRuleTimeFrameScheduledWeeklyArgsDict(TypedDict): + duration: NotRequired[pulumi.Input[int]] + """ + Length of time the schedule will be active in milliseconds. For example `duration = 2 * 60 * 60 * 1000` if you want your rule to apply for 2 hours, from the specified `start_time`. + """ + start_time: NotRequired[pulumi.Input[int]] + """ + A Unix timestamp in milliseconds which is combined with the `timezone` to determine the time this rule will start on each specified `weekday`. Note that the _date_ of the timestamp you specify does **not** matter, except that it lets you determine whether daylight saving time is in effect so that you use the correct UTC offset for the timezone you specify. In practice, you may want to use the `time_static` resource to generate this value, as demonstrated in the `resource.pagerduty_ruleset_rule.foo` code example at the top of this page. To generate this timestamp manually, if you want your rule to apply starting at 9:30am in the `America/New_York` timezone, use your programing language of choice to determine a Unix timestamp that represents 9:30am in that timezone, like [1554989400000](https://www.epochconverter.com/timezones?q=1554989400000&tz=America%2FNew_York). + """ + timezone: NotRequired[pulumi.Input[str]] + """ + [The name of the timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for the given schedule, which will be used to determine UTC offset including adjustment for daylight saving time. For example: `timezone = "America/Toronto"` + """ + weekdays: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]] + """ + An integer array representing which days during the week the rule executes. For example `weekdays = [1,3,7]` would execute on Monday, Wednesday and Sunday. + """ +elif False: + RulesetRuleTimeFrameScheduledWeeklyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleTimeFrameScheduledWeeklyArgs: def __init__(__self__, *, @@ -5503,6 +7293,14 @@ def weekdays(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): pulumi.set(self, "weekdays", value) +if not MYPY: + class RulesetRuleVariableArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['RulesetRuleVariableParameterArgsDict']]]] + type: NotRequired[pulumi.Input[str]] +elif False: + RulesetRuleVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleVariableArgs: def __init__(__self__, *, @@ -5544,6 +7342,16 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class RulesetRuleVariableParameterArgsDict(TypedDict): + path: NotRequired[pulumi.Input[str]] + value: NotRequired[pulumi.Input[str]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + RulesetRuleVariableParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetRuleVariableParameterArgs: def __init__(__self__, *, @@ -5579,6 +7387,15 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class RulesetTeamArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of the ruleset. + """ +elif False: + RulesetTeamArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RulesetTeamArgs: def __init__(__self__, *, @@ -5601,6 +7418,16 @@ def id(self, value: pulumi.Input[str]): pulumi.set(self, "id", value) +if not MYPY: + class ScheduleFinalScheduleArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + """ + The name of the schedule. + """ + rendered_coverage_percentage: NotRequired[pulumi.Input[str]] +elif False: + ScheduleFinalScheduleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ScheduleFinalScheduleArgs: def __init__(__self__, *, @@ -5636,30 +7463,68 @@ def rendered_coverage_percentage(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "rendered_coverage_percentage", value) -@pulumi.input_type -class ScheduleLayerArgs: - def __init__(__self__, *, - rotation_turn_length_seconds: pulumi.Input[int], - rotation_virtual_start: pulumi.Input[str], - start: pulumi.Input[str], - users: pulumi.Input[Sequence[pulumi.Input[str]]], - end: Optional[pulumi.Input[str]] = None, - id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - rendered_coverage_percentage: Optional[pulumi.Input[str]] = None, - restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['ScheduleLayerRestrictionArgs']]]] = None): +if not MYPY: + class ScheduleLayerArgsDict(TypedDict): + rotation_turn_length_seconds: pulumi.Input[int] """ - :param pulumi.Input[int] rotation_turn_length_seconds: The duration of each on-call shift in `seconds`. - :param pulumi.Input[str] rotation_virtual_start: The effective start time of the schedule layer. This can be before the start time of the schedule. - :param pulumi.Input[str] start: The start time of the schedule layer. - :param pulumi.Input[Sequence[pulumi.Input[str]]] users: The ordered list of users on this layer. The position of the user on the list determines their order in the layer. - :param pulumi.Input[str] end: The end time of the schedule layer. If not specified, the layer does not end. - :param pulumi.Input[str] id: The ID of the schedule. - :param pulumi.Input[str] name: The name of the schedule layer. - :param pulumi.Input[Sequence[pulumi.Input['ScheduleLayerRestrictionArgs']]] restrictions: A schedule layer restriction block. Restriction blocks documented below. + The duration of each on-call shift in `seconds`. """ - pulumi.set(__self__, "rotation_turn_length_seconds", rotation_turn_length_seconds) - pulumi.set(__self__, "rotation_virtual_start", rotation_virtual_start) + rotation_virtual_start: pulumi.Input[str] + """ + The effective start time of the schedule layer. This can be before the start time of the schedule. + """ + start: pulumi.Input[str] + """ + The start time of the schedule layer. + """ + users: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + The ordered list of users on this layer. The position of the user on the list determines their order in the layer. + """ + end: NotRequired[pulumi.Input[str]] + """ + The end time of the schedule layer. If not specified, the layer does not end. + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the schedule. + """ + name: NotRequired[pulumi.Input[str]] + """ + The name of the schedule layer. + """ + rendered_coverage_percentage: NotRequired[pulumi.Input[str]] + restrictions: NotRequired[pulumi.Input[Sequence[pulumi.Input['ScheduleLayerRestrictionArgsDict']]]] + """ + A schedule layer restriction block. Restriction blocks documented below. + """ +elif False: + ScheduleLayerArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ScheduleLayerArgs: + def __init__(__self__, *, + rotation_turn_length_seconds: pulumi.Input[int], + rotation_virtual_start: pulumi.Input[str], + start: pulumi.Input[str], + users: pulumi.Input[Sequence[pulumi.Input[str]]], + end: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + rendered_coverage_percentage: Optional[pulumi.Input[str]] = None, + restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['ScheduleLayerRestrictionArgs']]]] = None): + """ + :param pulumi.Input[int] rotation_turn_length_seconds: The duration of each on-call shift in `seconds`. + :param pulumi.Input[str] rotation_virtual_start: The effective start time of the schedule layer. This can be before the start time of the schedule. + :param pulumi.Input[str] start: The start time of the schedule layer. + :param pulumi.Input[Sequence[pulumi.Input[str]]] users: The ordered list of users on this layer. The position of the user on the list determines their order in the layer. + :param pulumi.Input[str] end: The end time of the schedule layer. If not specified, the layer does not end. + :param pulumi.Input[str] id: The ID of the schedule. + :param pulumi.Input[str] name: The name of the schedule layer. + :param pulumi.Input[Sequence[pulumi.Input['ScheduleLayerRestrictionArgs']]] restrictions: A schedule layer restriction block. Restriction blocks documented below. + """ + pulumi.set(__self__, "rotation_turn_length_seconds", rotation_turn_length_seconds) + pulumi.set(__self__, "rotation_virtual_start", rotation_virtual_start) pulumi.set(__self__, "start", start) pulumi.set(__self__, "users", users) if end is not None: @@ -5779,6 +7644,27 @@ def restrictions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Sched pulumi.set(self, "restrictions", value) +if not MYPY: + class ScheduleLayerRestrictionArgsDict(TypedDict): + duration_seconds: pulumi.Input[int] + """ + The duration of the restriction in `seconds`. + """ + start_time_of_day: pulumi.Input[str] + """ + The start time in `HH:mm:ss` format. + """ + type: pulumi.Input[str] + """ + Can be `daily_restriction` or `weekly_restriction`. + """ + start_day_of_week: NotRequired[pulumi.Input[int]] + """ + Number of the day when restriction starts. From 1 to 7 where 1 is Monday and 7 is Sunday. + """ +elif False: + ScheduleLayerRestrictionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ScheduleLayerRestrictionArgs: def __init__(__self__, *, @@ -5847,6 +7733,19 @@ def start_day_of_week(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "start_day_of_week", value) +if not MYPY: + class ServiceAlertGroupingParametersArgsDict(TypedDict): + config: NotRequired[pulumi.Input['ServiceAlertGroupingParametersConfigArgsDict']] + """ + Alert grouping parameters dependent on `type`. If `type` is set to `intelligent` or empty then `config` can be empty. + """ + type: NotRequired[pulumi.Input[str]] + """ + The type of alert grouping; one of `intelligent`, `time` or `content_based`. + """ +elif False: + ServiceAlertGroupingParametersArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceAlertGroupingParametersArgs: def __init__(__self__, *, @@ -5886,6 +7785,27 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceAlertGroupingParametersConfigArgsDict(TypedDict): + aggregate: NotRequired[pulumi.Input[str]] + """ + One of `any` or `all`. This setting applies only when `type` is set to `content_based`. Group alerts based on one or all of `fields` value(s). + """ + fields: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Alerts will be grouped together if the content of these fields match. This setting applies only when `type` is set to `content_based`. + """ + time_window: NotRequired[pulumi.Input[int]] + """ + The maximum amount of time allowed between Alerts. This setting applies only when `type` is set to `intelligent` or `content_based`. Value must be between `300` and `3600` or exactly `86400` (86400 is supported only for `content_based` alert grouping). Any Alerts arriving greater than `time_window` seconds apart will not be grouped together. This is a rolling time window and is counted from the most recently grouped alert. The window is extended every time a new alert is added to the group, up to 24 hours. + """ + timeout: NotRequired[pulumi.Input[int]] + """ + The duration in minutes within which to automatically group incoming alerts. This setting applies only when `type` is set to `time`. To continue grouping alerts until the incident is resolved, set this value to `0`. + """ +elif False: + ServiceAlertGroupingParametersConfigArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceAlertGroupingParametersConfigArgs: def __init__(__self__, *, @@ -5957,6 +7877,19 @@ def timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "timeout", value) +if not MYPY: + class ServiceAutoPauseNotificationsParametersArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + """ + Indicates whether alerts should be automatically suspended when identified as transient. If not passed in, will default to 'false'. + """ + timeout: NotRequired[pulumi.Input[int]] + """ + Indicates in seconds how long alerts should be suspended before triggering. Allowed values: `120`, `180`, `300`, `600`, `900` if `enabled` is `true`. Must be omitted or set to `null` if `enabled` is `false`. + """ +elif False: + ServiceAutoPauseNotificationsParametersArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceAutoPauseNotificationsParametersArgs: def __init__(__self__, *, @@ -5996,6 +7929,23 @@ def timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "timeout", value) +if not MYPY: + class ServiceDependencyDependencyArgsDict(TypedDict): + dependent_services: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceDependencyDependencyDependentServiceArgsDict']]]] + """ + The service that dependents on the supporting service. Dependency dependent service documented below. + """ + supporting_services: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceDependencyDependencySupportingServiceArgsDict']]]] + """ + The service that supports the dependent service. Dependency supporting service documented below. + """ + type: NotRequired[pulumi.Input[str]] + """ + Can be `business_service`, `service`, `business_service_reference` or `technical_service_reference`. + """ +elif False: + ServiceDependencyDependencyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceDependencyDependencyArgs: def __init__(__self__, *, @@ -6051,6 +8001,19 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceDependencyDependencyDependentServiceArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of the service dependency. + """ + type: pulumi.Input[str] + """ + Can be `business_service`, `service`, `business_service_reference` or `technical_service_reference`. + """ +elif False: + ServiceDependencyDependencyDependentServiceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceDependencyDependencyDependentServiceArgs: def __init__(__self__, *, @@ -6088,6 +8051,19 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceDependencyDependencySupportingServiceArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of the service dependency. + """ + type: pulumi.Input[str] + """ + Can be `business_service`, `service`, `business_service_reference` or `technical_service_reference`. + """ +elif False: + ServiceDependencyDependencySupportingServiceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceDependencyDependencySupportingServiceArgs: def __init__(__self__, *, @@ -6125,6 +8101,39 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceEventRuleActionsArgsDict(TypedDict): + annotates: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsAnnotateArgsDict']]]] + """ + Note added to the event. + """ + event_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsEventActionArgsDict']]]] + """ + An object with a single `value` field. The value sets whether the resulting alert status is `trigger` or `resolve`. + """ + extractions: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsExtractionArgsDict']]]] + """ + Allows you to copy important data from one event field to another. Extraction objects may use *either* of the following field structures: + """ + priorities: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsPriorityArgsDict']]]] + """ + The ID of the priority applied to the event. + """ + severities: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsSeverityArgsDict']]]] + """ + The [severity level](https://support.pagerduty.com/docs/rulesets#section-set-severity-with-event-rules) of the event. Can be either `info`,`error`,`warning`, or `critical`. + """ + suppresses: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsSuppressArgsDict']]]] + """ + Controls whether an alert is [suppressed](https://support.pagerduty.com/docs/rulesets#section-suppress-but-create-triggering-thresholds-with-event-rules) (does not create an incident). + """ + suspends: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleActionsSuspendArgsDict']]]] + """ + An object with a single `value` field. The value sets the length of time to suspend the resulting alert before triggering. + """ +elif False: + ServiceEventRuleActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsArgs: def __init__(__self__, *, @@ -6244,6 +8253,12 @@ def suspends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceEv pulumi.set(self, "suspends", value) +if not MYPY: + class ServiceEventRuleActionsAnnotateArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleActionsAnnotateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsAnnotateArgs: def __init__(__self__, *, @@ -6261,6 +8276,12 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleActionsEventActionArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleActionsEventActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsEventActionArgs: def __init__(__self__, *, @@ -6278,6 +8299,31 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleActionsExtractionArgsDict(TypedDict): + regex: NotRequired[pulumi.Input[str]] + """ + The conditions that need to be met for the extraction to happen. Must use valid [RE2 regular expression syntax](https://github.com/google/re2/wiki/Syntax). + + *- **OR** -* + """ + source: NotRequired[pulumi.Input[str]] + """ + Field where the data is being copied from. Must be a [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef) field. + """ + target: NotRequired[pulumi.Input[str]] + """ + Field where the data is being copied to. Must be a [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef) field. + + *NOTE: A rule can have multiple `extraction` objects attributed to it.* + """ + template: NotRequired[pulumi.Input[str]] + """ + A customized field message. This can also include variables extracted from the payload by using string interpolation. + """ +elif False: + ServiceEventRuleActionsExtractionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsExtractionArgs: def __init__(__self__, *, @@ -6357,6 +8403,12 @@ def template(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template", value) +if not MYPY: + class ServiceEventRuleActionsPriorityArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleActionsPriorityArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsPriorityArgs: def __init__(__self__, *, @@ -6374,6 +8426,12 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleActionsSeverityArgsDict(TypedDict): + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleActionsSeverityArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsSeverityArgs: def __init__(__self__, *, @@ -6391,6 +8449,27 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleActionsSuppressArgsDict(TypedDict): + threshold_time_amount: NotRequired[pulumi.Input[int]] + """ + The number value of the `threshold_time_unit` before an incident is created. + """ + threshold_time_unit: NotRequired[pulumi.Input[str]] + """ + The `seconds`,`minutes`, or `hours` the `threshold_time_amount` should be measured. + """ + threshold_value: NotRequired[pulumi.Input[int]] + """ + The number of alerts that should be suppressed. + """ + value: NotRequired[pulumi.Input[bool]] + """ + Boolean value that indicates if the alert should be suppressed before the indicated threshold values are met. + """ +elif False: + ServiceEventRuleActionsSuppressArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsSuppressArgs: def __init__(__self__, *, @@ -6462,6 +8541,12 @@ def value(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleActionsSuspendArgsDict(TypedDict): + value: NotRequired[pulumi.Input[int]] +elif False: + ServiceEventRuleActionsSuspendArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleActionsSuspendArgs: def __init__(__self__, *, @@ -6479,6 +8564,19 @@ def value(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleConditionsArgsDict(TypedDict): + operator: NotRequired[pulumi.Input[str]] + """ + Operator to combine sub-conditions. Can be `and` or `or`. + """ + subconditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleConditionsSubconditionArgsDict']]]] + """ + List of sub-conditions that define the condition. + """ +elif False: + ServiceEventRuleConditionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleConditionsArgs: def __init__(__self__, *, @@ -6518,6 +8616,19 @@ def subconditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Serv pulumi.set(self, "subconditions", value) +if not MYPY: + class ServiceEventRuleConditionsSubconditionArgsDict(TypedDict): + operator: NotRequired[pulumi.Input[str]] + """ + Type of operator to apply to the sub-condition. Can be `exists`,`nexists`,`equals`,`nequals`,`contains`,`ncontains`,`matches`, or `nmatches`. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleConditionsSubconditionParameterArgsDict']]]] + """ + Parameter for the sub-condition. It requires both a `path` and `value` to be set. The `path` value must be a [PagerDuty Common Event Format (PD-CEF)](https://support.pagerduty.com/docs/pd-cef) field. + """ +elif False: + ServiceEventRuleConditionsSubconditionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleConditionsSubconditionArgs: def __init__(__self__, *, @@ -6557,6 +8668,16 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Service pulumi.set(self, "parameters", value) +if not MYPY: + class ServiceEventRuleConditionsSubconditionParameterArgsDict(TypedDict): + path: NotRequired[pulumi.Input[str]] + """ + Path to a field in an event, in dot-notation. For Event Rules on a Service, this will have to be a [PD-CEF field](https://support.pagerduty.com/docs/pd-cef). + """ + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleConditionsSubconditionParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleConditionsSubconditionParameterArgs: def __init__(__self__, *, @@ -6592,6 +8713,19 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceEventRuleTimeFrameArgsDict(TypedDict): + active_betweens: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleTimeFrameActiveBetweenArgsDict']]]] + """ + Values for executing the rule during a specific time period. + """ + scheduled_weeklies: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleTimeFrameScheduledWeeklyArgsDict']]]] + """ + Values for executing the rule on a recurring schedule. + """ +elif False: + ServiceEventRuleTimeFrameArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleTimeFrameArgs: def __init__(__self__, *, @@ -6631,6 +8765,19 @@ def scheduled_weeklies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ pulumi.set(self, "scheduled_weeklies", value) +if not MYPY: + class ServiceEventRuleTimeFrameActiveBetweenArgsDict(TypedDict): + end_time: NotRequired[pulumi.Input[int]] + """ + Ending of the scheduled time when the rule should execute. Unix timestamp in milliseconds. + """ + start_time: NotRequired[pulumi.Input[int]] + """ + Beginning of the scheduled time when the rule should execute. Unix timestamp in milliseconds. + """ +elif False: + ServiceEventRuleTimeFrameActiveBetweenArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleTimeFrameActiveBetweenArgs: def __init__(__self__, *, @@ -6670,6 +8817,27 @@ def start_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "start_time", value) +if not MYPY: + class ServiceEventRuleTimeFrameScheduledWeeklyArgsDict(TypedDict): + duration: NotRequired[pulumi.Input[int]] + """ + Length of time the schedule will be active. Unix timestamp in milliseconds. + """ + start_time: NotRequired[pulumi.Input[int]] + """ + Time when the schedule will start. Unix timestamp in milliseconds. For example, if you have a rule with a `start_time` of `0` and a `duration` of `60,000` then that rule would be active from `00:00` to `00:01`. If the `start_time` was `3,600,000` the it would be active starting at `01:00`. + """ + timezone: NotRequired[pulumi.Input[str]] + """ + Timezone for the given schedule. + """ + weekdays: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]] + """ + An integer array representing which days during the week the rule executes. For example `weekdays = [1,3,7]` would execute on Monday, Wednesday and Sunday. + """ +elif False: + ServiceEventRuleTimeFrameScheduledWeeklyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleTimeFrameScheduledWeeklyArgs: def __init__(__self__, *, @@ -6741,6 +8909,23 @@ def weekdays(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): pulumi.set(self, "weekdays", value) +if not MYPY: + class ServiceEventRuleVariableArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + """ + The name of the variable. + """ + parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceEventRuleVariableParameterArgsDict']]]] + """ + The parameters for performing the operation to populate the variable. + """ + type: NotRequired[pulumi.Input[str]] + """ + Type of operation to populate the variable. Usually `regex`. + """ +elif False: + ServiceEventRuleVariableArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleVariableArgs: def __init__(__self__, *, @@ -6796,6 +8981,16 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceEventRuleVariableParameterArgsDict(TypedDict): + path: NotRequired[pulumi.Input[str]] + """ + Path to a field in an event, in dot-notation. For Event Rules on a Service, this will have to be a [PD-CEF field](https://support.pagerduty.com/docs/pd-cef). + """ + value: NotRequired[pulumi.Input[str]] +elif False: + ServiceEventRuleVariableParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceEventRuleVariableParameterArgs: def __init__(__self__, *, @@ -6831,6 +9026,27 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ServiceIncidentUrgencyRuleArgsDict(TypedDict): + type: pulumi.Input[str] + """ + The type of incident urgency: `constant` or `use_support_hours` (when depending on specific support hours; see `support_hours`). + """ + during_support_hours: NotRequired[pulumi.Input['ServiceIncidentUrgencyRuleDuringSupportHoursArgsDict']] + """ + Incidents' urgency during support hours. + """ + outside_support_hours: NotRequired[pulumi.Input['ServiceIncidentUrgencyRuleOutsideSupportHoursArgsDict']] + """ + Incidents' urgency outside support hours. + """ + urgency: NotRequired[pulumi.Input[str]] + """ + The urgency: `low` Notify responders (does not escalate), `high` (follows escalation rules) or `severity_based` Set's the urgency of the incident based on the severity set by the triggering monitoring tool. + """ +elif False: + ServiceIncidentUrgencyRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIncidentUrgencyRuleArgs: def __init__(__self__, *, @@ -6901,6 +9117,19 @@ def urgency(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urgency", value) +if not MYPY: + class ServiceIncidentUrgencyRuleDuringSupportHoursArgsDict(TypedDict): + type: NotRequired[pulumi.Input[str]] + """ + The type of object. The value returned will be `service`. Can be used for passing to a service dependency. + """ + urgency: NotRequired[pulumi.Input[str]] + """ + The urgency: `low` Notify responders (does not escalate), `high` (follows escalation rules) or `severity_based` Set's the urgency of the incident based on the severity set by the triggering monitoring tool. + """ +elif False: + ServiceIncidentUrgencyRuleDuringSupportHoursArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIncidentUrgencyRuleDuringSupportHoursArgs: def __init__(__self__, *, @@ -6940,6 +9169,19 @@ def urgency(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urgency", value) +if not MYPY: + class ServiceIncidentUrgencyRuleOutsideSupportHoursArgsDict(TypedDict): + type: NotRequired[pulumi.Input[str]] + """ + The type of object. The value returned will be `service`. Can be used for passing to a service dependency. + """ + urgency: NotRequired[pulumi.Input[str]] + """ + The urgency: `low` Notify responders (does not escalate), `high` (follows escalation rules) or `severity_based` Set's the urgency of the incident based on the severity set by the triggering monitoring tool. + """ +elif False: + ServiceIncidentUrgencyRuleOutsideSupportHoursArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIncidentUrgencyRuleOutsideSupportHoursArgs: def __init__(__self__, *, @@ -6979,6 +9221,39 @@ def urgency(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urgency", value) +if not MYPY: + class ServiceIntegrationEmailFilterArgsDict(TypedDict): + body_mode: NotRequired[pulumi.Input[str]] + """ + Can be `always` or `match`. + """ + body_regex: NotRequired[pulumi.Input[str]] + """ + Should be a valid regex or `null` + """ + from_email_mode: NotRequired[pulumi.Input[str]] + """ + Can be `always` or `match`. + """ + from_email_regex: NotRequired[pulumi.Input[str]] + """ + Should be a valid regex or `null` + """ + id: NotRequired[pulumi.Input[str]] + """ + The ID of the service integration. + """ + subject_mode: NotRequired[pulumi.Input[str]] + """ + Can be `always` or `match`. + """ + subject_regex: NotRequired[pulumi.Input[str]] + """ + Should be a valid regex or `null` + """ +elif False: + ServiceIntegrationEmailFilterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailFilterArgs: def __init__(__self__, *, @@ -7098,6 +9373,21 @@ def subject_regex(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subject_regex", value) +if not MYPY: + class ServiceIntegrationEmailParserArgsDict(TypedDict): + action: pulumi.Input[str] + """ + Can be `resolve` or `trigger`. + """ + match_predicate: pulumi.Input['ServiceIntegrationEmailParserMatchPredicateArgsDict'] + id: NotRequired[pulumi.Input[int]] + """ + The ID of the service integration. + """ + value_extractors: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceIntegrationEmailParserValueExtractorArgsDict']]]] +elif False: + ServiceIntegrationEmailParserArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailParserArgs: def __init__(__self__, *, @@ -7159,6 +9449,16 @@ def value_extractors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S pulumi.set(self, "value_extractors", value) +if not MYPY: + class ServiceIntegrationEmailParserMatchPredicateArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Can be `any` or `all`. + """ + predicates: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceIntegrationEmailParserMatchPredicatePredicateArgsDict']]]] +elif False: + ServiceIntegrationEmailParserMatchPredicateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailParserMatchPredicateArgs: def __init__(__self__, *, @@ -7193,6 +9493,24 @@ def predicates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Service pulumi.set(self, "predicates", value) +if not MYPY: + class ServiceIntegrationEmailParserMatchPredicatePredicateArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Can be `contains`, `exactly`, `regex` or `not`. If type is `not` predicate should contain child predicate with all parameters. + """ + matcher: NotRequired[pulumi.Input[str]] + """ + Predicate value or valid regex. + """ + part: NotRequired[pulumi.Input[str]] + """ + Can be `subject`, `body` or `from_addresses`. + """ + predicates: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgsDict']]]] +elif False: + ServiceIntegrationEmailParserMatchPredicatePredicateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailParserMatchPredicatePredicateArgs: def __init__(__self__, *, @@ -7259,6 +9577,23 @@ def predicates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Service pulumi.set(self, "predicates", value) +if not MYPY: + class ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgsDict(TypedDict): + matcher: pulumi.Input[str] + """ + Predicate value or valid regex. + """ + part: pulumi.Input[str] + """ + Can be `subject`, `body` or `from_addresses`. + """ + type: pulumi.Input[str] + """ + Can be `contains`, `exactly`, `regex` or `not`. If type is `not` predicate should contain child predicate with all parameters. + """ +elif False: + ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailParserMatchPredicatePredicatePredicateArgs: def __init__(__self__, *, @@ -7311,6 +9646,31 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceIntegrationEmailParserValueExtractorArgsDict(TypedDict): + part: pulumi.Input[str] + """ + Can be `subject` or `body`. + """ + type: pulumi.Input[str] + """ + Can be `between`, `entire` or `regex`. + """ + value_name: pulumi.Input[str] + """ + First value extractor should have name `incident_key` other value extractors should contain custom names. + """ + ends_before: NotRequired[pulumi.Input[str]] + regex: NotRequired[pulumi.Input[str]] + """ + If `type` has value `regex` this value should contain valid regex. + + **Note:** You can use the `get_vendor` data source to locate the appropriate vendor ID. + """ + starts_after: NotRequired[pulumi.Input[str]] +elif False: + ServiceIntegrationEmailParserValueExtractorArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceIntegrationEmailParserValueExtractorArgs: def __init__(__self__, *, @@ -7407,6 +9767,23 @@ def starts_after(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "starts_after", value) +if not MYPY: + class ServiceScheduledActionArgsDict(TypedDict): + ats: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServiceScheduledActionAtArgsDict']]]] + """ + A block representing when the scheduled action will occur. + """ + to_urgency: NotRequired[pulumi.Input[str]] + """ + The urgency to change to: `low` (does not escalate), or `high` (follows escalation rules). + """ + type: NotRequired[pulumi.Input[str]] + """ + The type of scheduled action. Currently, this must be set to `urgency_change`. + """ +elif False: + ServiceScheduledActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceScheduledActionArgs: def __init__(__self__, *, @@ -7462,6 +9839,67 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceScheduledActionAtArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + """ + Designates either the start or the end of the scheduled action. Can be `support_hours_start` or `support_hours_end`. + + Note that it is currently only possible to define the scheduled action when urgency is set to `high` for `during_support_hours` and to `low` for `outside_support_hours` in `incident_urgency_rule`. + + Below is an example for a `Service` resource with `incident_urgency_rules` with `type = "use_support_hours"`, `support_hours` and a default `scheduled_action` as well. + + ```python + import pulumi + import pulumi_pagerduty as pagerduty + + foo = pagerduty.Service("foo", + name="bar", + description="bar bar bar", + auto_resolve_timeout="3600", + acknowledgement_timeout="3600", + escalation_policy=foo_pagerduty_escalation_policy["id"], + incident_urgency_rule={ + "type": "use_support_hours", + "during_support_hours": { + "type": "constant", + "urgency": "high", + }, + "outside_support_hours": { + "type": "constant", + "urgency": "low", + }, + }, + support_hours={ + "type": "fixed_time_per_day", + "time_zone": "America/Lima", + "start_time": "09:00:00", + "end_time": "17:00:00", + "days_of_weeks": [ + 1, + 2, + 3, + 4, + 5, + ], + }, + scheduled_actions=[{ + "type": "urgency_change", + "to_urgency": "high", + "ats": [{ + "type": "named_time", + "name": "support_hours_start", + }], + }]) + ``` + """ + type: NotRequired[pulumi.Input[str]] + """ + The type of time specification. Currently, this must be set to `named_time`. + """ +elif False: + ServiceScheduledActionAtArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceScheduledActionAtArgs: def __init__(__self__, *, @@ -7597,6 +10035,32 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ServiceSupportHoursArgsDict(TypedDict): + days_of_weeks: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]] + """ + Array of days of week as integers. `1` to `7`, `1` being + Monday and `7` being Sunday. + """ + end_time: NotRequired[pulumi.Input[str]] + """ + The support hours' ending time of day. + """ + start_time: NotRequired[pulumi.Input[str]] + """ + The support hours' starting time of day. + """ + time_zone: NotRequired[pulumi.Input[str]] + """ + The time zone for the support hours. + """ + type: NotRequired[pulumi.Input[str]] + """ + The type of support hours. Can be `fixed_time_per_day`. + """ +elif False: + ServiceSupportHoursArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServiceSupportHoursArgs: def __init__(__self__, *, @@ -7686,6 +10150,37 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class SlackConnectionConfigArgsDict(TypedDict): + events: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + A list of strings to filter events by PagerDuty event type. `"incident.triggered"` is required. The follow event types are also possible: + - `incident.acknowledged` + - `incident.escalated` + - `incident.resolved` + - `incident.reassigned` + - `incident.annotated` + - `incident.unacknowledged` + - `incident.delegated` + - `incident.priority_updated` + - `incident.responder.added` + - `incident.responder.replied` + - `incident.status_update_published` + - `incident.reopened` + """ + priorities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Allows you to filter events by priority. Needs to be an array of PagerDuty priority IDs. Available through get_priority data source. + - When omitted or set to an empty array (`[]`) in the configuration for a Slack Connection, its default behaviour is to set `priorities` to `No Priority` value. + - When set to `["*"]` its corresponding value for `priorities` in Slack Connection's configuration will be `Any Priority`. + """ + urgency: NotRequired[pulumi.Input[str]] + """ + Allows you to filter events by urgency. Either `high` or `low`. + """ +elif False: + SlackConnectionConfigArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class SlackConnectionConfigArgs: def __init__(__self__, *, @@ -7768,6 +10263,19 @@ def urgency(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urgency", value) +if not MYPY: + class UserHandoffNotificationRuleContactMethodArgsDict(TypedDict): + id: pulumi.Input[str] + """ + The ID of the contact method. + """ + type: pulumi.Input[str] + """ + The type of the contact method. May be (`email_contact_method`, `email_contact_method_reference`, `phone_contact_method`, `phone_contact_method_reference`, `push_notification_contact_method`, `push_notification_contact_method_reference`, `sms_contact_method`, `sms_contact_method_reference`). + """ +elif False: + UserHandoffNotificationRuleContactMethodArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class UserHandoffNotificationRuleContactMethodArgs: def __init__(__self__, *, @@ -7805,6 +10313,27 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +if not MYPY: + class WebhookSubscriptionDeliveryMethodArgsDict(TypedDict): + custom_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['WebhookSubscriptionDeliveryMethodCustomHeaderArgsDict']]]] + """ + The custom_header of a webhook subscription define any optional headers that will be passed along with the payload to the destination URL. + """ + temporarily_disabled: NotRequired[pulumi.Input[bool]] + """ + Whether this webhook subscription is temporarily disabled. Becomes true if the delivery method URL is repeatedly rejected by the server. + """ + type: NotRequired[pulumi.Input[str]] + """ + Indicates the type of the delivery method. Allowed and default value: `http_delivery_method`. + """ + url: NotRequired[pulumi.Input[str]] + """ + The destination URL for webhook delivery. + """ +elif False: + WebhookSubscriptionDeliveryMethodArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class WebhookSubscriptionDeliveryMethodArgs: def __init__(__self__, *, @@ -7876,6 +10405,13 @@ def url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "url", value) +if not MYPY: + class WebhookSubscriptionDeliveryMethodCustomHeaderArgsDict(TypedDict): + name: pulumi.Input[str] + value: pulumi.Input[str] +elif False: + WebhookSubscriptionDeliveryMethodCustomHeaderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class WebhookSubscriptionDeliveryMethodCustomHeaderArgs: def __init__(__self__, *, @@ -7903,6 +10439,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class WebhookSubscriptionFilterArgsDict(TypedDict): + type: pulumi.Input[str] + """ + The type of object being used as the filter. Allowed values are `account_reference`, `service_reference`, and `team_reference`. + """ + id: NotRequired[pulumi.Input[str]] + """ + The id of the object being used as the filter. This field is required for all filter types except account_reference. + """ +elif False: + WebhookSubscriptionFilterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class WebhookSubscriptionFilterArgs: def __init__(__self__, *, @@ -7941,6 +10490,17 @@ def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) +if not MYPY: + class GetEventOrchestrationIntegrationDetailArgsDict(TypedDict): + id: str + """ + ID of the integration + """ + label: str + parameters: Sequence['GetEventOrchestrationIntegrationDetailParameterArgsDict'] +elif False: + GetEventOrchestrationIntegrationDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetEventOrchestrationIntegrationDetailArgs: def __init__(__self__, *, @@ -7985,6 +10545,19 @@ def parameters(self, value: Sequence['GetEventOrchestrationIntegrationDetailPara pulumi.set(self, "parameters", value) +if not MYPY: + class GetEventOrchestrationIntegrationDetailParameterArgsDict(TypedDict): + routing_key: str + """ + Routing key that routes to this Orchestration. + """ + type: str + """ + Type of the routing key. `global` is the default type. + """ +elif False: + GetEventOrchestrationIntegrationDetailParameterArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetEventOrchestrationIntegrationDetailParameterArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_pagerduty/_utilities.py b/sdk/python/pulumi_pagerduty/_utilities.py index d14b49ac..3ce408d5 100644 --- a/sdk/python/pulumi_pagerduty/_utilities.py +++ b/sdk/python/pulumi_pagerduty/_utilities.py @@ -264,7 +264,7 @@ def call_plain( output = pulumi.runtime.call(tok, props, res, typ) # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. - result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output))) + result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output))) problem = None if not known: diff --git a/sdk/python/pulumi_pagerduty/addon.py b/sdk/python/pulumi_pagerduty/addon.py index 0631b519..8dccda6e 100644 --- a/sdk/python/pulumi_pagerduty/addon.py +++ b/sdk/python/pulumi_pagerduty/addon.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['AddonArgs', 'Addon'] diff --git a/sdk/python/pulumi_pagerduty/automation_actions_action.py b/sdk/python/pulumi_pagerduty/automation_actions_action.py index 70de56d5..8c3e1def 100644 --- a/sdk/python/pulumi_pagerduty/automation_actions_action.py +++ b/sdk/python/pulumi_pagerduty/automation_actions_action.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/automation_actions_action_service_association.py b/sdk/python/pulumi_pagerduty/automation_actions_action_service_association.py index 77377fd7..a1d22035 100644 --- a/sdk/python/pulumi_pagerduty/automation_actions_action_service_association.py +++ b/sdk/python/pulumi_pagerduty/automation_actions_action_service_association.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['AutomationActionsActionServiceAssociationArgs', 'AutomationActionsActionServiceAssociation'] diff --git a/sdk/python/pulumi_pagerduty/automation_actions_action_team_association.py b/sdk/python/pulumi_pagerduty/automation_actions_action_team_association.py index 6bc62351..d23ffe7a 100644 --- a/sdk/python/pulumi_pagerduty/automation_actions_action_team_association.py +++ b/sdk/python/pulumi_pagerduty/automation_actions_action_team_association.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['AutomationActionsActionTeamAssociationArgs', 'AutomationActionsActionTeamAssociation'] diff --git a/sdk/python/pulumi_pagerduty/automation_actions_runner.py b/sdk/python/pulumi_pagerduty/automation_actions_runner.py index c5c95a1a..1e762a20 100644 --- a/sdk/python/pulumi_pagerduty/automation_actions_runner.py +++ b/sdk/python/pulumi_pagerduty/automation_actions_runner.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['AutomationActionsRunnerArgs', 'AutomationActionsRunner'] diff --git a/sdk/python/pulumi_pagerduty/automation_actions_runner_team_association.py b/sdk/python/pulumi_pagerduty/automation_actions_runner_team_association.py index 5fdf174c..629777df 100644 --- a/sdk/python/pulumi_pagerduty/automation_actions_runner_team_association.py +++ b/sdk/python/pulumi_pagerduty/automation_actions_runner_team_association.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['AutomationActionsRunnerTeamAssociationArgs', 'AutomationActionsRunnerTeamAssociation'] diff --git a/sdk/python/pulumi_pagerduty/business_service.py b/sdk/python/pulumi_pagerduty/business_service.py index 3f59b265..f20713d8 100644 --- a/sdk/python/pulumi_pagerduty/business_service.py +++ b/sdk/python/pulumi_pagerduty/business_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['BusinessServiceArgs', 'BusinessService'] diff --git a/sdk/python/pulumi_pagerduty/business_service_subscriber.py b/sdk/python/pulumi_pagerduty/business_service_subscriber.py index 6fe0ea00..017dd84a 100644 --- a/sdk/python/pulumi_pagerduty/business_service_subscriber.py +++ b/sdk/python/pulumi_pagerduty/business_service_subscriber.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['BusinessServiceSubscriberArgs', 'BusinessServiceSubscriber'] diff --git a/sdk/python/pulumi_pagerduty/config/__init__.pyi b/sdk/python/pulumi_pagerduty/config/__init__.pyi index 9ca875cd..54f35f10 100644 --- a/sdk/python/pulumi_pagerduty/config/__init__.pyi +++ b/sdk/python/pulumi_pagerduty/config/__init__.pyi @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_pagerduty/config/outputs.py b/sdk/python/pulumi_pagerduty/config/outputs.py index 8807370b..97108dde 100644 --- a/sdk/python/pulumi_pagerduty/config/outputs.py +++ b/sdk/python/pulumi_pagerduty/config/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities __all__ = [ diff --git a/sdk/python/pulumi_pagerduty/config/vars.py b/sdk/python/pulumi_pagerduty/config/vars.py index 02cdfcd2..71576c31 100644 --- a/sdk/python/pulumi_pagerduty/config/vars.py +++ b/sdk/python/pulumi_pagerduty/config/vars.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_pagerduty/escalation_policy.py b/sdk/python/pulumi_pagerduty/escalation_policy.py index 8300759c..138ce0c9 100644 --- a/sdk/python/pulumi_pagerduty/escalation_policy.py +++ b/sdk/python/pulumi_pagerduty/escalation_policy.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration.py b/sdk/python/pulumi_pagerduty/event_orchestration.py index 40840a6c..a9356d44 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_global.py b/sdk/python/pulumi_pagerduty/event_orchestration_global.py index dd07d714..40d54dda 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_global.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_global.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_global_cache_variable.py b/sdk/python/pulumi_pagerduty/event_orchestration_global_cache_variable.py index b5653bf6..c9417150 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_global_cache_variable.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_global_cache_variable.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_integration.py b/sdk/python/pulumi_pagerduty/event_orchestration_integration.py index e365f370..df9500ec 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_integration.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_integration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_router.py b/sdk/python/pulumi_pagerduty/event_orchestration_router.py index 5da6d636..fe40be5b 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_router.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_router.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_service.py b/sdk/python/pulumi_pagerduty/event_orchestration_service.py index 29609c3c..fb5eb5f2 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_service.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_service_cache_variable.py b/sdk/python/pulumi_pagerduty/event_orchestration_service_cache_variable.py index 8a424e7c..75bcdbf9 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_service_cache_variable.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_service_cache_variable.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_orchestration_unrouted.py b/sdk/python/pulumi_pagerduty/event_orchestration_unrouted.py index 27bc4371..54e5b5bf 100644 --- a/sdk/python/pulumi_pagerduty/event_orchestration_unrouted.py +++ b/sdk/python/pulumi_pagerduty/event_orchestration_unrouted.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/event_rule.py b/sdk/python/pulumi_pagerduty/event_rule.py index 6b38047b..19a4ec1a 100644 --- a/sdk/python/pulumi_pagerduty/event_rule.py +++ b/sdk/python/pulumi_pagerduty/event_rule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['EventRuleArgs', 'EventRule'] diff --git a/sdk/python/pulumi_pagerduty/extension.py b/sdk/python/pulumi_pagerduty/extension.py index ffb4664e..31444df4 100644 --- a/sdk/python/pulumi_pagerduty/extension.py +++ b/sdk/python/pulumi_pagerduty/extension.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['ExtensionArgs', 'Extension'] diff --git a/sdk/python/pulumi_pagerduty/extension_service_now.py b/sdk/python/pulumi_pagerduty/extension_service_now.py index fe6840f4..8d44ad0a 100644 --- a/sdk/python/pulumi_pagerduty/extension_service_now.py +++ b/sdk/python/pulumi_pagerduty/extension_service_now.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['ExtensionServiceNowArgs', 'ExtensionServiceNow'] diff --git a/sdk/python/pulumi_pagerduty/get_automation_actions_action.py b/sdk/python/pulumi_pagerduty/get_automation_actions_action.py index 7cef5f3a..02877441 100644 --- a/sdk/python/pulumi_pagerduty/get_automation_actions_action.py +++ b/sdk/python/pulumi_pagerduty/get_automation_actions_action.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -220,9 +225,6 @@ def get_automation_actions_action(action_classification: Optional[str] = None, runner_id=pulumi.get(__ret__, 'runner_id'), runner_type=pulumi.get(__ret__, 'runner_type'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_automation_actions_action) def get_automation_actions_action_output(action_classification: Optional[pulumi.Input[Optional[str]]] = None, creation_time: Optional[pulumi.Input[Optional[str]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, @@ -254,4 +256,26 @@ def get_automation_actions_action_output(action_classification: Optional[pulumi. :param str runner_type: (Optional) The type of the runner associated with the action. :param str type: The type of object. The value returned will be `action`. """ - ... + __args__ = dict() + __args__['actionClassification'] = action_classification + __args__['creationTime'] = creation_time + __args__['description'] = description + __args__['id'] = id + __args__['modifyTime'] = modify_time + __args__['runnerId'] = runner_id + __args__['runnerType'] = runner_type + __args__['type'] = type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getAutomationActionsAction:getAutomationActionsAction', __args__, opts=opts, typ=GetAutomationActionsActionResult) + return __ret__.apply(lambda __response__: GetAutomationActionsActionResult( + action_classification=pulumi.get(__response__, 'action_classification'), + action_data_references=pulumi.get(__response__, 'action_data_references'), + action_type=pulumi.get(__response__, 'action_type'), + creation_time=pulumi.get(__response__, 'creation_time'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + modify_time=pulumi.get(__response__, 'modify_time'), + name=pulumi.get(__response__, 'name'), + runner_id=pulumi.get(__response__, 'runner_id'), + runner_type=pulumi.get(__response__, 'runner_type'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/get_automation_actions_runner.py b/sdk/python/pulumi_pagerduty/get_automation_actions_runner.py index 766a279b..59c684fd 100644 --- a/sdk/python/pulumi_pagerduty/get_automation_actions_runner.py +++ b/sdk/python/pulumi_pagerduty/get_automation_actions_runner.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -168,9 +173,6 @@ def get_automation_actions_runner(description: Optional[str] = None, runbook_base_uri=pulumi.get(__ret__, 'runbook_base_uri'), runner_type=pulumi.get(__ret__, 'runner_type'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_automation_actions_runner) def get_automation_actions_runner_output(description: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[str]] = None, last_seen: Optional[pulumi.Input[Optional[str]]] = None, @@ -194,4 +196,19 @@ def get_automation_actions_runner_output(description: Optional[pulumi.Input[Opti :param str last_seen: (Optional) The last time runner has been seen. Represented as an ISO 8601 timestamp. :param str runbook_base_uri: (Optional) The base URI of the Runbook server to connect to. Applicable to `runbook` type runners only. """ - ... + __args__ = dict() + __args__['description'] = description + __args__['id'] = id + __args__['lastSeen'] = last_seen + __args__['runbookBaseUri'] = runbook_base_uri + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getAutomationActionsRunner:getAutomationActionsRunner', __args__, opts=opts, typ=GetAutomationActionsRunnerResult) + return __ret__.apply(lambda __response__: GetAutomationActionsRunnerResult( + creation_time=pulumi.get(__response__, 'creation_time'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + last_seen=pulumi.get(__response__, 'last_seen'), + name=pulumi.get(__response__, 'name'), + runbook_base_uri=pulumi.get(__response__, 'runbook_base_uri'), + runner_type=pulumi.get(__response__, 'runner_type'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/get_business_service.py b/sdk/python/pulumi_pagerduty/get_business_service.py index 1650252d..215ad938 100644 --- a/sdk/python/pulumi_pagerduty/get_business_service.py +++ b/sdk/python/pulumi_pagerduty/get_business_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -94,9 +99,6 @@ def get_business_service(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_business_service) def get_business_service_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBusinessServiceResult]: """ @@ -114,4 +116,11 @@ def get_business_service_output(name: Optional[pulumi.Input[str]] = None, :param str name: The business service name to use to find a business service in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getBusinessService:getBusinessService', __args__, opts=opts, typ=GetBusinessServiceResult) + return __ret__.apply(lambda __response__: GetBusinessServiceResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/get_escalation_policy.py b/sdk/python/pulumi_pagerduty/get_escalation_policy.py index bec71807..4428ef84 100644 --- a/sdk/python/pulumi_pagerduty/get_escalation_policy.py +++ b/sdk/python/pulumi_pagerduty/get_escalation_policy.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -86,9 +91,6 @@ def get_escalation_policy(name: Optional[str] = None, return AwaitableGetEscalationPolicyResult( id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_escalation_policy) def get_escalation_policy_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEscalationPolicyResult]: """ @@ -111,4 +113,10 @@ def get_escalation_policy_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name to use to find an escalation policy in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEscalationPolicy:getEscalationPolicy', __args__, opts=opts, typ=GetEscalationPolicyResult) + return __ret__.apply(lambda __response__: GetEscalationPolicyResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_event_orchestration.py b/sdk/python/pulumi_pagerduty/get_event_orchestration.py index 51acdbe5..05e6b3d9 100644 --- a/sdk/python/pulumi_pagerduty/get_event_orchestration.py +++ b/sdk/python/pulumi_pagerduty/get_event_orchestration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * @@ -90,9 +95,6 @@ def get_event_orchestration(integration_detail: Optional[Sequence[Union['GetEven id=pulumi.get(__ret__, 'id'), integration_detail=pulumi.get(__ret__, 'integration_detail'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_event_orchestration) def get_event_orchestration_output(integration_detail: Optional[pulumi.Input[Optional[Sequence[Union['GetEventOrchestrationIntegrationDetailArgs', 'GetEventOrchestrationIntegrationDetailArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventOrchestrationResult]: @@ -103,4 +105,12 @@ def get_event_orchestration_output(integration_detail: Optional[pulumi.Input[Opt :param Sequence[Union['GetEventOrchestrationIntegrationDetailArgs', 'GetEventOrchestrationIntegrationDetailArgsDict']] integration_detail: An integration for the Event Orchestration. :param str name: The name of the Global Event orchestration to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['integrationDetail'] = integration_detail + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEventOrchestration:getEventOrchestration', __args__, opts=opts, typ=GetEventOrchestrationResult) + return __ret__.apply(lambda __response__: GetEventOrchestrationResult( + id=pulumi.get(__response__, 'id'), + integration_detail=pulumi.get(__response__, 'integration_detail'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_event_orchestration_global_cache_variable.py b/sdk/python/pulumi_pagerduty/get_event_orchestration_global_cache_variable.py index 1449a263..605e56a8 100644 --- a/sdk/python/pulumi_pagerduty/get_event_orchestration_global_cache_variable.py +++ b/sdk/python/pulumi_pagerduty/get_event_orchestration_global_cache_variable.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -133,9 +138,6 @@ def get_event_orchestration_global_cache_variable(event_orchestration: Optional[ event_orchestration=pulumi.get(__ret__, 'event_orchestration'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_event_orchestration_global_cache_variable) def get_event_orchestration_global_cache_variable_output(event_orchestration: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, @@ -159,4 +161,16 @@ def get_event_orchestration_global_cache_variable_output(event_orchestration: Op :param str id: ID of the Cache Variable associated with the Global Event Orchestration. Specify either `id` or `name`. If both are specified `id` takes precedence. :param str name: Name of the Cache Variable associated with the Global Event Orchestration. Specify either `id` or `name`. If both are specified `id` takes precedence. """ - ... + __args__ = dict() + __args__['eventOrchestration'] = event_orchestration + __args__['id'] = id + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEventOrchestrationGlobalCacheVariable:getEventOrchestrationGlobalCacheVariable', __args__, opts=opts, typ=GetEventOrchestrationGlobalCacheVariableResult) + return __ret__.apply(lambda __response__: GetEventOrchestrationGlobalCacheVariableResult( + conditions=pulumi.get(__response__, 'conditions'), + configurations=pulumi.get(__response__, 'configurations'), + disabled=pulumi.get(__response__, 'disabled'), + event_orchestration=pulumi.get(__response__, 'event_orchestration'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_event_orchestration_integration.py b/sdk/python/pulumi_pagerduty/get_event_orchestration_integration.py index 1f4d3e46..a230f228 100644 --- a/sdk/python/pulumi_pagerduty/get_event_orchestration_integration.py +++ b/sdk/python/pulumi_pagerduty/get_event_orchestration_integration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -104,9 +109,6 @@ def get_event_orchestration_integration(event_orchestration: Optional[str] = Non id=pulumi.get(__ret__, 'id'), label=pulumi.get(__ret__, 'label'), parameters=pulumi.get(__ret__, 'parameters')) - - -@_utilities.lift_output_func(get_event_orchestration_integration) def get_event_orchestration_integration_output(event_orchestration: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, label: Optional[pulumi.Input[Optional[str]]] = None, @@ -130,4 +132,14 @@ def get_event_orchestration_integration_output(event_orchestration: Optional[pul :param str id: ID of the Integration associated with the Event Orchestration. Specify either `id` or `label`. If both are specified `id` takes precedence. :param str label: Name/description of the Integration associated with the Event Orchestration. Specify either `id` or `label`. If both are specified `id` takes precedence. The value of `label` is not unique. Potentially there might be multiple Integrations with the same `label` value associated with the Event Orchestration and retrieving data by `label` attribute will result in an error during the planning step. """ - ... + __args__ = dict() + __args__['eventOrchestration'] = event_orchestration + __args__['id'] = id + __args__['label'] = label + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEventOrchestrationIntegration:getEventOrchestrationIntegration', __args__, opts=opts, typ=GetEventOrchestrationIntegrationResult) + return __ret__.apply(lambda __response__: GetEventOrchestrationIntegrationResult( + event_orchestration=pulumi.get(__response__, 'event_orchestration'), + id=pulumi.get(__response__, 'id'), + label=pulumi.get(__response__, 'label'), + parameters=pulumi.get(__response__, 'parameters'))) diff --git a/sdk/python/pulumi_pagerduty/get_event_orchestration_service_cache_variable.py b/sdk/python/pulumi_pagerduty/get_event_orchestration_service_cache_variable.py index 3cde636b..c8bd3e78 100644 --- a/sdk/python/pulumi_pagerduty/get_event_orchestration_service_cache_variable.py +++ b/sdk/python/pulumi_pagerduty/get_event_orchestration_service_cache_variable.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -153,9 +158,6 @@ def get_event_orchestration_service_cache_variable(id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), service=pulumi.get(__ret__, 'service')) - - -@_utilities.lift_output_func(get_event_orchestration_service_cache_variable) def get_event_orchestration_service_cache_variable_output(id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, service: Optional[pulumi.Input[str]] = None, @@ -199,4 +201,16 @@ def get_event_orchestration_service_cache_variable_output(id: Optional[pulumi.In :param str name: Name of the Cache Variable associated with the Service Event Orchestration. Specify either `id` or `name`. If both are specified `id` takes precedence. :param str service: ID of the Service Event Orchestration to which this Cache Variable belongs. """ - ... + __args__ = dict() + __args__['id'] = id + __args__['name'] = name + __args__['service'] = service + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEventOrchestrationServiceCacheVariable:getEventOrchestrationServiceCacheVariable', __args__, opts=opts, typ=GetEventOrchestrationServiceCacheVariableResult) + return __ret__.apply(lambda __response__: GetEventOrchestrationServiceCacheVariableResult( + conditions=pulumi.get(__response__, 'conditions'), + configurations=pulumi.get(__response__, 'configurations'), + disabled=pulumi.get(__response__, 'disabled'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service=pulumi.get(__response__, 'service'))) diff --git a/sdk/python/pulumi_pagerduty/get_event_orchestrations.py b/sdk/python/pulumi_pagerduty/get_event_orchestrations.py index dacc5459..4f86facb 100644 --- a/sdk/python/pulumi_pagerduty/get_event_orchestrations.py +++ b/sdk/python/pulumi_pagerduty/get_event_orchestrations.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -94,9 +99,6 @@ def get_event_orchestrations(name_filter: Optional[str] = None, event_orchestrations=pulumi.get(__ret__, 'event_orchestrations'), id=pulumi.get(__ret__, 'id'), name_filter=pulumi.get(__ret__, 'name_filter')) - - -@_utilities.lift_output_func(get_event_orchestrations) def get_event_orchestrations_output(name_filter: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventOrchestrationsResult]: """ @@ -116,4 +118,11 @@ def get_event_orchestrations_output(name_filter: Optional[pulumi.Input[str]] = N :param str name_filter: The regex name of Global Event orchestrations to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['nameFilter'] = name_filter + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getEventOrchestrations:getEventOrchestrations', __args__, opts=opts, typ=GetEventOrchestrationsResult) + return __ret__.apply(lambda __response__: GetEventOrchestrationsResult( + event_orchestrations=pulumi.get(__response__, 'event_orchestrations'), + id=pulumi.get(__response__, 'id'), + name_filter=pulumi.get(__response__, 'name_filter'))) diff --git a/sdk/python/pulumi_pagerduty/get_extension_schema.py b/sdk/python/pulumi_pagerduty/get_extension_schema.py index 6fac7c69..1acb50c5 100644 --- a/sdk/python/pulumi_pagerduty/get_extension_schema.py +++ b/sdk/python/pulumi_pagerduty/get_extension_schema.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -118,9 +123,6 @@ def get_extension_schema(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_extension_schema) def get_extension_schema_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetExtensionSchemaResult]: """ @@ -162,4 +164,11 @@ def get_extension_schema_output(name: Optional[pulumi.Input[str]] = None, :param str name: The extension name to use to find an extension vendor in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getExtensionSchema:getExtensionSchema', __args__, opts=opts, typ=GetExtensionSchemaResult) + return __ret__.apply(lambda __response__: GetExtensionSchemaResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/get_incident_custom_field.py b/sdk/python/pulumi_pagerduty/get_incident_custom_field.py index e28c2144..c4cb2f8e 100644 --- a/sdk/python/pulumi_pagerduty/get_incident_custom_field.py +++ b/sdk/python/pulumi_pagerduty/get_incident_custom_field.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -122,9 +127,6 @@ def get_incident_custom_field(name: Optional[str] = None, field_type=pulumi.get(__ret__, 'field_type'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_incident_custom_field) def get_incident_custom_field_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIncidentCustomFieldResult]: """ @@ -146,4 +148,14 @@ def get_incident_custom_field_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name of the field. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getIncidentCustomField:getIncidentCustomField', __args__, opts=opts, typ=GetIncidentCustomFieldResult) + return __ret__.apply(lambda __response__: GetIncidentCustomFieldResult( + data_type=pulumi.get(__response__, 'data_type'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + field_type=pulumi.get(__response__, 'field_type'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_incident_workflow.py b/sdk/python/pulumi_pagerduty/get_incident_workflow.py index 1e5b12d3..de77225a 100644 --- a/sdk/python/pulumi_pagerduty/get_incident_workflow.py +++ b/sdk/python/pulumi_pagerduty/get_incident_workflow.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -94,9 +99,6 @@ def get_incident_workflow(name: Optional[str] = None, description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_incident_workflow) def get_incident_workflow_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIncidentWorkflowResult]: """ @@ -120,4 +122,11 @@ def get_incident_workflow_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name of the workflow. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getIncidentWorkflow:getIncidentWorkflow', __args__, opts=opts, typ=GetIncidentWorkflowResult) + return __ret__.apply(lambda __response__: GetIncidentWorkflowResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_license.py b/sdk/python/pulumi_pagerduty/get_license.py index 4cbf65c8..9f068408 100644 --- a/sdk/python/pulumi_pagerduty/get_license.py +++ b/sdk/python/pulumi_pagerduty/get_license.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -195,9 +200,6 @@ def get_license(description: Optional[str] = None, summary=pulumi.get(__ret__, 'summary'), type=pulumi.get(__ret__, 'type'), valid_roles=pulumi.get(__ret__, 'valid_roles')) - - -@_utilities.lift_output_func(get_license) def get_license_output(description: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, @@ -228,4 +230,21 @@ def get_license_output(description: Optional[pulumi.Input[Optional[str]]] = None :param str id: Used to match the data config *id* with an exact match of a valid license ID assigned to the account. :param str name: Used to determine if the data config *name* is a valid substring of a valid license name assigned to the account. """ - ... + __args__ = dict() + __args__['description'] = description + __args__['id'] = id + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getLicense:getLicense', __args__, opts=opts, typ=GetLicenseResult) + return __ret__.apply(lambda __response__: GetLicenseResult( + allocations_available=pulumi.get(__response__, 'allocations_available'), + current_value=pulumi.get(__response__, 'current_value'), + description=pulumi.get(__response__, 'description'), + html_url=pulumi.get(__response__, 'html_url'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + role_group=pulumi.get(__response__, 'role_group'), + self=pulumi.get(__response__, 'self'), + summary=pulumi.get(__response__, 'summary'), + type=pulumi.get(__response__, 'type'), + valid_roles=pulumi.get(__response__, 'valid_roles'))) diff --git a/sdk/python/pulumi_pagerduty/get_licenses.py b/sdk/python/pulumi_pagerduty/get_licenses.py index dadc7ab4..a06e8c72 100644 --- a/sdk/python/pulumi_pagerduty/get_licenses.py +++ b/sdk/python/pulumi_pagerduty/get_licenses.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -88,9 +93,6 @@ def get_licenses(id: Optional[str] = None, return AwaitableGetLicensesResult( id=pulumi.get(__ret__, 'id'), licenses=pulumi.get(__ret__, 'licenses')) - - -@_utilities.lift_output_func(get_licenses) def get_licenses_output(id: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLicensesResult]: """ @@ -114,4 +116,10 @@ def get_licenses_output(id: Optional[pulumi.Input[Optional[str]]] = None, :param str id: Allows to override the default behavior for setting the `id` attribute that is required for data sources. """ - ... + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getLicenses:getLicenses', __args__, opts=opts, typ=GetLicensesResult) + return __ret__.apply(lambda __response__: GetLicensesResult( + id=pulumi.get(__response__, 'id'), + licenses=pulumi.get(__response__, 'licenses'))) diff --git a/sdk/python/pulumi_pagerduty/get_priority.py b/sdk/python/pulumi_pagerduty/get_priority.py index 1abbe518..33fc8a76 100644 --- a/sdk/python/pulumi_pagerduty/get_priority.py +++ b/sdk/python/pulumi_pagerduty/get_priority.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -126,9 +131,6 @@ def get_priority(name: Optional[str] = None, description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_priority) def get_priority_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPriorityResult]: """ @@ -178,4 +180,11 @@ def get_priority_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name of the priority to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getPriority:getPriority', __args__, opts=opts, typ=GetPriorityResult) + return __ret__.apply(lambda __response__: GetPriorityResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_ruleset.py b/sdk/python/pulumi_pagerduty/get_ruleset.py index 0c8ff45b..50b88813 100644 --- a/sdk/python/pulumi_pagerduty/get_ruleset.py +++ b/sdk/python/pulumi_pagerduty/get_ruleset.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -129,9 +134,6 @@ def get_ruleset(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), routing_keys=pulumi.get(__ret__, 'routing_keys')) - - -@_utilities.lift_output_func(get_ruleset) def get_ruleset_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRulesetResult]: """ @@ -184,4 +186,11 @@ def get_ruleset_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name of the ruleset to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getRuleset:getRuleset', __args__, opts=opts, typ=GetRulesetResult) + return __ret__.apply(lambda __response__: GetRulesetResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + routing_keys=pulumi.get(__response__, 'routing_keys'))) diff --git a/sdk/python/pulumi_pagerduty/get_schedule.py b/sdk/python/pulumi_pagerduty/get_schedule.py index 9414dc43..d2c5a696 100644 --- a/sdk/python/pulumi_pagerduty/get_schedule.py +++ b/sdk/python/pulumi_pagerduty/get_schedule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -91,9 +96,6 @@ def get_schedule(name: Optional[str] = None, return AwaitableGetScheduleResult( id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_schedule) def get_schedule_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScheduleResult]: """ @@ -121,4 +123,10 @@ def get_schedule_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name to use to find a schedule in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getSchedule:getSchedule', __args__, opts=opts, typ=GetScheduleResult) + return __ret__.apply(lambda __response__: GetScheduleResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_pagerduty/get_service.py b/sdk/python/pulumi_pagerduty/get_service.py index 045a0b5a..57722eaf 100644 --- a/sdk/python/pulumi_pagerduty/get_service.py +++ b/sdk/python/pulumi_pagerduty/get_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -179,9 +184,6 @@ def get_service(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), teams=pulumi.get(__ret__, 'teams'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_service) def get_service_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ @@ -205,4 +207,17 @@ def get_service_output(name: Optional[pulumi.Input[str]] = None, :param str name: The service name to use to find a service in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getService:getService', __args__, opts=opts, typ=GetServiceResult) + return __ret__.apply(lambda __response__: GetServiceResult( + acknowledgement_timeout=pulumi.get(__response__, 'acknowledgement_timeout'), + alert_creation=pulumi.get(__response__, 'alert_creation'), + auto_resolve_timeout=pulumi.get(__response__, 'auto_resolve_timeout'), + description=pulumi.get(__response__, 'description'), + escalation_policy=pulumi.get(__response__, 'escalation_policy'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + teams=pulumi.get(__response__, 'teams'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/get_service_integration.py b/sdk/python/pulumi_pagerduty/get_service_integration.py index dfd9d435..f1f619d7 100644 --- a/sdk/python/pulumi_pagerduty/get_service_integration.py +++ b/sdk/python/pulumi_pagerduty/get_service_integration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -102,9 +107,6 @@ def get_service_integration(integration_summary: Optional[str] = None, integration_key=pulumi.get(__ret__, 'integration_key'), integration_summary=pulumi.get(__ret__, 'integration_summary'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_service_integration) def get_service_integration_output(integration_summary: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceIntegrationResult]: @@ -125,4 +127,13 @@ def get_service_integration_output(integration_summary: Optional[pulumi.Input[st :param str integration_summary: The integration summary used to find the desired integration on the service. :param str service_name: The service name to use to find a service in the PagerDuty API. """ - ... + __args__ = dict() + __args__['integrationSummary'] = integration_summary + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getServiceIntegration:getServiceIntegration', __args__, opts=opts, typ=GetServiceIntegrationResult) + return __ret__.apply(lambda __response__: GetServiceIntegrationResult( + id=pulumi.get(__response__, 'id'), + integration_key=pulumi.get(__response__, 'integration_key'), + integration_summary=pulumi.get(__response__, 'integration_summary'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_pagerduty/get_standards.py b/sdk/python/pulumi_pagerduty/get_standards.py index 16499245..1bb3e008 100644 --- a/sdk/python/pulumi_pagerduty/get_standards.py +++ b/sdk/python/pulumi_pagerduty/get_standards.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -96,9 +101,6 @@ def get_standards(resource_type: Optional[str] = None, id=pulumi.get(__ret__, 'id'), resource_type=pulumi.get(__ret__, 'resource_type'), standards=pulumi.get(__ret__, 'standards')) - - -@_utilities.lift_output_func(get_standards) def get_standards_output(resource_type: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStandardsResult]: """ @@ -117,4 +119,11 @@ def get_standards_output(resource_type: Optional[pulumi.Input[Optional[str]]] = :param str resource_type: Filter by `resource_type` the received standards. Allowed values are `technical_service`. """ - ... + __args__ = dict() + __args__['resourceType'] = resource_type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getStandards:getStandards', __args__, opts=opts, typ=GetStandardsResult) + return __ret__.apply(lambda __response__: GetStandardsResult( + id=pulumi.get(__response__, 'id'), + resource_type=pulumi.get(__response__, 'resource_type'), + standards=pulumi.get(__response__, 'standards'))) diff --git a/sdk/python/pulumi_pagerduty/get_standards_resource_scores.py b/sdk/python/pulumi_pagerduty/get_standards_resource_scores.py index 0a634148..ed69277c 100644 --- a/sdk/python/pulumi_pagerduty/get_standards_resource_scores.py +++ b/sdk/python/pulumi_pagerduty/get_standards_resource_scores.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -114,9 +119,6 @@ def get_standards_resource_scores(id: Optional[str] = None, resource_type=pulumi.get(__ret__, 'resource_type'), score=pulumi.get(__ret__, 'score'), standards=pulumi.get(__ret__, 'standards')) - - -@_utilities.lift_output_func(get_standards_resource_scores) def get_standards_resource_scores_output(id: Optional[pulumi.Input[str]] = None, resource_type: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStandardsResourceScoresResult]: @@ -139,4 +141,13 @@ def get_standards_resource_scores_output(id: Optional[pulumi.Input[str]] = None, :param str id: Identifier of said resource. :param str resource_type: Type of the object the standards are associated to. Allowed values are `technical_services`. """ - ... + __args__ = dict() + __args__['id'] = id + __args__['resourceType'] = resource_type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getStandardsResourceScores:getStandardsResourceScores', __args__, opts=opts, typ=GetStandardsResourceScoresResult) + return __ret__.apply(lambda __response__: GetStandardsResourceScoresResult( + id=pulumi.get(__response__, 'id'), + resource_type=pulumi.get(__response__, 'resource_type'), + score=pulumi.get(__response__, 'score'), + standards=pulumi.get(__response__, 'standards'))) diff --git a/sdk/python/pulumi_pagerduty/get_standards_resources_scores.py b/sdk/python/pulumi_pagerduty/get_standards_resources_scores.py index 0442fd16..7239a940 100644 --- a/sdk/python/pulumi_pagerduty/get_standards_resources_scores.py +++ b/sdk/python/pulumi_pagerduty/get_standards_resources_scores.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -117,9 +122,6 @@ def get_standards_resources_scores(ids: Optional[Sequence[str]] = None, ids=pulumi.get(__ret__, 'ids'), resource_type=pulumi.get(__ret__, 'resource_type'), resources=pulumi.get(__ret__, 'resources')) - - -@_utilities.lift_output_func(get_standards_resources_scores) def get_standards_resources_scores_output(ids: Optional[pulumi.Input[Sequence[str]]] = None, resource_type: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStandardsResourcesScoresResult]: @@ -148,4 +150,13 @@ def get_standards_resources_scores_output(ids: Optional[pulumi.Input[Sequence[st :param Sequence[str] ids: List of identifiers of the resources to query. :param str resource_type: Type of the object the standards are associated to. Allowed values are `technical_services`. """ - ... + __args__ = dict() + __args__['ids'] = ids + __args__['resourceType'] = resource_type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getStandardsResourcesScores:getStandardsResourcesScores', __args__, opts=opts, typ=GetStandardsResourcesScoresResult) + return __ret__.apply(lambda __response__: GetStandardsResourcesScoresResult( + id=pulumi.get(__response__, 'id'), + ids=pulumi.get(__response__, 'ids'), + resource_type=pulumi.get(__response__, 'resource_type'), + resources=pulumi.get(__response__, 'resources'))) diff --git a/sdk/python/pulumi_pagerduty/get_tag.py b/sdk/python/pulumi_pagerduty/get_tag.py index 96673c73..1bb2f5ca 100644 --- a/sdk/python/pulumi_pagerduty/get_tag.py +++ b/sdk/python/pulumi_pagerduty/get_tag.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -83,9 +88,6 @@ def get_tag(label: Optional[str] = None, return AwaitableGetTagResult( id=pulumi.get(__ret__, 'id'), label=pulumi.get(__ret__, 'label')) - - -@_utilities.lift_output_func(get_tag) def get_tag_output(label: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTagResult]: """ @@ -108,4 +110,10 @@ def get_tag_output(label: Optional[pulumi.Input[str]] = None, :param str label: The label of the tag to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['label'] = label + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getTag:getTag', __args__, opts=opts, typ=GetTagResult) + return __ret__.apply(lambda __response__: GetTagResult( + id=pulumi.get(__response__, 'id'), + label=pulumi.get(__response__, 'label'))) diff --git a/sdk/python/pulumi_pagerduty/get_team.py b/sdk/python/pulumi_pagerduty/get_team.py index 42bf18cf..1b52e5ac 100644 --- a/sdk/python/pulumi_pagerduty/get_team.py +++ b/sdk/python/pulumi_pagerduty/get_team.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -138,9 +143,6 @@ def get_team(default_role: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), parent=pulumi.get(__ret__, 'parent')) - - -@_utilities.lift_output_func(get_team) def get_team_output(default_role: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, parent: Optional[pulumi.Input[Optional[str]]] = None, @@ -174,4 +176,15 @@ def get_team_output(default_role: Optional[pulumi.Input[Optional[str]]] = None, :param str name: The name of the team to find in the PagerDuty API. :param str parent: ID of the parent team. This is available to accounts with the Team Hierarchy feature enabled. Please contact your account manager for more information. """ - ... + __args__ = dict() + __args__['defaultRole'] = default_role + __args__['name'] = name + __args__['parent'] = parent + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getTeam:getTeam', __args__, opts=opts, typ=GetTeamResult) + return __ret__.apply(lambda __response__: GetTeamResult( + default_role=pulumi.get(__response__, 'default_role'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + parent=pulumi.get(__response__, 'parent'))) diff --git a/sdk/python/pulumi_pagerduty/get_team_members.py b/sdk/python/pulumi_pagerduty/get_team_members.py index d82618b4..9b060eb7 100644 --- a/sdk/python/pulumi_pagerduty/get_team_members.py +++ b/sdk/python/pulumi_pagerduty/get_team_members.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -93,9 +98,6 @@ def get_team_members(team_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), members=pulumi.get(__ret__, 'members'), team_id=pulumi.get(__ret__, 'team_id')) - - -@_utilities.lift_output_func(get_team_members) def get_team_members_output(team_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTeamMembersResult]: """ @@ -114,4 +116,11 @@ def get_team_members_output(team_id: Optional[pulumi.Input[str]] = None, :param str team_id: The ID of the team to find in the PagerDuty API. """ - ... + __args__ = dict() + __args__['teamId'] = team_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getTeamMembers:getTeamMembers', __args__, opts=opts, typ=GetTeamMembersResult) + return __ret__.apply(lambda __response__: GetTeamMembersResult( + id=pulumi.get(__response__, 'id'), + members=pulumi.get(__response__, 'members'), + team_id=pulumi.get(__response__, 'team_id'))) diff --git a/sdk/python/pulumi_pagerduty/get_user.py b/sdk/python/pulumi_pagerduty/get_user.py index f9f1bb4e..aa381289 100644 --- a/sdk/python/pulumi_pagerduty/get_user.py +++ b/sdk/python/pulumi_pagerduty/get_user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -153,9 +158,6 @@ def get_user(email: Optional[str] = None, name=pulumi.get(__ret__, 'name'), role=pulumi.get(__ret__, 'role'), time_zone=pulumi.get(__ret__, 'time_zone')) - - -@_utilities.lift_output_func(get_user) def get_user_output(email: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ @@ -183,4 +185,15 @@ def get_user_output(email: Optional[pulumi.Input[str]] = None, :param str email: The email to use to find a user in the PagerDuty API. """ - ... + __args__ = dict() + __args__['email'] = email + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult) + return __ret__.apply(lambda __response__: GetUserResult( + description=pulumi.get(__response__, 'description'), + email=pulumi.get(__response__, 'email'), + id=pulumi.get(__response__, 'id'), + job_title=pulumi.get(__response__, 'job_title'), + name=pulumi.get(__response__, 'name'), + role=pulumi.get(__response__, 'role'), + time_zone=pulumi.get(__response__, 'time_zone'))) diff --git a/sdk/python/pulumi_pagerduty/get_user_contact_method.py b/sdk/python/pulumi_pagerduty/get_user_contact_method.py index 57053523..de74bb58 100644 --- a/sdk/python/pulumi_pagerduty/get_user_contact_method.py +++ b/sdk/python/pulumi_pagerduty/get_user_contact_method.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -199,9 +204,6 @@ def get_user_contact_method(label: Optional[str] = None, send_short_email=pulumi.get(__ret__, 'send_short_email'), type=pulumi.get(__ret__, 'type'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_user_contact_method) def get_user_contact_method_output(label: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -234,4 +236,20 @@ def get_user_contact_method_output(label: Optional[pulumi.Input[str]] = None, :param str type: The contact method type. May be (`email_contact_method`, `phone_contact_method`, `sms_contact_method`, `push_notification_contact_method`). :param str user_id: The ID of the user. """ - ... + __args__ = dict() + __args__['label'] = label + __args__['type'] = type + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getUserContactMethod:getUserContactMethod', __args__, opts=opts, typ=GetUserContactMethodResult) + return __ret__.apply(lambda __response__: GetUserContactMethodResult( + address=pulumi.get(__response__, 'address'), + blacklisted=pulumi.get(__response__, 'blacklisted'), + country_code=pulumi.get(__response__, 'country_code'), + device_type=pulumi.get(__response__, 'device_type'), + enabled=pulumi.get(__response__, 'enabled'), + id=pulumi.get(__response__, 'id'), + label=pulumi.get(__response__, 'label'), + send_short_email=pulumi.get(__response__, 'send_short_email'), + type=pulumi.get(__response__, 'type'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_pagerduty/get_users.py b/sdk/python/pulumi_pagerduty/get_users.py index 0ee50689..fd536314 100644 --- a/sdk/python/pulumi_pagerduty/get_users.py +++ b/sdk/python/pulumi_pagerduty/get_users.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -101,9 +106,6 @@ def get_users(team_ids: Optional[Sequence[str]] = None, id=pulumi.get(__ret__, 'id'), team_ids=pulumi.get(__ret__, 'team_ids'), users=pulumi.get(__ret__, 'users')) - - -@_utilities.lift_output_func(get_users) def get_users_output(team_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUsersResult]: """ @@ -130,4 +132,11 @@ def get_users_output(team_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = :param Sequence[str] team_ids: List of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter. """ - ... + __args__ = dict() + __args__['teamIds'] = team_ids + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult) + return __ret__.apply(lambda __response__: GetUsersResult( + id=pulumi.get(__response__, 'id'), + team_ids=pulumi.get(__response__, 'team_ids'), + users=pulumi.get(__response__, 'users'))) diff --git a/sdk/python/pulumi_pagerduty/get_vendor.py b/sdk/python/pulumi_pagerduty/get_vendor.py index 9d59176e..f834253a 100644 --- a/sdk/python/pulumi_pagerduty/get_vendor.py +++ b/sdk/python/pulumi_pagerduty/get_vendor.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ @@ -119,9 +124,6 @@ def get_vendor(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_vendor) def get_vendor_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVendorResult]: """ @@ -164,4 +166,11 @@ def get_vendor_output(name: Optional[pulumi.Input[str]] = None, :param str name: The vendor name to use to find a vendor in the PagerDuty API. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('pagerduty:index/getVendor:getVendor', __args__, opts=opts, typ=GetVendorResult) + return __ret__.apply(lambda __response__: GetVendorResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_pagerduty/incident_custom_field.py b/sdk/python/pulumi_pagerduty/incident_custom_field.py index 5b1be905..93bef211 100644 --- a/sdk/python/pulumi_pagerduty/incident_custom_field.py +++ b/sdk/python/pulumi_pagerduty/incident_custom_field.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['IncidentCustomFieldArgs', 'IncidentCustomField'] diff --git a/sdk/python/pulumi_pagerduty/incident_custom_field_option.py b/sdk/python/pulumi_pagerduty/incident_custom_field_option.py index 7e5c7281..fbf42c53 100644 --- a/sdk/python/pulumi_pagerduty/incident_custom_field_option.py +++ b/sdk/python/pulumi_pagerduty/incident_custom_field_option.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['IncidentCustomFieldOptionArgs', 'IncidentCustomFieldOption'] diff --git a/sdk/python/pulumi_pagerduty/incident_workflow.py b/sdk/python/pulumi_pagerduty/incident_workflow.py index eb689c72..75c49e7a 100644 --- a/sdk/python/pulumi_pagerduty/incident_workflow.py +++ b/sdk/python/pulumi_pagerduty/incident_workflow.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/incident_workflow_trigger.py b/sdk/python/pulumi_pagerduty/incident_workflow_trigger.py index b0e44cf8..bc4821ae 100644 --- a/sdk/python/pulumi_pagerduty/incident_workflow_trigger.py +++ b/sdk/python/pulumi_pagerduty/incident_workflow_trigger.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/maintenance_window.py b/sdk/python/pulumi_pagerduty/maintenance_window.py index eea76107..a9473599 100644 --- a/sdk/python/pulumi_pagerduty/maintenance_window.py +++ b/sdk/python/pulumi_pagerduty/maintenance_window.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['MaintenanceWindowArgs', 'MaintenanceWindow'] diff --git a/sdk/python/pulumi_pagerduty/outputs.py b/sdk/python/pulumi_pagerduty/outputs.py index 9bba7a31..bc437896 100644 --- a/sdk/python/pulumi_pagerduty/outputs.py +++ b/sdk/python/pulumi_pagerduty/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_pagerduty/provider.py b/sdk/python/pulumi_pagerduty/provider.py index 8a55a4f7..1b227762 100644 --- a/sdk/python/pulumi_pagerduty/provider.py +++ b/sdk/python/pulumi_pagerduty/provider.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/response_play.py b/sdk/python/pulumi_pagerduty/response_play.py index b1a7bf5e..f075ce04 100644 --- a/sdk/python/pulumi_pagerduty/response_play.py +++ b/sdk/python/pulumi_pagerduty/response_play.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/ruleset.py b/sdk/python/pulumi_pagerduty/ruleset.py index 30d289aa..b2d632cd 100644 --- a/sdk/python/pulumi_pagerduty/ruleset.py +++ b/sdk/python/pulumi_pagerduty/ruleset.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/ruleset_rule.py b/sdk/python/pulumi_pagerduty/ruleset_rule.py index ea44403d..e09a2574 100644 --- a/sdk/python/pulumi_pagerduty/ruleset_rule.py +++ b/sdk/python/pulumi_pagerduty/ruleset_rule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/schedule.py b/sdk/python/pulumi_pagerduty/schedule.py index eb05d637..546b0fa0 100644 --- a/sdk/python/pulumi_pagerduty/schedule.py +++ b/sdk/python/pulumi_pagerduty/schedule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/service.py b/sdk/python/pulumi_pagerduty/service.py index e2b4a715..c89eb01f 100644 --- a/sdk/python/pulumi_pagerduty/service.py +++ b/sdk/python/pulumi_pagerduty/service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/service_dependency.py b/sdk/python/pulumi_pagerduty/service_dependency.py index 3ec642c4..a06b53bc 100644 --- a/sdk/python/pulumi_pagerduty/service_dependency.py +++ b/sdk/python/pulumi_pagerduty/service_dependency.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/service_event_rule.py b/sdk/python/pulumi_pagerduty/service_event_rule.py index 0c9ce3bf..f3a9219b 100644 --- a/sdk/python/pulumi_pagerduty/service_event_rule.py +++ b/sdk/python/pulumi_pagerduty/service_event_rule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/service_integration.py b/sdk/python/pulumi_pagerduty/service_integration.py index 8638f81d..22fa31da 100644 --- a/sdk/python/pulumi_pagerduty/service_integration.py +++ b/sdk/python/pulumi_pagerduty/service_integration.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/slack_connection.py b/sdk/python/pulumi_pagerduty/slack_connection.py index e4c716f4..d2af376a 100644 --- a/sdk/python/pulumi_pagerduty/slack_connection.py +++ b/sdk/python/pulumi_pagerduty/slack_connection.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/tag.py b/sdk/python/pulumi_pagerduty/tag.py index 7e21eb43..0cb7acbd 100644 --- a/sdk/python/pulumi_pagerduty/tag.py +++ b/sdk/python/pulumi_pagerduty/tag.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['TagArgs', 'Tag'] diff --git a/sdk/python/pulumi_pagerduty/tag_assignment.py b/sdk/python/pulumi_pagerduty/tag_assignment.py index f2cda238..753acb35 100644 --- a/sdk/python/pulumi_pagerduty/tag_assignment.py +++ b/sdk/python/pulumi_pagerduty/tag_assignment.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['TagAssignmentArgs', 'TagAssignment'] diff --git a/sdk/python/pulumi_pagerduty/team.py b/sdk/python/pulumi_pagerduty/team.py index 51b0b977..03d48237 100644 --- a/sdk/python/pulumi_pagerduty/team.py +++ b/sdk/python/pulumi_pagerduty/team.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['TeamArgs', 'Team'] diff --git a/sdk/python/pulumi_pagerduty/team_membership.py b/sdk/python/pulumi_pagerduty/team_membership.py index e1cdbb7a..ffa149d4 100644 --- a/sdk/python/pulumi_pagerduty/team_membership.py +++ b/sdk/python/pulumi_pagerduty/team_membership.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['TeamMembershipArgs', 'TeamMembership'] diff --git a/sdk/python/pulumi_pagerduty/user.py b/sdk/python/pulumi_pagerduty/user.py index 022727f6..bd1563d6 100644 --- a/sdk/python/pulumi_pagerduty/user.py +++ b/sdk/python/pulumi_pagerduty/user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['UserArgs', 'User'] diff --git a/sdk/python/pulumi_pagerduty/user_contact_method.py b/sdk/python/pulumi_pagerduty/user_contact_method.py index d5914271..d9488c86 100644 --- a/sdk/python/pulumi_pagerduty/user_contact_method.py +++ b/sdk/python/pulumi_pagerduty/user_contact_method.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['UserContactMethodArgs', 'UserContactMethod'] diff --git a/sdk/python/pulumi_pagerduty/user_handoff_notification_rule.py b/sdk/python/pulumi_pagerduty/user_handoff_notification_rule.py index c81e98e7..90299c58 100644 --- a/sdk/python/pulumi_pagerduty/user_handoff_notification_rule.py +++ b/sdk/python/pulumi_pagerduty/user_handoff_notification_rule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_pagerduty/user_notification_rule.py b/sdk/python/pulumi_pagerduty/user_notification_rule.py index d0d2db26..8b0939b3 100644 --- a/sdk/python/pulumi_pagerduty/user_notification_rule.py +++ b/sdk/python/pulumi_pagerduty/user_notification_rule.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['UserNotificationRuleArgs', 'UserNotificationRule'] diff --git a/sdk/python/pulumi_pagerduty/webhook_subscription.py b/sdk/python/pulumi_pagerduty/webhook_subscription.py index 558d1a7c..0d5ceb7c 100644 --- a/sdk/python/pulumi_pagerduty/webhook_subscription.py +++ b/sdk/python/pulumi_pagerduty/webhook_subscription.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 2c7db730..e119f2a7 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "pulumi_pagerduty" description = "A Pulumi package for creating and managing pagerduty cloud resources." - dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"] + dependencies = ["parver>=0.2.1", "pulumi>=3.136.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] keywords = ["pulumi", "pagerduty"] readme = "README.md" requires-python = ">=3.8" From d7756964806769f487a9762142537cd65a56ec05 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Fri, 11 Oct 2024 10:50:49 +0200 Subject: [PATCH 3/3] Fix providertest --- provider/provider_program_test.go | 55 +++---------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/provider/provider_program_test.go b/provider/provider_program_test.go index 938e9611..b8723bf6 100644 --- a/provider/provider_program_test.go +++ b/provider/provider_program_test.go @@ -16,7 +16,6 @@ import ( "github.com/pulumi/providertest/pulumitest" "github.com/pulumi/providertest/pulumitest/assertpreview" "github.com/pulumi/providertest/pulumitest/opttest" - "github.com/pulumi/pulumi/sdk/v3/go/auto" ) const providerName = "pagerduty" @@ -34,64 +33,20 @@ func TestUpgradeCoverage(t *testing.T) { providertest.ReportUpgradeCoverage(t) } -type UpgradeTestOpts struct { - baselineVersion string - assertFunc func(*testing.T, auto.PreviewResult) - config map[string]string -} - -func WithBaselineVersion(baselineVersion string) func(opts *UpgradeTestOpts) { - return func(opts *UpgradeTestOpts) { - opts.baselineVersion = baselineVersion - } -} - -func WithAssertFunc(assertFunc func(*testing.T, auto.PreviewResult)) func(opts *UpgradeTestOpts) { - return func(opts *UpgradeTestOpts) { - opts.assertFunc = assertFunc - } -} - -func WithConfig(config map[string]string) func(opts *UpgradeTestOpts) { - return func(opts *UpgradeTestOpts) { - opts.config = config - } -} -func testProviderUpgrade(t *testing.T, dir string, opts ...func(*UpgradeTestOpts)) { - options := &UpgradeTestOpts{} - for _, o := range opts { - o(options) - } - testProviderUpgradeWithOpts(t, dir, options.baselineVersion, options.config, options.assertFunc) -} - -func testProviderUpgradeWithOpts( - t *testing.T, dir, baselineVersion string, config map[string]string, - assertFunction func(*testing.T, auto.PreviewResult), -) { +func testProviderUpgrade(t *testing.T, dir string) { if testing.Short() { t.Skipf("Skipping in testing.Short() mode, assuming this is a CI run without credentials") } cwd, err := os.Getwd() require.NoError(t, err) - if baselineVersion == "" { - baselineVersion = defaultBaselineVersion - } test := pulumitest.NewPulumiTest(t, dir, - opttest.DownloadProviderVersion(providerName, baselineVersion), + opttest.DownloadProviderVersion(providerName, defaultBaselineVersion), opttest.LocalProviderPath(providerName, filepath.Join(cwd, "..", "bin")), opttest.DownloadProviderVersion("random", "4.16.0"), ) - for k, v := range config { - test.SetConfig(k, v) - } - result := providertest.PreviewProviderUpgrade(t, test, providerName, baselineVersion, + result := providertest.PreviewProviderUpgrade(t, test, providerName, defaultBaselineVersion, optproviderupgrade.DisableAttach()) - if assertFunction != nil { - assertFunction(t, result) - } else { - assertpreview.HasNoReplacements(t, result) - } + assertpreview.HasNoReplacements(t, result) } func testProgram(t *testing.T, dir string) { @@ -115,7 +70,7 @@ func testProgram(t *testing.T, dir string) { opttest.SkipInstall(), opttest.DownloadProviderVersion("random", "4.16.0"), ) - test.Up() + test.Up(t) } func TestPrograms(t *testing.T) {