pulumi-checkly 2.0.0a1738674781__py3-none-any.whl
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.
- pulumi_checkly/__init__.py +143 -0
- pulumi_checkly/_inputs.py +3131 -0
- pulumi_checkly/_utilities.py +327 -0
- pulumi_checkly/alert_channel.py +742 -0
- pulumi_checkly/check.py +1579 -0
- pulumi_checkly/check_group.py +1073 -0
- pulumi_checkly/config/__init__.py +8 -0
- pulumi_checkly/config/__init__.pyi +22 -0
- pulumi_checkly/config/vars.py +34 -0
- pulumi_checkly/dashboard.py +920 -0
- pulumi_checkly/environment_variable.py +269 -0
- pulumi_checkly/get_static_ips.py +126 -0
- pulumi_checkly/heartbeat_check.py +480 -0
- pulumi_checkly/maintenance_window.py +462 -0
- pulumi_checkly/outputs.py +2413 -0
- pulumi_checkly/private_location.py +293 -0
- pulumi_checkly/provider.py +144 -0
- pulumi_checkly/pulumi-plugin.json +6 -0
- pulumi_checkly/py.typed +0 -0
- pulumi_checkly/snippet.py +228 -0
- pulumi_checkly/tcp_check.py +1171 -0
- pulumi_checkly/trigger_check.py +261 -0
- pulumi_checkly/trigger_check_group.py +261 -0
- pulumi_checkly-2.0.0a1738674781.dist-info/METADATA +69 -0
- pulumi_checkly-2.0.0a1738674781.dist-info/RECORD +27 -0
- pulumi_checkly-2.0.0a1738674781.dist-info/WHEEL +5 -0
- pulumi_checkly-2.0.0a1738674781.dist-info/top_level.txt +1 -0
@@ -0,0 +1,742 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from . import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['AlertChannelArgs', 'AlertChannel']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class AlertChannelArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
call: Optional[pulumi.Input['AlertChannelCallArgs']] = None,
|
25
|
+
email: Optional[pulumi.Input['AlertChannelEmailArgs']] = None,
|
26
|
+
opsgenie: Optional[pulumi.Input['AlertChannelOpsgenieArgs']] = None,
|
27
|
+
pagerduty: Optional[pulumi.Input['AlertChannelPagerdutyArgs']] = None,
|
28
|
+
send_degraded: Optional[pulumi.Input[bool]] = None,
|
29
|
+
send_failure: Optional[pulumi.Input[bool]] = None,
|
30
|
+
send_recovery: Optional[pulumi.Input[bool]] = None,
|
31
|
+
slack: Optional[pulumi.Input['AlertChannelSlackArgs']] = None,
|
32
|
+
sms: Optional[pulumi.Input['AlertChannelSmsArgs']] = None,
|
33
|
+
ssl_expiry: Optional[pulumi.Input[bool]] = None,
|
34
|
+
ssl_expiry_threshold: Optional[pulumi.Input[int]] = None,
|
35
|
+
webhook: Optional[pulumi.Input['AlertChannelWebhookArgs']] = None):
|
36
|
+
"""
|
37
|
+
The set of arguments for constructing a AlertChannel resource.
|
38
|
+
:param pulumi.Input[bool] send_degraded: (Default `false`)
|
39
|
+
:param pulumi.Input[bool] send_failure: (Default `true`)
|
40
|
+
:param pulumi.Input[bool] send_recovery: (Default `true`)
|
41
|
+
:param pulumi.Input[bool] ssl_expiry: (Default `false`)
|
42
|
+
:param pulumi.Input[int] ssl_expiry_threshold: Value must be between 1 and 30 (Default `30`)
|
43
|
+
"""
|
44
|
+
if call is not None:
|
45
|
+
pulumi.set(__self__, "call", call)
|
46
|
+
if email is not None:
|
47
|
+
pulumi.set(__self__, "email", email)
|
48
|
+
if opsgenie is not None:
|
49
|
+
pulumi.set(__self__, "opsgenie", opsgenie)
|
50
|
+
if pagerduty is not None:
|
51
|
+
pulumi.set(__self__, "pagerduty", pagerduty)
|
52
|
+
if send_degraded is not None:
|
53
|
+
pulumi.set(__self__, "send_degraded", send_degraded)
|
54
|
+
if send_failure is not None:
|
55
|
+
pulumi.set(__self__, "send_failure", send_failure)
|
56
|
+
if send_recovery is not None:
|
57
|
+
pulumi.set(__self__, "send_recovery", send_recovery)
|
58
|
+
if slack is not None:
|
59
|
+
pulumi.set(__self__, "slack", slack)
|
60
|
+
if sms is not None:
|
61
|
+
pulumi.set(__self__, "sms", sms)
|
62
|
+
if ssl_expiry is not None:
|
63
|
+
pulumi.set(__self__, "ssl_expiry", ssl_expiry)
|
64
|
+
if ssl_expiry_threshold is not None:
|
65
|
+
pulumi.set(__self__, "ssl_expiry_threshold", ssl_expiry_threshold)
|
66
|
+
if webhook is not None:
|
67
|
+
pulumi.set(__self__, "webhook", webhook)
|
68
|
+
|
69
|
+
@property
|
70
|
+
@pulumi.getter
|
71
|
+
def call(self) -> Optional[pulumi.Input['AlertChannelCallArgs']]:
|
72
|
+
return pulumi.get(self, "call")
|
73
|
+
|
74
|
+
@call.setter
|
75
|
+
def call(self, value: Optional[pulumi.Input['AlertChannelCallArgs']]):
|
76
|
+
pulumi.set(self, "call", value)
|
77
|
+
|
78
|
+
@property
|
79
|
+
@pulumi.getter
|
80
|
+
def email(self) -> Optional[pulumi.Input['AlertChannelEmailArgs']]:
|
81
|
+
return pulumi.get(self, "email")
|
82
|
+
|
83
|
+
@email.setter
|
84
|
+
def email(self, value: Optional[pulumi.Input['AlertChannelEmailArgs']]):
|
85
|
+
pulumi.set(self, "email", value)
|
86
|
+
|
87
|
+
@property
|
88
|
+
@pulumi.getter
|
89
|
+
def opsgenie(self) -> Optional[pulumi.Input['AlertChannelOpsgenieArgs']]:
|
90
|
+
return pulumi.get(self, "opsgenie")
|
91
|
+
|
92
|
+
@opsgenie.setter
|
93
|
+
def opsgenie(self, value: Optional[pulumi.Input['AlertChannelOpsgenieArgs']]):
|
94
|
+
pulumi.set(self, "opsgenie", value)
|
95
|
+
|
96
|
+
@property
|
97
|
+
@pulumi.getter
|
98
|
+
def pagerduty(self) -> Optional[pulumi.Input['AlertChannelPagerdutyArgs']]:
|
99
|
+
return pulumi.get(self, "pagerduty")
|
100
|
+
|
101
|
+
@pagerduty.setter
|
102
|
+
def pagerduty(self, value: Optional[pulumi.Input['AlertChannelPagerdutyArgs']]):
|
103
|
+
pulumi.set(self, "pagerduty", value)
|
104
|
+
|
105
|
+
@property
|
106
|
+
@pulumi.getter(name="sendDegraded")
|
107
|
+
def send_degraded(self) -> Optional[pulumi.Input[bool]]:
|
108
|
+
"""
|
109
|
+
(Default `false`)
|
110
|
+
"""
|
111
|
+
return pulumi.get(self, "send_degraded")
|
112
|
+
|
113
|
+
@send_degraded.setter
|
114
|
+
def send_degraded(self, value: Optional[pulumi.Input[bool]]):
|
115
|
+
pulumi.set(self, "send_degraded", value)
|
116
|
+
|
117
|
+
@property
|
118
|
+
@pulumi.getter(name="sendFailure")
|
119
|
+
def send_failure(self) -> Optional[pulumi.Input[bool]]:
|
120
|
+
"""
|
121
|
+
(Default `true`)
|
122
|
+
"""
|
123
|
+
return pulumi.get(self, "send_failure")
|
124
|
+
|
125
|
+
@send_failure.setter
|
126
|
+
def send_failure(self, value: Optional[pulumi.Input[bool]]):
|
127
|
+
pulumi.set(self, "send_failure", value)
|
128
|
+
|
129
|
+
@property
|
130
|
+
@pulumi.getter(name="sendRecovery")
|
131
|
+
def send_recovery(self) -> Optional[pulumi.Input[bool]]:
|
132
|
+
"""
|
133
|
+
(Default `true`)
|
134
|
+
"""
|
135
|
+
return pulumi.get(self, "send_recovery")
|
136
|
+
|
137
|
+
@send_recovery.setter
|
138
|
+
def send_recovery(self, value: Optional[pulumi.Input[bool]]):
|
139
|
+
pulumi.set(self, "send_recovery", value)
|
140
|
+
|
141
|
+
@property
|
142
|
+
@pulumi.getter
|
143
|
+
def slack(self) -> Optional[pulumi.Input['AlertChannelSlackArgs']]:
|
144
|
+
return pulumi.get(self, "slack")
|
145
|
+
|
146
|
+
@slack.setter
|
147
|
+
def slack(self, value: Optional[pulumi.Input['AlertChannelSlackArgs']]):
|
148
|
+
pulumi.set(self, "slack", value)
|
149
|
+
|
150
|
+
@property
|
151
|
+
@pulumi.getter
|
152
|
+
def sms(self) -> Optional[pulumi.Input['AlertChannelSmsArgs']]:
|
153
|
+
return pulumi.get(self, "sms")
|
154
|
+
|
155
|
+
@sms.setter
|
156
|
+
def sms(self, value: Optional[pulumi.Input['AlertChannelSmsArgs']]):
|
157
|
+
pulumi.set(self, "sms", value)
|
158
|
+
|
159
|
+
@property
|
160
|
+
@pulumi.getter(name="sslExpiry")
|
161
|
+
def ssl_expiry(self) -> Optional[pulumi.Input[bool]]:
|
162
|
+
"""
|
163
|
+
(Default `false`)
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "ssl_expiry")
|
166
|
+
|
167
|
+
@ssl_expiry.setter
|
168
|
+
def ssl_expiry(self, value: Optional[pulumi.Input[bool]]):
|
169
|
+
pulumi.set(self, "ssl_expiry", value)
|
170
|
+
|
171
|
+
@property
|
172
|
+
@pulumi.getter(name="sslExpiryThreshold")
|
173
|
+
def ssl_expiry_threshold(self) -> Optional[pulumi.Input[int]]:
|
174
|
+
"""
|
175
|
+
Value must be between 1 and 30 (Default `30`)
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "ssl_expiry_threshold")
|
178
|
+
|
179
|
+
@ssl_expiry_threshold.setter
|
180
|
+
def ssl_expiry_threshold(self, value: Optional[pulumi.Input[int]]):
|
181
|
+
pulumi.set(self, "ssl_expiry_threshold", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter
|
185
|
+
def webhook(self) -> Optional[pulumi.Input['AlertChannelWebhookArgs']]:
|
186
|
+
return pulumi.get(self, "webhook")
|
187
|
+
|
188
|
+
@webhook.setter
|
189
|
+
def webhook(self, value: Optional[pulumi.Input['AlertChannelWebhookArgs']]):
|
190
|
+
pulumi.set(self, "webhook", value)
|
191
|
+
|
192
|
+
|
193
|
+
@pulumi.input_type
|
194
|
+
class _AlertChannelState:
|
195
|
+
def __init__(__self__, *,
|
196
|
+
call: Optional[pulumi.Input['AlertChannelCallArgs']] = None,
|
197
|
+
email: Optional[pulumi.Input['AlertChannelEmailArgs']] = None,
|
198
|
+
opsgenie: Optional[pulumi.Input['AlertChannelOpsgenieArgs']] = None,
|
199
|
+
pagerduty: Optional[pulumi.Input['AlertChannelPagerdutyArgs']] = None,
|
200
|
+
send_degraded: Optional[pulumi.Input[bool]] = None,
|
201
|
+
send_failure: Optional[pulumi.Input[bool]] = None,
|
202
|
+
send_recovery: Optional[pulumi.Input[bool]] = None,
|
203
|
+
slack: Optional[pulumi.Input['AlertChannelSlackArgs']] = None,
|
204
|
+
sms: Optional[pulumi.Input['AlertChannelSmsArgs']] = None,
|
205
|
+
ssl_expiry: Optional[pulumi.Input[bool]] = None,
|
206
|
+
ssl_expiry_threshold: Optional[pulumi.Input[int]] = None,
|
207
|
+
webhook: Optional[pulumi.Input['AlertChannelWebhookArgs']] = None):
|
208
|
+
"""
|
209
|
+
Input properties used for looking up and filtering AlertChannel resources.
|
210
|
+
:param pulumi.Input[bool] send_degraded: (Default `false`)
|
211
|
+
:param pulumi.Input[bool] send_failure: (Default `true`)
|
212
|
+
:param pulumi.Input[bool] send_recovery: (Default `true`)
|
213
|
+
:param pulumi.Input[bool] ssl_expiry: (Default `false`)
|
214
|
+
:param pulumi.Input[int] ssl_expiry_threshold: Value must be between 1 and 30 (Default `30`)
|
215
|
+
"""
|
216
|
+
if call is not None:
|
217
|
+
pulumi.set(__self__, "call", call)
|
218
|
+
if email is not None:
|
219
|
+
pulumi.set(__self__, "email", email)
|
220
|
+
if opsgenie is not None:
|
221
|
+
pulumi.set(__self__, "opsgenie", opsgenie)
|
222
|
+
if pagerduty is not None:
|
223
|
+
pulumi.set(__self__, "pagerduty", pagerduty)
|
224
|
+
if send_degraded is not None:
|
225
|
+
pulumi.set(__self__, "send_degraded", send_degraded)
|
226
|
+
if send_failure is not None:
|
227
|
+
pulumi.set(__self__, "send_failure", send_failure)
|
228
|
+
if send_recovery is not None:
|
229
|
+
pulumi.set(__self__, "send_recovery", send_recovery)
|
230
|
+
if slack is not None:
|
231
|
+
pulumi.set(__self__, "slack", slack)
|
232
|
+
if sms is not None:
|
233
|
+
pulumi.set(__self__, "sms", sms)
|
234
|
+
if ssl_expiry is not None:
|
235
|
+
pulumi.set(__self__, "ssl_expiry", ssl_expiry)
|
236
|
+
if ssl_expiry_threshold is not None:
|
237
|
+
pulumi.set(__self__, "ssl_expiry_threshold", ssl_expiry_threshold)
|
238
|
+
if webhook is not None:
|
239
|
+
pulumi.set(__self__, "webhook", webhook)
|
240
|
+
|
241
|
+
@property
|
242
|
+
@pulumi.getter
|
243
|
+
def call(self) -> Optional[pulumi.Input['AlertChannelCallArgs']]:
|
244
|
+
return pulumi.get(self, "call")
|
245
|
+
|
246
|
+
@call.setter
|
247
|
+
def call(self, value: Optional[pulumi.Input['AlertChannelCallArgs']]):
|
248
|
+
pulumi.set(self, "call", value)
|
249
|
+
|
250
|
+
@property
|
251
|
+
@pulumi.getter
|
252
|
+
def email(self) -> Optional[pulumi.Input['AlertChannelEmailArgs']]:
|
253
|
+
return pulumi.get(self, "email")
|
254
|
+
|
255
|
+
@email.setter
|
256
|
+
def email(self, value: Optional[pulumi.Input['AlertChannelEmailArgs']]):
|
257
|
+
pulumi.set(self, "email", value)
|
258
|
+
|
259
|
+
@property
|
260
|
+
@pulumi.getter
|
261
|
+
def opsgenie(self) -> Optional[pulumi.Input['AlertChannelOpsgenieArgs']]:
|
262
|
+
return pulumi.get(self, "opsgenie")
|
263
|
+
|
264
|
+
@opsgenie.setter
|
265
|
+
def opsgenie(self, value: Optional[pulumi.Input['AlertChannelOpsgenieArgs']]):
|
266
|
+
pulumi.set(self, "opsgenie", value)
|
267
|
+
|
268
|
+
@property
|
269
|
+
@pulumi.getter
|
270
|
+
def pagerduty(self) -> Optional[pulumi.Input['AlertChannelPagerdutyArgs']]:
|
271
|
+
return pulumi.get(self, "pagerduty")
|
272
|
+
|
273
|
+
@pagerduty.setter
|
274
|
+
def pagerduty(self, value: Optional[pulumi.Input['AlertChannelPagerdutyArgs']]):
|
275
|
+
pulumi.set(self, "pagerduty", value)
|
276
|
+
|
277
|
+
@property
|
278
|
+
@pulumi.getter(name="sendDegraded")
|
279
|
+
def send_degraded(self) -> Optional[pulumi.Input[bool]]:
|
280
|
+
"""
|
281
|
+
(Default `false`)
|
282
|
+
"""
|
283
|
+
return pulumi.get(self, "send_degraded")
|
284
|
+
|
285
|
+
@send_degraded.setter
|
286
|
+
def send_degraded(self, value: Optional[pulumi.Input[bool]]):
|
287
|
+
pulumi.set(self, "send_degraded", value)
|
288
|
+
|
289
|
+
@property
|
290
|
+
@pulumi.getter(name="sendFailure")
|
291
|
+
def send_failure(self) -> Optional[pulumi.Input[bool]]:
|
292
|
+
"""
|
293
|
+
(Default `true`)
|
294
|
+
"""
|
295
|
+
return pulumi.get(self, "send_failure")
|
296
|
+
|
297
|
+
@send_failure.setter
|
298
|
+
def send_failure(self, value: Optional[pulumi.Input[bool]]):
|
299
|
+
pulumi.set(self, "send_failure", value)
|
300
|
+
|
301
|
+
@property
|
302
|
+
@pulumi.getter(name="sendRecovery")
|
303
|
+
def send_recovery(self) -> Optional[pulumi.Input[bool]]:
|
304
|
+
"""
|
305
|
+
(Default `true`)
|
306
|
+
"""
|
307
|
+
return pulumi.get(self, "send_recovery")
|
308
|
+
|
309
|
+
@send_recovery.setter
|
310
|
+
def send_recovery(self, value: Optional[pulumi.Input[bool]]):
|
311
|
+
pulumi.set(self, "send_recovery", value)
|
312
|
+
|
313
|
+
@property
|
314
|
+
@pulumi.getter
|
315
|
+
def slack(self) -> Optional[pulumi.Input['AlertChannelSlackArgs']]:
|
316
|
+
return pulumi.get(self, "slack")
|
317
|
+
|
318
|
+
@slack.setter
|
319
|
+
def slack(self, value: Optional[pulumi.Input['AlertChannelSlackArgs']]):
|
320
|
+
pulumi.set(self, "slack", value)
|
321
|
+
|
322
|
+
@property
|
323
|
+
@pulumi.getter
|
324
|
+
def sms(self) -> Optional[pulumi.Input['AlertChannelSmsArgs']]:
|
325
|
+
return pulumi.get(self, "sms")
|
326
|
+
|
327
|
+
@sms.setter
|
328
|
+
def sms(self, value: Optional[pulumi.Input['AlertChannelSmsArgs']]):
|
329
|
+
pulumi.set(self, "sms", value)
|
330
|
+
|
331
|
+
@property
|
332
|
+
@pulumi.getter(name="sslExpiry")
|
333
|
+
def ssl_expiry(self) -> Optional[pulumi.Input[bool]]:
|
334
|
+
"""
|
335
|
+
(Default `false`)
|
336
|
+
"""
|
337
|
+
return pulumi.get(self, "ssl_expiry")
|
338
|
+
|
339
|
+
@ssl_expiry.setter
|
340
|
+
def ssl_expiry(self, value: Optional[pulumi.Input[bool]]):
|
341
|
+
pulumi.set(self, "ssl_expiry", value)
|
342
|
+
|
343
|
+
@property
|
344
|
+
@pulumi.getter(name="sslExpiryThreshold")
|
345
|
+
def ssl_expiry_threshold(self) -> Optional[pulumi.Input[int]]:
|
346
|
+
"""
|
347
|
+
Value must be between 1 and 30 (Default `30`)
|
348
|
+
"""
|
349
|
+
return pulumi.get(self, "ssl_expiry_threshold")
|
350
|
+
|
351
|
+
@ssl_expiry_threshold.setter
|
352
|
+
def ssl_expiry_threshold(self, value: Optional[pulumi.Input[int]]):
|
353
|
+
pulumi.set(self, "ssl_expiry_threshold", value)
|
354
|
+
|
355
|
+
@property
|
356
|
+
@pulumi.getter
|
357
|
+
def webhook(self) -> Optional[pulumi.Input['AlertChannelWebhookArgs']]:
|
358
|
+
return pulumi.get(self, "webhook")
|
359
|
+
|
360
|
+
@webhook.setter
|
361
|
+
def webhook(self, value: Optional[pulumi.Input['AlertChannelWebhookArgs']]):
|
362
|
+
pulumi.set(self, "webhook", value)
|
363
|
+
|
364
|
+
|
365
|
+
class AlertChannel(pulumi.CustomResource):
|
366
|
+
@overload
|
367
|
+
def __init__(__self__,
|
368
|
+
resource_name: str,
|
369
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
370
|
+
call: Optional[pulumi.Input[Union['AlertChannelCallArgs', 'AlertChannelCallArgsDict']]] = None,
|
371
|
+
email: Optional[pulumi.Input[Union['AlertChannelEmailArgs', 'AlertChannelEmailArgsDict']]] = None,
|
372
|
+
opsgenie: Optional[pulumi.Input[Union['AlertChannelOpsgenieArgs', 'AlertChannelOpsgenieArgsDict']]] = None,
|
373
|
+
pagerduty: Optional[pulumi.Input[Union['AlertChannelPagerdutyArgs', 'AlertChannelPagerdutyArgsDict']]] = None,
|
374
|
+
send_degraded: Optional[pulumi.Input[bool]] = None,
|
375
|
+
send_failure: Optional[pulumi.Input[bool]] = None,
|
376
|
+
send_recovery: Optional[pulumi.Input[bool]] = None,
|
377
|
+
slack: Optional[pulumi.Input[Union['AlertChannelSlackArgs', 'AlertChannelSlackArgsDict']]] = None,
|
378
|
+
sms: Optional[pulumi.Input[Union['AlertChannelSmsArgs', 'AlertChannelSmsArgsDict']]] = None,
|
379
|
+
ssl_expiry: Optional[pulumi.Input[bool]] = None,
|
380
|
+
ssl_expiry_threshold: Optional[pulumi.Input[int]] = None,
|
381
|
+
webhook: Optional[pulumi.Input[Union['AlertChannelWebhookArgs', 'AlertChannelWebhookArgsDict']]] = None,
|
382
|
+
__props__=None):
|
383
|
+
"""
|
384
|
+
Allows you to define alerting channels for the checks and groups in your account
|
385
|
+
|
386
|
+
## Example Usage
|
387
|
+
|
388
|
+
```python
|
389
|
+
import pulumi
|
390
|
+
import pulumi_checkly as checkly
|
391
|
+
|
392
|
+
# An Email alert channel
|
393
|
+
email_ac = checkly.AlertChannel("email_ac",
|
394
|
+
email={
|
395
|
+
"address": "john@example.com",
|
396
|
+
},
|
397
|
+
send_recovery=True,
|
398
|
+
send_failure=False,
|
399
|
+
send_degraded=True,
|
400
|
+
ssl_expiry=True,
|
401
|
+
ssl_expiry_threshold=22)
|
402
|
+
# A SMS alert channel
|
403
|
+
sms_ac = checkly.AlertChannel("sms_ac",
|
404
|
+
sms={
|
405
|
+
"name": "john",
|
406
|
+
"number": "+5491100001111",
|
407
|
+
},
|
408
|
+
send_recovery=True,
|
409
|
+
send_failure=True)
|
410
|
+
# A Slack alert channel
|
411
|
+
slack_ac = checkly.AlertChannel("slack_ac", slack={
|
412
|
+
"channel": "#checkly-notifications",
|
413
|
+
"url": "https://hooks.slack.com/services/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",
|
414
|
+
})
|
415
|
+
# An Opsgenie alert channel
|
416
|
+
opsgenie_ac = checkly.AlertChannel("opsgenie_ac", opsgenie={
|
417
|
+
"name": "opsalerts",
|
418
|
+
"api_key": "fookey",
|
419
|
+
"region": "fooregion",
|
420
|
+
"priority": "foopriority",
|
421
|
+
})
|
422
|
+
# A Pagerduty alert channel
|
423
|
+
pagerduty_ac = checkly.AlertChannel("pagerduty_ac", pagerduty={
|
424
|
+
"account": "checkly",
|
425
|
+
"service_key": "key1",
|
426
|
+
"service_name": "pdalert",
|
427
|
+
})
|
428
|
+
# A Webhook alert channel
|
429
|
+
webhook_ac = checkly.AlertChannel("webhook_ac", webhook={
|
430
|
+
"name": "foo",
|
431
|
+
"method": "get",
|
432
|
+
"template": "footemplate",
|
433
|
+
"url": "https://example.com/foo",
|
434
|
+
"webhook_secret": "foosecret",
|
435
|
+
})
|
436
|
+
# A Firehydran alert channel integration
|
437
|
+
firehydrant_ac = checkly.AlertChannel("firehydrant_ac", webhook={
|
438
|
+
"name": "firehydrant",
|
439
|
+
"method": "post",
|
440
|
+
"template": \"\"\"{
|
441
|
+
"event": "{{ALERT_TITLE}}",
|
442
|
+
"link": "{{RESULT_LINK}}",
|
443
|
+
"check_id": "{{CHECK_ID}}",
|
444
|
+
"check_type": "{{CHECK_TYPE}}",
|
445
|
+
"alert_type": "{{ALERT_TYPE}}",
|
446
|
+
"started_at": "{{STARTED_AT}}",
|
447
|
+
"check_result_id": "{{CHECK_RESULT_ID}}"
|
448
|
+
},
|
449
|
+
\"\"\",
|
450
|
+
"url": "https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly",
|
451
|
+
"webhook_type": "WEBHOOK_FIREHYDRANT",
|
452
|
+
})
|
453
|
+
# Connecting the alert channel to a check
|
454
|
+
example_check = checkly.Check("example_check",
|
455
|
+
name="Example check",
|
456
|
+
alert_channel_subscriptions=[
|
457
|
+
{
|
458
|
+
"channel_id": email_ac.id,
|
459
|
+
"activated": True,
|
460
|
+
},
|
461
|
+
{
|
462
|
+
"channel_id": sms_ac.id,
|
463
|
+
"activated": True,
|
464
|
+
},
|
465
|
+
])
|
466
|
+
```
|
467
|
+
|
468
|
+
:param str resource_name: The name of the resource.
|
469
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
470
|
+
:param pulumi.Input[bool] send_degraded: (Default `false`)
|
471
|
+
:param pulumi.Input[bool] send_failure: (Default `true`)
|
472
|
+
:param pulumi.Input[bool] send_recovery: (Default `true`)
|
473
|
+
:param pulumi.Input[bool] ssl_expiry: (Default `false`)
|
474
|
+
:param pulumi.Input[int] ssl_expiry_threshold: Value must be between 1 and 30 (Default `30`)
|
475
|
+
"""
|
476
|
+
...
|
477
|
+
@overload
|
478
|
+
def __init__(__self__,
|
479
|
+
resource_name: str,
|
480
|
+
args: Optional[AlertChannelArgs] = None,
|
481
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
482
|
+
"""
|
483
|
+
Allows you to define alerting channels for the checks and groups in your account
|
484
|
+
|
485
|
+
## Example Usage
|
486
|
+
|
487
|
+
```python
|
488
|
+
import pulumi
|
489
|
+
import pulumi_checkly as checkly
|
490
|
+
|
491
|
+
# An Email alert channel
|
492
|
+
email_ac = checkly.AlertChannel("email_ac",
|
493
|
+
email={
|
494
|
+
"address": "john@example.com",
|
495
|
+
},
|
496
|
+
send_recovery=True,
|
497
|
+
send_failure=False,
|
498
|
+
send_degraded=True,
|
499
|
+
ssl_expiry=True,
|
500
|
+
ssl_expiry_threshold=22)
|
501
|
+
# A SMS alert channel
|
502
|
+
sms_ac = checkly.AlertChannel("sms_ac",
|
503
|
+
sms={
|
504
|
+
"name": "john",
|
505
|
+
"number": "+5491100001111",
|
506
|
+
},
|
507
|
+
send_recovery=True,
|
508
|
+
send_failure=True)
|
509
|
+
# A Slack alert channel
|
510
|
+
slack_ac = checkly.AlertChannel("slack_ac", slack={
|
511
|
+
"channel": "#checkly-notifications",
|
512
|
+
"url": "https://hooks.slack.com/services/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",
|
513
|
+
})
|
514
|
+
# An Opsgenie alert channel
|
515
|
+
opsgenie_ac = checkly.AlertChannel("opsgenie_ac", opsgenie={
|
516
|
+
"name": "opsalerts",
|
517
|
+
"api_key": "fookey",
|
518
|
+
"region": "fooregion",
|
519
|
+
"priority": "foopriority",
|
520
|
+
})
|
521
|
+
# A Pagerduty alert channel
|
522
|
+
pagerduty_ac = checkly.AlertChannel("pagerduty_ac", pagerduty={
|
523
|
+
"account": "checkly",
|
524
|
+
"service_key": "key1",
|
525
|
+
"service_name": "pdalert",
|
526
|
+
})
|
527
|
+
# A Webhook alert channel
|
528
|
+
webhook_ac = checkly.AlertChannel("webhook_ac", webhook={
|
529
|
+
"name": "foo",
|
530
|
+
"method": "get",
|
531
|
+
"template": "footemplate",
|
532
|
+
"url": "https://example.com/foo",
|
533
|
+
"webhook_secret": "foosecret",
|
534
|
+
})
|
535
|
+
# A Firehydran alert channel integration
|
536
|
+
firehydrant_ac = checkly.AlertChannel("firehydrant_ac", webhook={
|
537
|
+
"name": "firehydrant",
|
538
|
+
"method": "post",
|
539
|
+
"template": \"\"\"{
|
540
|
+
"event": "{{ALERT_TITLE}}",
|
541
|
+
"link": "{{RESULT_LINK}}",
|
542
|
+
"check_id": "{{CHECK_ID}}",
|
543
|
+
"check_type": "{{CHECK_TYPE}}",
|
544
|
+
"alert_type": "{{ALERT_TYPE}}",
|
545
|
+
"started_at": "{{STARTED_AT}}",
|
546
|
+
"check_result_id": "{{CHECK_RESULT_ID}}"
|
547
|
+
},
|
548
|
+
\"\"\",
|
549
|
+
"url": "https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly",
|
550
|
+
"webhook_type": "WEBHOOK_FIREHYDRANT",
|
551
|
+
})
|
552
|
+
# Connecting the alert channel to a check
|
553
|
+
example_check = checkly.Check("example_check",
|
554
|
+
name="Example check",
|
555
|
+
alert_channel_subscriptions=[
|
556
|
+
{
|
557
|
+
"channel_id": email_ac.id,
|
558
|
+
"activated": True,
|
559
|
+
},
|
560
|
+
{
|
561
|
+
"channel_id": sms_ac.id,
|
562
|
+
"activated": True,
|
563
|
+
},
|
564
|
+
])
|
565
|
+
```
|
566
|
+
|
567
|
+
:param str resource_name: The name of the resource.
|
568
|
+
:param AlertChannelArgs args: The arguments to use to populate this resource's properties.
|
569
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
570
|
+
"""
|
571
|
+
...
|
572
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
573
|
+
resource_args, opts = _utilities.get_resource_args_opts(AlertChannelArgs, pulumi.ResourceOptions, *args, **kwargs)
|
574
|
+
if resource_args is not None:
|
575
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
576
|
+
else:
|
577
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
578
|
+
|
579
|
+
def _internal_init(__self__,
|
580
|
+
resource_name: str,
|
581
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
582
|
+
call: Optional[pulumi.Input[Union['AlertChannelCallArgs', 'AlertChannelCallArgsDict']]] = None,
|
583
|
+
email: Optional[pulumi.Input[Union['AlertChannelEmailArgs', 'AlertChannelEmailArgsDict']]] = None,
|
584
|
+
opsgenie: Optional[pulumi.Input[Union['AlertChannelOpsgenieArgs', 'AlertChannelOpsgenieArgsDict']]] = None,
|
585
|
+
pagerduty: Optional[pulumi.Input[Union['AlertChannelPagerdutyArgs', 'AlertChannelPagerdutyArgsDict']]] = None,
|
586
|
+
send_degraded: Optional[pulumi.Input[bool]] = None,
|
587
|
+
send_failure: Optional[pulumi.Input[bool]] = None,
|
588
|
+
send_recovery: Optional[pulumi.Input[bool]] = None,
|
589
|
+
slack: Optional[pulumi.Input[Union['AlertChannelSlackArgs', 'AlertChannelSlackArgsDict']]] = None,
|
590
|
+
sms: Optional[pulumi.Input[Union['AlertChannelSmsArgs', 'AlertChannelSmsArgsDict']]] = None,
|
591
|
+
ssl_expiry: Optional[pulumi.Input[bool]] = None,
|
592
|
+
ssl_expiry_threshold: Optional[pulumi.Input[int]] = None,
|
593
|
+
webhook: Optional[pulumi.Input[Union['AlertChannelWebhookArgs', 'AlertChannelWebhookArgsDict']]] = None,
|
594
|
+
__props__=None):
|
595
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
596
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
597
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
598
|
+
if opts.id is None:
|
599
|
+
if __props__ is not None:
|
600
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
601
|
+
__props__ = AlertChannelArgs.__new__(AlertChannelArgs)
|
602
|
+
|
603
|
+
__props__.__dict__["call"] = call
|
604
|
+
__props__.__dict__["email"] = email
|
605
|
+
__props__.__dict__["opsgenie"] = opsgenie
|
606
|
+
__props__.__dict__["pagerduty"] = pagerduty
|
607
|
+
__props__.__dict__["send_degraded"] = send_degraded
|
608
|
+
__props__.__dict__["send_failure"] = send_failure
|
609
|
+
__props__.__dict__["send_recovery"] = send_recovery
|
610
|
+
__props__.__dict__["slack"] = slack
|
611
|
+
__props__.__dict__["sms"] = sms
|
612
|
+
__props__.__dict__["ssl_expiry"] = ssl_expiry
|
613
|
+
__props__.__dict__["ssl_expiry_threshold"] = ssl_expiry_threshold
|
614
|
+
__props__.__dict__["webhook"] = webhook
|
615
|
+
super(AlertChannel, __self__).__init__(
|
616
|
+
'checkly:index/alertChannel:AlertChannel',
|
617
|
+
resource_name,
|
618
|
+
__props__,
|
619
|
+
opts)
|
620
|
+
|
621
|
+
@staticmethod
|
622
|
+
def get(resource_name: str,
|
623
|
+
id: pulumi.Input[str],
|
624
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
625
|
+
call: Optional[pulumi.Input[Union['AlertChannelCallArgs', 'AlertChannelCallArgsDict']]] = None,
|
626
|
+
email: Optional[pulumi.Input[Union['AlertChannelEmailArgs', 'AlertChannelEmailArgsDict']]] = None,
|
627
|
+
opsgenie: Optional[pulumi.Input[Union['AlertChannelOpsgenieArgs', 'AlertChannelOpsgenieArgsDict']]] = None,
|
628
|
+
pagerduty: Optional[pulumi.Input[Union['AlertChannelPagerdutyArgs', 'AlertChannelPagerdutyArgsDict']]] = None,
|
629
|
+
send_degraded: Optional[pulumi.Input[bool]] = None,
|
630
|
+
send_failure: Optional[pulumi.Input[bool]] = None,
|
631
|
+
send_recovery: Optional[pulumi.Input[bool]] = None,
|
632
|
+
slack: Optional[pulumi.Input[Union['AlertChannelSlackArgs', 'AlertChannelSlackArgsDict']]] = None,
|
633
|
+
sms: Optional[pulumi.Input[Union['AlertChannelSmsArgs', 'AlertChannelSmsArgsDict']]] = None,
|
634
|
+
ssl_expiry: Optional[pulumi.Input[bool]] = None,
|
635
|
+
ssl_expiry_threshold: Optional[pulumi.Input[int]] = None,
|
636
|
+
webhook: Optional[pulumi.Input[Union['AlertChannelWebhookArgs', 'AlertChannelWebhookArgsDict']]] = None) -> 'AlertChannel':
|
637
|
+
"""
|
638
|
+
Get an existing AlertChannel resource's state with the given name, id, and optional extra
|
639
|
+
properties used to qualify the lookup.
|
640
|
+
|
641
|
+
:param str resource_name: The unique name of the resulting resource.
|
642
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
643
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
644
|
+
:param pulumi.Input[bool] send_degraded: (Default `false`)
|
645
|
+
:param pulumi.Input[bool] send_failure: (Default `true`)
|
646
|
+
:param pulumi.Input[bool] send_recovery: (Default `true`)
|
647
|
+
:param pulumi.Input[bool] ssl_expiry: (Default `false`)
|
648
|
+
:param pulumi.Input[int] ssl_expiry_threshold: Value must be between 1 and 30 (Default `30`)
|
649
|
+
"""
|
650
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
651
|
+
|
652
|
+
__props__ = _AlertChannelState.__new__(_AlertChannelState)
|
653
|
+
|
654
|
+
__props__.__dict__["call"] = call
|
655
|
+
__props__.__dict__["email"] = email
|
656
|
+
__props__.__dict__["opsgenie"] = opsgenie
|
657
|
+
__props__.__dict__["pagerduty"] = pagerduty
|
658
|
+
__props__.__dict__["send_degraded"] = send_degraded
|
659
|
+
__props__.__dict__["send_failure"] = send_failure
|
660
|
+
__props__.__dict__["send_recovery"] = send_recovery
|
661
|
+
__props__.__dict__["slack"] = slack
|
662
|
+
__props__.__dict__["sms"] = sms
|
663
|
+
__props__.__dict__["ssl_expiry"] = ssl_expiry
|
664
|
+
__props__.__dict__["ssl_expiry_threshold"] = ssl_expiry_threshold
|
665
|
+
__props__.__dict__["webhook"] = webhook
|
666
|
+
return AlertChannel(resource_name, opts=opts, __props__=__props__)
|
667
|
+
|
668
|
+
@property
|
669
|
+
@pulumi.getter
|
670
|
+
def call(self) -> pulumi.Output[Optional['outputs.AlertChannelCall']]:
|
671
|
+
return pulumi.get(self, "call")
|
672
|
+
|
673
|
+
@property
|
674
|
+
@pulumi.getter
|
675
|
+
def email(self) -> pulumi.Output[Optional['outputs.AlertChannelEmail']]:
|
676
|
+
return pulumi.get(self, "email")
|
677
|
+
|
678
|
+
@property
|
679
|
+
@pulumi.getter
|
680
|
+
def opsgenie(self) -> pulumi.Output[Optional['outputs.AlertChannelOpsgenie']]:
|
681
|
+
return pulumi.get(self, "opsgenie")
|
682
|
+
|
683
|
+
@property
|
684
|
+
@pulumi.getter
|
685
|
+
def pagerduty(self) -> pulumi.Output[Optional['outputs.AlertChannelPagerduty']]:
|
686
|
+
return pulumi.get(self, "pagerduty")
|
687
|
+
|
688
|
+
@property
|
689
|
+
@pulumi.getter(name="sendDegraded")
|
690
|
+
def send_degraded(self) -> pulumi.Output[Optional[bool]]:
|
691
|
+
"""
|
692
|
+
(Default `false`)
|
693
|
+
"""
|
694
|
+
return pulumi.get(self, "send_degraded")
|
695
|
+
|
696
|
+
@property
|
697
|
+
@pulumi.getter(name="sendFailure")
|
698
|
+
def send_failure(self) -> pulumi.Output[Optional[bool]]:
|
699
|
+
"""
|
700
|
+
(Default `true`)
|
701
|
+
"""
|
702
|
+
return pulumi.get(self, "send_failure")
|
703
|
+
|
704
|
+
@property
|
705
|
+
@pulumi.getter(name="sendRecovery")
|
706
|
+
def send_recovery(self) -> pulumi.Output[Optional[bool]]:
|
707
|
+
"""
|
708
|
+
(Default `true`)
|
709
|
+
"""
|
710
|
+
return pulumi.get(self, "send_recovery")
|
711
|
+
|
712
|
+
@property
|
713
|
+
@pulumi.getter
|
714
|
+
def slack(self) -> pulumi.Output[Optional['outputs.AlertChannelSlack']]:
|
715
|
+
return pulumi.get(self, "slack")
|
716
|
+
|
717
|
+
@property
|
718
|
+
@pulumi.getter
|
719
|
+
def sms(self) -> pulumi.Output[Optional['outputs.AlertChannelSms']]:
|
720
|
+
return pulumi.get(self, "sms")
|
721
|
+
|
722
|
+
@property
|
723
|
+
@pulumi.getter(name="sslExpiry")
|
724
|
+
def ssl_expiry(self) -> pulumi.Output[Optional[bool]]:
|
725
|
+
"""
|
726
|
+
(Default `false`)
|
727
|
+
"""
|
728
|
+
return pulumi.get(self, "ssl_expiry")
|
729
|
+
|
730
|
+
@property
|
731
|
+
@pulumi.getter(name="sslExpiryThreshold")
|
732
|
+
def ssl_expiry_threshold(self) -> pulumi.Output[Optional[int]]:
|
733
|
+
"""
|
734
|
+
Value must be between 1 and 30 (Default `30`)
|
735
|
+
"""
|
736
|
+
return pulumi.get(self, "ssl_expiry_threshold")
|
737
|
+
|
738
|
+
@property
|
739
|
+
@pulumi.getter
|
740
|
+
def webhook(self) -> pulumi.Output[Optional['outputs.AlertChannelWebhook']]:
|
741
|
+
return pulumi.get(self, "webhook")
|
742
|
+
|