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.
- pulumi_dnsimple/__init__.py +120 -0
- pulumi_dnsimple/_enums.py +34 -0
- pulumi_dnsimple/_inputs.py +378 -0
- pulumi_dnsimple/_utilities.py +331 -0
- pulumi_dnsimple/config/__init__.py +9 -0
- pulumi_dnsimple/config/__init__.pyi +46 -0
- pulumi_dnsimple/config/vars.py +64 -0
- pulumi_dnsimple/contact.py +981 -0
- pulumi_dnsimple/domain.py +362 -0
- pulumi_dnsimple/domain_delegation.py +244 -0
- pulumi_dnsimple/ds_record.py +496 -0
- pulumi_dnsimple/email_forward.py +324 -0
- pulumi_dnsimple/get_certificate.py +203 -0
- pulumi_dnsimple/get_registrant_change_check.py +168 -0
- pulumi_dnsimple/get_zone.py +133 -0
- pulumi_dnsimple/lets_encrypt_certificate.py +594 -0
- pulumi_dnsimple/outputs.py +353 -0
- pulumi_dnsimple/provider.py +258 -0
- pulumi_dnsimple/pulumi-plugin.json +5 -0
- pulumi_dnsimple/py.typed +0 -0
- pulumi_dnsimple/registered_domain.py +839 -0
- pulumi_dnsimple/zone.py +357 -0
- pulumi_dnsimple/zone_record.py +629 -0
- pulumi_dnsimple-5.1.0a1768541715.dist-info/METADATA +73 -0
- pulumi_dnsimple-5.1.0a1768541715.dist-info/RECORD +27 -0
- pulumi_dnsimple-5.1.0a1768541715.dist-info/WHEEL +5 -0
- pulumi_dnsimple-5.1.0a1768541715.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,629 @@
|
|
|
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__ = ['ZoneRecordArgs', 'ZoneRecord']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class ZoneRecordArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
name: pulumi.Input[_builtins.str],
|
|
23
|
+
type: pulumi.Input[_builtins.str],
|
|
24
|
+
value: pulumi.Input[_builtins.str],
|
|
25
|
+
zone_name: pulumi.Input[_builtins.str],
|
|
26
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
27
|
+
regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
28
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None):
|
|
29
|
+
"""
|
|
30
|
+
The set of arguments for constructing a ZoneRecord resource.
|
|
31
|
+
:param pulumi.Input[_builtins.str] name: The name of the record. Use `""` for the root domain.
|
|
32
|
+
:param pulumi.Input[_builtins.str] type: The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
33
|
+
:param pulumi.Input[_builtins.str] value: The value of the record.
|
|
34
|
+
:param pulumi.Input[_builtins.str] zone_name: The zone name to add the record to.
|
|
35
|
+
:param pulumi.Input[_builtins.int] priority: The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
36
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
37
|
+
:param pulumi.Input[_builtins.int] ttl: The TTL of the record. Defaults to `3600`.
|
|
38
|
+
"""
|
|
39
|
+
pulumi.set(__self__, "name", name)
|
|
40
|
+
pulumi.set(__self__, "type", type)
|
|
41
|
+
pulumi.set(__self__, "value", value)
|
|
42
|
+
pulumi.set(__self__, "zone_name", zone_name)
|
|
43
|
+
if priority is not None:
|
|
44
|
+
pulumi.set(__self__, "priority", priority)
|
|
45
|
+
if regions is not None:
|
|
46
|
+
pulumi.set(__self__, "regions", regions)
|
|
47
|
+
if ttl is not None:
|
|
48
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
49
|
+
|
|
50
|
+
@_builtins.property
|
|
51
|
+
@pulumi.getter
|
|
52
|
+
def name(self) -> pulumi.Input[_builtins.str]:
|
|
53
|
+
"""
|
|
54
|
+
The name of the record. Use `""` for the root domain.
|
|
55
|
+
"""
|
|
56
|
+
return pulumi.get(self, "name")
|
|
57
|
+
|
|
58
|
+
@name.setter
|
|
59
|
+
def name(self, value: pulumi.Input[_builtins.str]):
|
|
60
|
+
pulumi.set(self, "name", value)
|
|
61
|
+
|
|
62
|
+
@_builtins.property
|
|
63
|
+
@pulumi.getter
|
|
64
|
+
def type(self) -> pulumi.Input[_builtins.str]:
|
|
65
|
+
"""
|
|
66
|
+
The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "type")
|
|
69
|
+
|
|
70
|
+
@type.setter
|
|
71
|
+
def type(self, value: pulumi.Input[_builtins.str]):
|
|
72
|
+
pulumi.set(self, "type", value)
|
|
73
|
+
|
|
74
|
+
@_builtins.property
|
|
75
|
+
@pulumi.getter
|
|
76
|
+
def value(self) -> pulumi.Input[_builtins.str]:
|
|
77
|
+
"""
|
|
78
|
+
The value of the record.
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "value")
|
|
81
|
+
|
|
82
|
+
@value.setter
|
|
83
|
+
def value(self, value: pulumi.Input[_builtins.str]):
|
|
84
|
+
pulumi.set(self, "value", value)
|
|
85
|
+
|
|
86
|
+
@_builtins.property
|
|
87
|
+
@pulumi.getter(name="zoneName")
|
|
88
|
+
def zone_name(self) -> pulumi.Input[_builtins.str]:
|
|
89
|
+
"""
|
|
90
|
+
The zone name to add the record to.
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "zone_name")
|
|
93
|
+
|
|
94
|
+
@zone_name.setter
|
|
95
|
+
def zone_name(self, value: pulumi.Input[_builtins.str]):
|
|
96
|
+
pulumi.set(self, "zone_name", value)
|
|
97
|
+
|
|
98
|
+
@_builtins.property
|
|
99
|
+
@pulumi.getter
|
|
100
|
+
def priority(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
101
|
+
"""
|
|
102
|
+
The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "priority")
|
|
105
|
+
|
|
106
|
+
@priority.setter
|
|
107
|
+
def priority(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
108
|
+
pulumi.set(self, "priority", value)
|
|
109
|
+
|
|
110
|
+
@_builtins.property
|
|
111
|
+
@pulumi.getter
|
|
112
|
+
def regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
113
|
+
"""
|
|
114
|
+
A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "regions")
|
|
117
|
+
|
|
118
|
+
@regions.setter
|
|
119
|
+
def regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
120
|
+
pulumi.set(self, "regions", value)
|
|
121
|
+
|
|
122
|
+
@_builtins.property
|
|
123
|
+
@pulumi.getter
|
|
124
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
125
|
+
"""
|
|
126
|
+
The TTL of the record. Defaults to `3600`.
|
|
127
|
+
"""
|
|
128
|
+
return pulumi.get(self, "ttl")
|
|
129
|
+
|
|
130
|
+
@ttl.setter
|
|
131
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
132
|
+
pulumi.set(self, "ttl", value)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
@pulumi.input_type
|
|
136
|
+
class _ZoneRecordState:
|
|
137
|
+
def __init__(__self__, *,
|
|
138
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
139
|
+
name_normalized: Optional[pulumi.Input[_builtins.str]] = None,
|
|
140
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
141
|
+
qualified_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
142
|
+
regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
143
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
144
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
145
|
+
value: Optional[pulumi.Input[_builtins.str]] = None,
|
|
146
|
+
value_normalized: Optional[pulumi.Input[_builtins.str]] = None,
|
|
147
|
+
zone_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
148
|
+
zone_name: Optional[pulumi.Input[_builtins.str]] = None):
|
|
149
|
+
"""
|
|
150
|
+
Input properties used for looking up and filtering ZoneRecord resources.
|
|
151
|
+
:param pulumi.Input[_builtins.str] name: The name of the record. Use `""` for the root domain.
|
|
152
|
+
:param pulumi.Input[_builtins.int] priority: The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
153
|
+
:param pulumi.Input[_builtins.str] qualified_name: The fully qualified domain name (FQDN) of the record.
|
|
154
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
155
|
+
:param pulumi.Input[_builtins.int] ttl: The TTL of the record. Defaults to `3600`.
|
|
156
|
+
:param pulumi.Input[_builtins.str] type: The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
157
|
+
:param pulumi.Input[_builtins.str] value: The value of the record.
|
|
158
|
+
:param pulumi.Input[_builtins.str] value_normalized: The normalized value of the record.
|
|
159
|
+
:param pulumi.Input[_builtins.str] zone_id: The zone ID of the record.
|
|
160
|
+
:param pulumi.Input[_builtins.str] zone_name: The zone name to add the record to.
|
|
161
|
+
"""
|
|
162
|
+
if name is not None:
|
|
163
|
+
pulumi.set(__self__, "name", name)
|
|
164
|
+
if name_normalized is not None:
|
|
165
|
+
pulumi.set(__self__, "name_normalized", name_normalized)
|
|
166
|
+
if priority is not None:
|
|
167
|
+
pulumi.set(__self__, "priority", priority)
|
|
168
|
+
if qualified_name is not None:
|
|
169
|
+
pulumi.set(__self__, "qualified_name", qualified_name)
|
|
170
|
+
if regions is not None:
|
|
171
|
+
pulumi.set(__self__, "regions", regions)
|
|
172
|
+
if ttl is not None:
|
|
173
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
174
|
+
if type is not None:
|
|
175
|
+
pulumi.set(__self__, "type", type)
|
|
176
|
+
if value is not None:
|
|
177
|
+
pulumi.set(__self__, "value", value)
|
|
178
|
+
if value_normalized is not None:
|
|
179
|
+
pulumi.set(__self__, "value_normalized", value_normalized)
|
|
180
|
+
if zone_id is not None:
|
|
181
|
+
pulumi.set(__self__, "zone_id", zone_id)
|
|
182
|
+
if zone_name is not None:
|
|
183
|
+
pulumi.set(__self__, "zone_name", zone_name)
|
|
184
|
+
|
|
185
|
+
@_builtins.property
|
|
186
|
+
@pulumi.getter
|
|
187
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
188
|
+
"""
|
|
189
|
+
The name of the record. Use `""` for the root domain.
|
|
190
|
+
"""
|
|
191
|
+
return pulumi.get(self, "name")
|
|
192
|
+
|
|
193
|
+
@name.setter
|
|
194
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
195
|
+
pulumi.set(self, "name", value)
|
|
196
|
+
|
|
197
|
+
@_builtins.property
|
|
198
|
+
@pulumi.getter(name="nameNormalized")
|
|
199
|
+
def name_normalized(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
200
|
+
return pulumi.get(self, "name_normalized")
|
|
201
|
+
|
|
202
|
+
@name_normalized.setter
|
|
203
|
+
def name_normalized(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
204
|
+
pulumi.set(self, "name_normalized", value)
|
|
205
|
+
|
|
206
|
+
@_builtins.property
|
|
207
|
+
@pulumi.getter
|
|
208
|
+
def priority(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
209
|
+
"""
|
|
210
|
+
The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
211
|
+
"""
|
|
212
|
+
return pulumi.get(self, "priority")
|
|
213
|
+
|
|
214
|
+
@priority.setter
|
|
215
|
+
def priority(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
216
|
+
pulumi.set(self, "priority", value)
|
|
217
|
+
|
|
218
|
+
@_builtins.property
|
|
219
|
+
@pulumi.getter(name="qualifiedName")
|
|
220
|
+
def qualified_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
221
|
+
"""
|
|
222
|
+
The fully qualified domain name (FQDN) of the record.
|
|
223
|
+
"""
|
|
224
|
+
return pulumi.get(self, "qualified_name")
|
|
225
|
+
|
|
226
|
+
@qualified_name.setter
|
|
227
|
+
def qualified_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
228
|
+
pulumi.set(self, "qualified_name", value)
|
|
229
|
+
|
|
230
|
+
@_builtins.property
|
|
231
|
+
@pulumi.getter
|
|
232
|
+
def regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
233
|
+
"""
|
|
234
|
+
A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
235
|
+
"""
|
|
236
|
+
return pulumi.get(self, "regions")
|
|
237
|
+
|
|
238
|
+
@regions.setter
|
|
239
|
+
def regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
240
|
+
pulumi.set(self, "regions", value)
|
|
241
|
+
|
|
242
|
+
@_builtins.property
|
|
243
|
+
@pulumi.getter
|
|
244
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
245
|
+
"""
|
|
246
|
+
The TTL of the record. Defaults to `3600`.
|
|
247
|
+
"""
|
|
248
|
+
return pulumi.get(self, "ttl")
|
|
249
|
+
|
|
250
|
+
@ttl.setter
|
|
251
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
252
|
+
pulumi.set(self, "ttl", value)
|
|
253
|
+
|
|
254
|
+
@_builtins.property
|
|
255
|
+
@pulumi.getter
|
|
256
|
+
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
257
|
+
"""
|
|
258
|
+
The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "type")
|
|
261
|
+
|
|
262
|
+
@type.setter
|
|
263
|
+
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
264
|
+
pulumi.set(self, "type", value)
|
|
265
|
+
|
|
266
|
+
@_builtins.property
|
|
267
|
+
@pulumi.getter
|
|
268
|
+
def value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
269
|
+
"""
|
|
270
|
+
The value of the record.
|
|
271
|
+
"""
|
|
272
|
+
return pulumi.get(self, "value")
|
|
273
|
+
|
|
274
|
+
@value.setter
|
|
275
|
+
def value(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
276
|
+
pulumi.set(self, "value", value)
|
|
277
|
+
|
|
278
|
+
@_builtins.property
|
|
279
|
+
@pulumi.getter(name="valueNormalized")
|
|
280
|
+
def value_normalized(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
281
|
+
"""
|
|
282
|
+
The normalized value of the record.
|
|
283
|
+
"""
|
|
284
|
+
return pulumi.get(self, "value_normalized")
|
|
285
|
+
|
|
286
|
+
@value_normalized.setter
|
|
287
|
+
def value_normalized(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
288
|
+
pulumi.set(self, "value_normalized", value)
|
|
289
|
+
|
|
290
|
+
@_builtins.property
|
|
291
|
+
@pulumi.getter(name="zoneId")
|
|
292
|
+
def zone_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
293
|
+
"""
|
|
294
|
+
The zone ID of the record.
|
|
295
|
+
"""
|
|
296
|
+
return pulumi.get(self, "zone_id")
|
|
297
|
+
|
|
298
|
+
@zone_id.setter
|
|
299
|
+
def zone_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
300
|
+
pulumi.set(self, "zone_id", value)
|
|
301
|
+
|
|
302
|
+
@_builtins.property
|
|
303
|
+
@pulumi.getter(name="zoneName")
|
|
304
|
+
def zone_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
305
|
+
"""
|
|
306
|
+
The zone name to add the record to.
|
|
307
|
+
"""
|
|
308
|
+
return pulumi.get(self, "zone_name")
|
|
309
|
+
|
|
310
|
+
@zone_name.setter
|
|
311
|
+
def zone_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
312
|
+
pulumi.set(self, "zone_name", value)
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
@pulumi.type_token("dnsimple:index/zoneRecord:ZoneRecord")
|
|
316
|
+
class ZoneRecord(pulumi.CustomResource):
|
|
317
|
+
@overload
|
|
318
|
+
def __init__(__self__,
|
|
319
|
+
resource_name: str,
|
|
320
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
321
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
322
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
323
|
+
regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
324
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
325
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
326
|
+
value: Optional[pulumi.Input[_builtins.str]] = None,
|
|
327
|
+
zone_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
328
|
+
__props__=None):
|
|
329
|
+
"""
|
|
330
|
+
Provides a DNSimple zone record resource.
|
|
331
|
+
|
|
332
|
+
## Example Usage
|
|
333
|
+
|
|
334
|
+
```python
|
|
335
|
+
import pulumi
|
|
336
|
+
import pulumi_dnsimple as dnsimple
|
|
337
|
+
|
|
338
|
+
# Add a record to the root domain
|
|
339
|
+
apex = dnsimple.ZoneRecord("apex",
|
|
340
|
+
zone_name="example.com",
|
|
341
|
+
name="",
|
|
342
|
+
value="192.0.2.1",
|
|
343
|
+
type="A",
|
|
344
|
+
ttl=3600)
|
|
345
|
+
# Add a record to a subdomain
|
|
346
|
+
www = dnsimple.ZoneRecord("www",
|
|
347
|
+
zone_name="example.com",
|
|
348
|
+
name="www",
|
|
349
|
+
value="192.0.2.1",
|
|
350
|
+
type="A",
|
|
351
|
+
ttl=3600)
|
|
352
|
+
# Add an MX record
|
|
353
|
+
mx = dnsimple.ZoneRecord("mx",
|
|
354
|
+
zone_name="example.com",
|
|
355
|
+
name="",
|
|
356
|
+
value="mail.example.com",
|
|
357
|
+
type="MX",
|
|
358
|
+
priority=10,
|
|
359
|
+
ttl=3600)
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
## Import
|
|
363
|
+
|
|
364
|
+
DNSimple zone records can be imported using the zone name and numeric record ID in the format `zone_name_record_id`.
|
|
365
|
+
|
|
366
|
+
**Importing record for example.com with record ID 1234:**
|
|
367
|
+
|
|
368
|
+
bash
|
|
369
|
+
|
|
370
|
+
```sh
|
|
371
|
+
$ pulumi import dnsimple:index/zoneRecord:ZoneRecord example example.com_1234
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
The record ID can be found in the URL when editing a record on the DNSimple web dashboard, or via the [DNSimple Zone Records API](https://developer.dnsimple.com/v2/zones/records/#listZoneRecords).
|
|
375
|
+
|
|
376
|
+
:param str resource_name: The name of the resource.
|
|
377
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
378
|
+
:param pulumi.Input[_builtins.str] name: The name of the record. Use `""` for the root domain.
|
|
379
|
+
:param pulumi.Input[_builtins.int] priority: The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
380
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
381
|
+
:param pulumi.Input[_builtins.int] ttl: The TTL of the record. Defaults to `3600`.
|
|
382
|
+
:param pulumi.Input[_builtins.str] type: The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
383
|
+
:param pulumi.Input[_builtins.str] value: The value of the record.
|
|
384
|
+
:param pulumi.Input[_builtins.str] zone_name: The zone name to add the record to.
|
|
385
|
+
"""
|
|
386
|
+
...
|
|
387
|
+
@overload
|
|
388
|
+
def __init__(__self__,
|
|
389
|
+
resource_name: str,
|
|
390
|
+
args: ZoneRecordArgs,
|
|
391
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
392
|
+
"""
|
|
393
|
+
Provides a DNSimple zone record resource.
|
|
394
|
+
|
|
395
|
+
## Example Usage
|
|
396
|
+
|
|
397
|
+
```python
|
|
398
|
+
import pulumi
|
|
399
|
+
import pulumi_dnsimple as dnsimple
|
|
400
|
+
|
|
401
|
+
# Add a record to the root domain
|
|
402
|
+
apex = dnsimple.ZoneRecord("apex",
|
|
403
|
+
zone_name="example.com",
|
|
404
|
+
name="",
|
|
405
|
+
value="192.0.2.1",
|
|
406
|
+
type="A",
|
|
407
|
+
ttl=3600)
|
|
408
|
+
# Add a record to a subdomain
|
|
409
|
+
www = dnsimple.ZoneRecord("www",
|
|
410
|
+
zone_name="example.com",
|
|
411
|
+
name="www",
|
|
412
|
+
value="192.0.2.1",
|
|
413
|
+
type="A",
|
|
414
|
+
ttl=3600)
|
|
415
|
+
# Add an MX record
|
|
416
|
+
mx = dnsimple.ZoneRecord("mx",
|
|
417
|
+
zone_name="example.com",
|
|
418
|
+
name="",
|
|
419
|
+
value="mail.example.com",
|
|
420
|
+
type="MX",
|
|
421
|
+
priority=10,
|
|
422
|
+
ttl=3600)
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
## Import
|
|
426
|
+
|
|
427
|
+
DNSimple zone records can be imported using the zone name and numeric record ID in the format `zone_name_record_id`.
|
|
428
|
+
|
|
429
|
+
**Importing record for example.com with record ID 1234:**
|
|
430
|
+
|
|
431
|
+
bash
|
|
432
|
+
|
|
433
|
+
```sh
|
|
434
|
+
$ pulumi import dnsimple:index/zoneRecord:ZoneRecord example example.com_1234
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
The record ID can be found in the URL when editing a record on the DNSimple web dashboard, or via the [DNSimple Zone Records API](https://developer.dnsimple.com/v2/zones/records/#listZoneRecords).
|
|
438
|
+
|
|
439
|
+
:param str resource_name: The name of the resource.
|
|
440
|
+
:param ZoneRecordArgs args: The arguments to use to populate this resource's properties.
|
|
441
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
442
|
+
"""
|
|
443
|
+
...
|
|
444
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
445
|
+
resource_args, opts = _utilities.get_resource_args_opts(ZoneRecordArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
446
|
+
if resource_args is not None:
|
|
447
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
448
|
+
else:
|
|
449
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
450
|
+
|
|
451
|
+
def _internal_init(__self__,
|
|
452
|
+
resource_name: str,
|
|
453
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
454
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
455
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
456
|
+
regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
457
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
458
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
459
|
+
value: Optional[pulumi.Input[_builtins.str]] = None,
|
|
460
|
+
zone_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
461
|
+
__props__=None):
|
|
462
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
463
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
464
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
465
|
+
if opts.id is None:
|
|
466
|
+
if __props__ is not None:
|
|
467
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
468
|
+
__props__ = ZoneRecordArgs.__new__(ZoneRecordArgs)
|
|
469
|
+
|
|
470
|
+
if name is None and not opts.urn:
|
|
471
|
+
raise TypeError("Missing required property 'name'")
|
|
472
|
+
__props__.__dict__["name"] = name
|
|
473
|
+
__props__.__dict__["priority"] = priority
|
|
474
|
+
__props__.__dict__["regions"] = regions
|
|
475
|
+
__props__.__dict__["ttl"] = ttl
|
|
476
|
+
if type is None and not opts.urn:
|
|
477
|
+
raise TypeError("Missing required property 'type'")
|
|
478
|
+
__props__.__dict__["type"] = type
|
|
479
|
+
if value is None and not opts.urn:
|
|
480
|
+
raise TypeError("Missing required property 'value'")
|
|
481
|
+
__props__.__dict__["value"] = value
|
|
482
|
+
if zone_name is None and not opts.urn:
|
|
483
|
+
raise TypeError("Missing required property 'zone_name'")
|
|
484
|
+
__props__.__dict__["zone_name"] = zone_name
|
|
485
|
+
__props__.__dict__["name_normalized"] = None
|
|
486
|
+
__props__.__dict__["qualified_name"] = None
|
|
487
|
+
__props__.__dict__["value_normalized"] = None
|
|
488
|
+
__props__.__dict__["zone_id"] = None
|
|
489
|
+
super(ZoneRecord, __self__).__init__(
|
|
490
|
+
'dnsimple:index/zoneRecord:ZoneRecord',
|
|
491
|
+
resource_name,
|
|
492
|
+
__props__,
|
|
493
|
+
opts)
|
|
494
|
+
|
|
495
|
+
@staticmethod
|
|
496
|
+
def get(resource_name: str,
|
|
497
|
+
id: pulumi.Input[str],
|
|
498
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
499
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
500
|
+
name_normalized: Optional[pulumi.Input[_builtins.str]] = None,
|
|
501
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
502
|
+
qualified_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
503
|
+
regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
504
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
505
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
506
|
+
value: Optional[pulumi.Input[_builtins.str]] = None,
|
|
507
|
+
value_normalized: Optional[pulumi.Input[_builtins.str]] = None,
|
|
508
|
+
zone_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
509
|
+
zone_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'ZoneRecord':
|
|
510
|
+
"""
|
|
511
|
+
Get an existing ZoneRecord resource's state with the given name, id, and optional extra
|
|
512
|
+
properties used to qualify the lookup.
|
|
513
|
+
|
|
514
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
515
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
516
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
517
|
+
:param pulumi.Input[_builtins.str] name: The name of the record. Use `""` for the root domain.
|
|
518
|
+
:param pulumi.Input[_builtins.int] priority: The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
519
|
+
:param pulumi.Input[_builtins.str] qualified_name: The fully qualified domain name (FQDN) of the record.
|
|
520
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
521
|
+
:param pulumi.Input[_builtins.int] ttl: The TTL of the record. Defaults to `3600`.
|
|
522
|
+
:param pulumi.Input[_builtins.str] type: The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
523
|
+
:param pulumi.Input[_builtins.str] value: The value of the record.
|
|
524
|
+
:param pulumi.Input[_builtins.str] value_normalized: The normalized value of the record.
|
|
525
|
+
:param pulumi.Input[_builtins.str] zone_id: The zone ID of the record.
|
|
526
|
+
:param pulumi.Input[_builtins.str] zone_name: The zone name to add the record to.
|
|
527
|
+
"""
|
|
528
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
529
|
+
|
|
530
|
+
__props__ = _ZoneRecordState.__new__(_ZoneRecordState)
|
|
531
|
+
|
|
532
|
+
__props__.__dict__["name"] = name
|
|
533
|
+
__props__.__dict__["name_normalized"] = name_normalized
|
|
534
|
+
__props__.__dict__["priority"] = priority
|
|
535
|
+
__props__.__dict__["qualified_name"] = qualified_name
|
|
536
|
+
__props__.__dict__["regions"] = regions
|
|
537
|
+
__props__.__dict__["ttl"] = ttl
|
|
538
|
+
__props__.__dict__["type"] = type
|
|
539
|
+
__props__.__dict__["value"] = value
|
|
540
|
+
__props__.__dict__["value_normalized"] = value_normalized
|
|
541
|
+
__props__.__dict__["zone_id"] = zone_id
|
|
542
|
+
__props__.__dict__["zone_name"] = zone_name
|
|
543
|
+
return ZoneRecord(resource_name, opts=opts, __props__=__props__)
|
|
544
|
+
|
|
545
|
+
@_builtins.property
|
|
546
|
+
@pulumi.getter
|
|
547
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
548
|
+
"""
|
|
549
|
+
The name of the record. Use `""` for the root domain.
|
|
550
|
+
"""
|
|
551
|
+
return pulumi.get(self, "name")
|
|
552
|
+
|
|
553
|
+
@_builtins.property
|
|
554
|
+
@pulumi.getter(name="nameNormalized")
|
|
555
|
+
def name_normalized(self) -> pulumi.Output[_builtins.str]:
|
|
556
|
+
return pulumi.get(self, "name_normalized")
|
|
557
|
+
|
|
558
|
+
@_builtins.property
|
|
559
|
+
@pulumi.getter
|
|
560
|
+
def priority(self) -> pulumi.Output[_builtins.int]:
|
|
561
|
+
"""
|
|
562
|
+
The priority of the record. Only used for certain record types (e.g., `MX`, `SRV`).
|
|
563
|
+
"""
|
|
564
|
+
return pulumi.get(self, "priority")
|
|
565
|
+
|
|
566
|
+
@_builtins.property
|
|
567
|
+
@pulumi.getter(name="qualifiedName")
|
|
568
|
+
def qualified_name(self) -> pulumi.Output[_builtins.str]:
|
|
569
|
+
"""
|
|
570
|
+
The fully qualified domain name (FQDN) of the record.
|
|
571
|
+
"""
|
|
572
|
+
return pulumi.get(self, "qualified_name")
|
|
573
|
+
|
|
574
|
+
@_builtins.property
|
|
575
|
+
@pulumi.getter
|
|
576
|
+
def regions(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
577
|
+
"""
|
|
578
|
+
A list of regions to serve the record from. You can find a list of supported values in our [developer documentation](https://developer.dnsimple.com/v2/zones/records/).
|
|
579
|
+
"""
|
|
580
|
+
return pulumi.get(self, "regions")
|
|
581
|
+
|
|
582
|
+
@_builtins.property
|
|
583
|
+
@pulumi.getter
|
|
584
|
+
def ttl(self) -> pulumi.Output[_builtins.int]:
|
|
585
|
+
"""
|
|
586
|
+
The TTL of the record. Defaults to `3600`.
|
|
587
|
+
"""
|
|
588
|
+
return pulumi.get(self, "ttl")
|
|
589
|
+
|
|
590
|
+
@_builtins.property
|
|
591
|
+
@pulumi.getter
|
|
592
|
+
def type(self) -> pulumi.Output[_builtins.str]:
|
|
593
|
+
"""
|
|
594
|
+
The type of the record (e.g., `A`, `AAAA`, `CNAME`, `MX`, `TXT`). **The record type must be specified in UPPERCASE.**
|
|
595
|
+
"""
|
|
596
|
+
return pulumi.get(self, "type")
|
|
597
|
+
|
|
598
|
+
@_builtins.property
|
|
599
|
+
@pulumi.getter
|
|
600
|
+
def value(self) -> pulumi.Output[_builtins.str]:
|
|
601
|
+
"""
|
|
602
|
+
The value of the record.
|
|
603
|
+
"""
|
|
604
|
+
return pulumi.get(self, "value")
|
|
605
|
+
|
|
606
|
+
@_builtins.property
|
|
607
|
+
@pulumi.getter(name="valueNormalized")
|
|
608
|
+
def value_normalized(self) -> pulumi.Output[_builtins.str]:
|
|
609
|
+
"""
|
|
610
|
+
The normalized value of the record.
|
|
611
|
+
"""
|
|
612
|
+
return pulumi.get(self, "value_normalized")
|
|
613
|
+
|
|
614
|
+
@_builtins.property
|
|
615
|
+
@pulumi.getter(name="zoneId")
|
|
616
|
+
def zone_id(self) -> pulumi.Output[_builtins.str]:
|
|
617
|
+
"""
|
|
618
|
+
The zone ID of the record.
|
|
619
|
+
"""
|
|
620
|
+
return pulumi.get(self, "zone_id")
|
|
621
|
+
|
|
622
|
+
@_builtins.property
|
|
623
|
+
@pulumi.getter(name="zoneName")
|
|
624
|
+
def zone_name(self) -> pulumi.Output[_builtins.str]:
|
|
625
|
+
"""
|
|
626
|
+
The zone name to add the record to.
|
|
627
|
+
"""
|
|
628
|
+
return pulumi.get(self, "zone_name")
|
|
629
|
+
|