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,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
+