pulumi-ns1 3.2.0a1710157241__py3-none-any.whl → 3.6.0a1736834553__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_ns1/_utilities.py CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
- result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['AccountWhitelistArgs', 'AccountWhitelist']
@@ -105,17 +110,17 @@ class AccountWhitelist(pulumi.CustomResource):
105
110
 
106
111
  ## Example Usage
107
112
 
108
- <!--Start PulumiCodeChooser -->
109
113
  ```python
110
114
  import pulumi
111
115
  import pulumi_ns1 as ns1
112
116
 
113
- example = ns1.AccountWhitelist("example", values=[
114
- "1.1.1.1",
115
- "2.2.2.2",
116
- ])
117
+ example = ns1.AccountWhitelist("example",
118
+ name="Example Whitelist",
119
+ values=[
120
+ "1.1.1.1",
121
+ "2.2.2.2",
122
+ ])
117
123
  ```
118
- <!--End PulumiCodeChooser -->
119
124
 
120
125
  > You current source IP must be present in one of the whitelists to prevent locking yourself out.
121
126
 
@@ -147,17 +152,17 @@ class AccountWhitelist(pulumi.CustomResource):
147
152
 
148
153
  ## Example Usage
149
154
 
150
- <!--Start PulumiCodeChooser -->
151
155
  ```python
152
156
  import pulumi
153
157
  import pulumi_ns1 as ns1
154
158
 
155
- example = ns1.AccountWhitelist("example", values=[
156
- "1.1.1.1",
157
- "2.2.2.2",
158
- ])
159
+ example = ns1.AccountWhitelist("example",
160
+ name="Example Whitelist",
161
+ values=[
162
+ "1.1.1.1",
163
+ "2.2.2.2",
164
+ ])
159
165
  ```
160
- <!--End PulumiCodeChooser -->
161
166
 
162
167
  > You current source IP must be present in one of the whitelists to prevent locking yourself out.
163
168
 
