pulumi-dnsimple 3.4.0a1668657604__tar.gz → 3.4.2__tar.gz

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.

Files changed (26) hide show
  1. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/PKG-INFO +7 -6
  2. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/__init__.py +29 -0
  3. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/_utilities.py +57 -2
  4. pulumi_dnsimple-3.4.2/pulumi_dnsimple/config/__init__.pyi +36 -0
  5. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/config/vars.py +15 -0
  6. pulumi_dnsimple-3.4.2/pulumi_dnsimple/domain.py +410 -0
  7. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/email_forward.py +34 -4
  8. pulumi_dnsimple-3.4.2/pulumi_dnsimple/get_certificate.py +174 -0
  9. pulumi_dnsimple-3.4.2/pulumi_dnsimple/get_zone.py +138 -0
  10. pulumi_dnsimple-3.4.2/pulumi_dnsimple/lets_encrypt_certificate.py +503 -0
  11. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/provider.py +54 -6
  12. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/record.py +13 -190
  13. pulumi_dnsimple-3.4.2/pulumi_dnsimple/zone_record.py +546 -0
  14. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple.egg-info/PKG-INFO +8 -7
  15. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple.egg-info/SOURCES.txt +7 -2
  16. pulumi_dnsimple-3.4.2/pyproject.toml +22 -0
  17. pulumi_dnsimple-3.4.0a1668657604/pulumi_dnsimple.egg-info/not-zip-safe +0 -1
  18. pulumi_dnsimple-3.4.0a1668657604/setup.py +0 -66
  19. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/README.md +0 -0
  20. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/config/__init__.py +0 -0
  21. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/pulumi-plugin.json +0 -0
  22. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple/py.typed +0 -0
  23. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple.egg-info/dependency_links.txt +0 -0
  24. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple.egg-info/requires.txt +0 -0
  25. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/pulumi_dnsimple.egg-info/top_level.txt +0 -0
  26. {pulumi_dnsimple-3.4.0a1668657604 → pulumi_dnsimple-3.4.2}/setup.cfg +0 -0
@@ -1,13 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_dnsimple
3
- Version: 3.4.0a1668657604
3
+ Version: 3.4.2
4
4
  Summary: A Pulumi package for creating and managing dnsimple cloud resources.
5
- Home-page: https://pulumi.io
6
5
  License: Apache-2.0
6
+ Project-URL: Homepage, https://pulumi.io
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-dnsimple
8
- Keywords: pulumi dnsimple
9
- Platform: UNKNOWN
8
+ Keywords: pulumi,dnsimple
9
+ Requires-Python: >=3.8
10
10
  Description-Content-Type: text/markdown
11
+ Requires-Dist: parver>=0.2.1
12
+ Requires-Dist: pulumi<4.0.0,>=3.0.0
13
+ Requires-Dist: semver>=2.8.1
11
14
 
