@incident-io/pulumi 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +69 -0
  3. package/alertAttribute.d.ts +230 -0
  4. package/alertAttribute.d.ts.map +1 -0
  5. package/alertAttribute.js +219 -0
  6. package/alertAttribute.js.map +1 -0
  7. package/alertRoute.d.ts +511 -0
  8. package/alertRoute.d.ts.map +1 -0
  9. package/alertRoute.js +432 -0
  10. package/alertRoute.js.map +1 -0
  11. package/alertSource.d.ts +347 -0
  12. package/alertSource.d.ts.map +1 -0
  13. package/alertSource.js +241 -0
  14. package/alertSource.js.map +1 -0
  15. package/alertSourceAttribute.d.ts +180 -0
  16. package/alertSourceAttribute.d.ts.map +1 -0
  17. package/alertSourceAttribute.js +107 -0
  18. package/alertSourceAttribute.js.map +1 -0
  19. package/alertSourceAttributeBeta.d.ts +188 -0
  20. package/alertSourceAttributeBeta.d.ts.map +1 -0
  21. package/alertSourceAttributeBeta.js +115 -0
  22. package/alertSourceAttributeBeta.js.map +1 -0
  23. package/alertSourceBeta.d.ts +244 -0
  24. package/alertSourceBeta.d.ts.map +1 -0
  25. package/alertSourceBeta.js +138 -0
  26. package/alertSourceBeta.js.map +1 -0
  27. package/apiKey.d.ts +276 -0
  28. package/apiKey.d.ts.map +1 -0
  29. package/apiKey.js +211 -0
  30. package/apiKey.js.map +1 -0
  31. package/catalogEntries.d.ts +241 -0
  32. package/catalogEntries.d.ts.map +1 -0
  33. package/catalogEntries.js +242 -0
  34. package/catalogEntries.js.map +1 -0
  35. package/catalogEntry.d.ts +183 -0
  36. package/catalogEntry.d.ts.map +1 -0
  37. package/catalogEntry.js +159 -0
  38. package/catalogEntry.js.map +1 -0
  39. package/catalogType.d.ts +169 -0
  40. package/catalogType.d.ts.map +1 -0
  41. package/catalogType.js +132 -0
  42. package/catalogType.js.map +1 -0
  43. package/catalogTypeAttribute.d.ts +190 -0
  44. package/catalogTypeAttribute.d.ts.map +1 -0
  45. package/catalogTypeAttribute.js +153 -0
  46. package/catalogTypeAttribute.js.map +1 -0
  47. package/config/index.d.ts +2 -0
  48. package/config/index.d.ts.map +1 -0
  49. package/config/index.js +21 -0
  50. package/config/index.js.map +1 -0
  51. package/config/vars.d.ts +13 -0
  52. package/config/vars.d.ts.map +1 -0
  53. package/config/vars.js +49 -0
  54. package/config/vars.js.map +1 -0
  55. package/customField.d.ts +260 -0
  56. package/customField.d.ts.map +1 -0
  57. package/customField.js +226 -0
  58. package/customField.js.map +1 -0
  59. package/customFieldOption.d.ts +107 -0
  60. package/customFieldOption.d.ts.map +1 -0
  61. package/customFieldOption.js +116 -0
  62. package/customFieldOption.js.map +1 -0
  63. package/escalationPath.d.ts +257 -0
  64. package/escalationPath.d.ts.map +1 -0
  65. package/escalationPath.js +228 -0
  66. package/escalationPath.js.map +1 -0
  67. package/escalationPathBeta.d.ts +134 -0
  68. package/escalationPathBeta.d.ts.map +1 -0
  69. package/escalationPathBeta.js +105 -0
  70. package/escalationPathBeta.js.map +1 -0
  71. package/getAlertAttribute.d.ts +81 -0
  72. package/getAlertAttribute.d.ts.map +1 -0
  73. package/getAlertAttribute.js +75 -0
  74. package/getAlertAttribute.js.map +1 -0
  75. package/getAlertSource.d.ts +169 -0
  76. package/getAlertSource.d.ts.map +1 -0
  77. package/getAlertSource.js +103 -0
  78. package/getAlertSource.js.map +1 -0
  79. package/getAlertSourceAttribute.d.ts +131 -0
  80. package/getAlertSourceAttribute.d.ts.map +1 -0
  81. package/getAlertSourceAttribute.js +85 -0
  82. package/getAlertSourceAttribute.js.map +1 -0
  83. package/getAlertSourceAttributeBeta.d.ts +131 -0
  84. package/getAlertSourceAttributeBeta.d.ts.map +1 -0
  85. package/getAlertSourceAttributeBeta.js +85 -0
  86. package/getAlertSourceAttributeBeta.js.map +1 -0
  87. package/getApiKey.d.ts +167 -0
  88. package/getApiKey.d.ts.map +1 -0
  89. package/getApiKey.js +145 -0
  90. package/getApiKey.js.map +1 -0
  91. package/getCatalogEntry.d.ts +77 -0
  92. package/getCatalogEntry.d.ts.map +1 -0
  93. package/getCatalogEntry.js +59 -0
  94. package/getCatalogEntry.js.map +1 -0
  95. package/getCatalogType.d.ts +163 -0
  96. package/getCatalogType.d.ts.map +1 -0
  97. package/getCatalogType.js +135 -0
  98. package/getCatalogType.js.map +1 -0
  99. package/getCatalogTypeAttribute.d.ts +73 -0
  100. package/getCatalogTypeAttribute.d.ts.map +1 -0
  101. package/getCatalogTypeAttribute.js +53 -0
  102. package/getCatalogTypeAttribute.js.map +1 -0
  103. package/getCustomField.d.ts +67 -0
  104. package/getCustomField.d.ts.map +1 -0
  105. package/getCustomField.js +51 -0
  106. package/getCustomField.js.map +1 -0
  107. package/getCustomFieldOption.d.ts +65 -0
  108. package/getCustomFieldOption.d.ts.map +1 -0
  109. package/getCustomFieldOption.js +55 -0
  110. package/getCustomFieldOption.js.map +1 -0
  111. package/getEscalationPath.d.ts +100 -0
  112. package/getEscalationPath.d.ts.map +1 -0
  113. package/getEscalationPath.js +83 -0
  114. package/getEscalationPath.js.map +1 -0
  115. package/getEscalationPathBeta.d.ts +100 -0
  116. package/getEscalationPathBeta.d.ts.map +1 -0
  117. package/getEscalationPathBeta.js +83 -0
  118. package/getEscalationPathBeta.js.map +1 -0
  119. package/getIncidentRole.d.ts +111 -0
  120. package/getIncidentRole.d.ts.map +1 -0
  121. package/getIncidentRole.js +105 -0
  122. package/getIncidentRole.js.map +1 -0
  123. package/getIncidentTemplate.d.ts +98 -0
  124. package/getIncidentTemplate.d.ts.map +1 -0
  125. package/getIncidentTemplate.js +95 -0
  126. package/getIncidentTemplate.js.map +1 -0
  127. package/getIncidentTimestamp.d.ts +107 -0
  128. package/getIncidentTimestamp.d.ts.map +1 -0
  129. package/getIncidentTimestamp.js +109 -0
  130. package/getIncidentTimestamp.js.map +1 -0
  131. package/getIncidentType.d.ts +121 -0
  132. package/getIncidentType.d.ts.map +1 -0
  133. package/getIncidentType.js +107 -0
  134. package/getIncidentType.js.map +1 -0
  135. package/getIpAllowlist.d.ts +62 -0
  136. package/getIpAllowlist.d.ts.map +1 -0
  137. package/getIpAllowlist.js +77 -0
  138. package/getIpAllowlist.js.map +1 -0
  139. package/getPolicy.d.ts +97 -0
  140. package/getPolicy.d.ts.map +1 -0
  141. package/getPolicy.js +91 -0
  142. package/getPolicy.js.map +1 -0
  143. package/getRichText.d.ts +111 -0
  144. package/getRichText.d.ts.map +1 -0
  145. package/getRichText.js +107 -0
  146. package/getRichText.js.map +1 -0
  147. package/getSchedule.d.ts +89 -0
  148. package/getSchedule.d.ts.map +1 -0
  149. package/getSchedule.js +87 -0
  150. package/getSchedule.js.map +1 -0
  151. package/getScheduleBeta.d.ts +85 -0
  152. package/getScheduleBeta.d.ts.map +1 -0
  153. package/getScheduleBeta.js +83 -0
  154. package/getScheduleBeta.js.map +1 -0
  155. package/getScheduleReplica.d.ts +116 -0
  156. package/getScheduleReplica.d.ts.map +1 -0
  157. package/getScheduleReplica.js +79 -0
  158. package/getScheduleReplica.js.map +1 -0
  159. package/getScheduleRotation.d.ts +166 -0
  160. package/getScheduleRotation.d.ts.map +1 -0
  161. package/getScheduleRotation.js +127 -0
  162. package/getScheduleRotation.js.map +1 -0
  163. package/getScheduleRotationBeta.d.ts +122 -0
  164. package/getScheduleRotationBeta.d.ts.map +1 -0
  165. package/getScheduleRotationBeta.js +83 -0
  166. package/getScheduleRotationBeta.js.map +1 -0
  167. package/getScheduleSyncRule.d.ts +91 -0
  168. package/getScheduleSyncRule.d.ts.map +1 -0
  169. package/getScheduleSyncRule.js +79 -0
  170. package/getScheduleSyncRule.js.map +1 -0
  171. package/getScheduleSyncTarget.d.ts +100 -0
  172. package/getScheduleSyncTarget.d.ts.map +1 -0
  173. package/getScheduleSyncTarget.js +93 -0
  174. package/getScheduleSyncTarget.js.map +1 -0
  175. package/getSecret.d.ts +115 -0
  176. package/getSecret.d.ts.map +1 -0
  177. package/getSecret.js +97 -0
  178. package/getSecret.js.map +1 -0
  179. package/getSeverity.d.ts +117 -0
  180. package/getSeverity.d.ts.map +1 -0
  181. package/getSeverity.js +115 -0
  182. package/getSeverity.js.map +1 -0
  183. package/getStatus.d.ts +125 -0
  184. package/getStatus.d.ts.map +1 -0
  185. package/getStatus.js +119 -0
  186. package/getStatus.js.map +1 -0
  187. package/getUser.d.ts +52 -0
  188. package/getUser.d.ts.map +1 -0
  189. package/getUser.js +61 -0
  190. package/getUser.js.map +1 -0
  191. package/getWorkflow.d.ts +103 -0
  192. package/getWorkflow.d.ts.map +1 -0
  193. package/getWorkflow.js +77 -0
  194. package/getWorkflow.js.map +1 -0
  195. package/incidentRole.d.ts +109 -0
  196. package/incidentRole.d.ts.map +1 -0
  197. package/incidentRole.js +111 -0
  198. package/incidentRole.js.map +1 -0
  199. package/incidentTemplate.d.ts +200 -0
  200. package/incidentTemplate.d.ts.map +1 -0
  201. package/incidentTemplate.js +207 -0
  202. package/incidentTemplate.js.map +1 -0
  203. package/index.d.ts +188 -0
  204. package/index.d.ts.map +1 -0
  205. package/index.js +303 -0
  206. package/index.js.map +1 -0
  207. package/maintenanceWindow.d.ts +255 -0
  208. package/maintenanceWindow.d.ts.map +1 -0
  209. package/maintenanceWindow.js +148 -0
  210. package/maintenanceWindow.js.map +1 -0
  211. package/package.json +33 -0
  212. package/policy.d.ts +476 -0
  213. package/policy.d.ts.map +1 -0
  214. package/policy.js +387 -0
  215. package/policy.js.map +1 -0
  216. package/provider.d.ts +62 -0
  217. package/provider.d.ts.map +1 -0
  218. package/provider.js +80 -0
  219. package/provider.js.map +1 -0
  220. package/schedule.d.ts +120 -0
  221. package/schedule.d.ts.map +1 -0
  222. package/schedule.js +114 -0
  223. package/schedule.js.map +1 -0
  224. package/scheduleBeta.d.ts +104 -0
  225. package/scheduleBeta.d.ts.map +1 -0
  226. package/scheduleBeta.js +98 -0
  227. package/scheduleBeta.js.map +1 -0
  228. package/scheduleReplica.d.ts +178 -0
  229. package/scheduleReplica.d.ts.map +1 -0
  230. package/scheduleReplica.js +134 -0
  231. package/scheduleReplica.js.map +1 -0
  232. package/scheduleRotation.d.ts +287 -0
  233. package/scheduleRotation.d.ts.map +1 -0
  234. package/scheduleRotation.js +224 -0
  235. package/scheduleRotation.js.map +1 -0
  236. package/scheduleRotationBeta.d.ts +184 -0
  237. package/scheduleRotationBeta.d.ts.map +1 -0
  238. package/scheduleRotationBeta.js +121 -0
  239. package/scheduleRotationBeta.js.map +1 -0
  240. package/scheduleSyncRule.d.ts +154 -0
  241. package/scheduleSyncRule.d.ts.map +1 -0
  242. package/scheduleSyncRule.js +146 -0
  243. package/scheduleSyncRule.js.map +1 -0
  244. package/scheduleSyncTarget.d.ts +108 -0
  245. package/scheduleSyncTarget.d.ts.map +1 -0
  246. package/scheduleSyncTarget.js +106 -0
  247. package/scheduleSyncTarget.js.map +1 -0
  248. package/secret.d.ts +276 -0
  249. package/secret.d.ts.map +1 -0
  250. package/secret.js +234 -0
  251. package/secret.js.map +1 -0
  252. package/severity.d.ts +96 -0
  253. package/severity.d.ts.map +1 -0
  254. package/severity.js +102 -0
  255. package/severity.js.map +1 -0
  256. package/status.d.ts +121 -0
  257. package/status.d.ts.map +1 -0
  258. package/status.js +120 -0
  259. package/status.js.map +1 -0
  260. package/types/index.d.ts +4 -0
  261. package/types/index.d.ts.map +1 -0
  262. package/types/index.js +34 -0
  263. package/types/index.js.map +1 -0
  264. package/types/input.d.ts +23630 -0
  265. package/types/input.d.ts.map +1 -0
  266. package/types/input.js +5 -0
  267. package/types/input.js.map +1 -0
  268. package/types/output.d.ts +19726 -0
  269. package/types/output.d.ts.map +1 -0
  270. package/types/output.js +5 -0
  271. package/types/output.js.map +1 -0
  272. package/utilities.d.ts +5 -0
  273. package/utilities.d.ts.map +1 -0
  274. package/utilities.js +114 -0
  275. package/utilities.js.map +1 -0
  276. package/workflow.d.ts +736 -0
  277. package/workflow.d.ts.map +1 -0
  278. package/workflow.js +608 -0
  279. package/workflow.js.map +1 -0
