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,324 @@
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__ = ['EmailForwardArgs', 'EmailForward']
18
+
19
+ @pulumi.input_type
20
+ class EmailForwardArgs:
21
+ def __init__(__self__, *,
22
+ alias_name: pulumi.Input[_builtins.str],
23
+ destination_email: pulumi.Input[_builtins.str],
24
+ domain: pulumi.Input[_builtins.str]):
25
+ """
26
+ The set of arguments for constructing a EmailForward resource.
27
+ :param pulumi.Input[_builtins.str] alias_name: The name part (the part before the @) of the source email address on the domain.
28
+ :param pulumi.Input[_builtins.str] destination_email: The destination email address.
29
+ :param pulumi.Input[_builtins.str] domain: The domain name to add the email forwarding rule to.
30
+ """
31
+ pulumi.set(__self__, "alias_name", alias_name)
32
+ pulumi.set(__self__, "destination_email", destination_email)
33
+ pulumi.set(__self__, "domain", domain)
34
+
35
+ @_builtins.property
36
+ @pulumi.getter(name="aliasName")
37
+ def alias_name(self) -> pulumi.Input[_builtins.str]:
38
+ """
39
+ The name part (the part before the @) of the source email address on the domain.
40
+ """
41
+ return pulumi.get(self, "alias_name")
42
+
43
+ @alias_name.setter
44
+ def alias_name(self, value: pulumi.Input[_builtins.str]):
45
+ pulumi.set(self, "alias_name", value)
46
+
47
+ @_builtins.property
48
+ @pulumi.getter(name="destinationEmail")
49
+ def destination_email(self) -> pulumi.Input[_builtins.str]:
50
+ """
51
+ The destination email address.
52
+ """
53
+ return pulumi.get(self, "destination_email")
54
+
55
+ @destination_email.setter
56
+ def destination_email(self, value: pulumi.Input[_builtins.str]):
57
+ pulumi.set(self, "destination_email", value)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter
61
+ def domain(self) -> pulumi.Input[_builtins.str]:
62
+ """
63
+ The domain name to add the email forwarding rule to.
64
+ """
65
+ return pulumi.get(self, "domain")
66
+
67
+ @domain.setter
68
+ def domain(self, value: pulumi.Input[_builtins.str]):
69
+ pulumi.set(self, "domain", value)
70
+
71
+
72
+ @pulumi.input_type
73
+ class _EmailForwardState:
74
+ def __init__(__self__, *,
75
+ alias_email: Optional[pulumi.Input[_builtins.str]] = None,
76
+ alias_name: Optional[pulumi.Input[_builtins.str]] = None,
77
+ destination_email: Optional[pulumi.Input[_builtins.str]] = None,
78
+ domain: Optional[pulumi.Input[_builtins.str]] = None):
79
+ """
80
+ Input properties used for looking up and filtering EmailForward resources.
81
+ :param pulumi.Input[_builtins.str] alias_email: The source email address on the domain, in full form. This is a computed attribute.
82
+ :param pulumi.Input[_builtins.str] alias_name: The name part (the part before the @) of the source email address on the domain.
83
+ :param pulumi.Input[_builtins.str] destination_email: The destination email address.
84
+ :param pulumi.Input[_builtins.str] domain: The domain name to add the email forwarding rule to.
85
+ """
86
+ if alias_email is not None:
87
+ pulumi.set(__self__, "alias_email", alias_email)
88
+ if alias_name is not None:
89
+ pulumi.set(__self__, "alias_name", alias_name)
90
+ if destination_email is not None:
91
+ pulumi.set(__self__, "destination_email", destination_email)
92
+ if domain is not None:
93
+ pulumi.set(__self__, "domain", domain)
94
+
95
+ @_builtins.property
96
+ @pulumi.getter(name="aliasEmail")
97
+ def alias_email(self) -> Optional[pulumi.Input[_builtins.str]]:
98
+ """
99
+ The source email address on the domain, in full form. This is a computed attribute.
100
+ """
101
+ return pulumi.get(self, "alias_email")
102
+
103
+ @alias_email.setter
104
+ def alias_email(self, value: Optional[pulumi.Input[_builtins.str]]):
105
+ pulumi.set(self, "alias_email", value)
106
+
107
+ @_builtins.property
108
+ @pulumi.getter(name="aliasName")
109
+ def alias_name(self) -> Optional[pulumi.Input[_builtins.str]]:
110
+ """
111
+ The name part (the part before the @) of the source email address on the domain.
112
+ """
113
+ return pulumi.get(self, "alias_name")
114
+
115
+ @alias_name.setter
116
+ def alias_name(self, value: Optional[pulumi.Input[_builtins.str]]):
117
+ pulumi.set(self, "alias_name", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="destinationEmail")
121
+ def destination_email(self) -> Optional[pulumi.Input[_builtins.str]]:
122
+ """
123
+ The destination email address.
124
+ """
125
+ return pulumi.get(self, "destination_email")
126
+
127
+ @destination_email.setter
128
+ def destination_email(self, value: Optional[pulumi.Input[_builtins.str]]):
129
+ pulumi.set(self, "destination_email", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter
133
+ def domain(self) -> Optional[pulumi.Input[_builtins.str]]:
134
+ """
135
+ The domain name to add the email forwarding rule to.
136
+ """
137
+ return pulumi.get(self, "domain")
138
+
139
+ @domain.setter
140
+ def domain(self, value: Optional[pulumi.Input[_builtins.str]]):
141
+ pulumi.set(self, "domain", value)
142
+
143
+
144
+ @pulumi.type_token("dnsimple:index/emailForward:EmailForward")
145
+ class EmailForward(pulumi.CustomResource):
146
+ @overload
147
+ def __init__(__self__,
148
+ resource_name: str,
149
+ opts: Optional[pulumi.ResourceOptions] = None,
150
+ alias_name: Optional[pulumi.Input[_builtins.str]] = None,
151
+ destination_email: Optional[pulumi.Input[_builtins.str]] = None,
152
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
153
+ __props__=None):
154
+ """
155
+ Provides a DNSimple email forward resource.
156
+
157
+ ## Example Usage
158
+
159
+ ```python
160
+ import pulumi
161
+ import pulumi_dnsimple as dnsimple
162
+
163
+ example = dnsimple.EmailForward("example",
164
+ domain="example.com",
165
+ alias_name="sales",
166
+ destination_email="alice@example.com")
167
+ ```
168
+
169
+ ## Import
170
+
171
+ DNSimple email forwards can be imported using the domain name and numeric email forward ID in the format `domain_name_email_forward_id`.
172
+
173
+ bash
174
+
175
+ ```sh
176
+ $ pulumi import dnsimple:index/emailForward:EmailForward example example.com_1234
177
+ ```
178
+
179
+ The email forward ID can be found via the [DNSimple Email Forwards API](https://developer.dnsimple.com/v2/email-forwards/#listEmailForwards).
180
+
181
+ :param str resource_name: The name of the resource.
182
+ :param pulumi.ResourceOptions opts: Options for the resource.
183
+ :param pulumi.Input[_builtins.str] alias_name: The name part (the part before the @) of the source email address on the domain.
184
+ :param pulumi.Input[_builtins.str] destination_email: The destination email address.
185
+ :param pulumi.Input[_builtins.str] domain: The domain name to add the email forwarding rule to.
186
+ """
187
+ ...
188
+ @overload
189
+ def __init__(__self__,
190
+ resource_name: str,
191
+ args: EmailForwardArgs,
192
+ opts: Optional[pulumi.ResourceOptions] = None):
193
+ """
194
+ Provides a DNSimple email forward resource.
195
+
196
+ ## Example Usage
197
+
198
+ ```python
199
+ import pulumi
200
+ import pulumi_dnsimple as dnsimple
201
+
202
+ example = dnsimple.EmailForward("example",
203
+ domain="example.com",
204
+ alias_name="sales",
205
+ destination_email="alice@example.com")
206
+ ```
207
+
208
+ ## Import
209
+
210
+ DNSimple email forwards can be imported using the domain name and numeric email forward ID in the format `domain_name_email_forward_id`.
211
+
212
+ bash
213
+
214
+ ```sh
215
+ $ pulumi import dnsimple:index/emailForward:EmailForward example example.com_1234
216
+ ```
217
+
218
+ The email forward ID can be found via the [DNSimple Email Forwards API](https://developer.dnsimple.com/v2/email-forwards/#listEmailForwards).
219
+
220
+ :param str resource_name: The name of the resource.
221
+ :param EmailForwardArgs args: The arguments to use to populate this resource's properties.
222
+ :param pulumi.ResourceOptions opts: Options for the resource.
223
+ """
224
+ ...
225
+ def __init__(__self__, resource_name: str, *args, **kwargs):
226
+ resource_args, opts = _utilities.get_resource_args_opts(EmailForwardArgs, pulumi.ResourceOptions, *args, **kwargs)
227
+ if resource_args is not None:
228
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
229
+ else:
230
+ __self__._internal_init(resource_name, *args, **kwargs)
231
+
232
+ def _internal_init(__self__,
233
+ resource_name: str,
234
+ opts: Optional[pulumi.ResourceOptions] = None,
235
+ alias_name: Optional[pulumi.Input[_builtins.str]] = None,
236
+ destination_email: Optional[pulumi.Input[_builtins.str]] = None,
237
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
238
+ __props__=None):
239
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
240
+ if not isinstance(opts, pulumi.ResourceOptions):
241
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
242
+ if opts.id is None:
243
+ if __props__ is not None:
244
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
245
+ __props__ = EmailForwardArgs.__new__(EmailForwardArgs)
246
+
247
+ if alias_name is None and not opts.urn:
248
+ raise TypeError("Missing required property 'alias_name'")
249
+ __props__.__dict__["alias_name"] = alias_name
250
+ if destination_email is None and not opts.urn:
251
+ raise TypeError("Missing required property 'destination_email'")
252
+ __props__.__dict__["destination_email"] = destination_email
253
+ if domain is None and not opts.urn:
254
+ raise TypeError("Missing required property 'domain'")
255
+ __props__.__dict__["domain"] = domain
256
+ __props__.__dict__["alias_email"] = None
257
+ super(EmailForward, __self__).__init__(
258
+ 'dnsimple:index/emailForward:EmailForward',
259
+ resource_name,
260
+ __props__,
261
+ opts)
262
+
263
+ @staticmethod
264
+ def get(resource_name: str,
265
+ id: pulumi.Input[str],
266
+ opts: Optional[pulumi.ResourceOptions] = None,
267
+ alias_email: Optional[pulumi.Input[_builtins.str]] = None,
268
+ alias_name: Optional[pulumi.Input[_builtins.str]] = None,
269
+ destination_email: Optional[pulumi.Input[_builtins.str]] = None,
270
+ domain: Optional[pulumi.Input[_builtins.str]] = None) -> 'EmailForward':
271
+ """
272
+ Get an existing EmailForward resource's state with the given name, id, and optional extra
273
+ properties used to qualify the lookup.
274
+
275
+ :param str resource_name: The unique name of the resulting resource.
276
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
277
+ :param pulumi.ResourceOptions opts: Options for the resource.
278
+ :param pulumi.Input[_builtins.str] alias_email: The source email address on the domain, in full form. This is a computed attribute.
279
+ :param pulumi.Input[_builtins.str] alias_name: The name part (the part before the @) of the source email address on the domain.
280
+ :param pulumi.Input[_builtins.str] destination_email: The destination email address.
281
+ :param pulumi.Input[_builtins.str] domain: The domain name to add the email forwarding rule to.
282
+ """
283
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
284
+
285
+ __props__ = _EmailForwardState.__new__(_EmailForwardState)
286
+
287
+ __props__.__dict__["alias_email"] = alias_email
288
+ __props__.__dict__["alias_name"] = alias_name
289
+ __props__.__dict__["destination_email"] = destination_email
290
+ __props__.__dict__["domain"] = domain
291
+ return EmailForward(resource_name, opts=opts, __props__=__props__)
292
+
293
+ @_builtins.property
294
+ @pulumi.getter(name="aliasEmail")
295
+ def alias_email(self) -> pulumi.Output[_builtins.str]:
296
+ """
297
+ The source email address on the domain, in full form. This is a computed attribute.
298
+ """
299
+ return pulumi.get(self, "alias_email")
300
+
301
+ @_builtins.property
302
+ @pulumi.getter(name="aliasName")
303
+ def alias_name(self) -> pulumi.Output[_builtins.str]:
304
+ """
305
+ The name part (the part before the @) of the source email address on the domain.
306
+ """
307
+ return pulumi.get(self, "alias_name")
308
+
309
+ @_builtins.property
310
+ @pulumi.getter(name="destinationEmail")
311
+ def destination_email(self) -> pulumi.Output[_builtins.str]:
312
+ """
313
+ The destination email address.
314
+ """
315
+ return pulumi.get(self, "destination_email")
316
+
317
+ @_builtins.property
318
+ @pulumi.getter
319
+ def domain(self) -> pulumi.Output[_builtins.str]:
320
+ """
321
+ The domain name to add the email forwarding rule to.
322
+ """
323
+ return pulumi.get(self, "domain")
324
+
@@ -0,0 +1,203 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = [
20
+ 'GetCertificateResult',
21
+ 'AwaitableGetCertificateResult',
22
+ 'get_certificate',
23
+ 'get_certificate_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetCertificateResult:
28
+ """
29
+ A collection of values returned by getCertificate.
30
+ """
31
+ def __init__(__self__, certificate_chains=None, certificate_id=None, domain=None, id=None, private_key=None, root_certificate=None, server_certificate=None, timeouts=None):
32
+ if certificate_chains and not isinstance(certificate_chains, list):
33
+ raise TypeError("Expected argument 'certificate_chains' to be a list")
34
+ pulumi.set(__self__, "certificate_chains", certificate_chains)
35
+ if certificate_id and not isinstance(certificate_id, int):
36
+ raise TypeError("Expected argument 'certificate_id' to be a int")
37
+ pulumi.set(__self__, "certificate_id", certificate_id)
38
+ if domain and not isinstance(domain, str):
39
+ raise TypeError("Expected argument 'domain' to be a str")
40
+ pulumi.set(__self__, "domain", domain)
41
+ if id and not isinstance(id, str):
42
+ raise TypeError("Expected argument 'id' to be a str")
43
+ pulumi.set(__self__, "id", id)
44
+ if private_key and not isinstance(private_key, str):
45
+ raise TypeError("Expected argument 'private_key' to be a str")
46
+ pulumi.set(__self__, "private_key", private_key)
47
+ if root_certificate and not isinstance(root_certificate, str):
48
+ raise TypeError("Expected argument 'root_certificate' to be a str")
49
+ pulumi.set(__self__, "root_certificate", root_certificate)
50
+ if server_certificate and not isinstance(server_certificate, str):
51
+ raise TypeError("Expected argument 'server_certificate' to be a str")
52
+ pulumi.set(__self__, "server_certificate", server_certificate)
53
+ if timeouts and not isinstance(timeouts, dict):
54
+ raise TypeError("Expected argument 'timeouts' to be a dict")
55
+ pulumi.set(__self__, "timeouts", timeouts)
56
+
57
+ @_builtins.property
58
+ @pulumi.getter(name="certificateChains")
59
+ def certificate_chains(self) -> Sequence[_builtins.str]:
60
+ """
61
+ A list of certificates that make up the certificate chain.
62
+ """
63
+ return pulumi.get(self, "certificate_chains")
64
+
65
+ @_builtins.property
66
+ @pulumi.getter(name="certificateId")
67
+ def certificate_id(self) -> _builtins.int:
68
+ return pulumi.get(self, "certificate_id")
69
+
70
+ @_builtins.property
71
+ @pulumi.getter
72
+ def domain(self) -> _builtins.str:
73
+ return pulumi.get(self, "domain")
74
+
75
+ @_builtins.property
76
+ @pulumi.getter
77
+ def id(self) -> _builtins.str:
78
+ """
79
+ The certificate ID.
80
+ """
81
+ return pulumi.get(self, "id")
82
+
83
+ @_builtins.property
84
+ @pulumi.getter(name="privateKey")
85
+ def private_key(self) -> _builtins.str:
86
+ """
87
+ The corresponding private key for the SSL certificate.
88
+ """
89
+ return pulumi.get(self, "private_key")
90
+
91
+ @_builtins.property
92
+ @pulumi.getter(name="rootCertificate")
93
+ def root_certificate(self) -> _builtins.str:
94
+ """
95
+ The root certificate of the issuing CA.
96
+ """
97
+ return pulumi.get(self, "root_certificate")
98
+
99
+ @_builtins.property
100
+ @pulumi.getter(name="serverCertificate")
101
+ def server_certificate(self) -> _builtins.str:
102
+ """
103
+ The SSL certificate.
104
+ """
105
+ return pulumi.get(self, "server_certificate")
106
+
107
+ @_builtins.property
108
+ @pulumi.getter
109
+ def timeouts(self) -> Optional['outputs.GetCertificateTimeoutsResult']:
110
+ return pulumi.get(self, "timeouts")
111
+
112
+
113
+ class AwaitableGetCertificateResult(GetCertificateResult):
114
+ # pylint: disable=using-constant-test
115
+ def __await__(self):
116
+ if False:
117
+ yield self
118
+ return GetCertificateResult(
119
+ certificate_chains=self.certificate_chains,
120
+ certificate_id=self.certificate_id,
121
+ domain=self.domain,
122
+ id=self.id,
123
+ private_key=self.private_key,
124
+ root_certificate=self.root_certificate,
125
+ server_certificate=self.server_certificate,
126
+ timeouts=self.timeouts)
127
+
128
+
129
+ def get_certificate(certificate_id: Optional[_builtins.int] = None,
130
+ domain: Optional[_builtins.str] = None,
131
+ timeouts: Optional[Union['GetCertificateTimeoutsArgs', 'GetCertificateTimeoutsArgsDict']] = None,
132
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCertificateResult:
133
+ """
134
+ Get information about a DNSimple SSL certificate.
135
+
136
+ ## Example Usage
137
+
138
+ ```python
139
+ import pulumi
140
+ import pulumi_dnsimple as dnsimple
141
+
142
+ example = dnsimple.get_certificate(domain="example.com",
143
+ certificate_id=1234)
144
+ ```
145
+
146
+
147
+ :param _builtins.int certificate_id: The ID of the SSL certificate.
148
+ :param _builtins.str domain: The domain name of the SSL certificate.
149
+ :param Union['GetCertificateTimeoutsArgs', 'GetCertificateTimeoutsArgsDict'] timeouts: (see below for nested schema)
150
+ """
151
+ __args__ = dict()
152
+ __args__['certificateId'] = certificate_id
153
+ __args__['domain'] = domain
154
+ __args__['timeouts'] = timeouts
155
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
156
+ __ret__ = pulumi.runtime.invoke('dnsimple:index/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult).value
157
+
158
+ return AwaitableGetCertificateResult(
159
+ certificate_chains=pulumi.get(__ret__, 'certificate_chains'),
160
+ certificate_id=pulumi.get(__ret__, 'certificate_id'),
161
+ domain=pulumi.get(__ret__, 'domain'),
162
+ id=pulumi.get(__ret__, 'id'),
163
+ private_key=pulumi.get(__ret__, 'private_key'),
164
+ root_certificate=pulumi.get(__ret__, 'root_certificate'),
165
+ server_certificate=pulumi.get(__ret__, 'server_certificate'),
166
+ timeouts=pulumi.get(__ret__, 'timeouts'))
167
+ def get_certificate_output(certificate_id: Optional[pulumi.Input[_builtins.int]] = None,
168
+ domain: Optional[pulumi.Input[_builtins.str]] = None,
169
+ timeouts: Optional[pulumi.Input[Optional[Union['GetCertificateTimeoutsArgs', 'GetCertificateTimeoutsArgsDict']]]] = None,
170
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]:
171
+ """
172
+ Get information about a DNSimple SSL certificate.
173
+
174
+ ## Example Usage
175
+
176
+ ```python
177
+ import pulumi
178
+ import pulumi_dnsimple as dnsimple
179
+
180
+ example = dnsimple.get_certificate(domain="example.com",
181
+ certificate_id=1234)
182
+ ```
183
+
184
+
185
+ :param _builtins.int certificate_id: The ID of the SSL certificate.
186
+ :param _builtins.str domain: The domain name of the SSL certificate.
187
+ :param Union['GetCertificateTimeoutsArgs', 'GetCertificateTimeoutsArgsDict'] timeouts: (see below for nested schema)
188
+ """
189
+ __args__ = dict()
190
+ __args__['certificateId'] = certificate_id
191
+ __args__['domain'] = domain
192
+ __args__['timeouts'] = timeouts
193
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
194
+ __ret__ = pulumi.runtime.invoke_output('dnsimple:index/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult)
195
+ return __ret__.apply(lambda __response__: GetCertificateResult(
196
+ certificate_chains=pulumi.get(__response__, 'certificate_chains'),
197
+ certificate_id=pulumi.get(__response__, 'certificate_id'),
198
+ domain=pulumi.get(__response__, 'domain'),
199
+ id=pulumi.get(__response__, 'id'),
200
+ private_key=pulumi.get(__response__, 'private_key'),
201
+ root_certificate=pulumi.get(__response__, 'root_certificate'),
202
+ server_certificate=pulumi.get(__response__, 'server_certificate'),
203
+ timeouts=pulumi.get(__response__, 'timeouts')))