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,496 @@
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__ = ['DsRecordArgs', 'DsRecord']
18
+
19
+ @pulumi.input_type
20
+ class DsRecordArgs:
21
+ def __init__(__self__, *,
22
+ algorithm: pulumi.Input[_builtins.str],
23
+ domain: pulumi.Input[_builtins.str],
24
+ digest: Optional[pulumi.Input[_builtins.str]] = None,
25
+ digest_type: Optional[pulumi.Input[_builtins.str]] = None,
26
+ key_tag: Optional[pulumi.Input[_builtins.str]] = None,
27
+ public_key: Optional[pulumi.Input[_builtins.str]] = None):
28
+ """
29
+ The set of arguments for constructing a DsRecord resource.
30
+ :param pulumi.Input[_builtins.str] algorithm: DNSSEC algorithm number as a string.
31
+ :param pulumi.Input[_builtins.str] domain: The domain name or numeric ID to create the delegation signer record for.
32
+ :param pulumi.Input[_builtins.str] digest: The hexadecimal representation of the digest of the corresponding DNSKEY record.
33
+ :param pulumi.Input[_builtins.str] digest_type: DNSSEC digest type number as a string.
34
+ :param pulumi.Input[_builtins.str] key_tag: A key tag that references the corresponding DNSKEY record.
35
+ :param pulumi.Input[_builtins.str] public_key: A public key that references the corresponding DNSKEY record.
36
+ """
37
+ pulumi.set(__self__, "algorithm", algorithm)
38
+ pulumi.set(__self__, "domain", domain)
39
+ if digest is not None:
40
+ pulumi.set(__self__, "digest", digest)
41
+ if digest_type is not None:
42
+ pulumi.set(__self__, "digest_type", digest_type)
43
+ if key_tag is not None:
44
+ pulumi.set(__self__, "key_tag", key_tag)
45
+ if public_key is not None:
46
+ pulumi.set(__self__, "public_key", public_key)
47
+
48
+ @_builtins.property
49
+ @pulumi.getter
50
+ def algorithm(self) -> pulumi.Input[_builtins.str]:
51
+ """
52
+ DNSSEC algorithm number as a string.
53
+ """
54
+ return pulumi.get(self, "algorithm")
55
+
56
+ @algorithm.setter
57
+ def algorithm(self, value: pulumi.Input[_builtins.str]):
58
+ pulumi.set(self, "algorithm", value)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter
62
+ def domain(self) -> pulumi.Input[_builtins.str]:
63
+ """
64
+ The domain name or numeric ID to create the delegation signer record for.
65
+ """
66
+ return pulumi.get(self, "domain")
67
+
68
+ @domain.setter
69
+ def domain(self, value: pulumi.Input[_builtins.str]):
70
+ pulumi.set(self, "domain", value)
71
+
72
+ @_builtins.property
73
+ @pulumi.getter
74
+ def digest(self) -> Optional[pulumi.Input[_builtins.str]]:
75
+ """
76
+ The hexadecimal representation of the digest of the corresponding DNSKEY record.
77
+ """
78
+ return pulumi.get(self, "digest")
79
+
80
+ @digest.setter
81
+ def digest(self, value: Optional[pulumi.Input[_builtins.str]]):
82
+ pulumi.set(self, "digest", value)
83
+
84
+ @_builtins.property
85
+ @pulumi.getter(name="digestType")
86
+ def digest_type(self) -> Optional[pulumi.Input[_builtins.str]]:
87
+ """
88
+ DNSSEC digest type number as a string.
89
+ """
90
+ return pulumi.get(self, "digest_type")
91
+
92
+ @digest_type.setter
93
+ def digest_type(self, value: Optional[pulumi.Input[_builtins.str]]):
94
+ pulumi.set(self, "digest_type", value)
95
+
96
+ @_builtins.property
97
+ @pulumi.getter(name="keyTag")
98
+ def key_tag(self) -> Optional[pulumi.Input[_builtins.str]]:
99
+ """
100
+ A key tag that references the corresponding DNSKEY record.
101
+ """
102
+ return pulumi.get(self, "key_tag")
103
+
104
+ @key_tag.setter
105
+ def key_tag(self, value: Optional[pulumi.Input[_builtins.str]]):
106
+ pulumi.set(self, "key_tag", value)
107
+
108
+ @_builtins.property
109
+ @pulumi.getter(name="publicKey")
110
+ def public_key(self) -> Optional[pulumi.Input[_builtins.str]]:
111
+ """
112
+ A public key that references the corresponding DNSKEY record.
113
+ """
114
+ return pulumi.get(self, "public_key")
115
+
116
+ @public_key.setter
117
+ def public_key(self, value: Optional[pulumi.Input[_builtins.str]]):
118
+ pulumi.set(self, "public_key", value)
119
+
120
+
121
+ @pulumi.input_type
122
+ class _DsRecordState:
123
+ def __init__(__self__, *,
124
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
125
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
126
+ digest: Optional[pulumi.Input[_builtins.str]] = None,
127
+ digest_type: Optional[pulumi.Input[_builtins.str]] = None,
128
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
129
+ key_tag: Optional[pulumi.Input[_builtins.str]] = None,
130
+ public_key: Optional[pulumi.Input[_builtins.str]] = None,
131
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None):
132
+ """
133
+ Input properties used for looking up and filtering DsRecord resources.
134
+ :param pulumi.Input[_builtins.str] algorithm: DNSSEC algorithm number as a string.
135
+ :param pulumi.Input[_builtins.str] created_at: The timestamp when the DS record was created.
136
+ :param pulumi.Input[_builtins.str] digest: The hexadecimal representation of the digest of the corresponding DNSKEY record.
137
+ :param pulumi.Input[_builtins.str] digest_type: DNSSEC digest type number as a string.
138
+ :param pulumi.Input[_builtins.str] domain: The domain name or numeric ID to create the delegation signer record for.
139
+ :param pulumi.Input[_builtins.str] key_tag: A key tag that references the corresponding DNSKEY record.
140
+ :param pulumi.Input[_builtins.str] public_key: A public key that references the corresponding DNSKEY record.
141
+ :param pulumi.Input[_builtins.str] updated_at: The timestamp when the DS record was last updated.
142
+ """
143
+ if algorithm is not None:
144
+ pulumi.set(__self__, "algorithm", algorithm)
145
+ if created_at is not None:
146
+ pulumi.set(__self__, "created_at", created_at)
147
+ if digest is not None:
148
+ pulumi.set(__self__, "digest", digest)
149
+ if digest_type is not None:
150
+ pulumi.set(__self__, "digest_type", digest_type)
151
+ if domain is not None:
152
+ pulumi.set(__self__, "domain", domain)
153
+ if key_tag is not None:
154
+ pulumi.set(__self__, "key_tag", key_tag)
155
+ if public_key is not None:
156
+ pulumi.set(__self__, "public_key", public_key)
157
+ if updated_at is not None:
158
+ pulumi.set(__self__, "updated_at", updated_at)
159
+
160
+ @_builtins.property
161
+ @pulumi.getter
162
+ def algorithm(self) -> Optional[pulumi.Input[_builtins.str]]:
163
+ """
164
+ DNSSEC algorithm number as a string.
165
+ """
166
+ return pulumi.get(self, "algorithm")
167
+
168
+ @algorithm.setter
169
+ def algorithm(self, value: Optional[pulumi.Input[_builtins.str]]):
170
+ pulumi.set(self, "algorithm", value)
171
+
172
+ @_builtins.property
173
+ @pulumi.getter(name="createdAt")
174
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
175
+ """
176
+ The timestamp when the DS record was created.
177
+ """
178
+ return pulumi.get(self, "created_at")
179
+
180
+ @created_at.setter
181
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
182
+ pulumi.set(self, "created_at", value)
183
+
184
+ @_builtins.property
185
+ @pulumi.getter
186
+ def digest(self) -> Optional[pulumi.Input[_builtins.str]]:
187
+ """
188
+ The hexadecimal representation of the digest of the corresponding DNSKEY record.
189
+ """
190
+ return pulumi.get(self, "digest")
191
+
192
+ @digest.setter
193
+ def digest(self, value: Optional[pulumi.Input[_builtins.str]]):
194
+ pulumi.set(self, "digest", value)
195
+
196
+ @_builtins.property
197
+ @pulumi.getter(name="digestType")
198
+ def digest_type(self) -> Optional[pulumi.Input[_builtins.str]]:
199
+ """
200
+ DNSSEC digest type number as a string.
201
+ """
202
+ return pulumi.get(self, "digest_type")
203
+
204
+ @digest_type.setter
205
+ def digest_type(self, value: Optional[pulumi.Input[_builtins.str]]):
206
+ pulumi.set(self, "digest_type", value)
207
+
208
+ @_builtins.property
209
+ @pulumi.getter
210
+ def domain(self) -> Optional[pulumi.Input[_builtins.str]]:
211
+ """
212
+ The domain name or numeric ID to create the delegation signer record for.
213
+ """
214
+ return pulumi.get(self, "domain")
215
+
216
+ @domain.setter
217
+ def domain(self, value: Optional[pulumi.Input[_builtins.str]]):
218
+ pulumi.set(self, "domain", value)
219
+
220
+ @_builtins.property
221
+ @pulumi.getter(name="keyTag")
222
+ def key_tag(self) -> Optional[pulumi.Input[_builtins.str]]:
223
+ """
224
+ A key tag that references the corresponding DNSKEY record.
225
+ """
226
+ return pulumi.get(self, "key_tag")
227
+
228
+ @key_tag.setter
229
+ def key_tag(self, value: Optional[pulumi.Input[_builtins.str]]):
230
+ pulumi.set(self, "key_tag", value)
231
+
232
+ @_builtins.property
233
+ @pulumi.getter(name="publicKey")
234
+ def public_key(self) -> Optional[pulumi.Input[_builtins.str]]:
235
+ """
236
+ A public key that references the corresponding DNSKEY record.
237
+ """
238
+ return pulumi.get(self, "public_key")
239
+
240
+ @public_key.setter
241
+ def public_key(self, value: Optional[pulumi.Input[_builtins.str]]):
242
+ pulumi.set(self, "public_key", value)
243
+
244
+ @_builtins.property
245
+ @pulumi.getter(name="updatedAt")
246
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
247
+ """
248
+ The timestamp when the DS record was last updated.
249
+ """
250
+ return pulumi.get(self, "updated_at")
251
+
252
+ @updated_at.setter
253
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
254
+ pulumi.set(self, "updated_at", value)
255
+
256
+
257
+ @pulumi.type_token("dnsimple:index/dsRecord:DsRecord")
258
+ class DsRecord(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
264
+ digest: Optional[pulumi.Input[_builtins.str]] = None,
265
+ digest_type: Optional[pulumi.Input[_builtins.str]] = None,
266
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
267
+ key_tag: Optional[pulumi.Input[_builtins.str]] = None,
268
+ public_key: Optional[pulumi.Input[_builtins.str]] = None,
269
+ __props__=None):
270
+ """
271
+ Provides a DNSimple domain delegation signer record resource.
272
+
273
+ ## Example Usage
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumi_dnsimple as dnsimple
278
+
279
+ example = dnsimple.DsRecord("example",
280
+ domain="example.com",
281
+ algorithm="8",
282
+ digest="6CEEA0117A02480216EBF745A7B690F938860074E4AD11AF2AC573007205682B",
283
+ digest_type="2",
284
+ key_tag="12345")
285
+ ```
286
+
287
+ ## Import
288
+
289
+ DNSimple DS records can be imported using the domain name and numeric record ID in the format `domain_name_record_id`.
290
+
291
+ bash
292
+
293
+ ```sh
294
+ $ pulumi import dnsimple:index/dsRecord:DsRecord example example.com_5678
295
+ ```
296
+
297
+ The record ID can be found within the [DNSimple DNSSEC API](https://developer.dnsimple.com/v2/domains/dnssec/#listDomainDelegationSignerRecords). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
298
+
299
+ :param str resource_name: The name of the resource.
300
+ :param pulumi.ResourceOptions opts: Options for the resource.
301
+ :param pulumi.Input[_builtins.str] algorithm: DNSSEC algorithm number as a string.
302
+ :param pulumi.Input[_builtins.str] digest: The hexadecimal representation of the digest of the corresponding DNSKEY record.
303
+ :param pulumi.Input[_builtins.str] digest_type: DNSSEC digest type number as a string.
304
+ :param pulumi.Input[_builtins.str] domain: The domain name or numeric ID to create the delegation signer record for.
305
+ :param pulumi.Input[_builtins.str] key_tag: A key tag that references the corresponding DNSKEY record.
306
+ :param pulumi.Input[_builtins.str] public_key: A public key that references the corresponding DNSKEY record.
307
+ """
308
+ ...
309
+ @overload
310
+ def __init__(__self__,
311
+ resource_name: str,
312
+ args: DsRecordArgs,
313
+ opts: Optional[pulumi.ResourceOptions] = None):
314
+ """
315
+ Provides a DNSimple domain delegation signer record resource.
316
+
317
+ ## Example Usage
318
+
319
+ ```python
320
+ import pulumi
321
+ import pulumi_dnsimple as dnsimple
322
+
323
+ example = dnsimple.DsRecord("example",
324
+ domain="example.com",
325
+ algorithm="8",
326
+ digest="6CEEA0117A02480216EBF745A7B690F938860074E4AD11AF2AC573007205682B",
327
+ digest_type="2",
328
+ key_tag="12345")
329
+ ```
330
+
331
+ ## Import
332
+
333
+ DNSimple DS records can be imported using the domain name and numeric record ID in the format `domain_name_record_id`.
334
+
335
+ bash
336
+
337
+ ```sh
338
+ $ pulumi import dnsimple:index/dsRecord:DsRecord example example.com_5678
339
+ ```
340
+
341
+ The record ID can be found within the [DNSimple DNSSEC API](https://developer.dnsimple.com/v2/domains/dnssec/#listDomainDelegationSignerRecords). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
342
+
343
+ :param str resource_name: The name of the resource.
344
+ :param DsRecordArgs args: The arguments to use to populate this resource's properties.
345
+ :param pulumi.ResourceOptions opts: Options for the resource.
346
+ """
347
+ ...
348
+ def __init__(__self__, resource_name: str, *args, **kwargs):
349
+ resource_args, opts = _utilities.get_resource_args_opts(DsRecordArgs, pulumi.ResourceOptions, *args, **kwargs)
350
+ if resource_args is not None:
351
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
352
+ else:
353
+ __self__._internal_init(resource_name, *args, **kwargs)
354
+
355
+ def _internal_init(__self__,
356
+ resource_name: str,
357
+ opts: Optional[pulumi.ResourceOptions] = None,
358
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
359
+ digest: Optional[pulumi.Input[_builtins.str]] = None,
360
+ digest_type: Optional[pulumi.Input[_builtins.str]] = None,
361
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
362
+ key_tag: Optional[pulumi.Input[_builtins.str]] = None,
363
+ public_key: Optional[pulumi.Input[_builtins.str]] = None,
364
+ __props__=None):
365
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
366
+ if not isinstance(opts, pulumi.ResourceOptions):
367
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
368
+ if opts.id is None:
369
+ if __props__ is not None:
370
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
371
+ __props__ = DsRecordArgs.__new__(DsRecordArgs)
372
+
373
+ if algorithm is None and not opts.urn:
374
+ raise TypeError("Missing required property 'algorithm'")
375
+ __props__.__dict__["algorithm"] = algorithm
376
+ __props__.__dict__["digest"] = digest
377
+ __props__.__dict__["digest_type"] = digest_type
378
+ if domain is None and not opts.urn:
379
+ raise TypeError("Missing required property 'domain'")
380
+ __props__.__dict__["domain"] = domain
381
+ __props__.__dict__["key_tag"] = key_tag
382
+ __props__.__dict__["public_key"] = public_key
383
+ __props__.__dict__["created_at"] = None
384
+ __props__.__dict__["updated_at"] = None
385
+ super(DsRecord, __self__).__init__(
386
+ 'dnsimple:index/dsRecord:DsRecord',
387
+ resource_name,
388
+ __props__,
389
+ opts)
390
+
391
+ @staticmethod
392
+ def get(resource_name: str,
393
+ id: pulumi.Input[str],
394
+ opts: Optional[pulumi.ResourceOptions] = None,
395
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
396
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
397
+ digest: Optional[pulumi.Input[_builtins.str]] = None,
398
+ digest_type: Optional[pulumi.Input[_builtins.str]] = None,
399
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
400
+ key_tag: Optional[pulumi.Input[_builtins.str]] = None,
401
+ public_key: Optional[pulumi.Input[_builtins.str]] = None,
402
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None) -> 'DsRecord':
403
+ """
404
+ Get an existing DsRecord resource's state with the given name, id, and optional extra
405
+ properties used to qualify the lookup.
406
+
407
+ :param str resource_name: The unique name of the resulting resource.
408
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
409
+ :param pulumi.ResourceOptions opts: Options for the resource.
410
+ :param pulumi.Input[_builtins.str] algorithm: DNSSEC algorithm number as a string.
411
+ :param pulumi.Input[_builtins.str] created_at: The timestamp when the DS record was created.
412
+ :param pulumi.Input[_builtins.str] digest: The hexadecimal representation of the digest of the corresponding DNSKEY record.
413
+ :param pulumi.Input[_builtins.str] digest_type: DNSSEC digest type number as a string.
414
+ :param pulumi.Input[_builtins.str] domain: The domain name or numeric ID to create the delegation signer record for.
415
+ :param pulumi.Input[_builtins.str] key_tag: A key tag that references the corresponding DNSKEY record.
416
+ :param pulumi.Input[_builtins.str] public_key: A public key that references the corresponding DNSKEY record.
417
+ :param pulumi.Input[_builtins.str] updated_at: The timestamp when the DS record was last updated.
418
+ """
419
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
420
+
421
+ __props__ = _DsRecordState.__new__(_DsRecordState)
422
+
423
+ __props__.__dict__["algorithm"] = algorithm
424
+ __props__.__dict__["created_at"] = created_at
425
+ __props__.__dict__["digest"] = digest
426
+ __props__.__dict__["digest_type"] = digest_type
427
+ __props__.__dict__["domain"] = domain
428
+ __props__.__dict__["key_tag"] = key_tag
429
+ __props__.__dict__["public_key"] = public_key
430
+ __props__.__dict__["updated_at"] = updated_at
431
+ return DsRecord(resource_name, opts=opts, __props__=__props__)
432
+
433
+ @_builtins.property
434
+ @pulumi.getter
435
+ def algorithm(self) -> pulumi.Output[_builtins.str]:
436
+ """
437
+ DNSSEC algorithm number as a string.
438
+ """
439
+ return pulumi.get(self, "algorithm")
440
+
441
+ @_builtins.property
442
+ @pulumi.getter(name="createdAt")
443
+ def created_at(self) -> pulumi.Output[_builtins.str]:
444
+ """
445
+ The timestamp when the DS record was created.
446
+ """
447
+ return pulumi.get(self, "created_at")
448
+
449
+ @_builtins.property
450
+ @pulumi.getter
451
+ def digest(self) -> pulumi.Output[Optional[_builtins.str]]:
452
+ """
453
+ The hexadecimal representation of the digest of the corresponding DNSKEY record.
454
+ """
455
+ return pulumi.get(self, "digest")
456
+
457
+ @_builtins.property
458
+ @pulumi.getter(name="digestType")
459
+ def digest_type(self) -> pulumi.Output[Optional[_builtins.str]]:
460
+ """
461
+ DNSSEC digest type number as a string.
462
+ """
463
+ return pulumi.get(self, "digest_type")
464
+
465
+ @_builtins.property
466
+ @pulumi.getter
467
+ def domain(self) -> pulumi.Output[_builtins.str]:
468
+ """
469
+ The domain name or numeric ID to create the delegation signer record for.
470
+ """
471
+ return pulumi.get(self, "domain")
472
+
473
+ @_builtins.property
474
+ @pulumi.getter(name="keyTag")
475
+ def key_tag(self) -> pulumi.Output[Optional[_builtins.str]]:
476
+ """
477
+ A key tag that references the corresponding DNSKEY record.
478
+ """
479
+ return pulumi.get(self, "key_tag")
480
+
481
+ @_builtins.property
482
+ @pulumi.getter(name="publicKey")
483
+ def public_key(self) -> pulumi.Output[Optional[_builtins.str]]:
484
+ """
485
+ A public key that references the corresponding DNSKEY record.
486
+ """
487
+ return pulumi.get(self, "public_key")
488
+
489
+ @_builtins.property
490
+ @pulumi.getter(name="updatedAt")
491
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
492
+ """
493
+ The timestamp when the DS record was last updated.
494
+ """
495
+ return pulumi.get(self, "updated_at")
496
+