pulumi-checkly 2.3.0a1750944663__py3-none-any.whl → 2.4.0__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.
@@ -0,0 +1,1218 @@
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__ = ['TcpMonitorArgs', 'TcpMonitor']
20
+
21
+ @pulumi.input_type
22
+ class TcpMonitorArgs:
23
+ def __init__(__self__, *,
24
+ activated: pulumi.Input[bool],
25
+ frequency: pulumi.Input[int],
26
+ request: pulumi.Input['TcpMonitorRequestArgs'],
27
+ alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]] = None,
28
+ alert_settings: Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']] = None,
29
+ degraded_response_time: Optional[pulumi.Input[int]] = None,
30
+ frequency_offset: Optional[pulumi.Input[int]] = None,
31
+ group_id: Optional[pulumi.Input[int]] = None,
32
+ group_order: Optional[pulumi.Input[int]] = None,
33
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
+ max_response_time: Optional[pulumi.Input[int]] = None,
35
+ muted: Optional[pulumi.Input[bool]] = None,
36
+ name: Optional[pulumi.Input[str]] = None,
37
+ private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
38
+ retry_strategy: Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']] = None,
39
+ run_parallel: Optional[pulumi.Input[bool]] = None,
40
+ runtime_id: Optional[pulumi.Input[str]] = None,
41
+ should_fail: Optional[pulumi.Input[bool]] = None,
42
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
43
+ trigger_incident: Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']] = None,
44
+ use_global_alert_settings: Optional[pulumi.Input[bool]] = None):
45
+ """
46
+ The set of arguments for constructing a TcpMonitor resource.
47
+ :param pulumi.Input[bool] activated: Determines if the check is running or not. Possible values `true`, and `false`.
48
+ :param pulumi.Input[int] frequency: The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
49
+ :param pulumi.Input['TcpMonitorRequestArgs'] request: The parameters for the TCP connection.
50
+ :param pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]] alert_channel_subscriptions: An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
51
+ :param pulumi.Input[int] degraded_response_time: The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
52
+ :param pulumi.Input[int] frequency_offset: To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
53
+ :param pulumi.Input[int] group_id: The id of the check group this check is part of.
54
+ :param pulumi.Input[int] group_order: The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
55
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
56
+ :param pulumi.Input[int] max_response_time: The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
57
+ :param pulumi.Input[bool] muted: Determines if any notifications will be sent out when a check fails/degrades/recovers.
58
+ :param pulumi.Input[str] name: The name of the check.
59
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs.
60
+ :param pulumi.Input['TcpMonitorRetryStrategyArgs'] retry_strategy: A strategy for retrying failed check runs.
61
+ :param pulumi.Input[bool] run_parallel: Determines if the check should run in all selected locations in parallel or round-robin.
62
+ :param pulumi.Input[str] runtime_id: The ID of the runtime to use for this check.
63
+ :param pulumi.Input[bool] should_fail: Allows to invert the behaviour of when a check is considered to fail.
64
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags for organizing and filtering checks.
65
+ :param pulumi.Input['TcpMonitorTriggerIncidentArgs'] trigger_incident: Create and resolve an incident based on the alert configuration. Useful for status page automation.
66
+ :param pulumi.Input[bool] use_global_alert_settings: When true, the account level alert settings will be used, not the alert setting defined on this check.
67
+ """
68
+ pulumi.set(__self__, "activated", activated)
69
+ pulumi.set(__self__, "frequency", frequency)
70
+ pulumi.set(__self__, "request", request)
71
+ if alert_channel_subscriptions is not None:
72
+ pulumi.set(__self__, "alert_channel_subscriptions", alert_channel_subscriptions)
73
+ if alert_settings is not None:
74
+ pulumi.set(__self__, "alert_settings", alert_settings)
75
+ if degraded_response_time is not None:
76
+ pulumi.set(__self__, "degraded_response_time", degraded_response_time)
77
+ if frequency_offset is not None:
78
+ pulumi.set(__self__, "frequency_offset", frequency_offset)
79
+ if group_id is not None:
80
+ pulumi.set(__self__, "group_id", group_id)
81
+ if group_order is not None:
82
+ pulumi.set(__self__, "group_order", group_order)
83
+ if locations is not None:
84
+ pulumi.set(__self__, "locations", locations)
85
+ if max_response_time is not None:
86
+ pulumi.set(__self__, "max_response_time", max_response_time)
87
+ if muted is not None:
88
+ pulumi.set(__self__, "muted", muted)
89
+ if name is not None:
90
+ pulumi.set(__self__, "name", name)
91
+ if private_locations is not None:
92
+ pulumi.set(__self__, "private_locations", private_locations)
93
+ if retry_strategy is not None:
94
+ pulumi.set(__self__, "retry_strategy", retry_strategy)
95
+ if run_parallel is not None:
96
+ pulumi.set(__self__, "run_parallel", run_parallel)
97
+ if runtime_id is not None:
98
+ pulumi.set(__self__, "runtime_id", runtime_id)
99
+ if should_fail is not None:
100
+ pulumi.set(__self__, "should_fail", should_fail)
101
+ if tags is not None:
102
+ pulumi.set(__self__, "tags", tags)
103
+ if trigger_incident is not None:
104
+ pulumi.set(__self__, "trigger_incident", trigger_incident)
105
+ if use_global_alert_settings is not None:
106
+ pulumi.set(__self__, "use_global_alert_settings", use_global_alert_settings)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def activated(self) -> pulumi.Input[bool]:
111
+ """
112
+ Determines if the check is running or not. Possible values `true`, and `false`.
113
+ """
114
+ return pulumi.get(self, "activated")
115
+
116
+ @activated.setter
117
+ def activated(self, value: pulumi.Input[bool]):
118
+ pulumi.set(self, "activated", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def frequency(self) -> pulumi.Input[int]:
123
+ """
124
+ The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
125
+ """
126
+ return pulumi.get(self, "frequency")
127
+
128
+ @frequency.setter
129
+ def frequency(self, value: pulumi.Input[int]):
130
+ pulumi.set(self, "frequency", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def request(self) -> pulumi.Input['TcpMonitorRequestArgs']:
135
+ """
136
+ The parameters for the TCP connection.
137
+ """
138
+ return pulumi.get(self, "request")
139
+
140
+ @request.setter
141
+ def request(self, value: pulumi.Input['TcpMonitorRequestArgs']):
142
+ pulumi.set(self, "request", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="alertChannelSubscriptions")
146
+ def alert_channel_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]]:
147
+ """
148
+ An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
149
+ """
150
+ return pulumi.get(self, "alert_channel_subscriptions")
151
+
152
+ @alert_channel_subscriptions.setter
153
+ def alert_channel_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]]):
154
+ pulumi.set(self, "alert_channel_subscriptions", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="alertSettings")
158
+ def alert_settings(self) -> Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']]:
159
+ return pulumi.get(self, "alert_settings")
160
+
161
+ @alert_settings.setter
162
+ def alert_settings(self, value: Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']]):
163
+ pulumi.set(self, "alert_settings", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="degradedResponseTime")
167
+ def degraded_response_time(self) -> Optional[pulumi.Input[int]]:
168
+ """
169
+ The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
170
+ """
171
+ return pulumi.get(self, "degraded_response_time")
172
+
173
+ @degraded_response_time.setter
174
+ def degraded_response_time(self, value: Optional[pulumi.Input[int]]):
175
+ pulumi.set(self, "degraded_response_time", value)
176
+
177
+ @property
178
+ @pulumi.getter(name="frequencyOffset")
179
+ def frequency_offset(self) -> Optional[pulumi.Input[int]]:
180
+ """
181
+ To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
182
+ """
183
+ return pulumi.get(self, "frequency_offset")
184
+
185
+ @frequency_offset.setter
186
+ def frequency_offset(self, value: Optional[pulumi.Input[int]]):
187
+ pulumi.set(self, "frequency_offset", value)
188
+
189
+ @property
190
+ @pulumi.getter(name="groupId")
191
+ def group_id(self) -> Optional[pulumi.Input[int]]:
192
+ """
193
+ The id of the check group this check is part of.
194
+ """
195
+ return pulumi.get(self, "group_id")
196
+
197
+ @group_id.setter
198
+ def group_id(self, value: Optional[pulumi.Input[int]]):
199
+ pulumi.set(self, "group_id", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="groupOrder")
203
+ def group_order(self) -> Optional[pulumi.Input[int]]:
204
+ """
205
+ The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
206
+ """
207
+ return pulumi.get(self, "group_order")
208
+
209
+ @group_order.setter
210
+ def group_order(self, value: Optional[pulumi.Input[int]]):
211
+ pulumi.set(self, "group_order", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
216
+ """
217
+ An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
218
+ """
219
+ return pulumi.get(self, "locations")
220
+
221
+ @locations.setter
222
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
223
+ pulumi.set(self, "locations", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="maxResponseTime")
227
+ def max_response_time(self) -> Optional[pulumi.Input[int]]:
228
+ """
229
+ The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
230
+ """
231
+ return pulumi.get(self, "max_response_time")
232
+
233
+ @max_response_time.setter
234
+ def max_response_time(self, value: Optional[pulumi.Input[int]]):
235
+ pulumi.set(self, "max_response_time", value)
236
+
237
+ @property
238
+ @pulumi.getter
239
+ def muted(self) -> Optional[pulumi.Input[bool]]:
240
+ """
241
+ Determines if any notifications will be sent out when a check fails/degrades/recovers.
242
+ """
243
+ return pulumi.get(self, "muted")
244
+
245
+ @muted.setter
246
+ def muted(self, value: Optional[pulumi.Input[bool]]):
247
+ pulumi.set(self, "muted", value)
248
+
249
+ @property
250
+ @pulumi.getter
251
+ def name(self) -> Optional[pulumi.Input[str]]:
252
+ """
253
+ The name of the check.
254
+ """
255
+ return pulumi.get(self, "name")
256
+
257
+ @name.setter
258
+ def name(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "name", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="privateLocations")
263
+ def private_locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
264
+ """
265
+ An array of one or more private locations slugs.
266
+ """
267
+ return pulumi.get(self, "private_locations")
268
+
269
+ @private_locations.setter
270
+ def private_locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
271
+ pulumi.set(self, "private_locations", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="retryStrategy")
275
+ def retry_strategy(self) -> Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']]:
276
+ """
277
+ A strategy for retrying failed check runs.
278
+ """
279
+ return pulumi.get(self, "retry_strategy")
280
+
281
+ @retry_strategy.setter
282
+ def retry_strategy(self, value: Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']]):
283
+ pulumi.set(self, "retry_strategy", value)
284
+
285
+ @property
286
+ @pulumi.getter(name="runParallel")
287
+ def run_parallel(self) -> Optional[pulumi.Input[bool]]:
288
+ """
289
+ Determines if the check should run in all selected locations in parallel or round-robin.
290
+ """
291
+ return pulumi.get(self, "run_parallel")
292
+
293
+ @run_parallel.setter
294
+ def run_parallel(self, value: Optional[pulumi.Input[bool]]):
295
+ pulumi.set(self, "run_parallel", value)
296
+
297
+ @property
298
+ @pulumi.getter(name="runtimeId")
299
+ def runtime_id(self) -> Optional[pulumi.Input[str]]:
300
+ """
301
+ The ID of the runtime to use for this check.
302
+ """
303
+ return pulumi.get(self, "runtime_id")
304
+
305
+ @runtime_id.setter
306
+ def runtime_id(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "runtime_id", value)
308
+
309
+ @property
310
+ @pulumi.getter(name="shouldFail")
311
+ def should_fail(self) -> Optional[pulumi.Input[bool]]:
312
+ """
313
+ Allows to invert the behaviour of when a check is considered to fail.
314
+ """
315
+ return pulumi.get(self, "should_fail")
316
+
317
+ @should_fail.setter
318
+ def should_fail(self, value: Optional[pulumi.Input[bool]]):
319
+ pulumi.set(self, "should_fail", value)
320
+
321
+ @property
322
+ @pulumi.getter
323
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
324
+ """
325
+ A list of tags for organizing and filtering checks.
326
+ """
327
+ return pulumi.get(self, "tags")
328
+
329
+ @tags.setter
330
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
331
+ pulumi.set(self, "tags", value)
332
+
333
+ @property
334
+ @pulumi.getter(name="triggerIncident")
335
+ def trigger_incident(self) -> Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']]:
336
+ """
337
+ Create and resolve an incident based on the alert configuration. Useful for status page automation.
338
+ """
339
+ return pulumi.get(self, "trigger_incident")
340
+
341
+ @trigger_incident.setter
342
+ def trigger_incident(self, value: Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']]):
343
+ pulumi.set(self, "trigger_incident", value)
344
+
345
+ @property
346
+ @pulumi.getter(name="useGlobalAlertSettings")
347
+ def use_global_alert_settings(self) -> Optional[pulumi.Input[bool]]:
348
+ """
349
+ When true, the account level alert settings will be used, not the alert setting defined on this check.
350
+ """
351
+ return pulumi.get(self, "use_global_alert_settings")
352
+
353
+ @use_global_alert_settings.setter
354
+ def use_global_alert_settings(self, value: Optional[pulumi.Input[bool]]):
355
+ pulumi.set(self, "use_global_alert_settings", value)
356
+
357
+
358
+ @pulumi.input_type
359
+ class _TcpMonitorState:
360
+ def __init__(__self__, *,
361
+ activated: Optional[pulumi.Input[bool]] = None,
362
+ alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]] = None,
363
+ alert_settings: Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']] = None,
364
+ degraded_response_time: Optional[pulumi.Input[int]] = None,
365
+ frequency: Optional[pulumi.Input[int]] = None,
366
+ frequency_offset: Optional[pulumi.Input[int]] = None,
367
+ group_id: Optional[pulumi.Input[int]] = None,
368
+ group_order: Optional[pulumi.Input[int]] = None,
369
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
370
+ max_response_time: Optional[pulumi.Input[int]] = None,
371
+ muted: Optional[pulumi.Input[bool]] = None,
372
+ name: Optional[pulumi.Input[str]] = None,
373
+ private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
374
+ request: Optional[pulumi.Input['TcpMonitorRequestArgs']] = None,
375
+ retry_strategy: Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']] = None,
376
+ run_parallel: Optional[pulumi.Input[bool]] = None,
377
+ runtime_id: Optional[pulumi.Input[str]] = None,
378
+ should_fail: Optional[pulumi.Input[bool]] = None,
379
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
380
+ trigger_incident: Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']] = None,
381
+ use_global_alert_settings: Optional[pulumi.Input[bool]] = None):
382
+ """
383
+ Input properties used for looking up and filtering TcpMonitor resources.
384
+ :param pulumi.Input[bool] activated: Determines if the check is running or not. Possible values `true`, and `false`.
385
+ :param pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]] alert_channel_subscriptions: An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
386
+ :param pulumi.Input[int] degraded_response_time: The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
387
+ :param pulumi.Input[int] frequency: The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
388
+ :param pulumi.Input[int] frequency_offset: To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
389
+ :param pulumi.Input[int] group_id: The id of the check group this check is part of.
390
+ :param pulumi.Input[int] group_order: The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
391
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
392
+ :param pulumi.Input[int] max_response_time: The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
393
+ :param pulumi.Input[bool] muted: Determines if any notifications will be sent out when a check fails/degrades/recovers.
394
+ :param pulumi.Input[str] name: The name of the check.
395
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs.
396
+ :param pulumi.Input['TcpMonitorRequestArgs'] request: The parameters for the TCP connection.
397
+ :param pulumi.Input['TcpMonitorRetryStrategyArgs'] retry_strategy: A strategy for retrying failed check runs.
398
+ :param pulumi.Input[bool] run_parallel: Determines if the check should run in all selected locations in parallel or round-robin.
399
+ :param pulumi.Input[str] runtime_id: The ID of the runtime to use for this check.
400
+ :param pulumi.Input[bool] should_fail: Allows to invert the behaviour of when a check is considered to fail.
401
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags for organizing and filtering checks.
402
+ :param pulumi.Input['TcpMonitorTriggerIncidentArgs'] trigger_incident: Create and resolve an incident based on the alert configuration. Useful for status page automation.
403
+ :param pulumi.Input[bool] use_global_alert_settings: When true, the account level alert settings will be used, not the alert setting defined on this check.
404
+ """
405
+ if activated is not None:
406
+ pulumi.set(__self__, "activated", activated)
407
+ if alert_channel_subscriptions is not None:
408
+ pulumi.set(__self__, "alert_channel_subscriptions", alert_channel_subscriptions)
409
+ if alert_settings is not None:
410
+ pulumi.set(__self__, "alert_settings", alert_settings)
411
+ if degraded_response_time is not None:
412
+ pulumi.set(__self__, "degraded_response_time", degraded_response_time)
413
+ if frequency is not None:
414
+ pulumi.set(__self__, "frequency", frequency)
415
+ if frequency_offset is not None:
416
+ pulumi.set(__self__, "frequency_offset", frequency_offset)
417
+ if group_id is not None:
418
+ pulumi.set(__self__, "group_id", group_id)
419
+ if group_order is not None:
420
+ pulumi.set(__self__, "group_order", group_order)
421
+ if locations is not None:
422
+ pulumi.set(__self__, "locations", locations)
423
+ if max_response_time is not None:
424
+ pulumi.set(__self__, "max_response_time", max_response_time)
425
+ if muted is not None:
426
+ pulumi.set(__self__, "muted", muted)
427
+ if name is not None:
428
+ pulumi.set(__self__, "name", name)
429
+ if private_locations is not None:
430
+ pulumi.set(__self__, "private_locations", private_locations)
431
+ if request is not None:
432
+ pulumi.set(__self__, "request", request)
433
+ if retry_strategy is not None:
434
+ pulumi.set(__self__, "retry_strategy", retry_strategy)
435
+ if run_parallel is not None:
436
+ pulumi.set(__self__, "run_parallel", run_parallel)
437
+ if runtime_id is not None:
438
+ pulumi.set(__self__, "runtime_id", runtime_id)
439
+ if should_fail is not None:
440
+ pulumi.set(__self__, "should_fail", should_fail)
441
+ if tags is not None:
442
+ pulumi.set(__self__, "tags", tags)
443
+ if trigger_incident is not None:
444
+ pulumi.set(__self__, "trigger_incident", trigger_incident)
445
+ if use_global_alert_settings is not None:
446
+ pulumi.set(__self__, "use_global_alert_settings", use_global_alert_settings)
447
+
448
+ @property
449
+ @pulumi.getter
450
+ def activated(self) -> Optional[pulumi.Input[bool]]:
451
+ """
452
+ Determines if the check is running or not. Possible values `true`, and `false`.
453
+ """
454
+ return pulumi.get(self, "activated")
455
+
456
+ @activated.setter
457
+ def activated(self, value: Optional[pulumi.Input[bool]]):
458
+ pulumi.set(self, "activated", value)
459
+
460
+ @property
461
+ @pulumi.getter(name="alertChannelSubscriptions")
462
+ def alert_channel_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]]:
463
+ """
464
+ An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
465
+ """
466
+ return pulumi.get(self, "alert_channel_subscriptions")
467
+
468
+ @alert_channel_subscriptions.setter
469
+ def alert_channel_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TcpMonitorAlertChannelSubscriptionArgs']]]]):
470
+ pulumi.set(self, "alert_channel_subscriptions", value)
471
+
472
+ @property
473
+ @pulumi.getter(name="alertSettings")
474
+ def alert_settings(self) -> Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']]:
475
+ return pulumi.get(self, "alert_settings")
476
+
477
+ @alert_settings.setter
478
+ def alert_settings(self, value: Optional[pulumi.Input['TcpMonitorAlertSettingsArgs']]):
479
+ pulumi.set(self, "alert_settings", value)
480
+
481
+ @property
482
+ @pulumi.getter(name="degradedResponseTime")
483
+ def degraded_response_time(self) -> Optional[pulumi.Input[int]]:
484
+ """
485
+ The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
486
+ """
487
+ return pulumi.get(self, "degraded_response_time")
488
+
489
+ @degraded_response_time.setter
490
+ def degraded_response_time(self, value: Optional[pulumi.Input[int]]):
491
+ pulumi.set(self, "degraded_response_time", value)
492
+
493
+ @property
494
+ @pulumi.getter
495
+ def frequency(self) -> Optional[pulumi.Input[int]]:
496
+ """
497
+ The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
498
+ """
499
+ return pulumi.get(self, "frequency")
500
+
501
+ @frequency.setter
502
+ def frequency(self, value: Optional[pulumi.Input[int]]):
503
+ pulumi.set(self, "frequency", value)
504
+
505
+ @property
506
+ @pulumi.getter(name="frequencyOffset")
507
+ def frequency_offset(self) -> Optional[pulumi.Input[int]]:
508
+ """
509
+ To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
510
+ """
511
+ return pulumi.get(self, "frequency_offset")
512
+
513
+ @frequency_offset.setter
514
+ def frequency_offset(self, value: Optional[pulumi.Input[int]]):
515
+ pulumi.set(self, "frequency_offset", value)
516
+
517
+ @property
518
+ @pulumi.getter(name="groupId")
519
+ def group_id(self) -> Optional[pulumi.Input[int]]:
520
+ """
521
+ The id of the check group this check is part of.
522
+ """
523
+ return pulumi.get(self, "group_id")
524
+
525
+ @group_id.setter
526
+ def group_id(self, value: Optional[pulumi.Input[int]]):
527
+ pulumi.set(self, "group_id", value)
528
+
529
+ @property
530
+ @pulumi.getter(name="groupOrder")
531
+ def group_order(self) -> Optional[pulumi.Input[int]]:
532
+ """
533
+ The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
534
+ """
535
+ return pulumi.get(self, "group_order")
536
+
537
+ @group_order.setter
538
+ def group_order(self, value: Optional[pulumi.Input[int]]):
539
+ pulumi.set(self, "group_order", value)
540
+
541
+ @property
542
+ @pulumi.getter
543
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
544
+ """
545
+ An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
546
+ """
547
+ return pulumi.get(self, "locations")
548
+
549
+ @locations.setter
550
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
551
+ pulumi.set(self, "locations", value)
552
+
553
+ @property
554
+ @pulumi.getter(name="maxResponseTime")
555
+ def max_response_time(self) -> Optional[pulumi.Input[int]]:
556
+ """
557
+ The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
558
+ """
559
+ return pulumi.get(self, "max_response_time")
560
+
561
+ @max_response_time.setter
562
+ def max_response_time(self, value: Optional[pulumi.Input[int]]):
563
+ pulumi.set(self, "max_response_time", value)
564
+
565
+ @property
566
+ @pulumi.getter
567
+ def muted(self) -> Optional[pulumi.Input[bool]]:
568
+ """
569
+ Determines if any notifications will be sent out when a check fails/degrades/recovers.
570
+ """
571
+ return pulumi.get(self, "muted")
572
+
573
+ @muted.setter
574
+ def muted(self, value: Optional[pulumi.Input[bool]]):
575
+ pulumi.set(self, "muted", value)
576
+
577
+ @property
578
+ @pulumi.getter
579
+ def name(self) -> Optional[pulumi.Input[str]]:
580
+ """
581
+ The name of the check.
582
+ """
583
+ return pulumi.get(self, "name")
584
+
585
+ @name.setter
586
+ def name(self, value: Optional[pulumi.Input[str]]):
587
+ pulumi.set(self, "name", value)
588
+
589
+ @property
590
+ @pulumi.getter(name="privateLocations")
591
+ def private_locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
592
+ """
593
+ An array of one or more private locations slugs.
594
+ """
595
+ return pulumi.get(self, "private_locations")
596
+
597
+ @private_locations.setter
598
+ def private_locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
599
+ pulumi.set(self, "private_locations", value)
600
+
601
+ @property
602
+ @pulumi.getter
603
+ def request(self) -> Optional[pulumi.Input['TcpMonitorRequestArgs']]:
604
+ """
605
+ The parameters for the TCP connection.
606
+ """
607
+ return pulumi.get(self, "request")
608
+
609
+ @request.setter
610
+ def request(self, value: Optional[pulumi.Input['TcpMonitorRequestArgs']]):
611
+ pulumi.set(self, "request", value)
612
+
613
+ @property
614
+ @pulumi.getter(name="retryStrategy")
615
+ def retry_strategy(self) -> Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']]:
616
+ """
617
+ A strategy for retrying failed check runs.
618
+ """
619
+ return pulumi.get(self, "retry_strategy")
620
+
621
+ @retry_strategy.setter
622
+ def retry_strategy(self, value: Optional[pulumi.Input['TcpMonitorRetryStrategyArgs']]):
623
+ pulumi.set(self, "retry_strategy", value)
624
+
625
+ @property
626
+ @pulumi.getter(name="runParallel")
627
+ def run_parallel(self) -> Optional[pulumi.Input[bool]]:
628
+ """
629
+ Determines if the check should run in all selected locations in parallel or round-robin.
630
+ """
631
+ return pulumi.get(self, "run_parallel")
632
+
633
+ @run_parallel.setter
634
+ def run_parallel(self, value: Optional[pulumi.Input[bool]]):
635
+ pulumi.set(self, "run_parallel", value)
636
+
637
+ @property
638
+ @pulumi.getter(name="runtimeId")
639
+ def runtime_id(self) -> Optional[pulumi.Input[str]]:
640
+ """
641
+ The ID of the runtime to use for this check.
642
+ """
643
+ return pulumi.get(self, "runtime_id")
644
+
645
+ @runtime_id.setter
646
+ def runtime_id(self, value: Optional[pulumi.Input[str]]):
647
+ pulumi.set(self, "runtime_id", value)
648
+
649
+ @property
650
+ @pulumi.getter(name="shouldFail")
651
+ def should_fail(self) -> Optional[pulumi.Input[bool]]:
652
+ """
653
+ Allows to invert the behaviour of when a check is considered to fail.
654
+ """
655
+ return pulumi.get(self, "should_fail")
656
+
657
+ @should_fail.setter
658
+ def should_fail(self, value: Optional[pulumi.Input[bool]]):
659
+ pulumi.set(self, "should_fail", value)
660
+
661
+ @property
662
+ @pulumi.getter
663
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
664
+ """
665
+ A list of tags for organizing and filtering checks.
666
+ """
667
+ return pulumi.get(self, "tags")
668
+
669
+ @tags.setter
670
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
671
+ pulumi.set(self, "tags", value)
672
+
673
+ @property
674
+ @pulumi.getter(name="triggerIncident")
675
+ def trigger_incident(self) -> Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']]:
676
+ """
677
+ Create and resolve an incident based on the alert configuration. Useful for status page automation.
678
+ """
679
+ return pulumi.get(self, "trigger_incident")
680
+
681
+ @trigger_incident.setter
682
+ def trigger_incident(self, value: Optional[pulumi.Input['TcpMonitorTriggerIncidentArgs']]):
683
+ pulumi.set(self, "trigger_incident", value)
684
+
685
+ @property
686
+ @pulumi.getter(name="useGlobalAlertSettings")
687
+ def use_global_alert_settings(self) -> Optional[pulumi.Input[bool]]:
688
+ """
689
+ When true, the account level alert settings will be used, not the alert setting defined on this check.
690
+ """
691
+ return pulumi.get(self, "use_global_alert_settings")
692
+
693
+ @use_global_alert_settings.setter
694
+ def use_global_alert_settings(self, value: Optional[pulumi.Input[bool]]):
695
+ pulumi.set(self, "use_global_alert_settings", value)
696
+
697
+
698
+ class TcpMonitor(pulumi.CustomResource):
699
+ @overload
700
+ def __init__(__self__,
701
+ resource_name: str,
702
+ opts: Optional[pulumi.ResourceOptions] = None,
703
+ activated: Optional[pulumi.Input[bool]] = None,
704
+ alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TcpMonitorAlertChannelSubscriptionArgs', 'TcpMonitorAlertChannelSubscriptionArgsDict']]]]] = None,
705
+ alert_settings: Optional[pulumi.Input[Union['TcpMonitorAlertSettingsArgs', 'TcpMonitorAlertSettingsArgsDict']]] = None,
706
+ degraded_response_time: Optional[pulumi.Input[int]] = None,
707
+ frequency: Optional[pulumi.Input[int]] = None,
708
+ frequency_offset: Optional[pulumi.Input[int]] = None,
709
+ group_id: Optional[pulumi.Input[int]] = None,
710
+ group_order: Optional[pulumi.Input[int]] = None,
711
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
712
+ max_response_time: Optional[pulumi.Input[int]] = None,
713
+ muted: Optional[pulumi.Input[bool]] = None,
714
+ name: Optional[pulumi.Input[str]] = None,
715
+ private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
716
+ request: Optional[pulumi.Input[Union['TcpMonitorRequestArgs', 'TcpMonitorRequestArgsDict']]] = None,
717
+ retry_strategy: Optional[pulumi.Input[Union['TcpMonitorRetryStrategyArgs', 'TcpMonitorRetryStrategyArgsDict']]] = None,
718
+ run_parallel: Optional[pulumi.Input[bool]] = None,
719
+ runtime_id: Optional[pulumi.Input[str]] = None,
720
+ should_fail: Optional[pulumi.Input[bool]] = None,
721
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
722
+ trigger_incident: Optional[pulumi.Input[Union['TcpMonitorTriggerIncidentArgs', 'TcpMonitorTriggerIncidentArgsDict']]] = None,
723
+ use_global_alert_settings: Optional[pulumi.Input[bool]] = None,
724
+ __props__=None):
725
+ """
726
+ TCP checks allow you to monitor remote endpoints at a lower level.
727
+
728
+ ## Example Usage
729
+
730
+ ```python
731
+ import pulumi
732
+ import pulumi_checkly as checkly
733
+
734
+ # Basic TCP monitor
735
+ example_tcp_monitor = checkly.TcpMonitor("example-tcp-monitor",
736
+ name="Example TCP monitor",
737
+ activated=True,
738
+ should_fail=False,
739
+ frequency=1,
740
+ use_global_alert_settings=True,
741
+ locations=["us-west-1"],
742
+ request={
743
+ "hostname": "api.checklyhq.com",
744
+ "port": 80,
745
+ })
746
+ # A more complex example using assertions and setting alerts
747
+ example_tcp_monitor_2 = checkly.TcpMonitor("example-tcp-monitor-2",
748
+ name="Example TCP monitor 2",
749
+ activated=True,
750
+ should_fail=True,
751
+ frequency=1,
752
+ degraded_response_time=5000,
753
+ max_response_time=10000,
754
+ locations=[
755
+ "us-west-1",
756
+ "ap-northeast-1",
757
+ "ap-south-1",
758
+ ],
759
+ alert_settings={
760
+ "escalation_type": "RUN_BASED",
761
+ "run_based_escalations": [{
762
+ "failed_run_threshold": 1,
763
+ }],
764
+ "reminders": [{
765
+ "amount": 1,
766
+ }],
767
+ },
768
+ retry_strategy={
769
+ "type": "FIXED",
770
+ "base_backoff_seconds": 60,
771
+ "max_duration_seconds": 600,
772
+ "max_retries": 3,
773
+ "same_region": False,
774
+ },
775
+ request={
776
+ "hostname": "api.checklyhq.com",
777
+ "port": 80,
778
+ "data": "hello",
779
+ "assertions": [
780
+ {
781
+ "source": "RESPONSE_DATA",
782
+ "property": "",
783
+ "comparison": "CONTAINS",
784
+ "target": "welcome",
785
+ },
786
+ {
787
+ "source": "RESPONSE_TIME",
788
+ "property": "",
789
+ "comparison": "LESS_THAN",
790
+ "target": "2000",
791
+ },
792
+ ],
793
+ })
794
+ ```
795
+
796
+ :param str resource_name: The name of the resource.
797
+ :param pulumi.ResourceOptions opts: Options for the resource.
798
+ :param pulumi.Input[bool] activated: Determines if the check is running or not. Possible values `true`, and `false`.
799
+ :param pulumi.Input[Sequence[pulumi.Input[Union['TcpMonitorAlertChannelSubscriptionArgs', 'TcpMonitorAlertChannelSubscriptionArgsDict']]]] alert_channel_subscriptions: An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
800
+ :param pulumi.Input[int] degraded_response_time: The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
801
+ :param pulumi.Input[int] frequency: The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
802
+ :param pulumi.Input[int] frequency_offset: To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
803
+ :param pulumi.Input[int] group_id: The id of the check group this check is part of.
804
+ :param pulumi.Input[int] group_order: The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
805
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
806
+ :param pulumi.Input[int] max_response_time: The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
807
+ :param pulumi.Input[bool] muted: Determines if any notifications will be sent out when a check fails/degrades/recovers.
808
+ :param pulumi.Input[str] name: The name of the check.
809
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs.
810
+ :param pulumi.Input[Union['TcpMonitorRequestArgs', 'TcpMonitorRequestArgsDict']] request: The parameters for the TCP connection.
811
+ :param pulumi.Input[Union['TcpMonitorRetryStrategyArgs', 'TcpMonitorRetryStrategyArgsDict']] retry_strategy: A strategy for retrying failed check runs.
812
+ :param pulumi.Input[bool] run_parallel: Determines if the check should run in all selected locations in parallel or round-robin.
813
+ :param pulumi.Input[str] runtime_id: The ID of the runtime to use for this check.
814
+ :param pulumi.Input[bool] should_fail: Allows to invert the behaviour of when a check is considered to fail.
815
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags for organizing and filtering checks.
816
+ :param pulumi.Input[Union['TcpMonitorTriggerIncidentArgs', 'TcpMonitorTriggerIncidentArgsDict']] trigger_incident: Create and resolve an incident based on the alert configuration. Useful for status page automation.
817
+ :param pulumi.Input[bool] use_global_alert_settings: When true, the account level alert settings will be used, not the alert setting defined on this check.
818
+ """
819
+ ...
820
+ @overload
821
+ def __init__(__self__,
822
+ resource_name: str,
823
+ args: TcpMonitorArgs,
824
+ opts: Optional[pulumi.ResourceOptions] = None):
825
+ """
826
+ TCP checks allow you to monitor remote endpoints at a lower level.
827
+
828
+ ## Example Usage
829
+
830
+ ```python
831
+ import pulumi
832
+ import pulumi_checkly as checkly
833
+
834
+ # Basic TCP monitor
835
+ example_tcp_monitor = checkly.TcpMonitor("example-tcp-monitor",
836
+ name="Example TCP monitor",
837
+ activated=True,
838
+ should_fail=False,
839
+ frequency=1,
840
+ use_global_alert_settings=True,
841
+ locations=["us-west-1"],
842
+ request={
843
+ "hostname": "api.checklyhq.com",
844
+ "port": 80,
845
+ })
846
+ # A more complex example using assertions and setting alerts
847
+ example_tcp_monitor_2 = checkly.TcpMonitor("example-tcp-monitor-2",
848
+ name="Example TCP monitor 2",
849
+ activated=True,
850
+ should_fail=True,
851
+ frequency=1,
852
+ degraded_response_time=5000,
853
+ max_response_time=10000,
854
+ locations=[
855
+ "us-west-1",
856
+ "ap-northeast-1",
857
+ "ap-south-1",
858
+ ],
859
+ alert_settings={
860
+ "escalation_type": "RUN_BASED",
861
+ "run_based_escalations": [{
862
+ "failed_run_threshold": 1,
863
+ }],
864
+ "reminders": [{
865
+ "amount": 1,
866
+ }],
867
+ },
868
+ retry_strategy={
869
+ "type": "FIXED",
870
+ "base_backoff_seconds": 60,
871
+ "max_duration_seconds": 600,
872
+ "max_retries": 3,
873
+ "same_region": False,
874
+ },
875
+ request={
876
+ "hostname": "api.checklyhq.com",
877
+ "port": 80,
878
+ "data": "hello",
879
+ "assertions": [
880
+ {
881
+ "source": "RESPONSE_DATA",
882
+ "property": "",
883
+ "comparison": "CONTAINS",
884
+ "target": "welcome",
885
+ },
886
+ {
887
+ "source": "RESPONSE_TIME",
888
+ "property": "",
889
+ "comparison": "LESS_THAN",
890
+ "target": "2000",
891
+ },
892
+ ],
893
+ })
894
+ ```
895
+
896
+ :param str resource_name: The name of the resource.
897
+ :param TcpMonitorArgs args: The arguments to use to populate this resource's properties.
898
+ :param pulumi.ResourceOptions opts: Options for the resource.
899
+ """
900
+ ...
901
+ def __init__(__self__, resource_name: str, *args, **kwargs):
902
+ resource_args, opts = _utilities.get_resource_args_opts(TcpMonitorArgs, pulumi.ResourceOptions, *args, **kwargs)
903
+ if resource_args is not None:
904
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
905
+ else:
906
+ __self__._internal_init(resource_name, *args, **kwargs)
907
+
908
+ def _internal_init(__self__,
909
+ resource_name: str,
910
+ opts: Optional[pulumi.ResourceOptions] = None,
911
+ activated: Optional[pulumi.Input[bool]] = None,
912
+ alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TcpMonitorAlertChannelSubscriptionArgs', 'TcpMonitorAlertChannelSubscriptionArgsDict']]]]] = None,
913
+ alert_settings: Optional[pulumi.Input[Union['TcpMonitorAlertSettingsArgs', 'TcpMonitorAlertSettingsArgsDict']]] = None,
914
+ degraded_response_time: Optional[pulumi.Input[int]] = None,
915
+ frequency: Optional[pulumi.Input[int]] = None,
916
+ frequency_offset: Optional[pulumi.Input[int]] = None,
917
+ group_id: Optional[pulumi.Input[int]] = None,
918
+ group_order: Optional[pulumi.Input[int]] = None,
919
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
920
+ max_response_time: Optional[pulumi.Input[int]] = None,
921
+ muted: Optional[pulumi.Input[bool]] = None,
922
+ name: Optional[pulumi.Input[str]] = None,
923
+ private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
924
+ request: Optional[pulumi.Input[Union['TcpMonitorRequestArgs', 'TcpMonitorRequestArgsDict']]] = None,
925
+ retry_strategy: Optional[pulumi.Input[Union['TcpMonitorRetryStrategyArgs', 'TcpMonitorRetryStrategyArgsDict']]] = None,
926
+ run_parallel: Optional[pulumi.Input[bool]] = None,
927
+ runtime_id: Optional[pulumi.Input[str]] = None,
928
+ should_fail: Optional[pulumi.Input[bool]] = None,
929
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
930
+ trigger_incident: Optional[pulumi.Input[Union['TcpMonitorTriggerIncidentArgs', 'TcpMonitorTriggerIncidentArgsDict']]] = None,
931
+ use_global_alert_settings: Optional[pulumi.Input[bool]] = None,
932
+ __props__=None):
933
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
934
+ if not isinstance(opts, pulumi.ResourceOptions):
935
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
936
+ if opts.id is None:
937
+ if __props__ is not None:
938
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
939
+ __props__ = TcpMonitorArgs.__new__(TcpMonitorArgs)
940
+
941
+ if activated is None and not opts.urn:
942
+ raise TypeError("Missing required property 'activated'")
943
+ __props__.__dict__["activated"] = activated
944
+ __props__.__dict__["alert_channel_subscriptions"] = alert_channel_subscriptions
945
+ __props__.__dict__["alert_settings"] = alert_settings
946
+ __props__.__dict__["degraded_response_time"] = degraded_response_time
947
+ if frequency is None and not opts.urn:
948
+ raise TypeError("Missing required property 'frequency'")
949
+ __props__.__dict__["frequency"] = frequency
950
+ __props__.__dict__["frequency_offset"] = frequency_offset
951
+ __props__.__dict__["group_id"] = group_id
952
+ __props__.__dict__["group_order"] = group_order
953
+ __props__.__dict__["locations"] = locations
954
+ __props__.__dict__["max_response_time"] = max_response_time
955
+ __props__.__dict__["muted"] = muted
956
+ __props__.__dict__["name"] = name
957
+ __props__.__dict__["private_locations"] = private_locations
958
+ if request is None and not opts.urn:
959
+ raise TypeError("Missing required property 'request'")
960
+ __props__.__dict__["request"] = request
961
+ __props__.__dict__["retry_strategy"] = retry_strategy
962
+ __props__.__dict__["run_parallel"] = run_parallel
963
+ __props__.__dict__["runtime_id"] = runtime_id
964
+ __props__.__dict__["should_fail"] = should_fail
965
+ __props__.__dict__["tags"] = tags
966
+ __props__.__dict__["trigger_incident"] = trigger_incident
967
+ __props__.__dict__["use_global_alert_settings"] = use_global_alert_settings
968
+ super(TcpMonitor, __self__).__init__(
969
+ 'checkly:index/tcpMonitor:TcpMonitor',
970
+ resource_name,
971
+ __props__,
972
+ opts)
973
+
974
+ @staticmethod
975
+ def get(resource_name: str,
976
+ id: pulumi.Input[str],
977
+ opts: Optional[pulumi.ResourceOptions] = None,
978
+ activated: Optional[pulumi.Input[bool]] = None,
979
+ alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TcpMonitorAlertChannelSubscriptionArgs', 'TcpMonitorAlertChannelSubscriptionArgsDict']]]]] = None,
980
+ alert_settings: Optional[pulumi.Input[Union['TcpMonitorAlertSettingsArgs', 'TcpMonitorAlertSettingsArgsDict']]] = None,
981
+ degraded_response_time: Optional[pulumi.Input[int]] = None,
982
+ frequency: Optional[pulumi.Input[int]] = None,
983
+ frequency_offset: Optional[pulumi.Input[int]] = None,
984
+ group_id: Optional[pulumi.Input[int]] = None,
985
+ group_order: Optional[pulumi.Input[int]] = None,
986
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
987
+ max_response_time: Optional[pulumi.Input[int]] = None,
988
+ muted: Optional[pulumi.Input[bool]] = None,
989
+ name: Optional[pulumi.Input[str]] = None,
990
+ private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
991
+ request: Optional[pulumi.Input[Union['TcpMonitorRequestArgs', 'TcpMonitorRequestArgsDict']]] = None,
992
+ retry_strategy: Optional[pulumi.Input[Union['TcpMonitorRetryStrategyArgs', 'TcpMonitorRetryStrategyArgsDict']]] = None,
993
+ run_parallel: Optional[pulumi.Input[bool]] = None,
994
+ runtime_id: Optional[pulumi.Input[str]] = None,
995
+ should_fail: Optional[pulumi.Input[bool]] = None,
996
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
997
+ trigger_incident: Optional[pulumi.Input[Union['TcpMonitorTriggerIncidentArgs', 'TcpMonitorTriggerIncidentArgsDict']]] = None,
998
+ use_global_alert_settings: Optional[pulumi.Input[bool]] = None) -> 'TcpMonitor':
999
+ """
1000
+ Get an existing TcpMonitor resource's state with the given name, id, and optional extra
1001
+ properties used to qualify the lookup.
1002
+
1003
+ :param str resource_name: The unique name of the resulting resource.
1004
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1005
+ :param pulumi.ResourceOptions opts: Options for the resource.
1006
+ :param pulumi.Input[bool] activated: Determines if the check is running or not. Possible values `true`, and `false`.
1007
+ :param pulumi.Input[Sequence[pulumi.Input[Union['TcpMonitorAlertChannelSubscriptionArgs', 'TcpMonitorAlertChannelSubscriptionArgsDict']]]] alert_channel_subscriptions: An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
1008
+ :param pulumi.Input[int] degraded_response_time: The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
1009
+ :param pulumi.Input[int] frequency: The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
1010
+ :param pulumi.Input[int] frequency_offset: To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
1011
+ :param pulumi.Input[int] group_id: The id of the check group this check is part of.
1012
+ :param pulumi.Input[int] group_order: The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
1013
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
1014
+ :param pulumi.Input[int] max_response_time: The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
1015
+ :param pulumi.Input[bool] muted: Determines if any notifications will be sent out when a check fails/degrades/recovers.
1016
+ :param pulumi.Input[str] name: The name of the check.
1017
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs.
1018
+ :param pulumi.Input[Union['TcpMonitorRequestArgs', 'TcpMonitorRequestArgsDict']] request: The parameters for the TCP connection.
1019
+ :param pulumi.Input[Union['TcpMonitorRetryStrategyArgs', 'TcpMonitorRetryStrategyArgsDict']] retry_strategy: A strategy for retrying failed check runs.
1020
+ :param pulumi.Input[bool] run_parallel: Determines if the check should run in all selected locations in parallel or round-robin.
1021
+ :param pulumi.Input[str] runtime_id: The ID of the runtime to use for this check.
1022
+ :param pulumi.Input[bool] should_fail: Allows to invert the behaviour of when a check is considered to fail.
1023
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags for organizing and filtering checks.
1024
+ :param pulumi.Input[Union['TcpMonitorTriggerIncidentArgs', 'TcpMonitorTriggerIncidentArgsDict']] trigger_incident: Create and resolve an incident based on the alert configuration. Useful for status page automation.
1025
+ :param pulumi.Input[bool] use_global_alert_settings: When true, the account level alert settings will be used, not the alert setting defined on this check.
1026
+ """
1027
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1028
+
1029
+ __props__ = _TcpMonitorState.__new__(_TcpMonitorState)
1030
+
1031
+ __props__.__dict__["activated"] = activated
1032
+ __props__.__dict__["alert_channel_subscriptions"] = alert_channel_subscriptions
1033
+ __props__.__dict__["alert_settings"] = alert_settings
1034
+ __props__.__dict__["degraded_response_time"] = degraded_response_time
1035
+ __props__.__dict__["frequency"] = frequency
1036
+ __props__.__dict__["frequency_offset"] = frequency_offset
1037
+ __props__.__dict__["group_id"] = group_id
1038
+ __props__.__dict__["group_order"] = group_order
1039
+ __props__.__dict__["locations"] = locations
1040
+ __props__.__dict__["max_response_time"] = max_response_time
1041
+ __props__.__dict__["muted"] = muted
1042
+ __props__.__dict__["name"] = name
1043
+ __props__.__dict__["private_locations"] = private_locations
1044
+ __props__.__dict__["request"] = request
1045
+ __props__.__dict__["retry_strategy"] = retry_strategy
1046
+ __props__.__dict__["run_parallel"] = run_parallel
1047
+ __props__.__dict__["runtime_id"] = runtime_id
1048
+ __props__.__dict__["should_fail"] = should_fail
1049
+ __props__.__dict__["tags"] = tags
1050
+ __props__.__dict__["trigger_incident"] = trigger_incident
1051
+ __props__.__dict__["use_global_alert_settings"] = use_global_alert_settings
1052
+ return TcpMonitor(resource_name, opts=opts, __props__=__props__)
1053
+
1054
+ @property
1055
+ @pulumi.getter
1056
+ def activated(self) -> pulumi.Output[bool]:
1057
+ """
1058
+ Determines if the check is running or not. Possible values `true`, and `false`.
1059
+ """
1060
+ return pulumi.get(self, "activated")
1061
+
1062
+ @property
1063
+ @pulumi.getter(name="alertChannelSubscriptions")
1064
+ def alert_channel_subscriptions(self) -> pulumi.Output[Optional[Sequence['outputs.TcpMonitorAlertChannelSubscription']]]:
1065
+ """
1066
+ An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.
1067
+ """
1068
+ return pulumi.get(self, "alert_channel_subscriptions")
1069
+
1070
+ @property
1071
+ @pulumi.getter(name="alertSettings")
1072
+ def alert_settings(self) -> pulumi.Output['outputs.TcpMonitorAlertSettings']:
1073
+ return pulumi.get(self, "alert_settings")
1074
+
1075
+ @property
1076
+ @pulumi.getter(name="degradedResponseTime")
1077
+ def degraded_response_time(self) -> pulumi.Output[Optional[int]]:
1078
+ """
1079
+ The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).
1080
+ """
1081
+ return pulumi.get(self, "degraded_response_time")
1082
+
1083
+ @property
1084
+ @pulumi.getter
1085
+ def frequency(self) -> pulumi.Output[int]:
1086
+ """
1087
+ The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.
1088
+ """
1089
+ return pulumi.get(self, "frequency")
1090
+
1091
+ @property
1092
+ @pulumi.getter(name="frequencyOffset")
1093
+ def frequency_offset(self) -> pulumi.Output[Optional[int]]:
1094
+ """
1095
+ To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.
1096
+ """
1097
+ return pulumi.get(self, "frequency_offset")
1098
+
1099
+ @property
1100
+ @pulumi.getter(name="groupId")
1101
+ def group_id(self) -> pulumi.Output[Optional[int]]:
1102
+ """
1103
+ The id of the check group this check is part of.
1104
+ """
1105
+ return pulumi.get(self, "group_id")
1106
+
1107
+ @property
1108
+ @pulumi.getter(name="groupOrder")
1109
+ def group_order(self) -> pulumi.Output[Optional[int]]:
1110
+ """
1111
+ The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
1112
+ """
1113
+ return pulumi.get(self, "group_order")
1114
+
1115
+ @property
1116
+ @pulumi.getter
1117
+ def locations(self) -> pulumi.Output[Optional[Sequence[str]]]:
1118
+ """
1119
+ An array of one or more data center locations where to run the this check. (Default ["us-east-1"])
1120
+ """
1121
+ return pulumi.get(self, "locations")
1122
+
1123
+ @property
1124
+ @pulumi.getter(name="maxResponseTime")
1125
+ def max_response_time(self) -> pulumi.Output[Optional[int]]:
1126
+ """
1127
+ The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).
1128
+ """
1129
+ return pulumi.get(self, "max_response_time")
1130
+
1131
+ @property
1132
+ @pulumi.getter
1133
+ def muted(self) -> pulumi.Output[Optional[bool]]:
1134
+ """
1135
+ Determines if any notifications will be sent out when a check fails/degrades/recovers.
1136
+ """
1137
+ return pulumi.get(self, "muted")
1138
+
1139
+ @property
1140
+ @pulumi.getter
1141
+ def name(self) -> pulumi.Output[str]:
1142
+ """
1143
+ The name of the check.
1144
+ """
1145
+ return pulumi.get(self, "name")
1146
+
1147
+ @property
1148
+ @pulumi.getter(name="privateLocations")
1149
+ def private_locations(self) -> pulumi.Output[Optional[Sequence[str]]]:
1150
+ """
1151
+ An array of one or more private locations slugs.
1152
+ """
1153
+ return pulumi.get(self, "private_locations")
1154
+
1155
+ @property
1156
+ @pulumi.getter
1157
+ def request(self) -> pulumi.Output['outputs.TcpMonitorRequest']:
1158
+ """
1159
+ The parameters for the TCP connection.
1160
+ """
1161
+ return pulumi.get(self, "request")
1162
+
1163
+ @property
1164
+ @pulumi.getter(name="retryStrategy")
1165
+ def retry_strategy(self) -> pulumi.Output['outputs.TcpMonitorRetryStrategy']:
1166
+ """
1167
+ A strategy for retrying failed check runs.
1168
+ """
1169
+ return pulumi.get(self, "retry_strategy")
1170
+
1171
+ @property
1172
+ @pulumi.getter(name="runParallel")
1173
+ def run_parallel(self) -> pulumi.Output[Optional[bool]]:
1174
+ """
1175
+ Determines if the check should run in all selected locations in parallel or round-robin.
1176
+ """
1177
+ return pulumi.get(self, "run_parallel")
1178
+
1179
+ @property
1180
+ @pulumi.getter(name="runtimeId")
1181
+ def runtime_id(self) -> pulumi.Output[Optional[str]]:
1182
+ """
1183
+ The ID of the runtime to use for this check.
1184
+ """
1185
+ return pulumi.get(self, "runtime_id")
1186
+
1187
+ @property
1188
+ @pulumi.getter(name="shouldFail")
1189
+ def should_fail(self) -> pulumi.Output[Optional[bool]]:
1190
+ """
1191
+ Allows to invert the behaviour of when a check is considered to fail.
1192
+ """
1193
+ return pulumi.get(self, "should_fail")
1194
+
1195
+ @property
1196
+ @pulumi.getter
1197
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1198
+ """
1199
+ A list of tags for organizing and filtering checks.
1200
+ """
1201
+ return pulumi.get(self, "tags")
1202
+
1203
+ @property
1204
+ @pulumi.getter(name="triggerIncident")
1205
+ def trigger_incident(self) -> pulumi.Output[Optional['outputs.TcpMonitorTriggerIncident']]:
1206
+ """
1207
+ Create and resolve an incident based on the alert configuration. Useful for status page automation.
1208
+ """
1209
+ return pulumi.get(self, "trigger_incident")
1210
+
1211
+ @property
1212
+ @pulumi.getter(name="useGlobalAlertSettings")
1213
+ def use_global_alert_settings(self) -> pulumi.Output[Optional[bool]]:
1214
+ """
1215
+ When true, the account level alert settings will be used, not the alert setting defined on this check.
1216
+ """
1217
+ return pulumi.get(self, "use_global_alert_settings")
1218
+