12
15
  [![Actions Status](https://github.com/pulumi/pulumi-dnsimple/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-dnsimple/actions)
13
16
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)
@@ -67,5 +70,3 @@ The following configuration points are available:
67
70
  ## Reference
68
71
 
69
72
  For further information, please visit [the dnsimple provider docs](https://www.pulumi.com/docs/intro/cloud-providers/dnsimple) or for detailed reference documentation, please visit [the API docs](https://www.pulumi.com/docs/reference/pkg/dnsimple).
70
-
71
-
@@ -5,9 +5,14 @@
5
5
  from . import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .domain import *
8
9
  from .email_forward import *
10
+ from .get_certificate import *
11
+ from .get_zone import *
12
+ from .lets_encrypt_certificate import *
9
13
  from .provider import *
10
14
  from .record import *
15
+ from .zone_record import *
11
16
 
12
17
  # Make subpackages available:
13
18
  if typing.TYPE_CHECKING:
@@ -19,6 +24,14 @@ else:
19
24
  _utilities.register(
20
25
  resource_modules="""
21
26
  [
27
+ {
28
+ "pkg": "dnsimple",
29
+ "mod": "index/domain",
30
+ "fqn": "pulumi_dnsimple",
31
+ "classes": {
32
+ "dnsimple:index/domain:Domain": "Domain"
33
+ }
34
+ },
22
35
  {
23
36
  "pkg": "dnsimple",
24
37
  "mod": "index/emailForward",
@@ -27,6 +40,14 @@ _utilities.register(
27
40
  "dnsimple:index/emailForward:EmailForward": "EmailForward"
28
41
  }
29
42
  },
43
+ {
44
+ "pkg": "dnsimple",
45
+ "mod": "index/letsEncryptCertificate",
46
+ "fqn": "pulumi_dnsimple",
47
+ "classes": {
48
+ "dnsimple:index/letsEncryptCertificate:LetsEncryptCertificate": "LetsEncryptCertificate"
49
+ }
50
+ },
30
51
  {
31
52
  "pkg": "dnsimple",
32
53
  "mod": "index/record",
@@ -34,6 +55,14 @@ _utilities.register(
34
55
  "classes": {
35
56
  "dnsimple:index/record:Record": "Record"
36
57
  }
58
+ },
59
+ {
60
+ "pkg": "dnsimple",
61
+ "mod": "index/zoneRecord",
62
+ "fqn": "pulumi_dnsimple",
63
+ "classes": {
64
+ "dnsimple:index/zoneRecord:ZoneRecord": "ZoneRecord"
65
+ }
37
66
  }
38
67
  ]
39
68
  """,
@@ -3,16 +3,18 @@
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
5
 
6
+ import asyncio
7
+ import importlib.metadata
6
8
  import importlib.util
7
9
  import inspect
8
10
  import json
9
11
  import os
10
- import pkg_resources
11
12
  import sys
12
13
  import typing
13
14
 
14
15
  import pulumi
15
16
  import pulumi.runtime
17
+ from pulumi.runtime.sync_await import _sync_await
16
18
 
17
19
  from semver import VersionInfo as SemverVersion
18
20
  from parver import Version as PEP440Version
@@ -70,7 +72,7 @@ def _get_semver_version():
70
72
  # to receive a valid semver string when receiving requests from the language host, so it's our
71
73
  # responsibility as the library to convert our own PEP440 version into a valid semver string.
72
74
 
73
- pep440_version_string = pkg_resources.require(root_package)[0].version
75
+ pep440_version_string = importlib.metadata.version(root_package)
74
76
  pep440_version = PEP440Version.parse(pep440_version_string)
75
77
  (major, minor, patch) = pep440_version.release
76
78
  prerelease = None
@@ -98,6 +100,17 @@ _version_str = str(_version)
98
100
  def get_version():
99
101
  return _version_str
100
102
 
103
+ def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
+ return pulumi.ResourceOptions(
105
+ version=get_version(),
106
+ plugin_download_url=get_plugin_download_url(),
107
+ )
108
+
109
+ def get_invoke_opts_defaults() -> pulumi.InvokeOptions:
110
+ return pulumi.InvokeOptions(
111
+ version=get_version(),
112
+ plugin_download_url=get_plugin_download_url(),
113
+ )
101
114
 
102
115
  def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs):
103
116
  """
@@ -234,3 +247,45 @@ def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
234
247
  **resolved_args['kwargs']))
235
248
 
236
249
  return (lambda _: lifted_func)
250
+
251
+
252
+ def call_plain(
253
+ tok: str,
254
+ props: pulumi.Inputs,
255
+ res: typing.Optional[pulumi.Resource] = None,
256
+ typ: typing.Optional[type] = None,
257
+ ) -> typing.Any:
258
+ """
259
+ Wraps pulumi.runtime.plain to force the output and return it plainly.
260
+ """
261
+
262
+ output = pulumi.runtime.call(tok, props, res, typ)
263
+
264
+ # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
+ result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
266
+
267
+ problem = None
268
+ if not known:
269
+ problem = ' an unknown value'
270
+ elif secret:
271
+ problem = ' a secret value'
272
+
273
+ if problem:
274
+ raise AssertionError(
275
+ f"Plain resource method '{tok}' incorrectly returned {problem}. "
276
+ + "This is an error in the provider, please report this to the provider developer."
277
+ )
278
+
279
+ return result
280
+
281
+
282
+ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
283
+ return (
284
+ await o._future,
285
+ await o._is_known,
286
+ await o._is_secret,
287
+ await o._resources,
288
+ )
289
+
290
+ def get_plugin_download_url():
291
+ return None
@@ -0,0 +1,36 @@
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
+ account: Optional[str]
13
+ """
14
+ The account for API operations.
15
+ """
16
+
17
+ prefetch: Optional[bool]
18
+ """
19
+ Flag to enable the prefetch of zone records.
20
+ """
21
+
22
+ sandbox: Optional[bool]
23
+ """
24
+ Flag to enable the sandbox API.
25
+ """
26
+
27
+ token: Optional[str]
28
+ """
29
+ The API v2 token for API operations.
30
+ """
31
+
32
+ userAgent: Optional[str]
33
+ """
34
+ Custom string to append to the user agent used for sending HTTP requests to the API.
35
+ """
36
+
@@ -2,6 +2,7 @@
2
2
  # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import copy
5
6
  import warnings
6
7
  import pulumi
7
8
  import pulumi.runtime
@@ -21,6 +22,13 @@ class _ExportableConfig(types.ModuleType):
21
22
  """
22
23
  return __config__.get('account')
23
24
 
25
+ @property
26
+ def prefetch(self) -> Optional[bool]:
27
+ """
28
+ Flag to enable the prefetch of zone records.
29
+ """
30
+ return __config__.get_bool('prefetch')
31
+
24
32
  @property
25
33
  def sandbox(self) -> Optional[bool]:
26
34
  """
@@ -35,3 +43,10 @@ class _ExportableConfig(types.ModuleType):
35
43
  """
36
44
  return __config__.get('token')
37
45
 
46
+ @property
47
+ def user_agent(self) -> Optional[str]:
48
+ """
49
+ Custom string to append to the user agent used for sending HTTP requests to the API.
50
+ """
51
+ return __config__.get('userAgent')
52
+
@@ -0,0 +1,410 @@
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__ = ['DomainArgs', 'Domain']
13
+
14
+ @pulumi.input_type
15
+ class DomainArgs:
16
+ def __init__(__self__, *,
17
+ name: pulumi.Input[str]):
18
+ """
19
+ The set of arguments for constructing a Domain resource.
20
+ :param pulumi.Input[str] name: The domain name to be created
21
+ """
22
+ pulumi.set(__self__, "name", name)
23
+
24
+ @property
25
+ @pulumi.getter
26
+ def name(self) -> pulumi.Input[str]:
27
+ """
28
+ The domain name to be created
29
+ """
30
+ return pulumi.get(self, "name")
31
+
32
+ @name.setter
33
+ def name(self, value: pulumi.Input[str]):
34
+ pulumi.set(self, "name", value)
35
+
36
+
37
+ @pulumi.input_type
38
+ class _DomainState:
39
+ def __init__(__self__, *,
40
+ account_id: Optional[pulumi.Input[int]] = None,
41
+ auto_renew: Optional[pulumi.Input[bool]] = None,
42
+ name: Optional[pulumi.Input[str]] = None,
43
+ private_whois: Optional[pulumi.Input[bool]] = None,
44
+ registrant_id: Optional[pulumi.Input[int]] = None,
45
+ state: Optional[pulumi.Input[str]] = None,
46
+ unicode_name: Optional[pulumi.Input[str]] = None):
47
+ """
48
+ Input properties used for looking up and filtering Domain resources.
49
+ :param pulumi.Input[str] name: The domain name to be created
50
+ """
51
+ if account_id is not None:
52
+ pulumi.set(__self__, "account_id", account_id)
53
+ if auto_renew is not None:
54
+ pulumi.set(__self__, "auto_renew", auto_renew)
55
+ if name is not None:
56
+ pulumi.set(__self__, "name", name)
57
+ if private_whois is not None:
58
+ pulumi.set(__self__, "private_whois", private_whois)
59
+ if registrant_id is not None:
60
+ pulumi.set(__self__, "registrant_id", registrant_id)
61
+ if state is not None:
62
+ pulumi.set(__self__, "state", state)
63
+ if unicode_name is not None:
64
+ pulumi.set(__self__, "unicode_name", unicode_name)
65
+
66
+ @property
67
+ @pulumi.getter(name="accountId")
68
+ def account_id(self) -> Optional[pulumi.Input[int]]:
69
+ return pulumi.get(self, "account_id")
70
+
71
+ @account_id.setter
72
+ def account_id(self, value: Optional[pulumi.Input[int]]):
73
+ pulumi.set(self, "account_id", value)
74
+
75
+ @property
76
+ @pulumi.getter(name="autoRenew")
77
+ def auto_renew(self) -> Optional[pulumi.Input[bool]]:
78
+ return pulumi.get(self, "auto_renew")
79
+
80
+ @auto_renew.setter
81
+ def auto_renew(self, value: Optional[pulumi.Input[bool]]):
82
+ pulumi.set(self, "auto_renew", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def name(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ The domain name to be created
89
+ """
90
+ return pulumi.get(self, "name")
91
+
92
+ @name.setter
93
+ def name(self, value: Optional[pulumi.Input[str]]):
94
+ pulumi.set(self, "name", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="privateWhois")
98
+ def private_whois(self) -> Optional[pulumi.Input[bool]]:
99
+ return pulumi.get(self, "private_whois")
100
+
101
+ @private_whois.setter
102
+ def private_whois(self, value: Optional[pulumi.Input[bool]]):
103
+ pulumi.set(self, "private_whois", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="registrantId")
107
+ def registrant_id(self) -> Optional[pulumi.Input[int]]:
108
+ return pulumi.get(self, "registrant_id")
109
+
110
+ @registrant_id.setter
111
+ def registrant_id(self, value: Optional[pulumi.Input[int]]):
112
+ pulumi.set(self, "registrant_id", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def state(self) -> Optional[pulumi.Input[str]]:
117
+ return pulumi.get(self, "state")
118
+
119
+ @state.setter
120
+ def state(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "state", value)
122
+
123
+ @property
124
+ @pulumi.getter(name="unicodeName")
125
+ def unicode_name(self) -> Optional[pulumi.Input[str]]:
126
+ return pulumi.get(self, "unicode_name")
127
+
128
+ @unicode_name.setter
129
+ def unicode_name(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "unicode_name", value)
131
+
132
+
133
+ class Domain(pulumi.CustomResource):
134
+ @overload
135
+ def __init__(__self__,
136
+ resource_name: str,
137
+ opts: Optional[pulumi.ResourceOptions] = None,
138
+ name: Optional[pulumi.Input[str]] = None,
139
+ __props__=None):
140
+ """
141
+ Provides a DNSimple domain resource.
142
+
143
+ ## Example Usage
144
+
145
+ <!--Start PulumiCodeChooser -->
146
+ ```python
147
+ import pulumi
148
+ import pulumi_dnsimple as dnsimple
149
+
150
+ # Create a domain
151
+ foobar = dnsimple.Domain("foobar", name=var["dnsimple"]["domain"])
152
+ ```
153
+ <!--End PulumiCodeChooser -->
154
+
155
+ ## Import
156
+
157
+ DNSimple domains can be imported using their numeric record ID.
158
+
159
+ ```sh
160
+ $ pulumi import dnsimple:index/domain:Domain resource_name 5678
161
+ ```
162
+
163
+ The record ID can be found within [DNSimple Domains API](https://developer.dnsimple.com/v2/domains/#listDomains). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
164
+
165
+ $ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/domains?name_like=example.com | jq
166
+
167
+ {
168
+
169
+ "data": [
170
+
171
+ {
172
+
173
+ "id": 5678,
174
+
175
+ "account_id": 1234,
176
+
177
+ "registrant_id": null,
178
+
179
+ "name": "example.com",
180
+
181
+ "unicode_name": "example.com",
182
+
183
+ "state": "hosted",
184
+
185
+ "auto_renew": false,
186
+
187
+ "private_whois": false,
188
+
189
+ "expires_on": null,
190
+
191
+ "expires_at": null,
192
+
193
+ "created_at": "2021-10-01T00:00:00Z",
194
+
195
+ "updated_at": "2021-10-01T00:00:00Z"
196
+
197
+ }
198
+
199
+ ],
200
+
201
+ "pagination": {
202
+
203
+ "current_page": 1,
204
+
205
+ "per_page": 30,
206
+
207
+ "total_entries": 1,
208
+
209
+ "total_pages": 1
210
+
211
+ }
212
+
213
+ }
214
+
215
+ :param str resource_name: The name of the resource.
216
+ :param pulumi.ResourceOptions opts: Options for the resource.
217
+ :param pulumi.Input[str] name: The domain name to be created
218
+ """
219
+ ...
220
+ @overload
221
+ def __init__(__self__,
222
+ resource_name: str,
223
+ args: DomainArgs,
224
+ opts: Optional[pulumi.ResourceOptions] = None):
225
+ """
226
+ Provides a DNSimple domain resource.
227
+
228
+ ## Example Usage
229
+
230
+ <!--Start PulumiCodeChooser -->
231
+ ```python
232
+ import pulumi
233
+ import pulumi_dnsimple as dnsimple
234
+
235
+ # Create a domain
236
+ foobar = dnsimple.Domain("foobar", name=var["dnsimple"]["domain"])
237
+ ```
238
+ <!--End PulumiCodeChooser -->
239
+
240
+ ## Import
241
+
242
+ DNSimple domains can be imported using their numeric record ID.
243
+
244
+ ```sh
245
+ $ pulumi import dnsimple:index/domain:Domain resource_name 5678
246
+ ```
247
+
248
+ The record ID can be found within [DNSimple Domains API](https://developer.dnsimple.com/v2/domains/#listDomains). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
249
+
250
+ $ curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/domains?name_like=example.com | jq
251
+
252
+ {
253
+
254
+ "data": [
255
+
256
+ {
257
+
258
+ "id": 5678,
259
+
260
+ "account_id": 1234,
261
+
262
+ "registrant_id": null,
263
+
264
+ "name": "example.com",
265
+
266
+ "unicode_name": "example.com",
267
+
268
+ "state": "hosted",
269
+
270
+ "auto_renew": false,
271
+
272
+ "private_whois": false,
273
+
274
+ "expires_on": null,
275
+
276
+ "expires_at": null,
277
+
278
+ "created_at": "2021-10-01T00:00:00Z",
279
+
280
+ "updated_at": "2021-10-01T00:00:00Z"
281
+
282
+ }
283
+
284
+ ],
285
+
286
+ "pagination": {
287
+
288
+ "current_page": 1,
289
+
290
+ "per_page": 30,
291
+
292
+ "total_entries": 1,
293
+
294
+ "total_pages": 1
295
+
296
+ }
297
+
298
+ }
299
+
300
+ :param str resource_name: The name of the resource.
301
+ :param DomainArgs args: The arguments to use to populate this resource's properties.
302
+ :param pulumi.ResourceOptions opts: Options for the resource.
303
+ """
304
+ ...
305
+ def __init__(__self__, resource_name: str, *args, **kwargs):
306
+ resource_args, opts = _utilities.get_resource_args_opts(DomainArgs, pulumi.ResourceOptions, *args, **kwargs)
307
+ if resource_args is not None:
308
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
309
+ else:
310
+ __self__._internal_init(resource_name, *args, **kwargs)
311
+
312
+ def _internal_init(__self__,
313
+ resource_name: str,
314
+ opts: Optional[pulumi.ResourceOptions] = None,
315
+ name: Optional[pulumi.Input[str]] = None,
316
+ __props__=None):
317
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
318
+ if not isinstance(opts, pulumi.ResourceOptions):
319
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
320
+ if opts.id is None:
321
+ if __props__ is not None:
322
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
323
+ __props__ = DomainArgs.__new__(DomainArgs)
324
+
325
+ if name is None and not opts.urn:
326
+ raise TypeError("Missing required property 'name'")
327
+ __props__.__dict__["name"] = name
328
+ __props__.__dict__["account_id"] = None
329
+ __props__.__dict__["auto_renew"] = None
330
+ __props__.__dict__["private_whois"] = None
331
+ __props__.__dict__["registrant_id"] = None
332
+ __props__.__dict__["state"] = None
333
+ __props__.__dict__["unicode_name"] = None
334
+ super(Domain, __self__).__init__(
335
+ 'dnsimple:index/domain:Domain',
336
+ resource_name,
337
+ __props__,
338
+ opts)
339
+
340
+ @staticmethod
341
+ def get(resource_name: str,
342
+ id: pulumi.Input[str],
343
+ opts: Optional[pulumi.ResourceOptions] = None,
344
+ account_id: Optional[pulumi.Input[int]] = None,
345
+ auto_renew: Optional[pulumi.Input[bool]] = None,
346
+ name: Optional[pulumi.Input[str]] = None,
347
+ private_whois: Optional[pulumi.Input[bool]] = None,
348
+ registrant_id: Optional[pulumi.Input[int]] = None,
349
+ state: Optional[pulumi.Input[str]] = None,
350
+ unicode_name: Optional[pulumi.Input[str]] = None) -> 'Domain':
351
+ """
352
+ Get an existing Domain resource's state with the given name, id, and optional extra
353
+ properties used to qualify the lookup.
354
+
355
+ :param str resource_name: The unique name of the resulting resource.
356
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
357
+ :param pulumi.ResourceOptions opts: Options for the resource.
358
+ :param pulumi.Input[str] name: The domain name to be created
359
+ """
360
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
361
+
362
+ __props__ = _DomainState.__new__(_DomainState)
363
+
364
+ __props__.__dict__["account_id"] = account_id
365
+ __props__.__dict__["auto_renew"] = auto_renew
366
+ __props__.__dict__["name"] = name
367
+ __props__.__dict__["private_whois"] = private_whois
368
+ __props__.__dict__["registrant_id"] = registrant_id
369
+ __props__.__dict__["state"] = state
370
+ __props__.__dict__["unicode_name"] = unicode_name
371
+ return Domain(resource_name, opts=opts, __props__=__props__)
372
+
373
+ @property
374
+ @pulumi.getter(name="accountId")
375
+ def account_id(self) -> pulumi.Output[int]:
376
+ return pulumi.get(self, "account_id")
377
+
378
+ @property
379
+ @pulumi.getter(name="autoRenew")
380
+ def auto_renew(self) -> pulumi.Output[bool]:
381
+ return pulumi.get(self, "auto_renew")
382
+
383
+ @property
384
+ @pulumi.getter
385
+ def name(self) -> pulumi.Output[str]:
386
+ """
387
+ The domain name to be created
388
+ """
389
+ return pulumi.get(self, "name")
390
+
391
+ @property
392
+ @pulumi.getter(name="privateWhois")
393
+ def private_whois(self) -> pulumi.Output[bool]:
394
+ return pulumi.get(self, "private_whois")
395
+
396
+ @property
397
+ @pulumi.getter(name="registrantId")
398
+ def registrant_id(self) -> pulumi.Output[int]:
399
+ return pulumi.get(self, "registrant_id")
400
+
401
+ @property
402
+ @pulumi.getter
403
+ def state(self) -> pulumi.Output[str]:
404
+ return pulumi.get(self, "state")
405
+
406
+ @property
407
+ @pulumi.getter(name="unicodeName")
408
+ def unicode_name(self) -> pulumi.Output[str]:
409
+ return pulumi.get(self, "unicode_name")
410
+