pulumi-dnsimple 5.1.0a1768541715__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,357 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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[_builtins.str],
23
+ active: Optional[pulumi.Input[_builtins.bool]] = None):
24
+ """
25
+ The set of arguments for constructing a Zone resource.
26
+ :param pulumi.Input[_builtins.str] name: The zone name.
27
+ :param pulumi.Input[_builtins.bool] active: Whether the zone is active.
28
+ """
29
+ pulumi.set(__self__, "name", name)
30
+ if active is not None:
31
+ pulumi.set(__self__, "active", active)
32
+
33
+ @_builtins.property
34
+ @pulumi.getter
35
+ def name(self) -> pulumi.Input[_builtins.str]:
36
+ """
37
+ The zone name.
38
+ """
39
+ return pulumi.get(self, "name")
40
+
41
+ @name.setter
42
+ def name(self, value: pulumi.Input[_builtins.str]):
43
+ pulumi.set(self, "name", value)
44
+
45
+ @_builtins.property
46
+ @pulumi.getter
47
+ def active(self) -> Optional[pulumi.Input[_builtins.bool]]:
48
+ """
49
+ Whether the zone is active.
50
+ """
51
+ return pulumi.get(self, "active")
52
+
53
+ @active.setter
54
+ def active(self, value: Optional[pulumi.Input[_builtins.bool]]):
55
+ pulumi.set(self, "active", value)
56
+
57
+
58
+ @pulumi.input_type
59
+ class _ZoneState:
60
+ def __init__(__self__, *,
61
+ account_id: Optional[pulumi.Input[_builtins.int]] = None,
62
+ active: Optional[pulumi.Input[_builtins.bool]] = None,
63
+ last_transferred_at: Optional[pulumi.Input[_builtins.str]] = None,
64
+ name: Optional[pulumi.Input[_builtins.str]] = None,
65
+ reverse: Optional[pulumi.Input[_builtins.bool]] = None,
66
+ secondary: Optional[pulumi.Input[_builtins.bool]] = None):
67
+ """
68
+ Input properties used for looking up and filtering Zone resources.
69
+ :param pulumi.Input[_builtins.int] account_id: The account ID for the zone.
70
+ :param pulumi.Input[_builtins.bool] active: Whether the zone is active.
71
+ :param pulumi.Input[_builtins.str] last_transferred_at: The last time the zone was transferred only applicable for **secondary** zones.
72
+ :param pulumi.Input[_builtins.str] name: The zone name.
73
+ :param pulumi.Input[_builtins.bool] reverse: Whether the zone is a reverse zone.
74
+ :param pulumi.Input[_builtins.bool] secondary: Whether the zone is a secondary zone.
75
+ """
76
+ if account_id is not None:
77
+ pulumi.set(__self__, "account_id", account_id)
78
+ if active is not None:
79
+ pulumi.set(__self__, "active", active)
80
+ if last_transferred_at is not None:
81
+ pulumi.set(__self__, "last_transferred_at", last_transferred_at)
82
+ if name is not None:
83
+ pulumi.set(__self__, "name", name)
84
+ if reverse is not None:
85
+ pulumi.set(__self__, "reverse", reverse)
86
+ if secondary is not None:
87
+ pulumi.set(__self__, "secondary", secondary)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter(name="accountId")
91
+ def account_id(self) -> Optional[pulumi.Input[_builtins.int]]:
92
+ """
93
+ The account ID for the zone.
94
+ """
95
+ return pulumi.get(self, "account_id")
96
+
97
+ @account_id.setter
98
+ def account_id(self, value: Optional[pulumi.Input[_builtins.int]]):
99
+ pulumi.set(self, "account_id", value)
100
+
101
+ @_builtins.property
102
+ @pulumi.getter
103
+ def active(self) -> Optional[pulumi.Input[_builtins.bool]]:
104
+ """
105
+ Whether the zone is active.
106
+ """
107
+ return pulumi.get(self, "active")
108
+
109
+ @active.setter
110
+ def active(self, value: Optional[pulumi.Input[_builtins.bool]]):
111
+ pulumi.set(self, "active", value)
112
+
113
+ @_builtins.property
114
+ @pulumi.getter(name="lastTransferredAt")
115
+ def last_transferred_at(self) -> Optional[pulumi.Input[_builtins.str]]:
116
+ """
117
+ The last time the zone was transferred only applicable for **secondary** zones.
118
+ """
119
+ return pulumi.get(self, "last_transferred_at")
120
+
121
+ @last_transferred_at.setter
122
+ def last_transferred_at(self, value: Optional[pulumi.Input[_builtins.str]]):
123
+ pulumi.set(self, "last_transferred_at", value)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter
127
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
128
+ """
129
+ The zone name.
130
+ """
131
+ return pulumi.get(self, "name")
132
+
133
+ @name.setter
134
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
135
+ pulumi.set(self, "name", value)
136
+
137
+ @_builtins.property
138
+ @pulumi.getter
139
+ def reverse(self) -> Optional[pulumi.Input[_builtins.bool]]:
140
+ """
141
+ Whether the zone is a reverse zone.
142
+ """
143
+ return pulumi.get(self, "reverse")
144
+
145
+ @reverse.setter
146
+ def reverse(self, value: Optional[pulumi.Input[_builtins.bool]]):
147
+ pulumi.set(self, "reverse", value)
148
+
149
+ @_builtins.property
150
+ @pulumi.getter
151
+ def secondary(self) -> Optional[pulumi.Input[_builtins.bool]]:
152
+ """
153
+ Whether the zone is a secondary zone.
154
+ """
155
+ return pulumi.get(self, "secondary")
156
+
157
+ @secondary.setter
158
+ def secondary(self, value: Optional[pulumi.Input[_builtins.bool]]):
159
+ pulumi.set(self, "secondary", value)
160
+
161
+
162
+ @pulumi.type_token("dnsimple:index/zone:Zone")
163
+ class Zone(pulumi.CustomResource):
164
+ @overload
165
+ def __init__(__self__,
166
+ resource_name: str,
167
+ opts: Optional[pulumi.ResourceOptions] = None,
168
+ active: Optional[pulumi.Input[_builtins.bool]] = None,
169
+ name: Optional[pulumi.Input[_builtins.str]] = None,
170
+ __props__=None):
171
+ """
172
+ Provides a DNSimple zone resource.
173
+
174
+ > **Note:** 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.
175
+
176
+ ## Example Usage
177
+
178
+ ```python
179
+ import pulumi
180
+ import pulumi_dnsimple as dnsimple
181
+
182
+ example = dnsimple.Zone("example", name="example.com")
183
+ ```
184
+
185
+ ## Import
186
+
187
+ DNSimple zones can be imported using the zone name.
188
+
189
+ bash
190
+
191
+ ```sh
192
+ $ pulumi import dnsimple:index/zone:Zone example example.com
193
+ ```
194
+
195
+ The zone name can be found within the [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.
196
+
197
+ :param str resource_name: The name of the resource.
198
+ :param pulumi.ResourceOptions opts: Options for the resource.
199
+ :param pulumi.Input[_builtins.bool] active: Whether the zone is active.
200
+ :param pulumi.Input[_builtins.str] name: The zone name.
201
+ """
202
+ ...
203
+ @overload
204
+ def __init__(__self__,
205
+ resource_name: str,
206
+ args: ZoneArgs,
207
+ opts: Optional[pulumi.ResourceOptions] = None):
208
+ """
209
+ Provides a DNSimple zone resource.
210
+
211
+ > **Note:** 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.
212
+
213
+ ## Example Usage
214
+
215
+ ```python
216
+ import pulumi
217
+ import pulumi_dnsimple as dnsimple
218
+
219
+ example = dnsimple.Zone("example", name="example.com")
220
+ ```
221
+
222
+ ## Import
223
+
224
+ DNSimple zones can be imported using the zone name.
225
+
226
+ bash
227
+
228
+ ```sh
229
+ $ pulumi import dnsimple:index/zone:Zone example example.com
230
+ ```
231
+
232
+ The zone name can be found within the [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.
233
+
234
+ :param str resource_name: The name of the resource.
235
+ :param ZoneArgs args: The arguments to use to populate this resource's properties.
236
+ :param pulumi.ResourceOptions opts: Options for the resource.
237
+ """
238
+ ...
239
+ def __init__(__self__, resource_name: str, *args, **kwargs):
240
+ resource_args, opts = _utilities.get_resource_args_opts(ZoneArgs, pulumi.ResourceOptions, *args, **kwargs)
241
+ if resource_args is not None:
242
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
243
+ else:
244
+ __self__._internal_init(resource_name, *args, **kwargs)
245
+
246
+ def _internal_init(__self__,
247
+ resource_name: str,
248
+ opts: Optional[pulumi.ResourceOptions] = None,
249
+ active: Optional[pulumi.Input[_builtins.bool]] = None,
250
+ name: Optional[pulumi.Input[_builtins.str]] = None,
251
+ __props__=None):
252
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
253
+ if not isinstance(opts, pulumi.ResourceOptions):
254
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
255
+ if opts.id is None:
256
+ if __props__ is not None:
257
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
258
+ __props__ = ZoneArgs.__new__(ZoneArgs)
259
+
260
+ __props__.__dict__["active"] = active
261
+ if name is None and not opts.urn:
262
+ raise TypeError("Missing required property 'name'")
263
+ __props__.__dict__["name"] = name
264
+ __props__.__dict__["account_id"] = None
265
+ __props__.__dict__["last_transferred_at"] = None
266
+ __props__.__dict__["reverse"] = None
267
+ __props__.__dict__["secondary"] = None
268
+ super(Zone, __self__).__init__(
269
+ 'dnsimple:index/zone:Zone',
270
+ resource_name,
271
+ __props__,
272
+ opts)
273
+
274
+ @staticmethod
275
+ def get(resource_name: str,
276
+ id: pulumi.Input[str],
277
+ opts: Optional[pulumi.ResourceOptions] = None,
278
+ account_id: Optional[pulumi.Input[_builtins.int]] = None,
279
+ active: Optional[pulumi.Input[_builtins.bool]] = None,
280
+ last_transferred_at: Optional[pulumi.Input[_builtins.str]] = None,
281
+ name: Optional[pulumi.Input[_builtins.str]] = None,
282
+ reverse: Optional[pulumi.Input[_builtins.bool]] = None,
283
+ secondary: Optional[pulumi.Input[_builtins.bool]] = None) -> 'Zone':
284
+ """
285
+ Get an existing Zone resource's state with the given name, id, and optional extra
286
+ properties used to qualify the lookup.
287
+
288
+ :param str resource_name: The unique name of the resulting resource.
289
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
290
+ :param pulumi.ResourceOptions opts: Options for the resource.
291
+ :param pulumi.Input[_builtins.int] account_id: The account ID for the zone.
292
+ :param pulumi.Input[_builtins.bool] active: Whether the zone is active.
293
+ :param pulumi.Input[_builtins.str] last_transferred_at: The last time the zone was transferred only applicable for **secondary** zones.
294
+ :param pulumi.Input[_builtins.str] name: The zone name.
295
+ :param pulumi.Input[_builtins.bool] reverse: Whether the zone is a reverse zone.
296
+ :param pulumi.Input[_builtins.bool] secondary: Whether the zone is a secondary zone.
297
+ """
298
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
299
+
300
+ __props__ = _ZoneState.__new__(_ZoneState)
301
+
302
+ __props__.__dict__["account_id"] = account_id
303
+ __props__.__dict__["active"] = active
304
+ __props__.__dict__["last_transferred_at"] = last_transferred_at
305
+ __props__.__dict__["name"] = name
306
+ __props__.__dict__["reverse"] = reverse
307
+ __props__.__dict__["secondary"] = secondary
308
+ return Zone(resource_name, opts=opts, __props__=__props__)
309
+
310
+ @_builtins.property
311
+ @pulumi.getter(name="accountId")
312
+ def account_id(self) -> pulumi.Output[_builtins.int]:
313
+ """
314
+ The account ID for the zone.
315
+ """
316
+ return pulumi.get(self, "account_id")
317
+
318
+ @_builtins.property
319
+ @pulumi.getter
320
+ def active(self) -> pulumi.Output[_builtins.bool]:
321
+ """
322
+ Whether the zone is active.
323
+ """
324
+ return pulumi.get(self, "active")
325
+
326
+ @_builtins.property
327
+ @pulumi.getter(name="lastTransferredAt")
328
+ def last_transferred_at(self) -> pulumi.Output[_builtins.str]:
329
+ """
330
+ The last time the zone was transferred only applicable for **secondary** zones.
331
+ """
332
+ return pulumi.get(self, "last_transferred_at")
333
+
334
+ @_builtins.property
335
+ @pulumi.getter
336
+ def name(self) -> pulumi.Output[_builtins.str]:
337
+ """
338
+ The zone name.
339
+ """
340
+ return pulumi.get(self, "name")
341
+
342
+ @_builtins.property
343
+ @pulumi.getter
344
+ def reverse(self) -> pulumi.Output[_builtins.bool]:
345
+ """
346
+ Whether the zone is a reverse zone.
347
+ """
348
+ return pulumi.get(self, "reverse")
349
+
350
+ @_builtins.property
351
+ @pulumi.getter
352
+ def secondary(self) -> pulumi.Output[_builtins.bool]:
353
+ """
354
+ Whether the zone is a secondary zone.
355
+ """
356
+ return pulumi.get(self, "secondary")
357
+