pulumi-dnsimple 3.5.0a1721236014__py3-none-any.whl → 4.0.0__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,596 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+
12
+ __all__ = ['DsRecordArgs', 'DsRecord']
13
+
14
+ @pulumi.input_type
15
+ class DsRecordArgs:
16
+ def __init__(__self__, *,
17
+ algorithm: pulumi.Input[str],
18
+ domain: pulumi.Input[str],
19
+ digest: Optional[pulumi.Input[str]] = None,
20
+ digest_type: Optional[pulumi.Input[str]] = None,
21
+ keytag: Optional[pulumi.Input[str]] = None,
22
+ public_key: Optional[pulumi.Input[str]] = None):
23
+ """
24
+ The set of arguments for constructing a DsRecord resource.
25
+ :param pulumi.Input[str] algorithm: DNSSEC algorithm number as a string.
26
+ :param pulumi.Input[str] domain: The domain name or numeric ID to create the delegation signer record for.
27
+ :param pulumi.Input[str] digest: The hexidecimal representation of the digest of the corresponding DNSKEY record.
28
+ :param pulumi.Input[str] digest_type: DNSSEC digest type number as a string.
29
+ :param pulumi.Input[str] keytag: A keytag that references the corresponding DNSKEY record.
30
+ :param pulumi.Input[str] public_key: A public key that references the corresponding DNSKEY record.
31
+
32
+ # Attributes Reference
33
+ """
34
+ pulumi.set(__self__, "algorithm", algorithm)
35
+ pulumi.set(__self__, "domain", domain)
36
+ if digest is not None:
37
+ pulumi.set(__self__, "digest", digest)
38
+ if digest_type is not None:
39
+ pulumi.set(__self__, "digest_type", digest_type)
40
+ if keytag is not None:
41
+ pulumi.set(__self__, "keytag", keytag)
42
+ if public_key is not None:
43
+ pulumi.set(__self__, "public_key", public_key)
44
+
45
+ @property
46
+ @pulumi.getter
47
+ def algorithm(self) -> pulumi.Input[str]:
48
+ """
49
+ DNSSEC algorithm number as a string.
50
+ """
51
+ return pulumi.get(self, "algorithm")
52
+
53
+ @algorithm.setter
54
+ def algorithm(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "algorithm", value)
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def domain(self) -> pulumi.Input[str]:
60
+ """
61
+ The domain name or numeric ID to create the delegation signer record for.
62
+ """
63
+ return pulumi.get(self, "domain")
64
+
65
+ @domain.setter
66
+ def domain(self, value: pulumi.Input[str]):
67
+ pulumi.set(self, "domain", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def digest(self) -> Optional[pulumi.Input[str]]:
72
+ """
73
+ The hexidecimal representation of the digest of the corresponding DNSKEY record.
74
+ """
75
+ return pulumi.get(self, "digest")
76
+
77
+ @digest.setter
78
+ def digest(self, value: Optional[pulumi.Input[str]]):
79
+ pulumi.set(self, "digest", value)
80
+
81
+ @property
82
+ @pulumi.getter(name="digestType")
83
+ def digest_type(self) -> Optional[pulumi.Input[str]]:
84
+ """
85
+ DNSSEC digest type number as a string.
86
+ """
87
+ return pulumi.get(self, "digest_type")
88
+
89
+ @digest_type.setter
90
+ def digest_type(self, value: Optional[pulumi.Input[str]]):
91
+ pulumi.set(self, "digest_type", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def keytag(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ A keytag that references the corresponding DNSKEY record.
98
+ """
99
+ return pulumi.get(self, "keytag")
100
+
101
+ @keytag.setter
102
+ def keytag(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "keytag", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="publicKey")
107
+ def public_key(self) -> Optional[pulumi.Input[str]]:
108
+ """
109
+ A public key that references the corresponding DNSKEY record.
110
+
111
+ # Attributes Reference
112
+ """
113
+ return pulumi.get(self, "public_key")
114
+
115
+ @public_key.setter
116
+ def public_key(self, value: Optional[pulumi.Input[str]]):
117
+ pulumi.set(self, "public_key", value)
118
+
119
+
120
+ @pulumi.input_type
121
+ class _DsRecordState:
122
+ def __init__(__self__, *,
123
+ algorithm: Optional[pulumi.Input[str]] = None,
124
+ created_at: Optional[pulumi.Input[str]] = None,
125
+ digest: Optional[pulumi.Input[str]] = None,
126
+ digest_type: Optional[pulumi.Input[str]] = None,
127
+ domain: Optional[pulumi.Input[str]] = None,
128
+ keytag: Optional[pulumi.Input[str]] = None,
129
+ public_key: Optional[pulumi.Input[str]] = None,
130
+ updated_at: Optional[pulumi.Input[str]] = None):
131
+ """
132
+ Input properties used for looking up and filtering DsRecord resources.
133
+ :param pulumi.Input[str] algorithm: DNSSEC algorithm number as a string.
134
+ :param pulumi.Input[str] created_at: The time the DS record was created at.
135
+ :param pulumi.Input[str] digest: The hexidecimal representation of the digest of the corresponding DNSKEY record.
136
+ :param pulumi.Input[str] digest_type: DNSSEC digest type number as a string.
137
+ :param pulumi.Input[str] domain: The domain name or numeric ID to create the delegation signer record for.
138
+ :param pulumi.Input[str] keytag: A keytag that references the corresponding DNSKEY record.
139
+ :param pulumi.Input[str] public_key: A public key that references the corresponding DNSKEY record.
140
+
141
+ # Attributes Reference
142
+ :param pulumi.Input[str] updated_at: The time the DS record was last updated at.
143
+ """
144
+ if algorithm is not None:
145
+ pulumi.set(__self__, "algorithm", algorithm)
146
+ if created_at is not None:
147
+ pulumi.set(__self__, "created_at", created_at)
148
+ if digest is not None:
149
+ pulumi.set(__self__, "digest", digest)
150
+ if digest_type is not None:
151
+ pulumi.set(__self__, "digest_type", digest_type)
152
+ if domain is not None:
153
+ pulumi.set(__self__, "domain", domain)
154
+ if keytag is not None:
155
+ pulumi.set(__self__, "keytag", keytag)
156
+ if public_key is not None:
157
+ pulumi.set(__self__, "public_key", public_key)
158
+ if updated_at is not None:
159
+ pulumi.set(__self__, "updated_at", updated_at)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def algorithm(self) -> Optional[pulumi.Input[str]]:
164
+ """
165
+ DNSSEC algorithm number as a string.
166
+ """
167
+ return pulumi.get(self, "algorithm")
168
+
169
+ @algorithm.setter
170
+ def algorithm(self, value: Optional[pulumi.Input[str]]):
171
+ pulumi.set(self, "algorithm", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="createdAt")
175
+ def created_at(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ The time the DS record was created at.
178
+ """
179
+ return pulumi.get(self, "created_at")
180
+
181
+ @created_at.setter
182
+ def created_at(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "created_at", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def digest(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The hexidecimal representation of the digest of the corresponding DNSKEY record.
190
+ """
191
+ return pulumi.get(self, "digest")
192
+
193
+ @digest.setter
194
+ def digest(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "digest", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="digestType")
199
+ def digest_type(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ DNSSEC digest type number as a string.
202
+ """
203
+ return pulumi.get(self, "digest_type")
204
+
205
+ @digest_type.setter
206
+ def digest_type(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "digest_type", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def domain(self) -> Optional[pulumi.Input[str]]:
212
+ """
213
+ The domain name or numeric ID to create the delegation signer record for.
214
+ """
215
+ return pulumi.get(self, "domain")
216
+
217
+ @domain.setter
218
+ def domain(self, value: Optional[pulumi.Input[str]]):
219
+ pulumi.set(self, "domain", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def keytag(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ A keytag that references the corresponding DNSKEY record.
226
+ """
227
+ return pulumi.get(self, "keytag")
228
+
229
+ @keytag.setter
230
+ def keytag(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "keytag", value)
232
+
233
+ @property
234
+ @pulumi.getter(name="publicKey")
235
+ def public_key(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ A public key that references the corresponding DNSKEY record.
238
+
239
+ # Attributes Reference
240
+ """
241
+ return pulumi.get(self, "public_key")
242
+
243
+ @public_key.setter
244
+ def public_key(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "public_key", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="updatedAt")
249
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
250
+ """
251
+ The time the DS record was last updated at.
252
+ """
253
+ return pulumi.get(self, "updated_at")
254
+
255
+ @updated_at.setter
256
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
257
+ pulumi.set(self, "updated_at", value)
258
+
259
+
260
+ class DsRecord(pulumi.CustomResource):
261
+ @overload
262
+ def __init__(__self__,
263
+ resource_name: str,
264
+ opts: Optional[pulumi.ResourceOptions] = None,
265
+ algorithm: Optional[pulumi.Input[str]] = None,
266
+ digest: Optional[pulumi.Input[str]] = None,
267
+ digest_type: Optional[pulumi.Input[str]] = None,
268
+ domain: Optional[pulumi.Input[str]] = None,
269
+ keytag: Optional[pulumi.Input[str]] = None,
270
+ public_key: Optional[pulumi.Input[str]] = None,
271
+ __props__=None):
272
+ """
273
+ Provides a DNSimple domain delegation signer record resource.
274
+
275
+ ## Example Usage
276
+
277
+ ```python
278
+ import pulumi
279
+ import pulumi_dnsimple as dnsimple
280
+
281
+ foobar = dnsimple.DsRecord("foobar",
282
+ domain=dnsimple["domain"],
283
+ algorithm="8",
284
+ digest="6CEEA0117A02480216EBF745A7B690F938860074E4AD11AF2AC573007205682B",
285
+ digest_type="2",
286
+ key_tag="12345")
287
+ ```
288
+
289
+ ## Import
290
+
291
+ DNSimple DS record resources can be imported using their domain ID and numeric record ID.
292
+
293
+ bash
294
+
295
+ ```sh
296
+ $ pulumi import dnsimple:index/dsRecord:DsRecord resource_name example.com_5678
297
+ ```
298
+
299
+ The record ID can be found within [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.
300
+
301
+ bash
302
+
303
+ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1010/domains/example.com/ds_records | jq
304
+
305
+ {
306
+
307
+ "data": [
308
+
309
+ {
310
+
311
+ "id": 24,
312
+
313
+ "domain_id": 1010,
314
+
315
+ "algorithm": "8",
316
+
317
+ "digest": "C1F6E04A5A61FBF65BF9DC8294C363CF11C89E802D926BDAB79C55D27BEFA94F",
318
+
319
+ "digest_type": "2",
320
+
321
+ "keytag": "44620",
322
+
323
+ "public_key": null,
324
+
325
+ "created_at": "2017-03-03T13:49:58Z",
326
+
327
+ "updated_at": "2017-03-03T13:49:58Z"
328
+
329
+ }
330
+
331
+ ],
332
+
333
+ "pagination": {
334
+
335
+ "current_page": 1,
336
+
337
+ "per_page": 30,
338
+
339
+ "total_entries": 1,
340
+
341
+ "total_pages": 1
342
+
343
+ }
344
+
345
+ }
346
+
347
+ :param str resource_name: The name of the resource.
348
+ :param pulumi.ResourceOptions opts: Options for the resource.
349
+ :param pulumi.Input[str] algorithm: DNSSEC algorithm number as a string.
350
+ :param pulumi.Input[str] digest: The hexidecimal representation of the digest of the corresponding DNSKEY record.
351
+ :param pulumi.Input[str] digest_type: DNSSEC digest type number as a string.
352
+ :param pulumi.Input[str] domain: The domain name or numeric ID to create the delegation signer record for.
353
+ :param pulumi.Input[str] keytag: A keytag that references the corresponding DNSKEY record.
354
+ :param pulumi.Input[str] public_key: A public key that references the corresponding DNSKEY record.
355
+
356
+ # Attributes Reference
357
+ """
358
+ ...
359
+ @overload
360
+ def __init__(__self__,
361
+ resource_name: str,
362
+ args: DsRecordArgs,
363
+ opts: Optional[pulumi.ResourceOptions] = None):
364
+ """
365
+ Provides a DNSimple domain delegation signer record resource.
366
+
367
+ ## Example Usage
368
+
369
+ ```python
370
+ import pulumi
371
+ import pulumi_dnsimple as dnsimple
372
+
373
+ foobar = dnsimple.DsRecord("foobar",
374
+ domain=dnsimple["domain"],
375
+ algorithm="8",
376
+ digest="6CEEA0117A02480216EBF745A7B690F938860074E4AD11AF2AC573007205682B",
377
+ digest_type="2",
378
+ key_tag="12345")
379
+ ```
380
+
381
+ ## Import
382
+
383
+ DNSimple DS record resources can be imported using their domain ID and numeric record ID.
384
+
385
+ bash
386
+
387
+ ```sh
388
+ $ pulumi import dnsimple:index/dsRecord:DsRecord resource_name example.com_5678
389
+ ```
390
+
391
+ The record ID can be found within [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.
392
+
393
+ bash
394
+
395
+ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1010/domains/example.com/ds_records | jq
396
+
397
+ {
398
+
399
+ "data": [
400
+
401
+ {
402
+
403
+ "id": 24,
404
+
405
+ "domain_id": 1010,
406
+
407
+ "algorithm": "8",
408
+
409
+ "digest": "C1F6E04A5A61FBF65BF9DC8294C363CF11C89E802D926BDAB79C55D27BEFA94F",
410
+
411
+ "digest_type": "2",
412
+
413
+ "keytag": "44620",
414
+
415
+ "public_key": null,
416
+
417
+ "created_at": "2017-03-03T13:49:58Z",
418
+
419
+ "updated_at": "2017-03-03T13:49:58Z"
420
+
421
+ }
422
+
423
+ ],
424
+
425
+ "pagination": {
426
+
427
+ "current_page": 1,
428
+
429
+ "per_page": 30,
430
+
431
+ "total_entries": 1,
432
+
433
+ "total_pages": 1
434
+
435
+ }
436
+
437
+ }
438
+
439
+ :param str resource_name: The name of the resource.
440
+ :param DsRecordArgs 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(DsRecordArgs, 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
+ algorithm: Optional[pulumi.Input[str]] = None,
455
+ digest: Optional[pulumi.Input[str]] = None,
456
+ digest_type: Optional[pulumi.Input[str]] = None,
457
+ domain: Optional[pulumi.Input[str]] = None,
458
+ keytag: Optional[pulumi.Input[str]] = None,
459
+ public_key: Optional[pulumi.Input[str]] = None,
460
+ __props__=None):
461
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
462
+ if not isinstance(opts, pulumi.ResourceOptions):
463
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
464
+ if opts.id is None:
465
+ if __props__ is not None:
466
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
467
+ __props__ = DsRecordArgs.__new__(DsRecordArgs)
468
+
469
+ if algorithm is None and not opts.urn:
470
+ raise TypeError("Missing required property 'algorithm'")
471
+ __props__.__dict__["algorithm"] = algorithm
472
+ __props__.__dict__["digest"] = digest
473
+ __props__.__dict__["digest_type"] = digest_type
474
+ if domain is None and not opts.urn:
475
+ raise TypeError("Missing required property 'domain'")
476
+ __props__.__dict__["domain"] = domain
477
+ __props__.__dict__["keytag"] = keytag
478
+ __props__.__dict__["public_key"] = public_key
479
+ __props__.__dict__["created_at"] = None
480
+ __props__.__dict__["updated_at"] = None
481
+ super(DsRecord, __self__).__init__(
482
+ 'dnsimple:index/dsRecord:DsRecord',
483
+ resource_name,
484
+ __props__,
485
+ opts)
486
+
487
+ @staticmethod
488
+ def get(resource_name: str,
489
+ id: pulumi.Input[str],
490
+ opts: Optional[pulumi.ResourceOptions] = None,
491
+ algorithm: Optional[pulumi.Input[str]] = None,
492
+ created_at: Optional[pulumi.Input[str]] = None,
493
+ digest: Optional[pulumi.Input[str]] = None,
494
+ digest_type: Optional[pulumi.Input[str]] = None,
495
+ domain: Optional[pulumi.Input[str]] = None,
496
+ keytag: Optional[pulumi.Input[str]] = None,
497
+ public_key: Optional[pulumi.Input[str]] = None,
498
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'DsRecord':
499
+ """
500
+ Get an existing DsRecord resource's state with the given name, id, and optional extra
501
+ properties used to qualify the lookup.
502
+
503
+ :param str resource_name: The unique name of the resulting resource.
504
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
505
+ :param pulumi.ResourceOptions opts: Options for the resource.
506
+ :param pulumi.Input[str] algorithm: DNSSEC algorithm number as a string.
507
+ :param pulumi.Input[str] created_at: The time the DS record was created at.
508
+ :param pulumi.Input[str] digest: The hexidecimal representation of the digest of the corresponding DNSKEY record.
509
+ :param pulumi.Input[str] digest_type: DNSSEC digest type number as a string.
510
+ :param pulumi.Input[str] domain: The domain name or numeric ID to create the delegation signer record for.
511
+ :param pulumi.Input[str] keytag: A keytag that references the corresponding DNSKEY record.
512
+ :param pulumi.Input[str] public_key: A public key that references the corresponding DNSKEY record.
513
+
514
+ # Attributes Reference
515
+ :param pulumi.Input[str] updated_at: The time the DS record was last updated at.
516
+ """
517
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
518
+
519
+ __props__ = _DsRecordState.__new__(_DsRecordState)
520
+
521
+ __props__.__dict__["algorithm"] = algorithm
522
+ __props__.__dict__["created_at"] = created_at
523
+ __props__.__dict__["digest"] = digest
524
+ __props__.__dict__["digest_type"] = digest_type
525
+ __props__.__dict__["domain"] = domain
526
+ __props__.__dict__["keytag"] = keytag
527
+ __props__.__dict__["public_key"] = public_key
528
+ __props__.__dict__["updated_at"] = updated_at
529
+ return DsRecord(resource_name, opts=opts, __props__=__props__)
530
+
531
+ @property
532
+ @pulumi.getter
533
+ def algorithm(self) -> pulumi.Output[str]:
534
+ """
535
+ DNSSEC algorithm number as a string.
536
+ """
537
+ return pulumi.get(self, "algorithm")
538
+
539
+ @property
540
+ @pulumi.getter(name="createdAt")
541
+ def created_at(self) -> pulumi.Output[str]:
542
+ """
543
+ The time the DS record was created at.
544
+ """
545
+ return pulumi.get(self, "created_at")
546
+
547
+ @property
548
+ @pulumi.getter
549
+ def digest(self) -> pulumi.Output[Optional[str]]:
550
+ """
551
+ The hexidecimal representation of the digest of the corresponding DNSKEY record.
552
+ """
553
+ return pulumi.get(self, "digest")
554
+
555
+ @property
556
+ @pulumi.getter(name="digestType")
557
+ def digest_type(self) -> pulumi.Output[Optional[str]]:
558
+ """
559
+ DNSSEC digest type number as a string.
560
+ """
561
+ return pulumi.get(self, "digest_type")
562
+
563
+ @property
564
+ @pulumi.getter
565
+ def domain(self) -> pulumi.Output[str]:
566
+ """
567
+ The domain name or numeric ID to create the delegation signer record for.
568
+ """
569
+ return pulumi.get(self, "domain")
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def keytag(self) -> pulumi.Output[Optional[str]]:
574
+ """
575
+ A keytag that references the corresponding DNSKEY record.
576
+ """
577
+ return pulumi.get(self, "keytag")
578
+
579
+ @property
580
+ @pulumi.getter(name="publicKey")
581
+ def public_key(self) -> pulumi.Output[Optional[str]]:
582
+ """
583
+ A public key that references the corresponding DNSKEY record.
584
+
585
+ # Attributes Reference
586
+ """
587
+ return pulumi.get(self, "public_key")
588
+
589
+ @property
590
+ @pulumi.getter(name="updatedAt")
591
+ def updated_at(self) -> pulumi.Output[str]:
592
+ """
593
+ The time the DS record was last updated at.
594
+ """
595
+ return pulumi.get(self, "updated_at")
596
+