@@ -0,0 +1,511 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Configure your alert routes in incident.io.
6
+ *
7
+ * Alert routes define how alerts from different sources are processed, grouped, and routed to the right teams and people.
8
+ *
9
+ * We'd generally recommend building alert routes in our [web dashboard](https://app.incident.io/~/alerts/configuration), and using the 'Export' flow to generate your Terraform, as it's easier to see what you've configured. You can also make changes to an existing alert route and copy the resulting Terraform without persisting it.
10
+ *
11
+ * ## Example - Inline incident template
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as incident from "@incident-io/pulumi";
16
+ *
17
+ * //# Defines the incident template inline, under incident_config.template. This is
18
+ * //# the most self-contained option: the template lives with the route and is not
19
+ * //# shared with any other route. See the other examples for reusing a standalone
20
+ * //# incident_incident_template, or falling back to the organisation's default.
21
+ * const serviceAlerts = new incident.AlertRoute("service_alerts", {
22
+ * name: "Testing Alert Routes",
23
+ * enabled: true,
24
+ * isPrivate: false,
25
+ * alertSources: [{
26
+ * alertSourceId: http.id,
27
+ * conditionGroups: [{
28
+ * conditions: [{
29
+ * subject: "alert.title",
30
+ * operation: "is_set",
31
+ * paramBindings: [],
32
+ * }],
33
+ * }],
34
+ * }],
35
+ * conditionGroups: [{
36
+ * conditions: [{
37
+ * subject: "alert.title",
38
+ * operation: "is_set",
39
+ * paramBindings: [],
40
+ * }],
41
+ * }],
42
+ * expressions: [],
43
+ * groupingConfig: {
44
+ * "default": {
45
+ * enabled: true,
46
+ * groupingKeys: [],
47
+ * windowSeconds: 300,
48
+ * windowType: "rolling",
49
+ * },
50
+ * },
51
+ * messageConfig: {
52
+ * destinations: [{
53
+ * conditionGroups: [{
54
+ * conditions: [{
55
+ * subject: "alert.title",
56
+ * operation: "contains",
57
+ * paramBindings: [{
58
+ * value: {
59
+ * literal: "critical",
60
+ * },
61
+ * }],
62
+ * }],
63
+ * }],
64
+ * slackTargets: {
65
+ * binding: {
66
+ * arrayValue: [{
67
+ * literal: "C01234567",
68
+ * }],
69
+ * },
70
+ * channelVisibility: "public",
71
+ * groupAlertsSummary: true,
72
+ * },
73
+ * }],
74
+ * template: {
75
+ * value: {
76
+ * literal: "01KHJTJR4FZJJZQ6G02EBFJAAY",
77
+ * },
78
+ * },
79
+ * },
80
+ * escalationConfig: {
81
+ * autoCancelEscalations: true,
82
+ * escalationTargets: [
83
+ * {
84
+ * escalationPaths: {
85
+ * arrayValue: [{
86
+ * reference: "alert.attributes.escalation_path",
87
+ * }],
88
+ * },
89
+ * },
90
+ * {
91
+ * escalationPaths: {
92
+ * arrayValue: [{
93
+ * literal: "01JPQNFD3RWAAY2V83QQ80D1ZV",
94
+ * }],
95
+ * },
96
+ * },
97
+ * {
98
+ * users: {
99
+ * arrayValue: [{
100
+ * literal: "01GX3C1TK13RQSEGP59XZ3MYP0",
101
+ * }],
102
+ * },
103
+ * },
104
+ * ],
105
+ * whenAlertJoinsGroup: {
106
+ * mode: "on_each_new_alert",
107
+ * gracePeriodSeconds: 60,
108
+ * },
109
+ * },
110
+ * incidentConfig: {
111
+ * autoDeclineEnabled: false,
112
+ * enabled: true,
113
+ * conditionGroups: [],
114
+ * template: {
115
+ * customFields: [{
116
+ * customFieldId: typeField.id,
117
+ * mergeStrategy: "first-wins",
118
+ * binding: {
119
+ * value: {
120
+ * literal: "Test incident",
121
+ * },
122
+ * },
123
+ * }],
124
+ * name: {
125
+ * autogenerated: true,
126
+ * value: {
127
+ * literal: JSON.stringify({
128
+ * content: [{
129
+ * content: [{
130
+ * attrs: {
131
+ * label: "Alert → Title",
132
+ * missing: false,
133
+ * name: "alert.title",
134
+ * },
135
+ * type: "varSpec",
136
+ * }],
137
+ * type: "paragraph",
138
+ * }],
139
+ * type: "doc",
140
+ * }),
141
+ * },
142
+ * },
143
+ * summary: {
144
+ * autogenerated: true,
145
+ * value: {
146
+ * literal: JSON.stringify({
147
+ * content: [{
148
+ * content: [{
149
+ * attrs: {
150
+ * label: "Alert → Description",
151
+ * missing: false,
152
+ * name: "alert.description",
153
+ * },
154
+ * type: "varSpec",
155
+ * }],
156
+ * type: "paragraph",
157
+ * }],
158
+ * type: "doc",
159
+ * }),
160
+ * },
161
+ * },
162
+ * startInTriage: {
163
+ * value: {
164
+ * literal: "true",
165
+ * },
166
+ * },
167
+ * severity: {
168
+ * mergeStrategy: "first-wins",
169
+ * },
170
+ * },
171
+ * },
172
+ * });
173
+ * ```
174
+ *
175
+ * ## Example - Reusing a standalone incident template
176
+ *
177
+ * ```typescript
178
+ * import * as pulumi from "@pulumi/pulumi";
179
+ * import * as incident from "@incident-io/pulumi";
180
+ *
181
+ * //# References a standalone incident_incident_template instead of defining the
182
+ * //# template inline. This is the better option when several routes should share
183
+ * //# one template: edit the template once and every route that references it picks
184
+ * //# up the change.
185
+ * const payments = new incident.IncidentTemplate("payments", {
186
+ * name: "Payments incidents",
187
+ * expressions: [],
188
+ * template: {
189
+ * name: {
190
+ * autogenerated: false,
191
+ * value: {
192
+ * literal: "Payments incident",
193
+ * },
194
+ * },
195
+ * summary: {
196
+ * autogenerated: true,
197
+ * },
198
+ * severity: {
199
+ * mergeStrategy: "max",
200
+ * },
201
+ * },
202
+ * });
203
+ * const paymentsAlerts = new incident.AlertRoute("payments_alerts", {
204
+ * name: "Payments alerts",
205
+ * enabled: true,
206
+ * isPrivate: false,
207
+ * alertSources: [{
208
+ * alertSourceId: http.id,
209
+ * conditionGroups: [],
210
+ * }],
211
+ * conditionGroups: [],
212
+ * expressions: [],
213
+ * groupingConfig: {
214
+ * "default": {
215
+ * enabled: true,
216
+ * groupingKeys: [],
217
+ * windowSeconds: 300,
218
+ * windowType: "rolling",
219
+ * },
220
+ * },
221
+ * messageConfig: {
222
+ * destinations: [{
223
+ * conditionGroups: [],
224
+ * slackTargets: {
225
+ * binding: {
226
+ * arrayValue: [{
227
+ * literal: "C01234567",
228
+ * }],
229
+ * },
230
+ * channelVisibility: "public",
231
+ * groupAlertsSummary: true,
232
+ * },
233
+ * }],
234
+ * },
235
+ * escalationConfig: {
236
+ * autoCancelEscalations: true,
237
+ * escalationTargets: [{
238
+ * escalationPaths: {
239
+ * arrayValue: [{
240
+ * literal: "01JPQNFD3RWAAY2V83QQ80D1ZV",
241
+ * }],
242
+ * },
243
+ * }],
244
+ * },
245
+ * incidentConfig: {
246
+ * autoDeclineEnabled: false,
247
+ * enabled: true,
248
+ * conditionGroups: [],
249
+ * incidentTemplate: {
250
+ * value: {
251
+ * literal: payments.id,
252
+ * },
253
+ * },
254
+ * },
255
+ * });
256
+ * ```
257
+ *
258
+ * ## Example - Using the organisation's default template
259
+ *
260
+ * ```typescript
261
+ * import * as pulumi from "@pulumi/pulumi";
262
+ * import * as incident from "@incident-io/pulumi";
263
+ *
264
+ * //# Sets no incident template at all. Both the inline template and the standalone
265
+ * //# incident_template reference are optional, so when neither is set the incidents
266
+ * //# this route creates use the organisation's default incident template.
267
+ * const defaultTemplateAlerts = new incident.AlertRoute("default_template_alerts", {
268
+ * name: "Default template alerts",
269
+ * enabled: true,
270
+ * isPrivate: false,
271
+ * alertSources: [{
272
+ * alertSourceId: http.id,
273
+ * conditionGroups: [],
274
+ * }],
275
+ * conditionGroups: [],
276
+ * expressions: [],
277
+ * groupingConfig: {
278
+ * "default": {
279
+ * enabled: true,
280
+ * groupingKeys: [],
281
+ * windowSeconds: 300,
282
+ * windowType: "rolling",
283
+ * },
284
+ * },
285
+ * messageConfig: {
286
+ * destinations: [{
287
+ * conditionGroups: [],
288
+ * slackTargets: {
289
+ * binding: {
290
+ * arrayValue: [{
291
+ * literal: "C01234567",
292
+ * }],
293
+ * },
294
+ * channelVisibility: "public",
295
+ * groupAlertsSummary: true,
296
+ * },
297
+ * }],
298
+ * },
299
+ * escalationConfig: {
300
+ * autoCancelEscalations: true,
301
+ * escalationTargets: [{
302
+ * escalationPaths: {
303
+ * arrayValue: [{
304
+ * literal: "01JPQNFD3RWAAY2V83QQ80D1ZV",
305
+ * }],
306
+ * },
307
+ * }],
308
+ * },
309
+ * incidentConfig: {
310
+ * autoDeclineEnabled: false,
311
+ * enabled: true,
312
+ * conditionGroups: [],
313
+ * },
314
+ * });
315
+ * ```
316
+ */
317
+ export declare class AlertRoute extends pulumi.CustomResource {
318
+ /**
319
+ * Get an existing AlertRoute resource's state with the given name, ID, and optional extra
320
+ * properties used to qualify the lookup.
321
+ *
322
+ * @param name The _unique_ name of the resulting resource.
323
+ * @param id The _unique_ provider ID of the resource to lookup.
324
+ * @param state Any extra arguments used during the lookup.
325
+ * @param opts Optional settings to control the behavior of the CustomResource.
326
+ */
327
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AlertRouteState, opts?: pulumi.CustomResourceOptions): AlertRoute;
328
+ /**
329
+ * Returns true if the given object is an instance of AlertRoute. This is designed to work even
330
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
331
+ */
332
+ static isInstance(obj: any): obj is AlertRoute;
333
+ /**
334
+ * Which alert sources should this alert route match?
335
+ */
336
+ readonly alertSources: pulumi.Output<outputs.AlertRouteAlertSource[]>;
337
+ /**
338
+ * The channel configuration for this alert route
339
+ *
340
+ * @deprecated Deprecated: configure Slack and Microsoft Teams notifications via `message_config.destinations` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
341
+ */
342
+ readonly channelConfigs: pulumi.Output<outputs.AlertRouteChannelConfig[] | undefined>;
343
+ /**
344
+ * Groups of prerequisite conditions. All conditions in at least one group must be satisfied
345
+ */
346
+ readonly conditionGroups: pulumi.Output<outputs.AlertRouteConditionGroup[]>;
347
+ /**
348
+ * Whether this alert route is enabled or not
349
+ */
350
+ readonly enabled: pulumi.Output<boolean>;
351
+ readonly escalationConfig: pulumi.Output<outputs.AlertRouteEscalationConfig>;
352
+ /**
353
+ * The expressions to be prepared for use by steps and conditions
354
+ */
355
+ readonly expressions: pulumi.Output<outputs.AlertRouteExpression[]>;
356
+ readonly groupingConfig: pulumi.Output<outputs.AlertRouteGroupingConfig | undefined>;
357
+ readonly incidentConfig: pulumi.Output<outputs.AlertRouteIncidentConfig>;
358
+ /**
359
+ * Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
360
+ *
361
+ * @deprecated Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
362
+ */
363
+ readonly incidentTemplate: pulumi.Output<outputs.AlertRouteIncidentTemplate | undefined>;
364
+ /**
365
+ * Whether this alert route is private. Private alert routes will only create private incidents from alerts.
366
+ */
367
+ readonly isPrivate: pulumi.Output<boolean>;
368
+ /**
369
+ * Only used with `groupingConfig`.
370
+ */
371
+ readonly messageConfig: pulumi.Output<outputs.AlertRouteMessageConfig | undefined>;
372
+ /**
373
+ * Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
374
+ *
375
+ * @deprecated Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
376
+ */
377
+ readonly messageTemplate: pulumi.Output<outputs.AlertRouteMessageTemplate | undefined>;
378
+ /**
379
+ * The name of this alert route config, for the user's reference
380
+ */
381
+ readonly name: pulumi.Output<string>;
382
+ /**
383
+ * IDs of teams that own this alert route
384
+ */
385
+ readonly owningTeamIds: pulumi.Output<string[] | undefined>;
386
+ /**
387
+ * Create a AlertRoute resource with the given unique name, arguments, and options.
388
+ *
389
+ * @param name The _unique_ name of the resource.
390
+ * @param args The arguments to use to populate this resource's properties.
391
+ * @param opts A bag of options that control this resource's behavior.
392
+ */
393
+ constructor(name: string, args: AlertRouteArgs, opts?: pulumi.CustomResourceOptions);
394
+ }
395
+ /**
396
+ * Input properties used for looking up and filtering AlertRoute resources.
397
+ */
398
+ export interface AlertRouteState {
399
+ /**
400
+ * Which alert sources should this alert route match?
401
+ */
402
+ alertSources?: pulumi.Input<pulumi.Input<inputs.AlertRouteAlertSource>[] | undefined>;
403
+ /**
404
+ * The channel configuration for this alert route
405
+ *
406
+ * @deprecated Deprecated: configure Slack and Microsoft Teams notifications via `message_config.destinations` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
407
+ */
408
+ channelConfigs?: pulumi.Input<pulumi.Input<inputs.AlertRouteChannelConfig>[] | undefined>;
409
+ /**
410
+ * Groups of prerequisite conditions. All conditions in at least one group must be satisfied
411
+ */
412
+ conditionGroups?: pulumi.Input<pulumi.Input<inputs.AlertRouteConditionGroup>[] | undefined>;
413
+ /**
414
+ * Whether this alert route is enabled or not
415
+ */
416
+ enabled?: pulumi.Input<boolean | undefined>;
417
+ escalationConfig?: pulumi.Input<inputs.AlertRouteEscalationConfig | undefined>;
418
+ /**
419
+ * The expressions to be prepared for use by steps and conditions
420
+ */
421
+ expressions?: pulumi.Input<pulumi.Input<inputs.AlertRouteExpression>[] | undefined>;
422
+ groupingConfig?: pulumi.Input<inputs.AlertRouteGroupingConfig | undefined>;
423
+ incidentConfig?: pulumi.Input<inputs.AlertRouteIncidentConfig | undefined>;
424
+ /**
425
+ * Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
426
+ *
427
+ * @deprecated Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
428
+ */
429
+ incidentTemplate?: pulumi.Input<inputs.AlertRouteIncidentTemplate | undefined>;
430
+ /**
431
+ * Whether this alert route is private. Private alert routes will only create private incidents from alerts.
432
+ */
433
+ isPrivate?: pulumi.Input<boolean | undefined>;
434
+ /**
435
+ * Only used with `groupingConfig`.
436
+ */
437
+ messageConfig?: pulumi.Input<inputs.AlertRouteMessageConfig | undefined>;
438
+ /**
439
+ * Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
440
+ *
441
+ * @deprecated Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
442
+ */
443
+ messageTemplate?: pulumi.Input<inputs.AlertRouteMessageTemplate | undefined>;
444
+ /**
445
+ * The name of this alert route config, for the user's reference
446
+ */
447
+ name?: pulumi.Input<string | undefined>;
448
+ /**
449
+ * IDs of teams that own this alert route
450
+ */
451
+ owningTeamIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
452
+ }
453
+ /**
454
+ * The set of arguments for constructing a AlertRoute resource.
455
+ */
456
+ export interface AlertRouteArgs {
457
+ /**
458
+ * Which alert sources should this alert route match?
459
+ */
460
+ alertSources: pulumi.Input<pulumi.Input<inputs.AlertRouteAlertSource>[]>;
461
+ /**
462
+ * The channel configuration for this alert route
463
+ *
464
+ * @deprecated Deprecated: configure Slack and Microsoft Teams notifications via `message_config.destinations` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
465
+ */
466
+ channelConfigs?: pulumi.Input<pulumi.Input<inputs.AlertRouteChannelConfig>[] | undefined>;
467
+ /**
468
+ * Groups of prerequisite conditions. All conditions in at least one group must be satisfied
469
+ */
470
+ conditionGroups: pulumi.Input<pulumi.Input<inputs.AlertRouteConditionGroup>[]>;
471
+ /**
472
+ * Whether this alert route is enabled or not
473
+ */
474
+ enabled: pulumi.Input<boolean>;
475
+ escalationConfig: pulumi.Input<inputs.AlertRouteEscalationConfig>;
476
+ /**
477
+ * The expressions to be prepared for use by steps and conditions
478
+ */
479
+ expressions: pulumi.Input<pulumi.Input<inputs.AlertRouteExpression>[]>;
480
+ groupingConfig?: pulumi.Input<inputs.AlertRouteGroupingConfig | undefined>;
481
+ incidentConfig: pulumi.Input<inputs.AlertRouteIncidentConfig>;
482
+ /**
483
+ * Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
484
+ *
485
+ * @deprecated Deprecated: set the incident template via `incident_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
486
+ */
487
+ incidentTemplate?: pulumi.Input<inputs.AlertRouteIncidentTemplate | undefined>;
488
+ /**
489
+ * Whether this alert route is private. Private alert routes will only create private incidents from alerts.
490
+ */
491
+ isPrivate: pulumi.Input<boolean>;
492
+ /**
493
+ * Only used with `groupingConfig`.
494
+ */
495
+ messageConfig?: pulumi.Input<inputs.AlertRouteMessageConfig | undefined>;
496
+ /**
497
+ * Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
498
+ *
499
+ * @deprecated Deprecated: set the alert message template via `message_config.template` instead. See v5.41.0 in the CHANGELOG for migration guidance: https://github.com/incident-io/terraform-provider-incident/blob/master/CHANGELOG.md
500
+ */
501
+ messageTemplate?: pulumi.Input<inputs.AlertRouteMessageTemplate | undefined>;
502
+ /**
503
+ * The name of this alert route config, for the user's reference
504
+ */
505
+ name?: pulumi.Input<string | undefined>;
506
+ /**
507
+ * IDs of teams that own this alert route
508
+ */
509
+ owningTeamIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
510
+ }
511
+ //# sourceMappingURL=alertRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alertRoute.d.ts","sourceRoot":"","sources":["../alertRoute.ts"],"names":[],"mappings":"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"}