pulumi-mailgun 3.6.0a1761892108__tar.gz → 3.7.0a1761978372__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.
Files changed (25) hide show
  1. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/PKG-INFO +1 -1
  2. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/__init__.py +9 -0
  3. pulumi_mailgun-3.7.0a1761978372/pulumi_mailgun/api_key.py +617 -0
  4. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/domain.py +0 -40
  5. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/pulumi-plugin.json +1 -1
  6. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun.egg-info/PKG-INFO +1 -1
  7. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun.egg-info/SOURCES.txt +1 -0
  8. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pyproject.toml +1 -1
  9. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/README.md +0 -0
  10. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/_inputs.py +0 -0
  11. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/_utilities.py +0 -0
  12. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/config/__init__.py +0 -0
  13. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/config/__init__.pyi +0 -0
  14. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/config/vars.py +0 -0
  15. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/domain_credential.py +0 -0
  16. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/get_domain.py +0 -0
  17. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/outputs.py +0 -0
  18. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/provider.py +0 -0
  19. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/py.typed +0 -0
  20. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/route.py +0 -0
  21. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun/webhook.py +0 -0
  22. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun.egg-info/dependency_links.txt +0 -0
  23. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun.egg-info/requires.txt +0 -0
  24. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/pulumi_mailgun.egg-info/top_level.txt +0 -0
  25. {pulumi_mailgun-3.6.0a1761892108 → pulumi_mailgun-3.7.0a1761978372}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_mailgun
3
- Version: 3.6.0a1761892108
3
+ Version: 3.7.0a1761978372
4
4
  Summary: A Pulumi package for creating and managing Mailgun resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -6,6 +6,7 @@ import builtins as _builtins
6
6
  from . import _utilities
7
7
  import typing
8
8
  # Export this package's modules as members:
9
+ from .api_key import *
9
10
  from .domain import *
10
11
  from .domain_credential import *
11
12
  from .get_domain import *