pulumi_ns1/alert.py ADDED
@@ -0,0 +1,549 @@
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
+
17
+ __all__ = ['AlertArgs', 'Alert']
18
+
19
+ @pulumi.input_type
20
+ class AlertArgs:
21
+ def __init__(__self__, *,
22
+ subtype: pulumi.Input[str],
23
+ type: pulumi.Input[str],
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
+ record_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
+ zone_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
28
+ """
29
+ The set of arguments for constructing a Alert resource.
30
+ :param pulumi.Input[str] subtype: The type of the alert.
31
+ :param pulumi.Input[str] type: The type of the alert.
32
+ :param pulumi.Input[str] name: The free-form display name for the alert.
33
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_lists: A list of id's for notification lists whose notifiers will be triggered by the alert.
34
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] record_ids: A list of record id's this alert applies to.
35
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] zone_names: A list of zones this alert applies to.
36
+ """
37
+ pulumi.set(__self__, "subtype", subtype)
38
+ pulumi.set(__self__, "type", type)
39
+ if name is not None:
40
+ pulumi.set(__self__, "name", name)
41
+ if notification_lists is not None:
42
+ pulumi.set(__self__, "notification_lists", notification_lists)
43
+ if record_ids is not None:
44
+ pulumi.set(__self__, "record_ids", record_ids)
45
+ if zone_names is not None:
46
+ pulumi.set(__self__, "zone_names", zone_names)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def subtype(self) -> pulumi.Input[str]:
51
+ """
52
+ The type of the alert.
53
+ """
54
+ return pulumi.get(self, "subtype")
55
+
56
+ @subtype.setter
57
+ def subtype(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "subtype", value)
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def type(self) -> pulumi.Input[str]:
63
+ """
64
+ The type of the alert.
65
+ """
66
+ return pulumi.get(self, "type")
67
+
68
+ @type.setter
69
+ def type(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "type", value)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def name(self) -> Optional[pulumi.Input[str]]:
75
+ """
76
+ The free-form display name for the alert.
77
+ """
78
+ return pulumi.get(self, "name")
79
+
80
+ @name.setter
81
+ def name(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "name", value)
83
+
84
+ @property
85
+ @pulumi.getter(name="notificationLists")
86
+ def notification_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
87
+ """
88
+ A list of id's for notification lists whose notifiers will be triggered by the alert.
89
+ """
90
+ return pulumi.get(self, "notification_lists")
91
+
92
+ @notification_lists.setter
93
+ def notification_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
94
+ pulumi.set(self, "notification_lists", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="recordIds")
98
+ def record_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
99
+ """
100
+ A list of record id's this alert applies to.
101
+ """
102
+ return pulumi.get(self, "record_ids")
103
+
104
+ @record_ids.setter
105
+ def record_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
106
+ pulumi.set(self, "record_ids", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="zoneNames")
110
+ def zone_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
111
+ """
112
+ A list of zones this alert applies to.
113
+ """
114
+ return pulumi.get(self, "zone_names")
115
+
116
+ @zone_names.setter
117
+ def zone_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
118
+ pulumi.set(self, "zone_names", value)
119
+
120
+
121
+ @pulumi.input_type
122
+ class _AlertState:
123
+ def __init__(__self__, *,
124
+ created_at: Optional[pulumi.Input[int]] = None,
125
+ created_by: Optional[pulumi.Input[str]] = None,
126
+ name: Optional[pulumi.Input[str]] = None,
127
+ notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
128
+ record_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
129
+ subtype: Optional[pulumi.Input[str]] = None,
130
+ type: Optional[pulumi.Input[str]] = None,
131
+ updated_at: Optional[pulumi.Input[int]] = None,
132
+ updated_by: Optional[pulumi.Input[str]] = None,
133
+ zone_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
134
+ """
135
+ Input properties used for looking up and filtering Alert resources.
136
+ :param pulumi.Input[int] created_at: (Read Only) The Unix timestamp representing when the alert configuration was created.
137
+ :param pulumi.Input[str] created_by: (Read Only) The user or apikey that created this alert.
138
+ :param pulumi.Input[str] name: The free-form display name for the alert.
139
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_lists: A list of id's for notification lists whose notifiers will be triggered by the alert.
140
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] record_ids: A list of record id's this alert applies to.
141
+ :param pulumi.Input[str] subtype: The type of the alert.
142
+ :param pulumi.Input[str] type: The type of the alert.
143
+ :param pulumi.Input[int] updated_at: (Read Only) The Unix timestamp representing when the alert configuration was last modified.
144
+ :param pulumi.Input[str] updated_by: (Read Only) The user or apikey that last modified this alert.
145
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] zone_names: A list of zones this alert applies to.
146
+ """
147
+ if created_at is not None:
148
+ pulumi.set(__self__, "created_at", created_at)
149
+ if created_by is not None:
150
+ pulumi.set(__self__, "created_by", created_by)
151
+ if name is not None:
152
+ pulumi.set(__self__, "name", name)
153
+ if notification_lists is not None:
154
+ pulumi.set(__self__, "notification_lists", notification_lists)
155
+ if record_ids is not None:
156
+ pulumi.set(__self__, "record_ids", record_ids)
157
+ if subtype is not None:
158
+ pulumi.set(__self__, "subtype", subtype)
159
+ if type is not None:
160
+ pulumi.set(__self__, "type", type)
161
+ if updated_at is not None:
162
+ pulumi.set(__self__, "updated_at", updated_at)
163
+ if updated_by is not None:
164
+ pulumi.set(__self__, "updated_by", updated_by)
165
+ if zone_names is not None:
166
+ pulumi.set(__self__, "zone_names", zone_names)
167
+
168
+ @property
169
+ @pulumi.getter(name="createdAt")
170
+ def created_at(self) -> Optional[pulumi.Input[int]]:
171
+ """
172
+ (Read Only) The Unix timestamp representing when the alert configuration was created.
173
+ """
174
+ return pulumi.get(self, "created_at")
175
+
176
+ @created_at.setter
177
+ def created_at(self, value: Optional[pulumi.Input[int]]):
178
+ pulumi.set(self, "created_at", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="createdBy")
182
+ def created_by(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ (Read Only) The user or apikey that created this alert.
185
+ """
186
+ return pulumi.get(self, "created_by")
187
+
188
+ @created_by.setter
189
+ def created_by(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "created_by", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def name(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ The free-form display name for the alert.
197
+ """
198
+ return pulumi.get(self, "name")
199
+
200
+ @name.setter
201
+ def name(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "name", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="notificationLists")
206
+ def notification_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
207
+ """
208
+ A list of id's for notification lists whose notifiers will be triggered by the alert.
209
+ """
210
+ return pulumi.get(self, "notification_lists")
211
+
212
+ @notification_lists.setter
213
+ def notification_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
214
+ pulumi.set(self, "notification_lists", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="recordIds")
218
+ def record_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
219
+ """
220
+ A list of record id's this alert applies to.
221
+ """
222
+ return pulumi.get(self, "record_ids")
223
+
224
+ @record_ids.setter
225
+ def record_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
226
+ pulumi.set(self, "record_ids", value)
227
+
228
+ @property
229
+ @pulumi.getter
230
+ def subtype(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ The type of the alert.
233
+ """
234
+ return pulumi.get(self, "subtype")
235
+
236
+ @subtype.setter
237
+ def subtype(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "subtype", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def type(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ The type of the alert.
245
+ """
246
+ return pulumi.get(self, "type")
247
+
248
+ @type.setter
249
+ def type(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "type", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="updatedAt")
254
+ def updated_at(self) -> Optional[pulumi.Input[int]]:
255
+ """
256
+ (Read Only) The Unix timestamp representing when the alert configuration was last modified.
257
+ """
258
+ return pulumi.get(self, "updated_at")
259
+
260
+ @updated_at.setter
261
+ def updated_at(self, value: Optional[pulumi.Input[int]]):
262
+ pulumi.set(self, "updated_at", value)
263
+
264
+ @property
265
+ @pulumi.getter(name="updatedBy")
266
+ def updated_by(self) -> Optional[pulumi.Input[str]]:
267
+ """
268
+ (Read Only) The user or apikey that last modified this alert.
269
+ """
270
+ return pulumi.get(self, "updated_by")
271
+
272
+ @updated_by.setter
273
+ def updated_by(self, value: Optional[pulumi.Input[str]]):
274
+ pulumi.set(self, "updated_by", value)
275
+
276
+ @property
277
+ @pulumi.getter(name="zoneNames")
278
+ def zone_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
279
+ """
280
+ A list of zones this alert applies to.
281
+ """
282
+ return pulumi.get(self, "zone_names")
283
+
284
+ @zone_names.setter
285
+ def zone_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
286
+ pulumi.set(self, "zone_names", value)
287
+
288
+
289
+ class Alert(pulumi.CustomResource):
290
+ @overload
291
+ def __init__(__self__,
292
+ resource_name: str,
293
+ opts: Optional[pulumi.ResourceOptions] = None,
294
+ name: Optional[pulumi.Input[str]] = None,
295
+ notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
296
+ record_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
297
+ subtype: Optional[pulumi.Input[str]] = None,
298
+ type: Optional[pulumi.Input[str]] = None,
299
+ zone_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
300
+ __props__=None):
301
+ """
302
+ Provides a NS1 Alert resource. This can be used to create, modify, and delete alerts.
303
+
304
+ ## Example Usage
305
+
306
+ ```python
307
+ import pulumi
308
+ import pulumi_ns1 as ns1
309
+
310
+ example = ns1.Alert("example",
311
+ name="Example Alert",
312
+ type="zone",
313
+ subtype="transfer_failed",
314
+ notification_lists=[],
315
+ zone_names=[],
316
+ record_ids=[])
317
+ ```
318
+
319
+ ## NS1 Documentation
320
+
321
+ [Alerts Api Doc](https://ns1.com/api#alerts)
322
+
323
+ ## Import
324
+
325
+ ```sh
326
+ $ pulumi import ns1:index/alert:Alert <name> <alert_id>`
327
+ ```
328
+
329
+ :param str resource_name: The name of the resource.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ :param pulumi.Input[str] name: The free-form display name for the alert.
332
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_lists: A list of id's for notification lists whose notifiers will be triggered by the alert.
333
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] record_ids: A list of record id's this alert applies to.
334
+ :param pulumi.Input[str] subtype: The type of the alert.
335
+ :param pulumi.Input[str] type: The type of the alert.
336
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] zone_names: A list of zones this alert applies to.
337
+ """
338
+ ...
339
+ @overload
340
+ def __init__(__self__,
341
+ resource_name: str,
342
+ args: AlertArgs,
343
+ opts: Optional[pulumi.ResourceOptions] = None):
344
+ """
345
+ Provides a NS1 Alert resource. This can be used to create, modify, and delete alerts.
346
+
347
+ ## Example Usage
348
+
349
+ ```python
350
+ import pulumi
351
+ import pulumi_ns1 as ns1
352
+
353
+ example = ns1.Alert("example",
354
+ name="Example Alert",
355
+ type="zone",
356
+ subtype="transfer_failed",
357
+ notification_lists=[],
358
+ zone_names=[],
359
+ record_ids=[])
360
+ ```
361
+
362
+ ## NS1 Documentation
363
+
364
+ [Alerts Api Doc](https://ns1.com/api#alerts)
365
+
366
+ ## Import
367
+
368
+ ```sh
369
+ $ pulumi import ns1:index/alert:Alert <name> <alert_id>`
370
+ ```
371
+
372
+ :param str resource_name: The name of the resource.
373
+ :param AlertArgs args: The arguments to use to populate this resource's properties.
374
+ :param pulumi.ResourceOptions opts: Options for the resource.
375
+ """
376
+ ...
377
+ def __init__(__self__, resource_name: str, *args, **kwargs):
378
+ resource_args, opts = _utilities.get_resource_args_opts(AlertArgs, pulumi.ResourceOptions, *args, **kwargs)
379
+ if resource_args is not None:
380
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
381
+ else:
382
+ __self__._internal_init(resource_name, *args, **kwargs)
383
+
384
+ def _internal_init(__self__,
385
+ resource_name: str,
386
+ opts: Optional[pulumi.ResourceOptions] = None,
387
+ name: Optional[pulumi.Input[str]] = None,
388
+ notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
389
+ record_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
390
+ subtype: Optional[pulumi.Input[str]] = None,
391
+ type: Optional[pulumi.Input[str]] = None,
392
+ zone_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
393
+ __props__=None):
394
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
395
+ if not isinstance(opts, pulumi.ResourceOptions):
396
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
397
+ if opts.id is None:
398
+ if __props__ is not None:
399
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
400
+ __props__ = AlertArgs.__new__(AlertArgs)
401
+
402
+ __props__.__dict__["name"] = name
403
+ __props__.__dict__["notification_lists"] = notification_lists
404
+ __props__.__dict__["record_ids"] = record_ids
405
+ if subtype is None and not opts.urn:
406
+ raise TypeError("Missing required property 'subtype'")
407
+ __props__.__dict__["subtype"] = subtype
408
+ if type is None and not opts.urn:
409
+ raise TypeError("Missing required property 'type'")
410
+ __props__.__dict__["type"] = type
411
+ __props__.__dict__["zone_names"] = zone_names
412
+ __props__.__dict__["created_at"] = None
413
+ __props__.__dict__["created_by"] = None
414
+ __props__.__dict__["updated_at"] = None
415
+ __props__.__dict__["updated_by"] = None
416
+ super(Alert, __self__).__init__(
417
+ 'ns1:index/alert:Alert',
418
+ resource_name,
419
+ __props__,
420
+ opts)
421
+
422
+ @staticmethod
423
+ def get(resource_name: str,
424
+ id: pulumi.Input[str],
425
+ opts: Optional[pulumi.ResourceOptions] = None,
426
+ created_at: Optional[pulumi.Input[int]] = None,
427
+ created_by: Optional[pulumi.Input[str]] = None,
428
+ name: Optional[pulumi.Input[str]] = None,
429
+ notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
430
+ record_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
431
+ subtype: Optional[pulumi.Input[str]] = None,
432
+ type: Optional[pulumi.Input[str]] = None,
433
+ updated_at: Optional[pulumi.Input[int]] = None,
434
+ updated_by: Optional[pulumi.Input[str]] = None,
435
+ zone_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Alert':
436
+ """
437
+ Get an existing Alert resource's state with the given name, id, and optional extra
438
+ properties used to qualify the lookup.
439
+
440
+ :param str resource_name: The unique name of the resulting resource.
441
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
442
+ :param pulumi.ResourceOptions opts: Options for the resource.
443
+ :param pulumi.Input[int] created_at: (Read Only) The Unix timestamp representing when the alert configuration was created.
444
+ :param pulumi.Input[str] created_by: (Read Only) The user or apikey that created this alert.
445
+ :param pulumi.Input[str] name: The free-form display name for the alert.
446
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_lists: A list of id's for notification lists whose notifiers will be triggered by the alert.
447
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] record_ids: A list of record id's this alert applies to.
448
+ :param pulumi.Input[str] subtype: The type of the alert.
449
+ :param pulumi.Input[str] type: The type of the alert.
450
+ :param pulumi.Input[int] updated_at: (Read Only) The Unix timestamp representing when the alert configuration was last modified.
451
+ :param pulumi.Input[str] updated_by: (Read Only) The user or apikey that last modified this alert.
452
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] zone_names: A list of zones this alert applies to.
453
+ """
454
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
455
+
456
+ __props__ = _AlertState.__new__(_AlertState)
457
+
458
+ __props__.__dict__["created_at"] = created_at
459
+ __props__.__dict__["created_by"] = created_by
460
+ __props__.__dict__["name"] = name
461
+ __props__.__dict__["notification_lists"] = notification_lists
462
+ __props__.__dict__["record_ids"] = record_ids
463
+ __props__.__dict__["subtype"] = subtype
464
+ __props__.__dict__["type"] = type
465
+ __props__.__dict__["updated_at"] = updated_at
466
+ __props__.__dict__["updated_by"] = updated_by
467
+ __props__.__dict__["zone_names"] = zone_names
468
+ return Alert(resource_name, opts=opts, __props__=__props__)
469
+
470
+ @property
471
+ @pulumi.getter(name="createdAt")
472
+ def created_at(self) -> pulumi.Output[int]:
473
+ """
474
+ (Read Only) The Unix timestamp representing when the alert configuration was created.
475
+ """
476
+ return pulumi.get(self, "created_at")
477
+
478
+ @property
479
+ @pulumi.getter(name="createdBy")
480
+ def created_by(self) -> pulumi.Output[str]:
481
+ """
482
+ (Read Only) The user or apikey that created this alert.
483
+ """
484
+ return pulumi.get(self, "created_by")
485
+
486
+ @property
487
+ @pulumi.getter
488
+ def name(self) -> pulumi.Output[str]:
489
+ """
490
+ The free-form display name for the alert.
491
+ """
492
+ return pulumi.get(self, "name")
493
+
494
+ @property
495
+ @pulumi.getter(name="notificationLists")
496
+ def notification_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
497
+ """
498
+ A list of id's for notification lists whose notifiers will be triggered by the alert.
499
+ """
500
+ return pulumi.get(self, "notification_lists")
501
+
502
+ @property
503
+ @pulumi.getter(name="recordIds")
504
+ def record_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
505
+ """
506
+ A list of record id's this alert applies to.
507
+ """
508
+ return pulumi.get(self, "record_ids")
509
+
510
+ @property
511
+ @pulumi.getter
512
+ def subtype(self) -> pulumi.Output[str]:
513
+ """
514
+ The type of the alert.
515
+ """
516
+ return pulumi.get(self, "subtype")
517
+
518
+ @property
519
+ @pulumi.getter
520
+ def type(self) -> pulumi.Output[str]:
521
+ """
522
+ The type of the alert.
523
+ """
524
+ return pulumi.get(self, "type")
525
+
526
+ @property
527
+ @pulumi.getter(name="updatedAt")
528
+ def updated_at(self) -> pulumi.Output[int]:
529
+ """
530
+ (Read Only) The Unix timestamp representing when the alert configuration was last modified.
531
+ """
532
+ return pulumi.get(self, "updated_at")
533
+
534
+ @property
535
+ @pulumi.getter(name="updatedBy")
536
+ def updated_by(self) -> pulumi.Output[str]:
537
+ """
538
+ (Read Only) The user or apikey that last modified this alert.
539
+ """
540
+ return pulumi.get(self, "updated_by")
541
+
542
+ @property
543
+ @pulumi.getter(name="zoneNames")
544
+ def zone_names(self) -> pulumi.Output[Optional[Sequence[str]]]:
545
+ """
546
+ A list of zones this alert applies to.
547
+ """
548
+ return pulumi.get(self, "zone_names")
549
+