pulumi-dnsimple 3.5.0a1710156168__py3-none-any.whl → 4.3.0a1736849266__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.

Potentially problematic release.


This version of pulumi-dnsimple might be problematic. Click here for more details.

@@ -0,0 +1,432 @@
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__ = ['ZoneArgs', 'Zone']
18
+
19
+ @pulumi.input_type
20
+ class ZoneArgs:
21
+ def __init__(__self__, *,
22
+ name: pulumi.Input[str],
23
+ active: Optional[pulumi.Input[bool]] = None):
24
+ """
25
+ The set of arguments for constructing a Zone resource.
26
+ :param pulumi.Input[str] name: The zone name
27
+
28
+ # Attributes Reference
29
+ :param pulumi.Input[bool] active: Whether the zone is active.
30
+ """
31
+ pulumi.set(__self__, "name", name)
32
+ if active is not None:
33
+ pulumi.set(__self__, "active", active)
34
+
35
+ @property
36
+ @pulumi.getter
37
+ def name(self) -> pulumi.Input[str]:
38
+ """
39
+ The zone name
40
+
41
+ # Attributes Reference
42
+ """
43
+ return pulumi.get(self, "name")
44
+
45
+ @name.setter
46
+ def name(self, value: pulumi.Input[str]):
47
+ pulumi.set(self, "name", value)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def active(self) -> Optional[pulumi.Input[bool]]:
52
+ """
53
+ Whether the zone is active.
54
+ """
55
+ return pulumi.get(self, "active")
56
+
57
+ @active.setter
58
+ def active(self, value: Optional[pulumi.Input[bool]]):
59
+ pulumi.set(self, "active", value)
60
+
61
+
62
+ @pulumi.input_type
63
+ class _ZoneState:
64
+ def __init__(__self__, *,
65
+ account_id: Optional[pulumi.Input[int]] = None,
66
+ active: Optional[pulumi.Input[bool]] = None,
67
+ last_transferred_at: Optional[pulumi.Input[str]] = None,
68
+ name: Optional[pulumi.Input[str]] = None,
69
+ reverse: Optional[pulumi.Input[bool]] = None,
70
+ secondary: Optional[pulumi.Input[bool]] = None):
71
+ """
72
+ Input properties used for looking up and filtering Zone resources.
73
+ :param pulumi.Input[int] account_id: The account ID for the zone.
74
+ :param pulumi.Input[bool] active: Whether the zone is active.
75
+ :param pulumi.Input[str] last_transferred_at: The last time the zone was transferred only applicable for **secondary** zones.
76
+ :param pulumi.Input[str] name: The zone name
77
+
78
+ # Attributes Reference
79
+ :param pulumi.Input[bool] reverse: Whether the zone is a reverse zone.
80
+ :param pulumi.Input[bool] secondary: Whether the zone is a secondary zone.
81
+ """
82
+ if account_id is not None:
83
+ pulumi.set(__self__, "account_id", account_id)
84
+ if active is not None:
85
+ pulumi.set(__self__, "active", active)
86
+ if last_transferred_at is not None:
87
+ pulumi.set(__self__, "last_transferred_at", last_transferred_at)
88
+ if name is not None:
89
+ pulumi.set(__self__, "name", name)
90
+ if reverse is not None:
91
+ pulumi.set(__self__, "reverse", reverse)
92
+ if secondary is not None:
93
+ pulumi.set(__self__, "secondary", secondary)
94
+
95
+ @property
96
+ @pulumi.getter(name="accountId")
97
+ def account_id(self) -> Optional[pulumi.Input[int]]:
98
+ """
99
+ The account ID for the zone.
100
+ """
101
+ return pulumi.get(self, "account_id")
102
+
103
+ @account_id.setter
104
+ def account_id(self, value: Optional[pulumi.Input[int]]):
105
+ pulumi.set(self, "account_id", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def active(self) -> Optional[pulumi.Input[bool]]:
110
+ """
111
+ Whether the zone is active.
112
+ """
113
+ return pulumi.get(self, "active")
114
+
115
+ @active.setter
116
+ def active(self, value: Optional[pulumi.Input[bool]]):
117
+ pulumi.set(self, "active", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="lastTransferredAt")
121
+ def last_transferred_at(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ The last time the zone was transferred only applicable for **secondary** zones.
124
+ """
125
+ return pulumi.get(self, "last_transferred_at")
126
+
127
+ @last_transferred_at.setter
128
+ def last_transferred_at(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "last_transferred_at", value)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def name(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ The zone name
136
+
137
+ # Attributes Reference
138
+ """
139
+ return pulumi.get(self, "name")
140
+
141
+ @name.setter
142
+ def name(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "name", value)
144
+
145
+ @property
146
+ @pulumi.getter
147
+ def reverse(self) -> Optional[pulumi.Input[bool]]:
148
+ """
149
+ Whether the zone is a reverse zone.
150
+ """
151
+ return pulumi.get(self, "reverse")
152
+
153
+ @reverse.setter
154
+ def reverse(self, value: Optional[pulumi.Input[bool]]):
155
+ pulumi.set(self, "reverse", value)
156
+
157
+ @property
158
+ @pulumi.getter
159
+ def secondary(self) -> Optional[pulumi.Input[bool]]:
160
+ """
161
+ Whether the zone is a secondary zone.
162
+ """
163
+ return pulumi.get(self, "secondary")
164
+
165
+ @secondary.setter
166
+ def secondary(self, value: Optional[pulumi.Input[bool]]):
167
+ pulumi.set(self, "secondary", value)
168
+
169
+
170
+ class Zone(pulumi.CustomResource):
171
+ @overload
172
+ def __init__(__self__,
173
+ resource_name: str,
174
+ opts: Optional[pulumi.ResourceOptions] = None,
175
+ active: Optional[pulumi.Input[bool]] = None,
176
+ name: Optional[pulumi.Input[str]] = None,
177
+ __props__=None):
178
+ """
179
+ Provides a DNSimple zone resource.
180
+
181
+ > Currently the resource creation acts as an import, so the zone must already exist in DNSimple. The only attribute that will be modified during resource creation is the `active` state of the zone. This is because our API does not allow for the creation of zones. Creation of zones happens through the purchase or creation of domains. We expect this behavior to change in the future.
182
+
183
+ ## Example Usage
184
+
185
+ ```python
186
+ import pulumi
187
+ import pulumi_dnsimple as dnsimple
188
+
189
+ # Create a zone
190
+ foobar = dnsimple.Zone("foobar", name=dnsimple["zone"])
191
+ ```
192
+
193
+ ## Import
194
+
195
+ DNSimple zones can be imported using their numeric record ID or the zone name.
196
+
197
+ bash
198
+
199
+ ```sh
200
+ $ pulumi import dnsimple:index/zone:Zone resource_name foo.com
201
+ ```
202
+
203
+ The zone ID can be found within [DNSimple Zones API](https://developer.dnsimple.com/v2/zones/#getZone). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
204
+
205
+ bash
206
+
207
+ curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://api.dnsimple.com/v2/1234/zones/example.com | jq
208
+
209
+ {
210
+
211
+ "data": {
212
+
213
+ "id": 1,
214
+
215
+ "account_id": 1234,
216
+
217
+ "name": "example.com",
218
+
219
+ "reverse": false,
220
+
221
+ "secondary": false,
222
+
223
+ "last_transferred_at": null,
224
+
225
+ "active": true,
226
+
227
+ "created_at": "2023-04-18T04:58:01Z",
228
+
229
+ "updated_at": "2024-01-16T15:53:18Z"
230
+
231
+ }
232
+
233
+ }
234
+
235
+ :param str resource_name: The name of the resource.
236
+ :param pulumi.ResourceOptions opts: Options for the resource.
237
+ :param pulumi.Input[bool] active: Whether the zone is active.
238
+ :param pulumi.Input[str] name: The zone name
239
+
240
+ # Attributes Reference
241
+ """
242
+ ...
243
+ @overload
244
+ def __init__(__self__,
245
+ resource_name: str,
246
+ args: ZoneArgs,
247
+ opts: Optional[pulumi.ResourceOptions] = None):
248
+ """
249
+ Provides a DNSimple zone resource.
250
+
251
+ > Currently the resource creation acts as an import, so the zone must already exist in DNSimple. The only attribute that will be modified during resource creation is the `active` state of the zone. This is because our API does not allow for the creation of zones. Creation of zones happens through the purchase or creation of domains. We expect this behavior to change in the future.
252
+
253
+ ## Example Usage
254
+
255
+ ```python
256
+ import pulumi
257
+ import pulumi_dnsimple as dnsimple
258
+
259
+ # Create a zone
260
+ foobar = dnsimple.Zone("foobar", name=dnsimple["zone"])
261
+ ```
262
+
263
+ ## Import
264
+
265
+ DNSimple zones can be imported using their numeric record ID or the zone name.
266
+
267
+ bash
268
+
269
+ ```sh
270
+ $ pulumi import dnsimple:index/zone:Zone resource_name foo.com
271
+ ```
272
+
273
+ The zone ID can be found within [DNSimple Zones API](https://developer.dnsimple.com/v2/zones/#getZone). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
274
+
275
+ bash
276
+
277
+ curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://api.dnsimple.com/v2/1234/zones/example.com | jq
278
+
279
+ {
280
+
281
+ "data": {
282
+
283
+ "id": 1,
284
+
285
+ "account_id": 1234,
286
+
287
+ "name": "example.com",
288
+
289
+ "reverse": false,
290
+
291
+ "secondary": false,
292
+
293
+ "last_transferred_at": null,
294
+
295
+ "active": true,
296
+
297
+ "created_at": "2023-04-18T04:58:01Z",
298
+
299
+ "updated_at": "2024-01-16T15:53:18Z"
300
+
301
+ }
302
+
303
+ }
304
+
305
+ :param str resource_name: The name of the resource.
306
+ :param ZoneArgs args: The arguments to use to populate this resource's properties.
307
+ :param pulumi.ResourceOptions opts: Options for the resource.
308
+ """
309
+ ...
310
+ def __init__(__self__, resource_name: str, *args, **kwargs):
311
+ resource_args, opts = _utilities.get_resource_args_opts(ZoneArgs, pulumi.ResourceOptions, *args, **kwargs)
312
+ if resource_args is not None:
313
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
314
+ else:
315
+ __self__._internal_init(resource_name, *args, **kwargs)
316
+
317
+ def _internal_init(__self__,
318
+ resource_name: str,
319
+ opts: Optional[pulumi.ResourceOptions] = None,
320
+ active: Optional[pulumi.Input[bool]] = None,
321
+ name: Optional[pulumi.Input[str]] = None,
322
+ __props__=None):
323
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
324
+ if not isinstance(opts, pulumi.ResourceOptions):
325
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
326
+ if opts.id is None:
327
+ if __props__ is not None:
328
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
329
+ __props__ = ZoneArgs.__new__(ZoneArgs)
330
+
331
+ __props__.__dict__["active"] = active
332
+ if name is None and not opts.urn:
333
+ raise TypeError("Missing required property 'name'")
334
+ __props__.__dict__["name"] = name
335
+ __props__.__dict__["account_id"] = None
336
+ __props__.__dict__["last_transferred_at"] = None
337
+ __props__.__dict__["reverse"] = None
338
+ __props__.__dict__["secondary"] = None
339
+ super(Zone, __self__).__init__(
340
+ 'dnsimple:index/zone:Zone',
341
+ resource_name,
342
+ __props__,
343
+ opts)
344
+
345
+ @staticmethod
346
+ def get(resource_name: str,
347
+ id: pulumi.Input[str],
348
+ opts: Optional[pulumi.ResourceOptions] = None,
349
+ account_id: Optional[pulumi.Input[int]] = None,
350
+ active: Optional[pulumi.Input[bool]] = None,
351
+ last_transferred_at: Optional[pulumi.Input[str]] = None,
352
+ name: Optional[pulumi.Input[str]] = None,
353
+ reverse: Optional[pulumi.Input[bool]] = None,
354
+ secondary: Optional[pulumi.Input[bool]] = None) -> 'Zone':
355
+ """
356
+ Get an existing Zone resource's state with the given name, id, and optional extra
357
+ properties used to qualify the lookup.
358
+
359
+ :param str resource_name: The unique name of the resulting resource.
360
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
361
+ :param pulumi.ResourceOptions opts: Options for the resource.
362
+ :param pulumi.Input[int] account_id: The account ID for the zone.
363
+ :param pulumi.Input[bool] active: Whether the zone is active.
364
+ :param pulumi.Input[str] last_transferred_at: The last time the zone was transferred only applicable for **secondary** zones.
365
+ :param pulumi.Input[str] name: The zone name
366
+
367
+ # Attributes Reference
368
+ :param pulumi.Input[bool] reverse: Whether the zone is a reverse zone.
369
+ :param pulumi.Input[bool] secondary: Whether the zone is a secondary zone.
370
+ """
371
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
372
+
373
+ __props__ = _ZoneState.__new__(_ZoneState)
374
+
375
+ __props__.__dict__["account_id"] = account_id
376
+ __props__.__dict__["active"] = active
377
+ __props__.__dict__["last_transferred_at"] = last_transferred_at
378
+ __props__.__dict__["name"] = name
379
+ __props__.__dict__["reverse"] = reverse
380
+ __props__.__dict__["secondary"] = secondary
381
+ return Zone(resource_name, opts=opts, __props__=__props__)
382
+
383
+ @property
384
+ @pulumi.getter(name="accountId")
385
+ def account_id(self) -> pulumi.Output[int]:
386
+ """
387
+ The account ID for the zone.
388
+ """
389
+ return pulumi.get(self, "account_id")
390
+
391
+ @property
392
+ @pulumi.getter
393
+ def active(self) -> pulumi.Output[bool]:
394
+ """
395
+ Whether the zone is active.
396
+ """
397
+ return pulumi.get(self, "active")
398
+
399
+ @property
400
+ @pulumi.getter(name="lastTransferredAt")
401
+ def last_transferred_at(self) -> pulumi.Output[str]:
402
+ """
403
+ The last time the zone was transferred only applicable for **secondary** zones.
404
+ """
405
+ return pulumi.get(self, "last_transferred_at")
406
+
407
+ @property
408
+ @pulumi.getter
409
+ def name(self) -> pulumi.Output[str]:
410
+ """
411
+ The zone name
412
+
413
+ # Attributes Reference
414
+ """
415
+ return pulumi.get(self, "name")
416
+
417
+ @property
418
+ @pulumi.getter
419
+ def reverse(self) -> pulumi.Output[bool]:
420
+ """
421
+ Whether the zone is a reverse zone.
422
+ """
423
+ return pulumi.get(self, "reverse")
424
+
425
+ @property
426
+ @pulumi.getter
427
+ def secondary(self) -> pulumi.Output[bool]:
428
+ """
429
+ Whether the zone is a secondary zone.
430
+ """
431
+ return pulumi.get(self, "secondary")
432
+