pulumi-dnsimple 3.5.0a1721425071__py3-none-any.whl → 4.0.0a1721432730__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,1199 @@
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__ = ['ContactArgs', 'Contact']
13
+
14
+ @pulumi.input_type
15
+ class ContactArgs:
16
+ def __init__(__self__, *,
17
+ address1: pulumi.Input[str],
18
+ city: pulumi.Input[str],
19
+ country: pulumi.Input[str],
20
+ email: pulumi.Input[str],
21
+ first_name: pulumi.Input[str],
22
+ last_name: pulumi.Input[str],
23
+ phone: pulumi.Input[str],
24
+ postal_code: pulumi.Input[str],
25
+ state_province: pulumi.Input[str],
26
+ address2: Optional[pulumi.Input[str]] = None,
27
+ fax: Optional[pulumi.Input[str]] = None,
28
+ job_title: Optional[pulumi.Input[str]] = None,
29
+ label: Optional[pulumi.Input[str]] = None,
30
+ organization_name: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a Contact resource.
33
+ :param pulumi.Input[str] address1: Address line 1
34
+ :param pulumi.Input[str] city: City
35
+ :param pulumi.Input[str] country: Country
36
+ :param pulumi.Input[str] email: Email
37
+
38
+ # Attributes Reference
39
+ :param pulumi.Input[str] first_name: First name
40
+ :param pulumi.Input[str] last_name: Last name
41
+ :param pulumi.Input[str] phone: Phone
42
+ :param pulumi.Input[str] postal_code: Postal code
43
+ :param pulumi.Input[str] state_province: State province
44
+ :param pulumi.Input[str] address2: Address line 2
45
+ :param pulumi.Input[str] fax: Fax
46
+ :param pulumi.Input[str] job_title: Job title
47
+ :param pulumi.Input[str] label: Label
48
+ :param pulumi.Input[str] organization_name: Organization name
49
+ """
50
+ pulumi.set(__self__, "address1", address1)
51
+ pulumi.set(__self__, "city", city)
52
+ pulumi.set(__self__, "country", country)
53
+ pulumi.set(__self__, "email", email)
54
+ pulumi.set(__self__, "first_name", first_name)
55
+ pulumi.set(__self__, "last_name", last_name)
56
+ pulumi.set(__self__, "phone", phone)
57
+ pulumi.set(__self__, "postal_code", postal_code)
58
+ pulumi.set(__self__, "state_province", state_province)
59
+ if address2 is not None:
60
+ pulumi.set(__self__, "address2", address2)
61
+ if fax is not None:
62
+ pulumi.set(__self__, "fax", fax)
63
+ if job_title is not None:
64
+ pulumi.set(__self__, "job_title", job_title)
65
+ if label is not None:
66
+ pulumi.set(__self__, "label", label)
67
+ if organization_name is not None:
68
+ pulumi.set(__self__, "organization_name", organization_name)
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def address1(self) -> pulumi.Input[str]:
73
+ """
74
+ Address line 1
75
+ """
76
+ return pulumi.get(self, "address1")
77
+
78
+ @address1.setter
79
+ def address1(self, value: pulumi.Input[str]):
80
+ pulumi.set(self, "address1", value)
81
+
82
+ @property
83
+ @pulumi.getter
84
+ def city(self) -> pulumi.Input[str]:
85
+ """
86
+ City
87
+ """
88
+ return pulumi.get(self, "city")
89
+
90
+ @city.setter
91
+ def city(self, value: pulumi.Input[str]):
92
+ pulumi.set(self, "city", value)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def country(self) -> pulumi.Input[str]:
97
+ """
98
+ Country
99
+ """
100
+ return pulumi.get(self, "country")
101
+
102
+ @country.setter
103
+ def country(self, value: pulumi.Input[str]):
104
+ pulumi.set(self, "country", value)
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def email(self) -> pulumi.Input[str]:
109
+ """
110
+ Email
111
+
112
+ # Attributes Reference
113
+ """
114
+ return pulumi.get(self, "email")
115
+
116
+ @email.setter
117
+ def email(self, value: pulumi.Input[str]):
118
+ pulumi.set(self, "email", value)
119
+
120
+ @property
121
+ @pulumi.getter(name="firstName")
122
+ def first_name(self) -> pulumi.Input[str]:
123
+ """
124
+ First name
125
+ """
126
+ return pulumi.get(self, "first_name")
127
+
128
+ @first_name.setter
129
+ def first_name(self, value: pulumi.Input[str]):
130
+ pulumi.set(self, "first_name", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="lastName")
134
+ def last_name(self) -> pulumi.Input[str]:
135
+ """
136
+ Last name
137
+ """
138
+ return pulumi.get(self, "last_name")
139
+
140
+ @last_name.setter
141
+ def last_name(self, value: pulumi.Input[str]):
142
+ pulumi.set(self, "last_name", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def phone(self) -> pulumi.Input[str]:
147
+ """
148
+ Phone
149
+ """
150
+ return pulumi.get(self, "phone")
151
+
152
+ @phone.setter
153
+ def phone(self, value: pulumi.Input[str]):
154
+ pulumi.set(self, "phone", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="postalCode")
158
+ def postal_code(self) -> pulumi.Input[str]:
159
+ """
160
+ Postal code
161
+ """
162
+ return pulumi.get(self, "postal_code")
163
+
164
+ @postal_code.setter
165
+ def postal_code(self, value: pulumi.Input[str]):
166
+ pulumi.set(self, "postal_code", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="stateProvince")
170
+ def state_province(self) -> pulumi.Input[str]:
171
+ """
172
+ State province
173
+ """
174
+ return pulumi.get(self, "state_province")
175
+
176
+ @state_province.setter
177
+ def state_province(self, value: pulumi.Input[str]):
178
+ pulumi.set(self, "state_province", value)
179
+
180
+ @property
181
+ @pulumi.getter
182
+ def address2(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ Address line 2
185
+ """
186
+ return pulumi.get(self, "address2")
187
+
188
+ @address2.setter
189
+ def address2(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "address2", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def fax(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ Fax
197
+ """
198
+ return pulumi.get(self, "fax")
199
+
200
+ @fax.setter
201
+ def fax(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "fax", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="jobTitle")
206
+ def job_title(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ Job title
209
+ """
210
+ return pulumi.get(self, "job_title")
211
+
212
+ @job_title.setter
213
+ def job_title(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "job_title", value)
215
+
216
+ @property
217
+ @pulumi.getter
218
+ def label(self) -> Optional[pulumi.Input[str]]:
219
+ """
220
+ Label
221
+ """
222
+ return pulumi.get(self, "label")
223
+
224
+ @label.setter
225
+ def label(self, value: Optional[pulumi.Input[str]]):
226
+ pulumi.set(self, "label", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="organizationName")
230
+ def organization_name(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ Organization name
233
+ """
234
+ return pulumi.get(self, "organization_name")
235
+
236
+ @organization_name.setter
237
+ def organization_name(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "organization_name", value)
239
+
240
+
241
+ @pulumi.input_type
242
+ class _ContactState:
243
+ def __init__(__self__, *,
244
+ account_id: Optional[pulumi.Input[int]] = None,
245
+ address1: Optional[pulumi.Input[str]] = None,
246
+ address2: Optional[pulumi.Input[str]] = None,
247
+ city: Optional[pulumi.Input[str]] = None,
248
+ country: Optional[pulumi.Input[str]] = None,
249
+ created_at: Optional[pulumi.Input[str]] = None,
250
+ email: Optional[pulumi.Input[str]] = None,
251
+ fax: Optional[pulumi.Input[str]] = None,
252
+ fax_normalized: Optional[pulumi.Input[str]] = None,
253
+ first_name: Optional[pulumi.Input[str]] = None,
254
+ job_title: Optional[pulumi.Input[str]] = None,
255
+ label: Optional[pulumi.Input[str]] = None,
256
+ last_name: Optional[pulumi.Input[str]] = None,
257
+ organization_name: Optional[pulumi.Input[str]] = None,
258
+ phone: Optional[pulumi.Input[str]] = None,
259
+ phone_normalized: Optional[pulumi.Input[str]] = None,
260
+ postal_code: Optional[pulumi.Input[str]] = None,
261
+ state_province: Optional[pulumi.Input[str]] = None,
262
+ updated_at: Optional[pulumi.Input[str]] = None):
263
+ """
264
+ Input properties used for looking up and filtering Contact resources.
265
+ :param pulumi.Input[int] account_id: The account ID for the contact.
266
+ :param pulumi.Input[str] address1: Address line 1
267
+ :param pulumi.Input[str] address2: Address line 2
268
+ :param pulumi.Input[str] city: City
269
+ :param pulumi.Input[str] country: Country
270
+ :param pulumi.Input[str] created_at: Timestamp representing when this contact was created.
271
+ :param pulumi.Input[str] email: Email
272
+
273
+ # Attributes Reference
274
+ :param pulumi.Input[str] fax: Fax
275
+ :param pulumi.Input[str] fax_normalized: The fax number, normalized.
276
+ :param pulumi.Input[str] first_name: First name
277
+ :param pulumi.Input[str] job_title: Job title
278
+ :param pulumi.Input[str] label: Label
279
+ :param pulumi.Input[str] last_name: Last name
280
+ :param pulumi.Input[str] organization_name: Organization name
281
+ :param pulumi.Input[str] phone: Phone
282
+ :param pulumi.Input[str] phone_normalized: The phone number, normalized.
283
+ :param pulumi.Input[str] postal_code: Postal code
284
+ :param pulumi.Input[str] state_province: State province
285
+ :param pulumi.Input[str] updated_at: Timestamp representing when this contact was updated.
286
+ """
287
+ if account_id is not None:
288
+ pulumi.set(__self__, "account_id", account_id)
289
+ if address1 is not None:
290
+ pulumi.set(__self__, "address1", address1)
291
+ if address2 is not None:
292
+ pulumi.set(__self__, "address2", address2)
293
+ if city is not None:
294
+ pulumi.set(__self__, "city", city)
295
+ if country is not None:
296
+ pulumi.set(__self__, "country", country)
297
+ if created_at is not None:
298
+ pulumi.set(__self__, "created_at", created_at)
299
+ if email is not None:
300
+ pulumi.set(__self__, "email", email)
301
+ if fax is not None:
302
+ pulumi.set(__self__, "fax", fax)
303
+ if fax_normalized is not None:
304
+ pulumi.set(__self__, "fax_normalized", fax_normalized)
305
+ if first_name is not None:
306
+ pulumi.set(__self__, "first_name", first_name)
307
+ if job_title is not None:
308
+ pulumi.set(__self__, "job_title", job_title)
309
+ if label is not None:
310
+ pulumi.set(__self__, "label", label)
311
+ if last_name is not None:
312
+ pulumi.set(__self__, "last_name", last_name)
313
+ if organization_name is not None:
314
+ pulumi.set(__self__, "organization_name", organization_name)
315
+ if phone is not None:
316
+ pulumi.set(__self__, "phone", phone)
317
+ if phone_normalized is not None:
318
+ pulumi.set(__self__, "phone_normalized", phone_normalized)
319
+ if postal_code is not None:
320
+ pulumi.set(__self__, "postal_code", postal_code)
321
+ if state_province is not None:
322
+ pulumi.set(__self__, "state_province", state_province)
323
+ if updated_at is not None:
324
+ pulumi.set(__self__, "updated_at", updated_at)
325
+
326
+ @property
327
+ @pulumi.getter(name="accountId")
328
+ def account_id(self) -> Optional[pulumi.Input[int]]:
329
+ """
330
+ The account ID for the contact.
331
+ """
332
+ return pulumi.get(self, "account_id")
333
+
334
+ @account_id.setter
335
+ def account_id(self, value: Optional[pulumi.Input[int]]):
336
+ pulumi.set(self, "account_id", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def address1(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Address line 1
343
+ """
344
+ return pulumi.get(self, "address1")
345
+
346
+ @address1.setter
347
+ def address1(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "address1", value)
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def address2(self) -> Optional[pulumi.Input[str]]:
353
+ """
354
+ Address line 2
355
+ """
356
+ return pulumi.get(self, "address2")
357
+
358
+ @address2.setter
359
+ def address2(self, value: Optional[pulumi.Input[str]]):
360
+ pulumi.set(self, "address2", value)
361
+
362
+ @property
363
+ @pulumi.getter
364
+ def city(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ City
367
+ """
368
+ return pulumi.get(self, "city")
369
+
370
+ @city.setter
371
+ def city(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "city", value)
373
+
374
+ @property
375
+ @pulumi.getter
376
+ def country(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ Country
379
+ """
380
+ return pulumi.get(self, "country")
381
+
382
+ @country.setter
383
+ def country(self, value: Optional[pulumi.Input[str]]):
384
+ pulumi.set(self, "country", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="createdAt")
388
+ def created_at(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ Timestamp representing when this contact was created.
391
+ """
392
+ return pulumi.get(self, "created_at")
393
+
394
+ @created_at.setter
395
+ def created_at(self, value: Optional[pulumi.Input[str]]):
396
+ pulumi.set(self, "created_at", value)
397
+
398
+ @property
399
+ @pulumi.getter
400
+ def email(self) -> Optional[pulumi.Input[str]]:
401
+ """
402
+ Email
403
+
404
+ # Attributes Reference
405
+ """
406
+ return pulumi.get(self, "email")
407
+
408
+ @email.setter
409
+ def email(self, value: Optional[pulumi.Input[str]]):
410
+ pulumi.set(self, "email", value)
411
+
412
+ @property
413
+ @pulumi.getter
414
+ def fax(self) -> Optional[pulumi.Input[str]]:
415
+ """
416
+ Fax
417
+ """
418
+ return pulumi.get(self, "fax")
419
+
420
+ @fax.setter
421
+ def fax(self, value: Optional[pulumi.Input[str]]):
422
+ pulumi.set(self, "fax", value)
423
+
424
+ @property
425
+ @pulumi.getter(name="faxNormalized")
426
+ def fax_normalized(self) -> Optional[pulumi.Input[str]]:
427
+ """
428
+ The fax number, normalized.
429
+ """
430
+ return pulumi.get(self, "fax_normalized")
431
+
432
+ @fax_normalized.setter
433
+ def fax_normalized(self, value: Optional[pulumi.Input[str]]):
434
+ pulumi.set(self, "fax_normalized", value)
435
+
436
+ @property
437
+ @pulumi.getter(name="firstName")
438
+ def first_name(self) -> Optional[pulumi.Input[str]]:
439
+ """
440
+ First name
441
+ """
442
+ return pulumi.get(self, "first_name")
443
+
444
+ @first_name.setter
445
+ def first_name(self, value: Optional[pulumi.Input[str]]):
446
+ pulumi.set(self, "first_name", value)
447
+
448
+ @property
449
+ @pulumi.getter(name="jobTitle")
450
+ def job_title(self) -> Optional[pulumi.Input[str]]:
451
+ """
452
+ Job title
453
+ """
454
+ return pulumi.get(self, "job_title")
455
+
456
+ @job_title.setter
457
+ def job_title(self, value: Optional[pulumi.Input[str]]):
458
+ pulumi.set(self, "job_title", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def label(self) -> Optional[pulumi.Input[str]]:
463
+ """
464
+ Label
465
+ """
466
+ return pulumi.get(self, "label")
467
+
468
+ @label.setter
469
+ def label(self, value: Optional[pulumi.Input[str]]):
470
+ pulumi.set(self, "label", value)
471
+
472
+ @property
473
+ @pulumi.getter(name="lastName")
474
+ def last_name(self) -> Optional[pulumi.Input[str]]:
475
+ """
476
+ Last name
477
+ """
478
+ return pulumi.get(self, "last_name")
479
+
480
+ @last_name.setter
481
+ def last_name(self, value: Optional[pulumi.Input[str]]):
482
+ pulumi.set(self, "last_name", value)
483
+
484
+ @property
485
+ @pulumi.getter(name="organizationName")
486
+ def organization_name(self) -> Optional[pulumi.Input[str]]:
487
+ """
488
+ Organization name
489
+ """
490
+ return pulumi.get(self, "organization_name")
491
+
492
+ @organization_name.setter
493
+ def organization_name(self, value: Optional[pulumi.Input[str]]):
494
+ pulumi.set(self, "organization_name", value)
495
+
496
+ @property
497
+ @pulumi.getter
498
+ def phone(self) -> Optional[pulumi.Input[str]]:
499
+ """
500
+ Phone
501
+ """
502
+ return pulumi.get(self, "phone")
503
+
504
+ @phone.setter
505
+ def phone(self, value: Optional[pulumi.Input[str]]):
506
+ pulumi.set(self, "phone", value)
507
+
508
+ @property
509
+ @pulumi.getter(name="phoneNormalized")
510
+ def phone_normalized(self) -> Optional[pulumi.Input[str]]:
511
+ """
512
+ The phone number, normalized.
513
+ """
514
+ return pulumi.get(self, "phone_normalized")
515
+
516
+ @phone_normalized.setter
517
+ def phone_normalized(self, value: Optional[pulumi.Input[str]]):
518
+ pulumi.set(self, "phone_normalized", value)
519
+
520
+ @property
521
+ @pulumi.getter(name="postalCode")
522
+ def postal_code(self) -> Optional[pulumi.Input[str]]:
523
+ """
524
+ Postal code
525
+ """
526
+ return pulumi.get(self, "postal_code")
527
+
528
+ @postal_code.setter
529
+ def postal_code(self, value: Optional[pulumi.Input[str]]):
530
+ pulumi.set(self, "postal_code", value)
531
+
532
+ @property
533
+ @pulumi.getter(name="stateProvince")
534
+ def state_province(self) -> Optional[pulumi.Input[str]]:
535
+ """
536
+ State province
537
+ """
538
+ return pulumi.get(self, "state_province")
539
+
540
+ @state_province.setter
541
+ def state_province(self, value: Optional[pulumi.Input[str]]):
542
+ pulumi.set(self, "state_province", value)
543
+
544
+ @property
545
+ @pulumi.getter(name="updatedAt")
546
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
547
+ """
548
+ Timestamp representing when this contact was updated.
549
+ """
550
+ return pulumi.get(self, "updated_at")
551
+
552
+ @updated_at.setter
553
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
554
+ pulumi.set(self, "updated_at", value)
555
+
556
+
557
+ class Contact(pulumi.CustomResource):
558
+ @overload
559
+ def __init__(__self__,
560
+ resource_name: str,
561
+ opts: Optional[pulumi.ResourceOptions] = None,
562
+ address1: Optional[pulumi.Input[str]] = None,
563
+ address2: Optional[pulumi.Input[str]] = None,
564
+ city: Optional[pulumi.Input[str]] = None,
565
+ country: Optional[pulumi.Input[str]] = None,
566
+ email: Optional[pulumi.Input[str]] = None,
567
+ fax: Optional[pulumi.Input[str]] = None,
568
+ first_name: Optional[pulumi.Input[str]] = None,
569
+ job_title: Optional[pulumi.Input[str]] = None,
570
+ label: Optional[pulumi.Input[str]] = None,
571
+ last_name: Optional[pulumi.Input[str]] = None,
572
+ organization_name: Optional[pulumi.Input[str]] = None,
573
+ phone: Optional[pulumi.Input[str]] = None,
574
+ postal_code: Optional[pulumi.Input[str]] = None,
575
+ state_province: Optional[pulumi.Input[str]] = None,
576
+ __props__=None):
577
+ """
578
+ Provides a DNSimple contact resource.
579
+
580
+ ## Example Usage
581
+
582
+ ```python
583
+ import pulumi
584
+ import pulumi_dnsimple as dnsimple
585
+
586
+ # Create a contact
587
+ me = dnsimple.Contact("me",
588
+ label="Apple Appleseed",
589
+ first_name="Apple",
590
+ last_name="Appleseed",
591
+ organization_name="Contoso",
592
+ job_title="Manager",
593
+ address1="Level 1, 2 Main St",
594
+ address2="Marsfield",
595
+ city="San Francisco",
596
+ state_province="California",
597
+ postal_code="90210",
598
+ country="US",
599
+ phone="+1401239523",
600
+ fax="+1849491024",
601
+ email="apple@contoso.com")
602
+ ```
603
+
604
+ ## Import
605
+
606
+ DNSimple contacts can be imported using their numeric ID.
607
+
608
+ bash
609
+
610
+ ```sh
611
+ $ pulumi import dnsimple:index/contact:Contact resource_name 5678
612
+ ```
613
+
614
+ The ID can be found within [DNSimple Contacts API](https://developer.dnsimple.com/v2/contacts/#listContacts). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
615
+
616
+ bash
617
+
618
+ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/contacts?label_like=example.com | jq
619
+
620
+ {
621
+
622
+ "data": [
623
+
624
+ {
625
+
626
+ "id": 1,
627
+
628
+ "account_id": 1010,
629
+
630
+ "label": "Default",
631
+
632
+ "first_name": "First",
633
+
634
+ "last_name": "User",
635
+
636
+ "job_title": "CEO",
637
+
638
+ "organization_name": "Awesome Company",
639
+
640
+ "email": "first@example.com",
641
+
642
+ "phone": "+18001234567",
643
+
644
+ "fax": "+18011234567",
645
+
646
+ "address1": "Italian Street, 10",
647
+
648
+ "address2": "",
649
+
650
+ "city": "Roma",
651
+
652
+ "state_province": "RM",
653
+
654
+ "postal_code": "00100",
655
+
656
+ "country": "IT",
657
+
658
+ "created_at": "2013-11-08T17:23:15Z",
659
+
660
+ "updated_at": "2015-01-08T21:30:50Z"
661
+
662
+ },
663
+
664
+ {
665
+
666
+ "id": 2,
667
+
668
+ "account_id": 1010,
669
+
670
+ "label": "",
671
+
672
+ "first_name": "Second",
673
+
674
+ "last_name": "User",
675
+
676
+ "job_title": "",
677
+
678
+ "organization_name": "",
679
+
680
+ "email": "second@example.com",
681
+
682
+ "phone": "+18881234567",
683
+
684
+ "fax": "",
685
+
686
+ "address1": "French Street",
687
+
688
+ "address2": "c/o Someone",
689
+
690
+ "city": "Paris",
691
+
692
+ "state_province": "XY",
693
+
694
+ "postal_code": "00200",
695
+
696
+ "country": "FR",
697
+
698
+ "created_at": "2014-12-06T15:46:18Z",
699
+
700
+ "updated_at": "2014-12-06T15:46:18Z"
701
+
702
+ }
703
+
704
+ ],
705
+
706
+ "pagination": {
707
+
708
+ "current_page": 1,
709
+
710
+ "per_page": 30,
711
+
712
+ "total_entries": 2,
713
+
714
+ "total_pages": 1
715
+
716
+ }
717
+
718
+ }
719
+
720
+ :param str resource_name: The name of the resource.
721
+ :param pulumi.ResourceOptions opts: Options for the resource.
722
+ :param pulumi.Input[str] address1: Address line 1
723
+ :param pulumi.Input[str] address2: Address line 2
724
+ :param pulumi.Input[str] city: City
725
+ :param pulumi.Input[str] country: Country
726
+ :param pulumi.Input[str] email: Email
727
+
728
+ # Attributes Reference
729
+ :param pulumi.Input[str] fax: Fax
730
+ :param pulumi.Input[str] first_name: First name
731
+ :param pulumi.Input[str] job_title: Job title
732
+ :param pulumi.Input[str] label: Label
733
+ :param pulumi.Input[str] last_name: Last name
734
+ :param pulumi.Input[str] organization_name: Organization name
735
+ :param pulumi.Input[str] phone: Phone
736
+ :param pulumi.Input[str] postal_code: Postal code
737
+ :param pulumi.Input[str] state_province: State province
738
+ """
739
+ ...
740
+ @overload
741
+ def __init__(__self__,
742
+ resource_name: str,
743
+ args: ContactArgs,
744
+ opts: Optional[pulumi.ResourceOptions] = None):
745
+ """
746
+ Provides a DNSimple contact resource.
747
+
748
+ ## Example Usage
749
+
750
+ ```python
751
+ import pulumi
752
+ import pulumi_dnsimple as dnsimple
753
+
754
+ # Create a contact
755
+ me = dnsimple.Contact("me",
756
+ label="Apple Appleseed",
757
+ first_name="Apple",
758
+ last_name="Appleseed",
759
+ organization_name="Contoso",
760
+ job_title="Manager",
761
+ address1="Level 1, 2 Main St",
762
+ address2="Marsfield",
763
+ city="San Francisco",
764
+ state_province="California",
765
+ postal_code="90210",
766
+ country="US",
767
+ phone="+1401239523",
768
+ fax="+1849491024",
769
+ email="apple@contoso.com")
770
+ ```
771
+
772
+ ## Import
773
+
774
+ DNSimple contacts can be imported using their numeric ID.
775
+
776
+ bash
777
+
778
+ ```sh
779
+ $ pulumi import dnsimple:index/contact:Contact resource_name 5678
780
+ ```
781
+
782
+ The ID can be found within [DNSimple Contacts API](https://developer.dnsimple.com/v2/contacts/#listContacts). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
783
+
784
+ bash
785
+
786
+ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/contacts?label_like=example.com | jq
787
+
788
+ {
789
+
790
+ "data": [
791
+
792
+ {
793
+
794
+ "id": 1,
795
+
796
+ "account_id": 1010,
797
+
798
+ "label": "Default",
799
+
800
+ "first_name": "First",
801
+
802
+ "last_name": "User",
803
+
804
+ "job_title": "CEO",
805
+
806
+ "organization_name": "Awesome Company",
807
+
808
+ "email": "first@example.com",
809
+
810
+ "phone": "+18001234567",
811
+
812
+ "fax": "+18011234567",
813
+
814
+ "address1": "Italian Street, 10",
815
+
816
+ "address2": "",
817
+
818
+ "city": "Roma",
819
+
820
+ "state_province": "RM",
821
+
822
+ "postal_code": "00100",
823
+
824
+ "country": "IT",
825
+
826
+ "created_at": "2013-11-08T17:23:15Z",
827
+
828
+ "updated_at": "2015-01-08T21:30:50Z"
829
+
830
+ },
831
+
832
+ {
833
+
834
+ "id": 2,
835
+
836
+ "account_id": 1010,
837
+
838
+ "label": "",
839
+
840
+ "first_name": "Second",
841
+
842
+ "last_name": "User",
843
+
844
+ "job_title": "",
845
+
846
+ "organization_name": "",
847
+
848
+ "email": "second@example.com",
849
+
850
+ "phone": "+18881234567",
851
+
852
+ "fax": "",
853
+
854
+ "address1": "French Street",
855
+
856
+ "address2": "c/o Someone",
857
+
858
+ "city": "Paris",
859
+
860
+ "state_province": "XY",
861
+
862
+ "postal_code": "00200",
863
+
864
+ "country": "FR",
865
+
866
+ "created_at": "2014-12-06T15:46:18Z",
867
+
868
+ "updated_at": "2014-12-06T15:46:18Z"
869
+
870
+ }
871
+
872
+ ],
873
+
874
+ "pagination": {
875
+
876
+ "current_page": 1,
877
+
878
+ "per_page": 30,
879
+
880
+ "total_entries": 2,
881
+
882
+ "total_pages": 1
883
+
884
+ }
885
+
886
+ }
887
+
888
+ :param str resource_name: The name of the resource.
889
+ :param ContactArgs args: The arguments to use to populate this resource's properties.
890
+ :param pulumi.ResourceOptions opts: Options for the resource.
891
+ """
892
+ ...
893
+ def __init__(__self__, resource_name: str, *args, **kwargs):
894
+ resource_args, opts = _utilities.get_resource_args_opts(ContactArgs, pulumi.ResourceOptions, *args, **kwargs)
895
+ if resource_args is not None:
896
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
897
+ else:
898
+ __self__._internal_init(resource_name, *args, **kwargs)
899
+
900
+ def _internal_init(__self__,
901
+ resource_name: str,
902
+ opts: Optional[pulumi.ResourceOptions] = None,
903
+ address1: Optional[pulumi.Input[str]] = None,
904
+ address2: Optional[pulumi.Input[str]] = None,
905
+ city: Optional[pulumi.Input[str]] = None,
906
+ country: Optional[pulumi.Input[str]] = None,
907
+ email: Optional[pulumi.Input[str]] = None,
908
+ fax: Optional[pulumi.Input[str]] = None,
909
+ first_name: Optional[pulumi.Input[str]] = None,
910
+ job_title: Optional[pulumi.Input[str]] = None,
911
+ label: Optional[pulumi.Input[str]] = None,
912
+ last_name: Optional[pulumi.Input[str]] = None,
913
+ organization_name: Optional[pulumi.Input[str]] = None,
914
+ phone: Optional[pulumi.Input[str]] = None,
915
+ postal_code: Optional[pulumi.Input[str]] = None,
916
+ state_province: Optional[pulumi.Input[str]] = None,
917
+ __props__=None):
918
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
919
+ if not isinstance(opts, pulumi.ResourceOptions):
920
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
921
+ if opts.id is None:
922
+ if __props__ is not None:
923
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
924
+ __props__ = ContactArgs.__new__(ContactArgs)
925
+
926
+ if address1 is None and not opts.urn:
927
+ raise TypeError("Missing required property 'address1'")
928
+ __props__.__dict__["address1"] = address1
929
+ __props__.__dict__["address2"] = address2
930
+ if city is None and not opts.urn:
931
+ raise TypeError("Missing required property 'city'")
932
+ __props__.__dict__["city"] = city
933
+ if country is None and not opts.urn:
934
+ raise TypeError("Missing required property 'country'")
935
+ __props__.__dict__["country"] = country
936
+ if email is None and not opts.urn:
937
+ raise TypeError("Missing required property 'email'")
938
+ __props__.__dict__["email"] = email
939
+ __props__.__dict__["fax"] = fax
940
+ if first_name is None and not opts.urn:
941
+ raise TypeError("Missing required property 'first_name'")
942
+ __props__.__dict__["first_name"] = first_name
943
+ __props__.__dict__["job_title"] = job_title
944
+ __props__.__dict__["label"] = label
945
+ if last_name is None and not opts.urn:
946
+ raise TypeError("Missing required property 'last_name'")
947
+ __props__.__dict__["last_name"] = last_name
948
+ __props__.__dict__["organization_name"] = organization_name
949
+ if phone is None and not opts.urn:
950
+ raise TypeError("Missing required property 'phone'")
951
+ __props__.__dict__["phone"] = phone
952
+ if postal_code is None and not opts.urn:
953
+ raise TypeError("Missing required property 'postal_code'")
954
+ __props__.__dict__["postal_code"] = postal_code
955
+ if state_province is None and not opts.urn:
956
+ raise TypeError("Missing required property 'state_province'")
957
+ __props__.__dict__["state_province"] = state_province
958
+ __props__.__dict__["account_id"] = None
959
+ __props__.__dict__["created_at"] = None
960
+ __props__.__dict__["fax_normalized"] = None
961
+ __props__.__dict__["phone_normalized"] = None
962
+ __props__.__dict__["updated_at"] = None
963
+ super(Contact, __self__).__init__(
964
+ 'dnsimple:index/contact:Contact',
965
+ resource_name,
966
+ __props__,
967
+ opts)
968
+
969
+ @staticmethod
970
+ def get(resource_name: str,
971
+ id: pulumi.Input[str],
972
+ opts: Optional[pulumi.ResourceOptions] = None,
973
+ account_id: Optional[pulumi.Input[int]] = None,
974
+ address1: Optional[pulumi.Input[str]] = None,
975
+ address2: Optional[pulumi.Input[str]] = None,
976
+ city: Optional[pulumi.Input[str]] = None,
977
+ country: Optional[pulumi.Input[str]] = None,
978
+ created_at: Optional[pulumi.Input[str]] = None,
979
+ email: Optional[pulumi.Input[str]] = None,
980
+ fax: Optional[pulumi.Input[str]] = None,
981
+ fax_normalized: Optional[pulumi.Input[str]] = None,
982
+ first_name: Optional[pulumi.Input[str]] = None,
983
+ job_title: Optional[pulumi.Input[str]] = None,
984
+ label: Optional[pulumi.Input[str]] = None,
985
+ last_name: Optional[pulumi.Input[str]] = None,
986
+ organization_name: Optional[pulumi.Input[str]] = None,
987
+ phone: Optional[pulumi.Input[str]] = None,
988
+ phone_normalized: Optional[pulumi.Input[str]] = None,
989
+ postal_code: Optional[pulumi.Input[str]] = None,
990
+ state_province: Optional[pulumi.Input[str]] = None,
991
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'Contact':
992
+ """
993
+ Get an existing Contact resource's state with the given name, id, and optional extra
994
+ properties used to qualify the lookup.
995
+
996
+ :param str resource_name: The unique name of the resulting resource.
997
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
998
+ :param pulumi.ResourceOptions opts: Options for the resource.
999
+ :param pulumi.Input[int] account_id: The account ID for the contact.
1000
+ :param pulumi.Input[str] address1: Address line 1
1001
+ :param pulumi.Input[str] address2: Address line 2
1002
+ :param pulumi.Input[str] city: City
1003
+ :param pulumi.Input[str] country: Country
1004
+ :param pulumi.Input[str] created_at: Timestamp representing when this contact was created.
1005
+ :param pulumi.Input[str] email: Email
1006
+
1007
+ # Attributes Reference
1008
+ :param pulumi.Input[str] fax: Fax
1009
+ :param pulumi.Input[str] fax_normalized: The fax number, normalized.
1010
+ :param pulumi.Input[str] first_name: First name
1011
+ :param pulumi.Input[str] job_title: Job title
1012
+ :param pulumi.Input[str] label: Label
1013
+ :param pulumi.Input[str] last_name: Last name
1014
+ :param pulumi.Input[str] organization_name: Organization name
1015
+ :param pulumi.Input[str] phone: Phone
1016
+ :param pulumi.Input[str] phone_normalized: The phone number, normalized.
1017
+ :param pulumi.Input[str] postal_code: Postal code
1018
+ :param pulumi.Input[str] state_province: State province
1019
+ :param pulumi.Input[str] updated_at: Timestamp representing when this contact was updated.
1020
+ """
1021
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1022
+
1023
+ __props__ = _ContactState.__new__(_ContactState)
1024
+
1025
+ __props__.__dict__["account_id"] = account_id
1026
+ __props__.__dict__["address1"] = address1
1027
+ __props__.__dict__["address2"] = address2
1028
+ __props__.__dict__["city"] = city
1029
+ __props__.__dict__["country"] = country
1030
+ __props__.__dict__["created_at"] = created_at
1031
+ __props__.__dict__["email"] = email
1032
+ __props__.__dict__["fax"] = fax
1033
+ __props__.__dict__["fax_normalized"] = fax_normalized
1034
+ __props__.__dict__["first_name"] = first_name
1035
+ __props__.__dict__["job_title"] = job_title
1036
+ __props__.__dict__["label"] = label
1037
+ __props__.__dict__["last_name"] = last_name
1038
+ __props__.__dict__["organization_name"] = organization_name
1039
+ __props__.__dict__["phone"] = phone
1040
+ __props__.__dict__["phone_normalized"] = phone_normalized
1041
+ __props__.__dict__["postal_code"] = postal_code
1042
+ __props__.__dict__["state_province"] = state_province
1043
+ __props__.__dict__["updated_at"] = updated_at
1044
+ return Contact(resource_name, opts=opts, __props__=__props__)
1045
+
1046
+ @property
1047
+ @pulumi.getter(name="accountId")
1048
+ def account_id(self) -> pulumi.Output[int]:
1049
+ """
1050
+ The account ID for the contact.
1051
+ """
1052
+ return pulumi.get(self, "account_id")
1053
+
1054
+ @property
1055
+ @pulumi.getter
1056
+ def address1(self) -> pulumi.Output[str]:
1057
+ """
1058
+ Address line 1
1059
+ """
1060
+ return pulumi.get(self, "address1")
1061
+
1062
+ @property
1063
+ @pulumi.getter
1064
+ def address2(self) -> pulumi.Output[str]:
1065
+ """
1066
+ Address line 2
1067
+ """
1068
+ return pulumi.get(self, "address2")
1069
+
1070
+ @property
1071
+ @pulumi.getter
1072
+ def city(self) -> pulumi.Output[str]:
1073
+ """
1074
+ City
1075
+ """
1076
+ return pulumi.get(self, "city")
1077
+
1078
+ @property
1079
+ @pulumi.getter
1080
+ def country(self) -> pulumi.Output[str]:
1081
+ """
1082
+ Country
1083
+ """
1084
+ return pulumi.get(self, "country")
1085
+
1086
+ @property
1087
+ @pulumi.getter(name="createdAt")
1088
+ def created_at(self) -> pulumi.Output[str]:
1089
+ """
1090
+ Timestamp representing when this contact was created.
1091
+ """
1092
+ return pulumi.get(self, "created_at")
1093
+
1094
+ @property
1095
+ @pulumi.getter
1096
+ def email(self) -> pulumi.Output[str]:
1097
+ """
1098
+ Email
1099
+
1100
+ # Attributes Reference
1101
+ """
1102
+ return pulumi.get(self, "email")
1103
+
1104
+ @property
1105
+ @pulumi.getter
1106
+ def fax(self) -> pulumi.Output[str]:
1107
+ """
1108
+ Fax
1109
+ """
1110
+ return pulumi.get(self, "fax")
1111
+
1112
+ @property
1113
+ @pulumi.getter(name="faxNormalized")
1114
+ def fax_normalized(self) -> pulumi.Output[str]:
1115
+ """
1116
+ The fax number, normalized.
1117
+ """
1118
+ return pulumi.get(self, "fax_normalized")
1119
+
1120
+ @property
1121
+ @pulumi.getter(name="firstName")
1122
+ def first_name(self) -> pulumi.Output[str]:
1123
+ """
1124
+ First name
1125
+ """
1126
+ return pulumi.get(self, "first_name")
1127
+
1128
+ @property
1129
+ @pulumi.getter(name="jobTitle")
1130
+ def job_title(self) -> pulumi.Output[str]:
1131
+ """
1132
+ Job title
1133
+ """
1134
+ return pulumi.get(self, "job_title")
1135
+
1136
+ @property
1137
+ @pulumi.getter
1138
+ def label(self) -> pulumi.Output[str]:
1139
+ """
1140
+ Label
1141
+ """
1142
+ return pulumi.get(self, "label")
1143
+
1144
+ @property
1145
+ @pulumi.getter(name="lastName")
1146
+ def last_name(self) -> pulumi.Output[str]:
1147
+ """
1148
+ Last name
1149
+ """
1150
+ return pulumi.get(self, "last_name")
1151
+
1152
+ @property
1153
+ @pulumi.getter(name="organizationName")
1154
+ def organization_name(self) -> pulumi.Output[str]:
1155
+ """
1156
+ Organization name
1157
+ """
1158
+ return pulumi.get(self, "organization_name")
1159
+
1160
+ @property
1161
+ @pulumi.getter
1162
+ def phone(self) -> pulumi.Output[str]:
1163
+ """
1164
+ Phone
1165
+ """
1166
+ return pulumi.get(self, "phone")
1167
+
1168
+ @property
1169
+ @pulumi.getter(name="phoneNormalized")
1170
+ def phone_normalized(self) -> pulumi.Output[str]:
1171
+ """
1172
+ The phone number, normalized.
1173
+ """
1174
+ return pulumi.get(self, "phone_normalized")
1175
+
1176
+ @property
1177
+ @pulumi.getter(name="postalCode")
1178
+ def postal_code(self) -> pulumi.Output[str]:
1179
+ """
1180
+ Postal code
1181
+ """
1182
+ return pulumi.get(self, "postal_code")
1183
+
1184
+ @property
1185
+ @pulumi.getter(name="stateProvince")
1186
+ def state_province(self) -> pulumi.Output[str]:
1187
+ """
1188
+ State province
1189
+ """
1190
+ return pulumi.get(self, "state_province")
1191
+
1192
+ @property
1193
+ @pulumi.getter(name="updatedAt")
1194
+ def updated_at(self) -> pulumi.Output[str]:
1195
+ """
1196
+ Timestamp representing when this contact was updated.
1197
+ """
1198
+ return pulumi.get(self, "updated_at")
1199
+