@@ -25,6 +26,14 @@ else:
25
26
  _utilities.register(
26
27
  resource_modules="""
27
28
  [
29
+ {
30
+ "pkg": "mailgun",
31
+ "mod": "index/apiKey",
32
+ "fqn": "pulumi_mailgun",
33
+ "classes": {
34
+ "mailgun:index/apiKey:ApiKey": "ApiKey"
35
+ }
36
+ },
28
37
  {
29
38
  "pkg": "mailgun",
30
39
  "mod": "index/domain",
@@ -0,0 +1,617 @@
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__ = ['ApiKeyArgs', 'ApiKey']
18
+
19
+ @pulumi.input_type
20
+ class ApiKeyArgs:
21
+ def __init__(__self__, *,
22
+ role: pulumi.Input[_builtins.str],
23
+ description: Optional[pulumi.Input[_builtins.str]] = None,
24
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
25
+ email: Optional[pulumi.Input[_builtins.str]] = None,
26
+ expires_at: Optional[pulumi.Input[_builtins.int]] = None,
27
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
28
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
29
+ user_name: Optional[pulumi.Input[_builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a ApiKey resource.
32
+ :param pulumi.Input[_builtins.str] role: (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
33
+ :param pulumi.Input[_builtins.str] description: Key description.
34
+ :param pulumi.Input[_builtins.str] domain_name: Web domain to associate with the key, for keys of `domain` kind.
35
+ :param pulumi.Input[_builtins.str] email: API key user's email address; should be provided for all keys of `web` kind.
36
+ :param pulumi.Input[_builtins.int] expires_at: When the key will expire.
37
+ :param pulumi.Input[_builtins.str] kind: (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
38
+ :param pulumi.Input[_builtins.str] user_id: API key user's string user ID; should be provided for all keys of `web` kind.
39
+ :param pulumi.Input[_builtins.str] user_name: API key user's name.
40
+ """
41
+ pulumi.set(__self__, "role", role)
42
+ if description is not None:
43
+ pulumi.set(__self__, "description", description)
44
+ if domain_name is not None:
45
+ pulumi.set(__self__, "domain_name", domain_name)
46
+ if email is not None:
47
+ pulumi.set(__self__, "email", email)
48
+ if expires_at is not None:
49
+ pulumi.set(__self__, "expires_at", expires_at)
50
+ if kind is not None:
51
+ pulumi.set(__self__, "kind", kind)
52
+ if user_id is not None:
53
+ pulumi.set(__self__, "user_id", user_id)
54
+ if user_name is not None:
55
+ pulumi.set(__self__, "user_name", user_name)
56
+
57
+ @_builtins.property
58
+ @pulumi.getter
59
+ def role(self) -> pulumi.Input[_builtins.str]:
60
+ """
61
+ (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
62
+ """
63
+ return pulumi.get(self, "role")
64
+
65
+ @role.setter
66
+ def role(self, value: pulumi.Input[_builtins.str]):
67
+ pulumi.set(self, "role", value)
68
+
69
+ @_builtins.property
70
+ @pulumi.getter
71
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
72
+ """
73
+ Key description.
74
+ """
75
+ return pulumi.get(self, "description")
76
+
77
+ @description.setter
78
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
79
+ pulumi.set(self, "description", value)
80
+
81
+ @_builtins.property
82
+ @pulumi.getter(name="domainName")
83
+ def domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
84
+ """
85
+ Web domain to associate with the key, for keys of `domain` kind.
86
+ """
87
+ return pulumi.get(self, "domain_name")
88
+
89
+ @domain_name.setter
90
+ def domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
91
+ pulumi.set(self, "domain_name", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter
95
+ def email(self) -> Optional[pulumi.Input[_builtins.str]]:
96
+ """
97
+ API key user's email address; should be provided for all keys of `web` kind.
98
+ """
99
+ return pulumi.get(self, "email")
100
+
101
+ @email.setter
102
+ def email(self, value: Optional[pulumi.Input[_builtins.str]]):
103
+ pulumi.set(self, "email", value)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter(name="expiresAt")
107
+ def expires_at(self) -> Optional[pulumi.Input[_builtins.int]]:
108
+ """
109
+ When the key will expire.
110
+ """
111
+ return pulumi.get(self, "expires_at")
112
+
113
+ @expires_at.setter
114
+ def expires_at(self, value: Optional[pulumi.Input[_builtins.int]]):
115
+ pulumi.set(self, "expires_at", value)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter
119
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
120
+ """
121
+ (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
122
+ """
123
+ return pulumi.get(self, "kind")
124
+
125
+ @kind.setter
126
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
127
+ pulumi.set(self, "kind", value)
128
+
129
+ @_builtins.property
130
+ @pulumi.getter(name="userId")
131
+ def user_id(self) -> Optional[pulumi.Input[_builtins.str]]:
132
+ """
133
+ API key user's string user ID; should be provided for all keys of `web` kind.
134
+ """
135
+ return pulumi.get(self, "user_id")
136
+
137
+ @user_id.setter
138
+ def user_id(self, value: Optional[pulumi.Input[_builtins.str]]):
139
+ pulumi.set(self, "user_id", value)
140
+
141
+ @_builtins.property
142
+ @pulumi.getter(name="userName")
143
+ def user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
144
+ """
145
+ API key user's name.
146
+ """
147
+ return pulumi.get(self, "user_name")
148
+
149
+ @user_name.setter
150
+ def user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
151
+ pulumi.set(self, "user_name", value)
152
+
153
+
154
+ @pulumi.input_type
155
+ class _ApiKeyState:
156
+ def __init__(__self__, *,
157
+ description: Optional[pulumi.Input[_builtins.str]] = None,
158
+ disabled_reason: Optional[pulumi.Input[_builtins.str]] = None,
159
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
160
+ email: Optional[pulumi.Input[_builtins.str]] = None,
161
+ expires_at: Optional[pulumi.Input[_builtins.int]] = None,
162
+ is_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
163
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
164
+ requestor: Optional[pulumi.Input[_builtins.str]] = None,
165
+ role: Optional[pulumi.Input[_builtins.str]] = None,
166
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
167
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
168
+ user_name: Optional[pulumi.Input[_builtins.str]] = None):
169
+ """
170
+ Input properties used for looking up and filtering ApiKey resources.
171
+ :param pulumi.Input[_builtins.str] description: Key description.
172
+ :param pulumi.Input[_builtins.str] disabled_reason: The reason for the key's disablement.
173
+ :param pulumi.Input[_builtins.str] domain_name: Web domain to associate with the key, for keys of `domain` kind.
174
+ :param pulumi.Input[_builtins.str] email: API key user's email address; should be provided for all keys of `web` kind.
175
+ :param pulumi.Input[_builtins.int] expires_at: When the key will expire.
176
+ :param pulumi.Input[_builtins.bool] is_disabled: Whether or not the key is disabled from use.
177
+ :param pulumi.Input[_builtins.str] kind: (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
178
+ :param pulumi.Input[_builtins.str] requestor: An email address associated with the key.
179
+ :param pulumi.Input[_builtins.str] role: (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
180
+ :param pulumi.Input[_builtins.str] secret: The full API key secret in plain text.
181
+ :param pulumi.Input[_builtins.str] user_id: API key user's string user ID; should be provided for all keys of `web` kind.
182
+ :param pulumi.Input[_builtins.str] user_name: API key user's name.
183
+ """
184
+ if description is not None:
185
+ pulumi.set(__self__, "description", description)
186
+ if disabled_reason is not None:
187
+ pulumi.set(__self__, "disabled_reason", disabled_reason)
188
+ if domain_name is not None:
189
+ pulumi.set(__self__, "domain_name", domain_name)
190
+ if email is not None:
191
+ pulumi.set(__self__, "email", email)
192
+ if expires_at is not None:
193
+ pulumi.set(__self__, "expires_at", expires_at)
194
+ if is_disabled is not None:
195
+ pulumi.set(__self__, "is_disabled", is_disabled)
196
+ if kind is not None:
197
+ pulumi.set(__self__, "kind", kind)
198
+ if requestor is not None:
199
+ pulumi.set(__self__, "requestor", requestor)
200
+ if role is not None:
201
+ pulumi.set(__self__, "role", role)
202
+ if secret is not None:
203
+ pulumi.set(__self__, "secret", secret)
204
+ if user_id is not None:
205
+ pulumi.set(__self__, "user_id", user_id)
206
+ if user_name is not None:
207
+ pulumi.set(__self__, "user_name", user_name)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter
211
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
212
+ """
213
+ Key description.
214
+ """
215
+ return pulumi.get(self, "description")
216
+
217
+ @description.setter
218
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
219
+ pulumi.set(self, "description", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter(name="disabledReason")
223
+ def disabled_reason(self) -> Optional[pulumi.Input[_builtins.str]]:
224
+ """
225
+ The reason for the key's disablement.
226
+ """
227
+ return pulumi.get(self, "disabled_reason")
228
+
229
+ @disabled_reason.setter
230
+ def disabled_reason(self, value: Optional[pulumi.Input[_builtins.str]]):
231
+ pulumi.set(self, "disabled_reason", value)
232
+
233
+ @_builtins.property
234
+ @pulumi.getter(name="domainName")
235
+ def domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
236
+ """
237
+ Web domain to associate with the key, for keys of `domain` kind.
238
+ """
239
+ return pulumi.get(self, "domain_name")
240
+
241
+ @domain_name.setter
242
+ def domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
243
+ pulumi.set(self, "domain_name", value)
244
+
245
+ @_builtins.property
246
+ @pulumi.getter
247
+ def email(self) -> Optional[pulumi.Input[_builtins.str]]:
248
+ """
249
+ API key user's email address; should be provided for all keys of `web` kind.
250
+ """
251
+ return pulumi.get(self, "email")
252
+
253
+ @email.setter
254
+ def email(self, value: Optional[pulumi.Input[_builtins.str]]):
255
+ pulumi.set(self, "email", value)
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="expiresAt")
259
+ def expires_at(self) -> Optional[pulumi.Input[_builtins.int]]:
260
+ """
261
+ When the key will expire.
262
+ """
263
+ return pulumi.get(self, "expires_at")
264
+
265
+ @expires_at.setter
266
+ def expires_at(self, value: Optional[pulumi.Input[_builtins.int]]):
267
+ pulumi.set(self, "expires_at", value)
268
+
269
+ @_builtins.property
270
+ @pulumi.getter(name="isDisabled")
271
+ def is_disabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
272
+ """
273
+ Whether or not the key is disabled from use.
274
+ """
275
+ return pulumi.get(self, "is_disabled")
276
+
277
+ @is_disabled.setter
278
+ def is_disabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
279
+ pulumi.set(self, "is_disabled", value)
280
+
281
+ @_builtins.property
282
+ @pulumi.getter
283
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
284
+ """
285
+ (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
286
+ """
287
+ return pulumi.get(self, "kind")
288
+
289
+ @kind.setter
290
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
291
+ pulumi.set(self, "kind", value)
292
+
293
+ @_builtins.property
294
+ @pulumi.getter
295
+ def requestor(self) -> Optional[pulumi.Input[_builtins.str]]:
296
+ """
297
+ An email address associated with the key.
298
+ """
299
+ return pulumi.get(self, "requestor")
300
+
301
+ @requestor.setter
302
+ def requestor(self, value: Optional[pulumi.Input[_builtins.str]]):
303
+ pulumi.set(self, "requestor", value)
304
+
305
+ @_builtins.property
306
+ @pulumi.getter
307
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
308
+ """
309
+ (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
310
+ """
311
+ return pulumi.get(self, "role")
312
+
313
+ @role.setter
314
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
315
+ pulumi.set(self, "role", value)
316
+
317
+ @_builtins.property
318
+ @pulumi.getter
319
+ def secret(self) -> Optional[pulumi.Input[_builtins.str]]:
320
+ """
321
+ The full API key secret in plain text.
322
+ """
323
+ return pulumi.get(self, "secret")
324
+
325
+ @secret.setter
326
+ def secret(self, value: Optional[pulumi.Input[_builtins.str]]):
327
+ pulumi.set(self, "secret", value)
328
+
329
+ @_builtins.property
330
+ @pulumi.getter(name="userId")
331
+ def user_id(self) -> Optional[pulumi.Input[_builtins.str]]:
332
+ """
333
+ API key user's string user ID; should be provided for all keys of `web` kind.
334
+ """
335
+ return pulumi.get(self, "user_id")
336
+
337
+ @user_id.setter
338
+ def user_id(self, value: Optional[pulumi.Input[_builtins.str]]):
339
+ pulumi.set(self, "user_id", value)
340
+
341
+ @_builtins.property
342
+ @pulumi.getter(name="userName")
343
+ def user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
344
+ """
345
+ API key user's name.
346
+ """
347
+ return pulumi.get(self, "user_name")
348
+
349
+ @user_name.setter
350
+ def user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
351
+ pulumi.set(self, "user_name", value)
352
+
353
+
354
+ @pulumi.type_token("mailgun:index/apiKey:ApiKey")
355
+ class ApiKey(pulumi.CustomResource):
356
+ @overload
357
+ def __init__(__self__,
358
+ resource_name: str,
359
+ opts: Optional[pulumi.ResourceOptions] = None,
360
+ description: Optional[pulumi.Input[_builtins.str]] = None,
361
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
362
+ email: Optional[pulumi.Input[_builtins.str]] = None,
363
+ expires_at: Optional[pulumi.Input[_builtins.int]] = None,
364
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
365
+ role: Optional[pulumi.Input[_builtins.str]] = None,
366
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
367
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
368
+ __props__=None):
369
+ """
370
+ ## Example Usage
371
+
372
+ ```python
373
+ import pulumi
374
+ import pulumi_mailgun as mailgun
375
+
376
+ # Create a new Mailgun API key
377
+ some_key = mailgun.ApiKey("some_key",
378
+ role="basic",
379
+ kind="user",
380
+ description="Some key")
381
+ ```
382
+
383
+ :param str resource_name: The name of the resource.
384
+ :param pulumi.ResourceOptions opts: Options for the resource.
385
+ :param pulumi.Input[_builtins.str] description: Key description.
386
+ :param pulumi.Input[_builtins.str] domain_name: Web domain to associate with the key, for keys of `domain` kind.
387
+ :param pulumi.Input[_builtins.str] email: API key user's email address; should be provided for all keys of `web` kind.
388
+ :param pulumi.Input[_builtins.int] expires_at: When the key will expire.
389
+ :param pulumi.Input[_builtins.str] kind: (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
390
+ :param pulumi.Input[_builtins.str] role: (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
391
+ :param pulumi.Input[_builtins.str] user_id: API key user's string user ID; should be provided for all keys of `web` kind.
392
+ :param pulumi.Input[_builtins.str] user_name: API key user's name.
393
+ """
394
+ ...
395
+ @overload
396
+ def __init__(__self__,
397
+ resource_name: str,
398
+ args: ApiKeyArgs,
399
+ opts: Optional[pulumi.ResourceOptions] = None):
400
+ """
401
+ ## Example Usage
402
+
403
+ ```python
404
+ import pulumi
405
+ import pulumi_mailgun as mailgun
406
+
407
+ # Create a new Mailgun API key
408
+ some_key = mailgun.ApiKey("some_key",
409
+ role="basic",
410
+ kind="user",
411
+ description="Some key")
412
+ ```
413
+
414
+ :param str resource_name: The name of the resource.
415
+ :param ApiKeyArgs args: The arguments to use to populate this resource's properties.
416
+ :param pulumi.ResourceOptions opts: Options for the resource.
417
+ """
418
+ ...
419
+ def __init__(__self__, resource_name: str, *args, **kwargs):
420
+ resource_args, opts = _utilities.get_resource_args_opts(ApiKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
421
+ if resource_args is not None:
422
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
423
+ else:
424
+ __self__._internal_init(resource_name, *args, **kwargs)
425
+
426
+ def _internal_init(__self__,
427
+ resource_name: str,
428
+ opts: Optional[pulumi.ResourceOptions] = None,
429
+ description: Optional[pulumi.Input[_builtins.str]] = None,
430
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
431
+ email: Optional[pulumi.Input[_builtins.str]] = None,
432
+ expires_at: Optional[pulumi.Input[_builtins.int]] = None,
433
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
434
+ role: Optional[pulumi.Input[_builtins.str]] = None,
435
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
436
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
437
+ __props__=None):
438
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
439
+ if not isinstance(opts, pulumi.ResourceOptions):
440
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
441
+ if opts.id is None:
442
+ if __props__ is not None:
443
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
444
+ __props__ = ApiKeyArgs.__new__(ApiKeyArgs)
445
+
446
+ __props__.__dict__["description"] = description
447
+ __props__.__dict__["domain_name"] = domain_name
448
+ __props__.__dict__["email"] = email
449
+ __props__.__dict__["expires_at"] = expires_at
450
+ __props__.__dict__["kind"] = kind
451
+ if role is None and not opts.urn:
452
+ raise TypeError("Missing required property 'role'")
453
+ __props__.__dict__["role"] = role
454
+ __props__.__dict__["user_id"] = user_id
455
+ __props__.__dict__["user_name"] = user_name
456
+ __props__.__dict__["disabled_reason"] = None
457
+ __props__.__dict__["is_disabled"] = None
458
+ __props__.__dict__["requestor"] = None
459
+ __props__.__dict__["secret"] = None
460
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secret"])
461
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
462
+ super(ApiKey, __self__).__init__(
463
+ 'mailgun:index/apiKey:ApiKey',
464
+ resource_name,
465
+ __props__,
466
+ opts)
467
+
468
+ @staticmethod
469
+ def get(resource_name: str,
470
+ id: pulumi.Input[str],
471
+ opts: Optional[pulumi.ResourceOptions] = None,
472
+ description: Optional[pulumi.Input[_builtins.str]] = None,
473
+ disabled_reason: Optional[pulumi.Input[_builtins.str]] = None,
474
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
475
+ email: Optional[pulumi.Input[_builtins.str]] = None,
476
+ expires_at: Optional[pulumi.Input[_builtins.int]] = None,
477
+ is_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
478
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
479
+ requestor: Optional[pulumi.Input[_builtins.str]] = None,
480
+ role: Optional[pulumi.Input[_builtins.str]] = None,
481
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
482
+ user_id: Optional[pulumi.Input[_builtins.str]] = None,
483
+ user_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'ApiKey':
484
+ """
485
+ Get an existing ApiKey resource's state with the given name, id, and optional extra
486
+ properties used to qualify the lookup.
487
+
488
+ :param str resource_name: The unique name of the resulting resource.
489
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
490
+ :param pulumi.ResourceOptions opts: Options for the resource.
491
+ :param pulumi.Input[_builtins.str] description: Key description.
492
+ :param pulumi.Input[_builtins.str] disabled_reason: The reason for the key's disablement.
493
+ :param pulumi.Input[_builtins.str] domain_name: Web domain to associate with the key, for keys of `domain` kind.
494
+ :param pulumi.Input[_builtins.str] email: API key user's email address; should be provided for all keys of `web` kind.
495
+ :param pulumi.Input[_builtins.int] expires_at: When the key will expire.
496
+ :param pulumi.Input[_builtins.bool] is_disabled: Whether or not the key is disabled from use.
497
+ :param pulumi.Input[_builtins.str] kind: (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
498
+ :param pulumi.Input[_builtins.str] requestor: An email address associated with the key.
499
+ :param pulumi.Input[_builtins.str] role: (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
500
+ :param pulumi.Input[_builtins.str] secret: The full API key secret in plain text.
501
+ :param pulumi.Input[_builtins.str] user_id: API key user's string user ID; should be provided for all keys of `web` kind.
502
+ :param pulumi.Input[_builtins.str] user_name: API key user's name.
503
+ """
504
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
505
+
506
+ __props__ = _ApiKeyState.__new__(_ApiKeyState)
507
+
508
+ __props__.__dict__["description"] = description
509
+ __props__.__dict__["disabled_reason"] = disabled_reason
510
+ __props__.__dict__["domain_name"] = domain_name
511
+ __props__.__dict__["email"] = email
512
+ __props__.__dict__["expires_at"] = expires_at
513
+ __props__.__dict__["is_disabled"] = is_disabled
514
+ __props__.__dict__["kind"] = kind
515
+ __props__.__dict__["requestor"] = requestor
516
+ __props__.__dict__["role"] = role
517
+ __props__.__dict__["secret"] = secret
518
+ __props__.__dict__["user_id"] = user_id
519
+ __props__.__dict__["user_name"] = user_name
520
+ return ApiKey(resource_name, opts=opts, __props__=__props__)
521
+
522
+ @_builtins.property
523
+ @pulumi.getter
524
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
525
+ """
526
+ Key description.
527
+ """
528
+ return pulumi.get(self, "description")
529
+
530
+ @_builtins.property
531
+ @pulumi.getter(name="disabledReason")
532
+ def disabled_reason(self) -> pulumi.Output[_builtins.str]:
533
+ """
534
+ The reason for the key's disablement.
535
+ """
536
+ return pulumi.get(self, "disabled_reason")
537
+
538
+ @_builtins.property
539
+ @pulumi.getter(name="domainName")
540
+ def domain_name(self) -> pulumi.Output[Optional[_builtins.str]]:
541
+ """
542
+ Web domain to associate with the key, for keys of `domain` kind.
543
+ """
544
+ return pulumi.get(self, "domain_name")
545
+
546
+ @_builtins.property
547
+ @pulumi.getter
548
+ def email(self) -> pulumi.Output[Optional[_builtins.str]]:
549
+ """
550
+ API key user's email address; should be provided for all keys of `web` kind.
551
+ """
552
+ return pulumi.get(self, "email")
553
+
554
+ @_builtins.property
555
+ @pulumi.getter(name="expiresAt")
556
+ def expires_at(self) -> pulumi.Output[Optional[_builtins.int]]:
557
+ """
558
+ When the key will expire.
559
+ """
560
+ return pulumi.get(self, "expires_at")
561
+
562
+ @_builtins.property
563
+ @pulumi.getter(name="isDisabled")
564
+ def is_disabled(self) -> pulumi.Output[_builtins.bool]:
565
+ """
566
+ Whether or not the key is disabled from use.
567
+ """
568
+ return pulumi.get(self, "is_disabled")
569
+
570
+ @_builtins.property
571
+ @pulumi.getter
572
+ def kind(self) -> pulumi.Output[Optional[_builtins.str]]:
573
+ """
574
+ (Enum:`domain`, `user`, or `web`). API key type. Default: `user`.
575
+ """
576
+ return pulumi.get(self, "kind")
577
+
578
+ @_builtins.property
579
+ @pulumi.getter
580
+ def requestor(self) -> pulumi.Output[_builtins.str]:
581
+ """
582
+ An email address associated with the key.
583
+ """
584
+ return pulumi.get(self, "requestor")
585
+
586
+ @_builtins.property
587
+ @pulumi.getter
588
+ def role(self) -> pulumi.Output[_builtins.str]:
589
+ """
590
+ (Enum: `admin`, `basic`, `sending`, `support`, or `developer`) Key role.
591
+ """
592
+ return pulumi.get(self, "role")
593
+
594
+ @_builtins.property
595
+ @pulumi.getter
596
+ def secret(self) -> pulumi.Output[_builtins.str]:
597
+ """
598
+ The full API key secret in plain text.
599
+ """
600
+ return pulumi.get(self, "secret")
601
+
602
+ @_builtins.property
603
+ @pulumi.getter(name="userId")
604
+ def user_id(self) -> pulumi.Output[Optional[_builtins.str]]:
605
+ """
606
+ API key user's string user ID; should be provided for all keys of `web` kind.
607
+ """
608
+ return pulumi.get(self, "user_id")
609
+
610
+ @_builtins.property
611
+ @pulumi.getter(name="userName")
612
+ def user_name(self) -> pulumi.Output[Optional[_builtins.str]]:
613
+ """
614
+ API key user's name.
615
+ """
616
+ return pulumi.get(self, "user_name")
617
+
@@ -505,26 +505,6 @@ class Domain(pulumi.CustomResource):
505
505
  wildcard: Optional[pulumi.Input[_builtins.bool]] = None,
506
506
  __props__=None):
507
507
  """
508
- Provides a Mailgun App resource. This can be used to
509
- create and manage applications on Mailgun.
510
-
511
- After DNS records are set, domain verification should be triggered manually using [PUT /domains/\\<domain\\>/verify](https://documentation.mailgun.com/en/latest/api-domains.html#domains)
512
-
513
- ## Example Usage
514
-
515
- ```python
516
- import pulumi
517
- import pulumi_mailgun as mailgun
518
-
519
- # Create a new Mailgun domain
520
- default = mailgun.Domain("default",
521
- name="test.example.com",
522
- region="us",
523
- spam_action="disabled",
524
- smtp_password="supersecretpassword1234",
525
- dkim_key_size=1024)
526
- ```
527
-
528
508
  ## Import
529
509
 
530
510
  Domains can be imported using `region:domain_name` via `import` command. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
@@ -559,26 +539,6 @@ class Domain(pulumi.CustomResource):
559
539
  args: Optional[DomainArgs] = None,
560
540
  opts: Optional[pulumi.ResourceOptions] = None):
561
541
  """
562
- Provides a Mailgun App resource. This can be used to
563
- create and manage applications on Mailgun.
564
-
565
- After DNS records are set, domain verification should be triggered manually using [PUT /domains/\\<domain\\>/verify](https://documentation.mailgun.com/en/latest/api-domains.html#domains)
566
-
567
- ## Example Usage
568
-
569
- ```python
570
- import pulumi
571
- import pulumi_mailgun as mailgun
572
-
573
- # Create a new Mailgun domain
574
- default = mailgun.Domain("default",
575
- name="test.example.com",
576
- region="us",
577
- spam_action="disabled",
578
- smtp_password="supersecretpassword1234",
579
- dkim_key_size=1024)
580
- ```
581
-
582
542
  ## Import
583
543
 
584
544
  Domains can be imported using `region:domain_name` via `import` command. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "mailgun",
4
- "version": "3.6.0-alpha.1761892108"
4
+ "version": "3.7.0-alpha.1761978372"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_mailgun
3
- Version: 3.6.0a1761892108
3
+ Version: 3.7.0a1761978372
4
4
  Summary: A Pulumi package for creating and managing Mailgun resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -3,6 +3,7 @@ pyproject.toml
3
3
  pulumi_mailgun/__init__.py
4
4
  pulumi_mailgun/_inputs.py
5
5
  pulumi_mailgun/_utilities.py
6
+ pulumi_mailgun/api_key.py
6
7
  pulumi_mailgun/domain.py
7
8
  pulumi_mailgun/domain_credential.py
8
9
  pulumi_mailgun/get_domain.py
@@ -5,7 +5,7 @@
5
5
  keywords = ["pulumi", "mailgun"]
6
6
  readme = "README.md"
7
7
  requires-python = ">=3.9"
8
- version = "3.6.0a1761892108"
8
+ version = "3.7.0a1761978372"
9
9
  [project.license]
10
10
  text = "Apache-2.0"
11
11
  [project.urls]