pulumi-mailgun 3.6.0a1709364842__py3-none-any.whl → 3.6.0a1736834009__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
pulumi_mailgun/_inputs.py CHANGED
@@ -4,18 +4,51 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
13
18
  'DomainReceivingRecordArgs',
19
+ 'DomainReceivingRecordArgsDict',
14
20
  'DomainReceivingRecordsSetArgs',
21
+ 'DomainReceivingRecordsSetArgsDict',
15
22
  'DomainSendingRecordArgs',
23
+ 'DomainSendingRecordArgsDict',
16
24
  'DomainSendingRecordsSetArgs',
25
+ 'DomainSendingRecordsSetArgsDict',
17
26
  ]
18
27
 
28
+ MYPY = False
29
+
30
+ if not MYPY:
31
+ class DomainReceivingRecordArgsDict(TypedDict):
32
+ id: NotRequired[pulumi.Input[str]]
33
+ priority: NotRequired[pulumi.Input[str]]
34
+ """
35
+ The priority of the record.
36
+ """
37
+ record_type: NotRequired[pulumi.Input[str]]
38
+ """
39
+ The record type.
40
+ """
41
+ valid: NotRequired[pulumi.Input[str]]
42
+ """
43
+ `"valid"` if the record is valid.
44
+ """
45
+ value: NotRequired[pulumi.Input[str]]
46
+ """
47
+ The value of the record.
48
+ """
49
+ elif False:
50
+ DomainReceivingRecordArgsDict: TypeAlias = Mapping[str, Any]
51
+
19
52
  @pulumi.input_type
20
53
  class DomainReceivingRecordArgs:
21
54
  def __init__(__self__, *,
@@ -99,6 +132,28 @@ class DomainReceivingRecordArgs:
99
132
  pulumi.set(self, "value", value)
100
133
 
101
134
 
135
+ if not MYPY:
136
+ class DomainReceivingRecordsSetArgsDict(TypedDict):
137
+ id: NotRequired[pulumi.Input[str]]
138
+ priority: NotRequired[pulumi.Input[str]]
139
+ """
140
+ The priority of the record.
141
+ """
142
+ record_type: NotRequired[pulumi.Input[str]]
143
+ """
144
+ The record type.
145
+ """
146
+ valid: NotRequired[pulumi.Input[str]]
147
+ """
148
+ `"valid"` if the record is valid.
149
+ """
150
+ value: NotRequired[pulumi.Input[str]]
151
+ """
152
+ The value of the record.
153
+ """
154
+ elif False:
155
+ DomainReceivingRecordsSetArgsDict: TypeAlias = Mapping[str, Any]
156
+
102
157
  @pulumi.input_type
103
158
  class DomainReceivingRecordsSetArgs:
104
159
  def __init__(__self__, *,
@@ -182,6 +237,28 @@ class DomainReceivingRecordsSetArgs:
182
237
  pulumi.set(self, "value", value)
183
238
 
184
239
 
240
+ if not MYPY:
241
+ class DomainSendingRecordArgsDict(TypedDict):
242
+ id: NotRequired[pulumi.Input[str]]
243
+ name: NotRequired[pulumi.Input[str]]
244
+ """
245
+ The domain to add to Mailgun
246
+ """
247
+ record_type: NotRequired[pulumi.Input[str]]
248
+ """
249
+ The record type.
250
+ """
251
+ valid: NotRequired[pulumi.Input[str]]
252
+ """
253
+ `"valid"` if the record is valid.
254
+ """
255
+ value: NotRequired[pulumi.Input[str]]
256
+ """
257
+ The value of the record.
258
+ """
259
+ elif False:
260
+ DomainSendingRecordArgsDict: TypeAlias = Mapping[str, Any]
261
+
185
262
  @pulumi.input_type
186
263
  class DomainSendingRecordArgs:
187
264
  def __init__(__self__, *,
@@ -265,6 +342,28 @@ class DomainSendingRecordArgs:
265
342
  pulumi.set(self, "value", value)
266
343
 
267
344
 
345
+ if not MYPY:
346
+ class DomainSendingRecordsSetArgsDict(TypedDict):
347
+ id: NotRequired[pulumi.Input[str]]
348
+ name: NotRequired[pulumi.Input[str]]
349
+ """
350
+ The domain to add to Mailgun
351
+ """
352
+ record_type: NotRequired[pulumi.Input[str]]
353
+ """
354
+ The record type.
355
+ """
356
+ valid: NotRequired[pulumi.Input[str]]
357
+ """
358
+ `"valid"` if the record is valid.
359
+ """
360
+ value: NotRequired[pulumi.Input[str]]
361
+ """
362
+ The value of the record.
363
+ """
364
+ elif False:
365
+ DomainSendingRecordsSetArgsDict: TypeAlias = Mapping[str, Any]
366
+
268
367
  @pulumi.input_type
269
368
  class DomainSendingRecordsSetArgs:
270
369
  def __init__(__self__, *,
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # 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)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from .. import _utilities
11
16
 
12
17
  apiKey: Optional[str]
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from .. import _utilities
11
16
 
12
17
  import types
pulumi_mailgun/domain.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -16,6 +21,7 @@ __all__ = ['DomainArgs', 'Domain']
16
21
  @pulumi.input_type
17
22
  class DomainArgs:
18
23
  def __init__(__self__, *,
24
+ click_tracking: Optional[pulumi.Input[bool]] = None,
19
25
  dkim_key_size: Optional[pulumi.Input[int]] = None,
20
26
  dkim_selector: Optional[pulumi.Input[str]] = None,
21
27
  force_dkim_authority: Optional[pulumi.Input[bool]] = None,
@@ -24,9 +30,11 @@ class DomainArgs:
24
30
  region: Optional[pulumi.Input[str]] = None,
25
31
  smtp_password: Optional[pulumi.Input[str]] = None,
26
32
  spam_action: Optional[pulumi.Input[str]] = None,
33
+ web_scheme: Optional[pulumi.Input[str]] = None,
27
34
  wildcard: Optional[pulumi.Input[bool]] = None):
28
35
  """
29
36
  The set of arguments for constructing a Domain resource.
37
+ :param pulumi.Input[bool] click_tracking: (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
30
38
  :param pulumi.Input[int] dkim_key_size: The length of your domain’s generated DKIM key. Default value is `1024`.
31
39
  :param pulumi.Input[str] dkim_selector: The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.
32
40
  :param pulumi.Input[bool] force_dkim_authority: If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is `false`.
@@ -37,9 +45,12 @@ class DomainArgs:
37
45
  :param pulumi.Input[str] spam_action: `disabled` or `tag` Disable, no spam
38
46
  filtering will occur for inbound messages. Tag, messages
39
47
  will be tagged with a spam header. Default value is `disabled`.
48
+ :param pulumi.Input[str] web_scheme: (`http` or `https`) The tracking web scheme. Default: `http`
40
49
  :param pulumi.Input[bool] wildcard: Boolean that determines whether
41
50
  the domain will accept email for sub-domains.
42
51
  """
52
+ if click_tracking is not None:
53
+ pulumi.set(__self__, "click_tracking", click_tracking)
43
54
  if dkim_key_size is not None:
44
55
  pulumi.set(__self__, "dkim_key_size", dkim_key_size)
45
56
  if dkim_selector is not None:
@@ -56,9 +67,23 @@ class DomainArgs:
56
67
  pulumi.set(__self__, "smtp_password", smtp_password)
57
68
  if spam_action is not None:
58
69
  pulumi.set(__self__, "spam_action", spam_action)
70
+ if web_scheme is not None:
71
+ pulumi.set(__self__, "web_scheme", web_scheme)
59
72
  if wildcard is not None:
60
73
  pulumi.set(__self__, "wildcard", wildcard)
61
74
 
75
+ @property
76
+ @pulumi.getter(name="clickTracking")
77
+ def click_tracking(self) -> Optional[pulumi.Input[bool]]:
78
+ """
79
+ (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
80
+ """
81
+ return pulumi.get(self, "click_tracking")
82
+
83
+ @click_tracking.setter
84
+ def click_tracking(self, value: Optional[pulumi.Input[bool]]):
85
+ pulumi.set(self, "click_tracking", value)
86
+
62
87
  @property
63
88
  @pulumi.getter(name="dkimKeySize")
64
89
  def dkim_key_size(self) -> Optional[pulumi.Input[int]]:
@@ -157,6 +182,18 @@ class DomainArgs:
157
182
  def spam_action(self, value: Optional[pulumi.Input[str]]):
158
183
  pulumi.set(self, "spam_action", value)
159
184
 
185
+ @property
186
+ @pulumi.getter(name="webScheme")
187
+ def web_scheme(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ (`http` or `https`) The tracking web scheme. Default: `http`
190
+ """
191
+ return pulumi.get(self, "web_scheme")
192
+
193
+ @web_scheme.setter
194
+ def web_scheme(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "web_scheme", value)
196
+
160
197
  @property
161
198
  @pulumi.getter
162
199
  def wildcard(self) -> Optional[pulumi.Input[bool]]:
@@ -174,6 +211,7 @@ class DomainArgs:
174
211
  @pulumi.input_type
175
212
  class _DomainState:
176
213
  def __init__(__self__, *,
214
+ click_tracking: Optional[pulumi.Input[bool]] = None,
177
215
  dkim_key_size: Optional[pulumi.Input[int]] = None,
178
216
  dkim_selector: Optional[pulumi.Input[str]] = None,
179
217
  force_dkim_authority: Optional[pulumi.Input[bool]] = None,
@@ -187,9 +225,11 @@ class _DomainState:
187
225
  smtp_login: Optional[pulumi.Input[str]] = None,
188
226
  smtp_password: Optional[pulumi.Input[str]] = None,
189
227
  spam_action: Optional[pulumi.Input[str]] = None,
228
+ web_scheme: Optional[pulumi.Input[str]] = None,
190
229
  wildcard: Optional[pulumi.Input[bool]] = None):
191
230
  """
192
231
  Input properties used for looking up and filtering Domain resources.
232
+ :param pulumi.Input[bool] click_tracking: (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
193
233
  :param pulumi.Input[int] dkim_key_size: The length of your domain’s generated DKIM key. Default value is `1024`.
194
234
  :param pulumi.Input[str] dkim_selector: The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.
195
235
  :param pulumi.Input[bool] force_dkim_authority: If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is `false`.
@@ -205,9 +245,12 @@ class _DomainState:
205
245
  :param pulumi.Input[str] spam_action: `disabled` or `tag` Disable, no spam
206
246
  filtering will occur for inbound messages. Tag, messages
207
247
  will be tagged with a spam header. Default value is `disabled`.
248
+ :param pulumi.Input[str] web_scheme: (`http` or `https`) The tracking web scheme. Default: `http`
208
249
  :param pulumi.Input[bool] wildcard: Boolean that determines whether
209
250
  the domain will accept email for sub-domains.
210
251
  """
252
+ if click_tracking is not None:
253
+ pulumi.set(__self__, "click_tracking", click_tracking)
211
254
  if dkim_key_size is not None:
212
255
  pulumi.set(__self__, "dkim_key_size", dkim_key_size)
213
256
  if dkim_selector is not None:
@@ -240,9 +283,23 @@ class _DomainState:
240
283
  pulumi.set(__self__, "smtp_password", smtp_password)
241
284
  if spam_action is not None:
242
285
  pulumi.set(__self__, "spam_action", spam_action)
286
+ if web_scheme is not None:
287
+ pulumi.set(__self__, "web_scheme", web_scheme)
243
288
  if wildcard is not None:
244
289
  pulumi.set(__self__, "wildcard", wildcard)
245
290
 
291
+ @property
292
+ @pulumi.getter(name="clickTracking")
293
+ def click_tracking(self) -> Optional[pulumi.Input[bool]]:
294
+ """
295
+ (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
296
+ """
297
+ return pulumi.get(self, "click_tracking")
298
+
299
+ @click_tracking.setter
300
+ def click_tracking(self, value: Optional[pulumi.Input[bool]]):
301
+ pulumi.set(self, "click_tracking", value)
302
+
246
303
  @property
247
304
  @pulumi.getter(name="dkimKeySize")
248
305
  def dkim_key_size(self) -> Optional[pulumi.Input[int]]:
@@ -305,13 +362,11 @@ class _DomainState:
305
362
 
306
363
  @property
307
364
  @pulumi.getter(name="receivingRecords")
365
+ @_utilities.deprecated("""Use `receiving_records_set` instead.""")
308
366
  def receiving_records(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainReceivingRecordArgs']]]]:
309
367
  """
310
368
  A list of DNS records for receiving validation. **Deprecated** Use `receiving_records_set` instead.
311
369
  """
312
- warnings.warn("""Use `receiving_records_set` instead.""", DeprecationWarning)
313
- pulumi.log.warn("""receiving_records is deprecated: Use `receiving_records_set` instead.""")
314
-
315
370
  return pulumi.get(self, "receiving_records")
316
371
 
317
372
  @receiving_records.setter
@@ -344,13 +399,11 @@ class _DomainState:
344
399
 
345
400
  @property
346
401
  @pulumi.getter(name="sendingRecords")
402
+ @_utilities.deprecated("""Use `sending_records_set` instead.""")
347
403
  def sending_records(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainSendingRecordArgs']]]]:
348
404
  """
349
405
  A list of DNS records for sending validation. **Deprecated** Use `sending_records_set` instead.
350
406
  """
351
- warnings.warn("""Use `sending_records_set` instead.""", DeprecationWarning)
352
- pulumi.log.warn("""sending_records is deprecated: Use `sending_records_set` instead.""")
353
-
354
407
  return pulumi.get(self, "sending_records")
355
408
 
356
409
  @sending_records.setter
@@ -407,6 +460,18 @@ class _DomainState:
407
460
  def spam_action(self, value: Optional[pulumi.Input[str]]):
408
461
  pulumi.set(self, "spam_action", value)
409
462
 
463
+ @property
464
+ @pulumi.getter(name="webScheme")
465
+ def web_scheme(self) -> Optional[pulumi.Input[str]]:
466
+ """
467
+ (`http` or `https`) The tracking web scheme. Default: `http`
468
+ """
469
+ return pulumi.get(self, "web_scheme")
470
+
471
+ @web_scheme.setter
472
+ def web_scheme(self, value: Optional[pulumi.Input[str]]):
473
+ pulumi.set(self, "web_scheme", value)
474
+
410
475
  @property
411
476
  @pulumi.getter
412
477
  def wildcard(self) -> Optional[pulumi.Input[bool]]:
@@ -426,6 +491,7 @@ class Domain(pulumi.CustomResource):
426
491
  def __init__(__self__,
427
492
  resource_name: str,
428
493
  opts: Optional[pulumi.ResourceOptions] = None,
494
+ click_tracking: Optional[pulumi.Input[bool]] = None,
429
495
  dkim_key_size: Optional[pulumi.Input[int]] = None,
430
496
  dkim_selector: Optional[pulumi.Input[str]] = None,
431
497
  force_dkim_authority: Optional[pulumi.Input[bool]] = None,
@@ -434,6 +500,7 @@ class Domain(pulumi.CustomResource):
434
500
  region: Optional[pulumi.Input[str]] = None,
435
501
  smtp_password: Optional[pulumi.Input[str]] = None,
436
502
  spam_action: Optional[pulumi.Input[str]] = None,
503
+ web_scheme: Optional[pulumi.Input[str]] = None,
437
504
  wildcard: Optional[pulumi.Input[bool]] = None,
438
505
  __props__=None):
439
506
  """
@@ -450,17 +517,18 @@ class Domain(pulumi.CustomResource):
450
517
 
451
518
  # Create a new Mailgun domain
452
519
  default = mailgun.Domain("default",
453
- dkim_key_size=1024,
520
+ name="test.example.com",
454
521
  region="us",
522
+ spam_action="disabled",
455
523
  smtp_password="supersecretpassword1234",
456
- spam_action="disabled")
524
+ dkim_key_size=1024)
457
525
  ```
458
526
 
459
527
  ## Import
460
528
 
461
529
  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).
462
530
 
463
- hcl
531
+ hcl
464
532
 
465
533
  ```sh
466
534
  $ pulumi import mailgun:index/domain:Domain test us:example.domain.com
@@ -468,6 +536,7 @@ class Domain(pulumi.CustomResource):
468
536
 
469
537
  :param str resource_name: The name of the resource.
470
538
  :param pulumi.ResourceOptions opts: Options for the resource.
539
+ :param pulumi.Input[bool] click_tracking: (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
471
540
  :param pulumi.Input[int] dkim_key_size: The length of your domain’s generated DKIM key. Default value is `1024`.
472
541
  :param pulumi.Input[str] dkim_selector: The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.
473
542
  :param pulumi.Input[bool] force_dkim_authority: If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is `false`.
@@ -478,6 +547,7 @@ class Domain(pulumi.CustomResource):
478
547
  :param pulumi.Input[str] spam_action: `disabled` or `tag` Disable, no spam
479
548
  filtering will occur for inbound messages. Tag, messages
480
549
  will be tagged with a spam header. Default value is `disabled`.
550
+ :param pulumi.Input[str] web_scheme: (`http` or `https`) The tracking web scheme. Default: `http`
481
551
  :param pulumi.Input[bool] wildcard: Boolean that determines whether
482
552
  the domain will accept email for sub-domains.
483
553
  """
@@ -501,17 +571,18 @@ class Domain(pulumi.CustomResource):
501
571
 
502
572
  # Create a new Mailgun domain
503
573
  default = mailgun.Domain("default",
504
- dkim_key_size=1024,
574
+ name="test.example.com",
505
575
  region="us",
576
+ spam_action="disabled",
506
577
  smtp_password="supersecretpassword1234",
507
- spam_action="disabled")
578
+ dkim_key_size=1024)
508
579
  ```
509
580
 
510
581
  ## Import
511
582
 
512
583
  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).
513
584
 
514
- hcl
585
+ hcl
515
586
 
516
587
  ```sh
517
588
  $ pulumi import mailgun:index/domain:Domain test us:example.domain.com
@@ -532,6 +603,7 @@ class Domain(pulumi.CustomResource):
532
603
  def _internal_init(__self__,
533
604
  resource_name: str,
534
605
  opts: Optional[pulumi.ResourceOptions] = None,
606
+ click_tracking: Optional[pulumi.Input[bool]] = None,
535
607
  dkim_key_size: Optional[pulumi.Input[int]] = None,
536
608
  dkim_selector: Optional[pulumi.Input[str]] = None,
537
609
  force_dkim_authority: Optional[pulumi.Input[bool]] = None,
@@ -540,6 +612,7 @@ class Domain(pulumi.CustomResource):
540
612
  region: Optional[pulumi.Input[str]] = None,
541
613
  smtp_password: Optional[pulumi.Input[str]] = None,
542
614
  spam_action: Optional[pulumi.Input[str]] = None,
615
+ web_scheme: Optional[pulumi.Input[str]] = None,
543
616
  wildcard: Optional[pulumi.Input[bool]] = None,
544
617
  __props__=None):
545
618
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -550,6 +623,7 @@ class Domain(pulumi.CustomResource):
550
623
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
551
624
  __props__ = DomainArgs.__new__(DomainArgs)
552
625
 
626
+ __props__.__dict__["click_tracking"] = click_tracking
553
627
  __props__.__dict__["dkim_key_size"] = dkim_key_size
554
628
  __props__.__dict__["dkim_selector"] = dkim_selector
555
629
  __props__.__dict__["force_dkim_authority"] = force_dkim_authority
@@ -558,6 +632,7 @@ class Domain(pulumi.CustomResource):
558
632
  __props__.__dict__["region"] = region
559
633
  __props__.__dict__["smtp_password"] = None if smtp_password is None else pulumi.Output.secret(smtp_password)
560
634
  __props__.__dict__["spam_action"] = spam_action
635
+ __props__.__dict__["web_scheme"] = web_scheme
561
636
  __props__.__dict__["wildcard"] = wildcard
562
637
  __props__.__dict__["receiving_records"] = None
563
638
  __props__.__dict__["receiving_records_sets"] = None
@@ -576,19 +651,21 @@ class Domain(pulumi.CustomResource):
576
651
  def get(resource_name: str,
577
652
  id: pulumi.Input[str],
578
653
  opts: Optional[pulumi.ResourceOptions] = None,
654
+ click_tracking: Optional[pulumi.Input[bool]] = None,
579
655
  dkim_key_size: Optional[pulumi.Input[int]] = None,
580
656
  dkim_selector: Optional[pulumi.Input[str]] = None,
581
657
  force_dkim_authority: Optional[pulumi.Input[bool]] = None,
582
658
  name: Optional[pulumi.Input[str]] = None,
583
659
  open_tracking: Optional[pulumi.Input[bool]] = None,
584
- receiving_records: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainReceivingRecordArgs']]]]] = None,
585
- receiving_records_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainReceivingRecordsSetArgs']]]]] = None,
660
+ receiving_records: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainReceivingRecordArgs', 'DomainReceivingRecordArgsDict']]]]] = None,
661
+ receiving_records_sets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainReceivingRecordsSetArgs', 'DomainReceivingRecordsSetArgsDict']]]]] = None,
586
662
  region: Optional[pulumi.Input[str]] = None,
587
- sending_records: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainSendingRecordArgs']]]]] = None,
588
- sending_records_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainSendingRecordsSetArgs']]]]] = None,
663
+ sending_records: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainSendingRecordArgs', 'DomainSendingRecordArgsDict']]]]] = None,
664
+ sending_records_sets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainSendingRecordsSetArgs', 'DomainSendingRecordsSetArgsDict']]]]] = None,
589
665
  smtp_login: Optional[pulumi.Input[str]] = None,
590
666
  smtp_password: Optional[pulumi.Input[str]] = None,
591
667
  spam_action: Optional[pulumi.Input[str]] = None,
668
+ web_scheme: Optional[pulumi.Input[str]] = None,
592
669
  wildcard: Optional[pulumi.Input[bool]] = None) -> 'Domain':
593
670
  """
594
671
  Get an existing Domain resource's state with the given name, id, and optional extra
@@ -597,21 +674,23 @@ class Domain(pulumi.CustomResource):
597
674
  :param str resource_name: The unique name of the resulting resource.
598
675
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
599
676
  :param pulumi.ResourceOptions opts: Options for the resource.
677
+ :param pulumi.Input[bool] click_tracking: (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
600
678
  :param pulumi.Input[int] dkim_key_size: The length of your domain’s generated DKIM key. Default value is `1024`.
601
679
  :param pulumi.Input[str] dkim_selector: The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.
602
680
  :param pulumi.Input[bool] force_dkim_authority: If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is `false`.
603
681
  :param pulumi.Input[str] name: The domain to add to Mailgun
604
682
  :param pulumi.Input[bool] open_tracking: (Enum: `yes` or `no`) The open tracking settings for the domain. Default: `no`
605
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainReceivingRecordArgs']]]] receiving_records: A list of DNS records for receiving validation. **Deprecated** Use `receiving_records_set` instead.
606
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainReceivingRecordsSetArgs']]]] receiving_records_sets: A set of DNS records for receiving validation.
683
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DomainReceivingRecordArgs', 'DomainReceivingRecordArgsDict']]]] receiving_records: A list of DNS records for receiving validation. **Deprecated** Use `receiving_records_set` instead.
684
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DomainReceivingRecordsSetArgs', 'DomainReceivingRecordsSetArgsDict']]]] receiving_records_sets: A set of DNS records for receiving validation.
607
685
  :param pulumi.Input[str] region: The region where domain will be created. Default value is `us`.
608
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainSendingRecordArgs']]]] sending_records: A list of DNS records for sending validation. **Deprecated** Use `sending_records_set` instead.
609
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainSendingRecordsSetArgs']]]] sending_records_sets: A set of DNS records for sending validation.
686
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DomainSendingRecordArgs', 'DomainSendingRecordArgsDict']]]] sending_records: A list of DNS records for sending validation. **Deprecated** Use `sending_records_set` instead.
687
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DomainSendingRecordsSetArgs', 'DomainSendingRecordsSetArgsDict']]]] sending_records_sets: A set of DNS records for sending validation.
610
688
  :param pulumi.Input[str] smtp_login: The login email for the SMTP server.
611
689
  :param pulumi.Input[str] smtp_password: Password for SMTP authentication
612
690
  :param pulumi.Input[str] spam_action: `disabled` or `tag` Disable, no spam
613
691
  filtering will occur for inbound messages. Tag, messages
614
692
  will be tagged with a spam header. Default value is `disabled`.
693
+ :param pulumi.Input[str] web_scheme: (`http` or `https`) The tracking web scheme. Default: `http`
615
694
  :param pulumi.Input[bool] wildcard: Boolean that determines whether
616
695
  the domain will accept email for sub-domains.
617
696
  """
@@ -619,6 +698,7 @@ class Domain(pulumi.CustomResource):
619
698
 
620
699
  __props__ = _DomainState.__new__(_DomainState)
621
700
 
701
+ __props__.__dict__["click_tracking"] = click_tracking
622
702
  __props__.__dict__["dkim_key_size"] = dkim_key_size
623
703
  __props__.__dict__["dkim_selector"] = dkim_selector
624
704
  __props__.__dict__["force_dkim_authority"] = force_dkim_authority
@@ -632,9 +712,18 @@ class Domain(pulumi.CustomResource):
632
712
  __props__.__dict__["smtp_login"] = smtp_login
633
713
  __props__.__dict__["smtp_password"] = smtp_password
634
714
  __props__.__dict__["spam_action"] = spam_action
715
+ __props__.__dict__["web_scheme"] = web_scheme
635
716
  __props__.__dict__["wildcard"] = wildcard
636
717
  return Domain(resource_name, opts=opts, __props__=__props__)
637
718
 
719
+ @property
720
+ @pulumi.getter(name="clickTracking")
721
+ def click_tracking(self) -> pulumi.Output[Optional[bool]]:
722
+ """
723
+ (Enum: `yes` or `no`) The click tracking settings for the domain. Default: `no`
724
+ """
725
+ return pulumi.get(self, "click_tracking")
726
+
638
727
  @property
639
728
  @pulumi.getter(name="dkimKeySize")
640
729
  def dkim_key_size(self) -> pulumi.Output[Optional[int]]:
@@ -677,13 +766,11 @@ class Domain(pulumi.CustomResource):
677
766
 
678
767
  @property
679
768
  @pulumi.getter(name="receivingRecords")
769
+ @_utilities.deprecated("""Use `receiving_records_set` instead.""")
680
770
  def receiving_records(self) -> pulumi.Output[Sequence['outputs.DomainReceivingRecord']]:
681
771
  """
682
772
  A list of DNS records for receiving validation. **Deprecated** Use `receiving_records_set` instead.
683
773
  """
684
- warnings.warn("""Use `receiving_records_set` instead.""", DeprecationWarning)
685
- pulumi.log.warn("""receiving_records is deprecated: Use `receiving_records_set` instead.""")
686
-
687
774
  return pulumi.get(self, "receiving_records")
688
775
 
689
776
  @property
@@ -704,13 +791,11 @@ class Domain(pulumi.CustomResource):
704
791
 
705
792
  @property
706
793
  @pulumi.getter(name="sendingRecords")
794
+ @_utilities.deprecated("""Use `sending_records_set` instead.""")
707
795
  def sending_records(self) -> pulumi.Output[Sequence['outputs.DomainSendingRecord']]:
708
796
  """
709
797
  A list of DNS records for sending validation. **Deprecated** Use `sending_records_set` instead.
710
798
  """
711
- warnings.warn("""Use `sending_records_set` instead.""", DeprecationWarning)
712
- pulumi.log.warn("""sending_records is deprecated: Use `sending_records_set` instead.""")
713
-
714
799
  return pulumi.get(self, "sending_records")
715
800
 
716
801
  @property
@@ -747,6 +832,14 @@ class Domain(pulumi.CustomResource):
747
832
  """
748
833
  return pulumi.get(self, "spam_action")
749
834
 
835
+ @property
836
+ @pulumi.getter(name="webScheme")
837
+ def web_scheme(self) -> pulumi.Output[Optional[str]]:
838
+ """
839
+ (`http` or `https`) The tracking web scheme. Default: `http`
840
+ """
841
+ return pulumi.get(self, "web_scheme")
842
+
750
843
  @property
751
844
  @pulumi.getter
752
845
  def wildcard(self) -> pulumi.Output[Optional[bool]]:
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['DomainCredentialArgs', 'DomainCredential']
@@ -167,13 +172,27 @@ class DomainCredential(pulumi.CustomResource):
167
172
 
168
173
  > **Note:** Please note that starting of v0.6.1 due to using new Mailgun Client API (v4), there is no possibility to retrieve previously created secrets via API. In order get it worked, it's recommended to mark `password` as ignored under `lifecycle` block. See below.
169
174
 
175
+ ## Example Usage
176
+
177
+ ```python
178
+ import pulumi
179
+ import pulumi_mailgun as mailgun
180
+
181
+ # Create a new Mailgun credential
182
+ foobar = mailgun.DomainCredential("foobar",
183
+ domain="toto.com",
184
+ login="test",
185
+ password="supersecretpassword1234",
186
+ region="us")
187
+ ```
188
+
170
189
  ## Import
171
190
 
172
191
  Domain credential can be imported using `region:email` via `import` command. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
173
192
 
174
- Password is always exported to `null`.
193
+ Password is always exported to `null`.
175
194
 
176
- hcl
195
+ hcl
177
196
 
178
197
  ```sh
179
198
  $ pulumi import mailgun:index/domainCredential:DomainCredential test us:test@domain.com
@@ -197,13 +216,27 @@ class DomainCredential(pulumi.CustomResource):
197
216
 
198
217
  > **Note:** Please note that starting of v0.6.1 due to using new Mailgun Client API (v4), there is no possibility to retrieve previously created secrets via API. In order get it worked, it's recommended to mark `password` as ignored under `lifecycle` block. See below.
199
218
 
219
+ ## Example Usage
220
+
221
+ ```python
222
+ import pulumi
223
+ import pulumi_mailgun as mailgun
224
+
225
+ # Create a new Mailgun credential
226
+ foobar = mailgun.DomainCredential("foobar",
227
+ domain="toto.com",
228
+ login="test",
229
+ password="supersecretpassword1234",
230
+ region="us")
231
+ ```
232
+
200
233
  ## Import
201
234
 
202
235
  Domain credential can be imported using `region:email` via `import` command. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
203
236
 
204
- Password is always exported to `null`.
237
+ Password is always exported to `null`.
205
238
 
206
- hcl
239
+ hcl
207
240
 
208
241
  ```sh
209
242
  $ pulumi import mailgun:index/domainCredential:DomainCredential test us:test@domain.com
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -22,7 +27,10 @@ class GetDomainResult:
22
27
  """
23
28
  A collection of values returned by getDomain.
24
29
  """
25
- def __init__(__self__, dkim_key_size=None, dkim_selector=None, force_dkim_authority=None, id=None, name=None, open_tracking=None, receiving_records=None, receiving_records_sets=None, region=None, sending_records=None, sending_records_sets=None, smtp_login=None, smtp_password=None, spam_action=None, wildcard=None):
30
+ def __init__(__self__, click_tracking=None, dkim_key_size=None, dkim_selector=None, force_dkim_authority=None, id=None, name=None, open_tracking=None, receiving_records=None, receiving_records_sets=None, region=None, sending_records=None, sending_records_sets=None, smtp_login=None, smtp_password=None, spam_action=None, web_scheme=None, wildcard=None):
31
+ if click_tracking and not isinstance(click_tracking, bool):
32
+ raise TypeError("Expected argument 'click_tracking' to be a bool")
33
+ pulumi.set(__self__, "click_tracking", click_tracking)
26
34
  if dkim_key_size and not isinstance(dkim_key_size, int):
27
35
  raise TypeError("Expected argument 'dkim_key_size' to be a int")
28
36
  pulumi.set(__self__, "dkim_key_size", dkim_key_size)
@@ -65,10 +73,21 @@ class GetDomainResult:
65
73
  if spam_action and not isinstance(spam_action, str):
66
74
  raise TypeError("Expected argument 'spam_action' to be a str")
67
75
  pulumi.set(__self__, "spam_action", spam_action)
76
+ if web_scheme and not isinstance(web_scheme, str):
77
+ raise TypeError("Expected argument 'web_scheme' to be a str")
78
+ pulumi.set(__self__, "web_scheme", web_scheme)
68
79
  if wildcard and not isinstance(wildcard, bool):
69
80
  raise TypeError("Expected argument 'wildcard' to be a bool")
70
81
  pulumi.set(__self__, "wildcard", wildcard)
71
82
 
83
+ @property
84
+ @pulumi.getter(name="clickTracking")
85
+ def click_tracking(self) -> Optional[bool]:
86
+ """
87
+ The click tracking setting.
88
+ """
89
+ return pulumi.get(self, "click_tracking")
90
+
72
91
  @property
73
92
  @pulumi.getter(name="dkimKeySize")
74
93
  def dkim_key_size(self) -> Optional[int]:
@@ -103,17 +122,18 @@ class GetDomainResult:
103
122
  @property
104
123
  @pulumi.getter(name="openTracking")
105
124
  def open_tracking(self) -> Optional[bool]:
125
+ """
126
+ The open tracking setting.
127
+ """
106
128
  return pulumi.get(self, "open_tracking")
107
129
 
108
130
  @property
109
131
  @pulumi.getter(name="receivingRecords")
132
+ @_utilities.deprecated("""Use `receiving_records_set` instead.""")
110
133
  def receiving_records(self) -> Sequence['outputs.GetDomainReceivingRecordResult']:
111
134
  """
112
135
  A list of DNS records for receiving validation.
113
136
  """
114
- warnings.warn("""Use `receiving_records_set` instead.""", DeprecationWarning)
115
- pulumi.log.warn("""receiving_records is deprecated: Use `receiving_records_set` instead.""")
116
-
117
137
  return pulumi.get(self, "receiving_records")
118
138
 
119
139
  @property
@@ -128,13 +148,11 @@ class GetDomainResult:
128
148
 
129
149
  @property
130
150
  @pulumi.getter(name="sendingRecords")
151
+ @_utilities.deprecated("""Use `sending_records_set` instead.""")
131
152
  def sending_records(self) -> Sequence['outputs.GetDomainSendingRecordResult']:
132
153
  """
133
154
  A list of DNS records for sending validation.
134
155
  """
135
- warnings.warn("""Use `sending_records_set` instead.""", DeprecationWarning)
136
- pulumi.log.warn("""sending_records is deprecated: Use `sending_records_set` instead.""")
137
-
138
156
  return pulumi.get(self, "sending_records")
139
157
 
140
158
  @property
@@ -166,6 +184,14 @@ class GetDomainResult:
166
184
  """
167
185
  return pulumi.get(self, "spam_action")
168
186
 
187
+ @property
188
+ @pulumi.getter(name="webScheme")
189
+ def web_scheme(self) -> Optional[str]:
190
+ """
191
+ The tracking web scheme.
192
+ """
193
+ return pulumi.get(self, "web_scheme")
194
+
169
195
  @property
170
196
  @pulumi.getter
171
197
  def wildcard(self) -> Optional[bool]:
@@ -181,6 +207,7 @@ class AwaitableGetDomainResult(GetDomainResult):
181
207
  if False:
182
208
  yield self
183
209
  return GetDomainResult(
210
+ click_tracking=self.click_tracking,
184
211
  dkim_key_size=self.dkim_key_size,
185
212
  dkim_selector=self.dkim_selector,
186
213
  force_dkim_authority=self.force_dkim_authority,
@@ -195,10 +222,12 @@ class AwaitableGetDomainResult(GetDomainResult):
195
222
  smtp_login=self.smtp_login,
196
223
  smtp_password=self.smtp_password,
197
224
  spam_action=self.spam_action,
225
+ web_scheme=self.web_scheme,
198
226
  wildcard=self.wildcard)
199
227
 
200
228
 
201
- def get_domain(dkim_key_size: Optional[int] = None,
229
+ def get_domain(click_tracking: Optional[bool] = None,
230
+ dkim_key_size: Optional[int] = None,
202
231
  dkim_selector: Optional[str] = None,
203
232
  force_dkim_authority: Optional[bool] = None,
204
233
  name: Optional[str] = None,
@@ -206,6 +235,7 @@ def get_domain(dkim_key_size: Optional[int] = None,
206
235
  region: Optional[str] = None,
207
236
  smtp_password: Optional[str] = None,
208
237
  spam_action: Optional[str] = None,
238
+ web_scheme: Optional[str] = None,
209
239
  wildcard: Optional[bool] = None,
210
240
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainResult:
211
241
  """
@@ -219,25 +249,29 @@ def get_domain(dkim_key_size: Optional[int] = None,
219
249
  import pulumi_mailgun as mailgun
220
250
 
221
251
  domain = mailgun.get_domain(name="test.example.com")
222
- mailgun_mx = aws.route53.Record("mailgun-mx",
223
- name=data["mailgun"]["domain"]["name"],
224
- records=[
225
- f"{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.",
226
- f"{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.",
227
- ],
252
+ mailgun_mx = aws.index.Route53Record("mailgun-mx",
253
+ zone_id=zone_id,
254
+ name=domain_mailgun.name,
255
+ type=MX,
228
256
  ttl=3600,
229
- type="MX",
230
- zone_id=var["zone_id"])
257
+ records=[
258
+ f{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.,
259
+ f{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.,
260
+ ])
231
261
  ```
232
262
 
233
263
 
264
+ :param bool click_tracking: The click tracking setting.
234
265
  :param str name: The name of the domain.
266
+ :param bool open_tracking: The open tracking setting.
235
267
  :param str region: The region where domain will be created. Default value is `us`.
236
268
  :param str smtp_password: The password to the SMTP server.
237
269
  :param str spam_action: The spam filtering setting.
270
+ :param str web_scheme: The tracking web scheme.
238
271
  :param bool wildcard: Whether or not the domain will accept email for sub-domains.
239
272
  """
240
273
  __args__ = dict()
274
+ __args__['clickTracking'] = click_tracking
241
275
  __args__['dkimKeySize'] = dkim_key_size
242
276
  __args__['dkimSelector'] = dkim_selector
243
277
  __args__['forceDkimAuthority'] = force_dkim_authority
@@ -246,11 +280,13 @@ def get_domain(dkim_key_size: Optional[int] = None,
246
280
  __args__['region'] = region
247
281
  __args__['smtpPassword'] = smtp_password
248
282
  __args__['spamAction'] = spam_action
283
+ __args__['webScheme'] = web_scheme
249
284
  __args__['wildcard'] = wildcard
250
285
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
251
286
  __ret__ = pulumi.runtime.invoke('mailgun:index/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult).value
252
287
 
253
288
  return AwaitableGetDomainResult(
289
+ click_tracking=pulumi.get(__ret__, 'click_tracking'),
254
290
  dkim_key_size=pulumi.get(__ret__, 'dkim_key_size'),
255
291
  dkim_selector=pulumi.get(__ret__, 'dkim_selector'),
256
292
  force_dkim_authority=pulumi.get(__ret__, 'force_dkim_authority'),
@@ -265,11 +301,10 @@ def get_domain(dkim_key_size: Optional[int] = None,
265
301
  smtp_login=pulumi.get(__ret__, 'smtp_login'),
266
302
  smtp_password=pulumi.get(__ret__, 'smtp_password'),
267
303
  spam_action=pulumi.get(__ret__, 'spam_action'),
304
+ web_scheme=pulumi.get(__ret__, 'web_scheme'),
268
305
  wildcard=pulumi.get(__ret__, 'wildcard'))
269
-
270
-
271
- @_utilities.lift_output_func(get_domain)
272
- def get_domain_output(dkim_key_size: Optional[pulumi.Input[Optional[int]]] = None,
306
+ def get_domain_output(click_tracking: Optional[pulumi.Input[Optional[bool]]] = None,
307
+ dkim_key_size: Optional[pulumi.Input[Optional[int]]] = None,
273
308
  dkim_selector: Optional[pulumi.Input[Optional[str]]] = None,
274
309
  force_dkim_authority: Optional[pulumi.Input[Optional[bool]]] = None,
275
310
  name: Optional[pulumi.Input[str]] = None,
@@ -277,8 +312,9 @@ def get_domain_output(dkim_key_size: Optional[pulumi.Input[Optional[int]]] = Non
277
312
  region: Optional[pulumi.Input[Optional[str]]] = None,
278
313
  smtp_password: Optional[pulumi.Input[Optional[str]]] = None,
279
314
  spam_action: Optional[pulumi.Input[Optional[str]]] = None,
315
+ web_scheme: Optional[pulumi.Input[Optional[str]]] = None,
280
316
  wildcard: Optional[pulumi.Input[Optional[bool]]] = None,
281
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainResult]:
317
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainResult]:
282
318
  """
283
319
  `Domain` provides details about a Mailgun domain.
284
320
 
@@ -290,22 +326,56 @@ def get_domain_output(dkim_key_size: Optional[pulumi.Input[Optional[int]]] = Non
290
326
  import pulumi_mailgun as mailgun
291
327
 
292
328
  domain = mailgun.get_domain(name="test.example.com")
293
- mailgun_mx = aws.route53.Record("mailgun-mx",
294
- name=data["mailgun"]["domain"]["name"],
295
- records=[
296
- f"{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.",
297
- f"{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.",
298
- ],
329
+ mailgun_mx = aws.index.Route53Record("mailgun-mx",
330
+ zone_id=zone_id,
331
+ name=domain_mailgun.name,
332
+ type=MX,
299
333
  ttl=3600,
300
- type="MX",
301
- zone_id=var["zone_id"])
334
+ records=[
335
+ f{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.,
336
+ f{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.,
337
+ ])
302
338
  ```
303
339
 
304
340
 
341
+ :param bool click_tracking: The click tracking setting.
305
342
  :param str name: The name of the domain.
343
+ :param bool open_tracking: The open tracking setting.
306
344
  :param str region: The region where domain will be created. Default value is `us`.
307
345
  :param str smtp_password: The password to the SMTP server.
308
346
  :param str spam_action: The spam filtering setting.
347
+ :param str web_scheme: The tracking web scheme.
309
348
  :param bool wildcard: Whether or not the domain will accept email for sub-domains.
310
349
  """
311
- ...
350
+ __args__ = dict()
351
+ __args__['clickTracking'] = click_tracking
352
+ __args__['dkimKeySize'] = dkim_key_size
353
+ __args__['dkimSelector'] = dkim_selector
354
+ __args__['forceDkimAuthority'] = force_dkim_authority
355
+ __args__['name'] = name
356
+ __args__['openTracking'] = open_tracking
357
+ __args__['region'] = region
358
+ __args__['smtpPassword'] = smtp_password
359
+ __args__['spamAction'] = spam_action
360
+ __args__['webScheme'] = web_scheme
361
+ __args__['wildcard'] = wildcard
362
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
363
+ __ret__ = pulumi.runtime.invoke_output('mailgun:index/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult)
364
+ return __ret__.apply(lambda __response__: GetDomainResult(
365
+ click_tracking=pulumi.get(__response__, 'click_tracking'),
366
+ dkim_key_size=pulumi.get(__response__, 'dkim_key_size'),
367
+ dkim_selector=pulumi.get(__response__, 'dkim_selector'),
368
+ force_dkim_authority=pulumi.get(__response__, 'force_dkim_authority'),
369
+ id=pulumi.get(__response__, 'id'),
370
+ name=pulumi.get(__response__, 'name'),
371
+ open_tracking=pulumi.get(__response__, 'open_tracking'),
372
+ receiving_records=pulumi.get(__response__, 'receiving_records'),
373
+ receiving_records_sets=pulumi.get(__response__, 'receiving_records_sets'),
374
+ region=pulumi.get(__response__, 'region'),
375
+ sending_records=pulumi.get(__response__, 'sending_records'),
376
+ sending_records_sets=pulumi.get(__response__, 'sending_records_sets'),
377
+ smtp_login=pulumi.get(__response__, 'smtp_login'),
378
+ smtp_password=pulumi.get(__response__, 'smtp_password'),
379
+ spam_action=pulumi.get(__response__, 'spam_action'),
380
+ web_scheme=pulumi.get(__response__, 'web_scheme'),
381
+ wildcard=pulumi.get(__response__, 'wildcard')))
pulumi_mailgun/outputs.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ProviderArgs', 'Provider']
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
- "name": "mailgun"
3
+ "name": "mailgun",
4
+ "version": "3.6.0-alpha.1736834009"
4
5
  }
pulumi_mailgun/route.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['RouteArgs', 'Route']
@@ -190,20 +195,20 @@ class Route(pulumi.CustomResource):
190
195
 
191
196
  # Create a new Mailgun route
192
197
  default = mailgun.Route("default",
198
+ priority=0,
199
+ description="inbound",
200
+ expression="match_recipient('.*@foo.example.com')",
193
201
  actions=[
194
202
  "forward('http://example.com/api/v1/foos/')",
195
203
  "stop()",
196
- ],
197
- description="inbound",
198
- expression="match_recipient('.*@foo.example.com')",
199
- priority=0)
204
+ ])
200
205
  ```
201
206
 
202
207
  ## Import
203
208
 
204
209
  Routes can be imported using `ROUTE_ID` and `region` via `import` command. Route ID can be found on Mailgun portal in section `Receiving/Routes`. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
205
210
 
206
- hcl
211
+ hcl
207
212
 
208
213
  ```sh
209
214
  $ pulumi import mailgun:index/route:Route test eu:123456789
@@ -232,20 +237,20 @@ class Route(pulumi.CustomResource):
232
237
 
233
238
  # Create a new Mailgun route
234
239
  default = mailgun.Route("default",
240
+ priority=0,
241
+ description="inbound",
242
+ expression="match_recipient('.*@foo.example.com')",
235
243
  actions=[
236
244
  "forward('http://example.com/api/v1/foos/')",
237
245
  "stop()",
238
- ],
239
- description="inbound",
240
- expression="match_recipient('.*@foo.example.com')",
241
- priority=0)
246
+ ])
242
247
  ```
243
248
 
244
249
  ## Import
245
250
 
246
251
  Routes can be imported using `ROUTE_ID` and `region` via `import` command. Route ID can be found on Mailgun portal in section `Receiving/Routes`. Region has to be chosen from `eu` or `us` (when no selection `us` is applied).
247
252
 
248
- hcl
253
+ hcl
249
254
 
250
255
  ```sh
251
256
  $ pulumi import mailgun:index/route:Route test eu:123456789
pulumi_mailgun/webhook.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['WebhookArgs', 'Webhook']
@@ -21,7 +26,7 @@ class WebhookArgs:
21
26
  """
22
27
  The set of arguments for constructing a Webhook resource.
23
28
  :param pulumi.Input[str] domain: The domain to add to Mailgun
24
- :param pulumi.Input[str] kind: The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
29
+ :param pulumi.Input[str] kind: The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
25
30
  :param pulumi.Input[Sequence[pulumi.Input[str]]] urls: The urls of webhook
26
31
  :param pulumi.Input[str] region: The region where domain will be created. Default value is `us`.
27
32
  """
@@ -47,7 +52,7 @@ class WebhookArgs:
47
52
  @pulumi.getter
48
53
  def kind(self) -> pulumi.Input[str]:
49
54
  """
50
- The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
55
+ The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
51
56
  """
52
57
  return pulumi.get(self, "kind")
53
58
 
@@ -90,7 +95,7 @@ class _WebhookState:
90
95
  """
91
96
  Input properties used for looking up and filtering Webhook resources.
92
97
  :param pulumi.Input[str] domain: The domain to add to Mailgun
93
- :param pulumi.Input[str] kind: The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
98
+ :param pulumi.Input[str] kind: The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
94
99
  :param pulumi.Input[str] region: The region where domain will be created. Default value is `us`.
95
100
  :param pulumi.Input[Sequence[pulumi.Input[str]]] urls: The urls of webhook
96
101
  """
@@ -119,7 +124,7 @@ class _WebhookState:
119
124
  @pulumi.getter
120
125
  def kind(self) -> Optional[pulumi.Input[str]]:
121
126
  """
122
- The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
127
+ The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
123
128
  """
124
129
  return pulumi.get(self, "kind")
125
130
 
@@ -175,15 +180,15 @@ class Webhook(pulumi.CustomResource):
175
180
  # Create a new Mailgun webhook
176
181
  default = mailgun.Webhook("default",
177
182
  domain="test.example.com",
178
- kind="delivered",
179
183
  region="us",
184
+ kind="delivered",
180
185
  urls=["https://example.com"])
181
186
  ```
182
187
 
183
188
  :param str resource_name: The name of the resource.
184
189
  :param pulumi.ResourceOptions opts: Options for the resource.
185
190
  :param pulumi.Input[str] domain: The domain to add to Mailgun
186
- :param pulumi.Input[str] kind: The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
191
+ :param pulumi.Input[str] kind: The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
187
192
  :param pulumi.Input[str] region: The region where domain will be created. Default value is `us`.
188
193
  :param pulumi.Input[Sequence[pulumi.Input[str]]] urls: The urls of webhook
189
194
  """
@@ -206,8 +211,8 @@ class Webhook(pulumi.CustomResource):
206
211
  # Create a new Mailgun webhook
207
212
  default = mailgun.Webhook("default",
208
213
  domain="test.example.com",
209
- kind="delivered",
210
214
  region="us",
215
+ kind="delivered",
211
216
  urls=["https://example.com"])
212
217
  ```
213
218
 
@@ -271,7 +276,7 @@ class Webhook(pulumi.CustomResource):
271
276
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
272
277
  :param pulumi.ResourceOptions opts: Options for the resource.
273
278
  :param pulumi.Input[str] domain: The domain to add to Mailgun
274
- :param pulumi.Input[str] kind: The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
279
+ :param pulumi.Input[str] kind: The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
275
280
  :param pulumi.Input[str] region: The region where domain will be created. Default value is `us`.
276
281
  :param pulumi.Input[Sequence[pulumi.Input[str]]] urls: The urls of webhook
277
282
  """
@@ -297,7 +302,7 @@ class Webhook(pulumi.CustomResource):
297
302
  @pulumi.getter
298
303
  def kind(self) -> pulumi.Output[str]:
299
304
  """
300
- The kind of webhook. Supported values (`clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
305
+ The kind of webhook. Supported values (`accepted` `clicked` `complained` `delivered` `opened` `permanent_fail`, `temporary_fail` `unsubscribed`)
301
306
  """
302
307
  return pulumi.get(self, "kind")
303
308
 
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pulumi_mailgun
3
- Version: 3.6.0a1709364842
3
+ Version: 3.6.0a1736834009
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
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-mailgun
8
8
  Keywords: pulumi,mailgun
9
- Requires-Python: >=3.8
9
+ Requires-Python: >=3.9
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
+ Requires-Dist: parver>=0.2.1
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
+ Requires-Dist: semver>=2.8.1
14
+ Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
14
15
 
15
16
  [![Actions Status](https://github.com/pulumi/pulumi-mailgun/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-mailgun/actions)
16
17
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)
@@ -0,0 +1,19 @@
1
+ pulumi_mailgun/__init__.py,sha256=Ytyt-ig7Of_38ZU1ABf5ae67MG-VwOmEfBHw4-WQOPo,1461
2
+ pulumi_mailgun/_inputs.py,sha256=oewCZz8Lo93sZF-XRnuFHeyvJn4w3YQ07krIakb8E9A,13617
3
+ pulumi_mailgun/_utilities.py,sha256=-gxwnD6__OYdSf8jJgJijNuu-UHUwi5pJ1H7-eIHDhg,10504
4
+ pulumi_mailgun/domain.py,sha256=TSn-23-uhI6B4Zsdjyx6NYjjlYI7FzpV_GcB_w9WYxA,40639
5
+ pulumi_mailgun/domain_credential.py,sha256=x5sNVp1rWYWmP6EQbEdMm2zIXETAfFOzNcDDTeAYwxM,13538
6
+ pulumi_mailgun/get_domain.py,sha256=O-ZIwZNv_U7KdbQWbVMuTbVnb_K1UzFYITGPYKVZgOE,16479
7
+ pulumi_mailgun/outputs.py,sha256=_yAV9zhdbelUXcthSgi0wqNRA1FMw0P2sTJ0elHyZv0,16285
8
+ pulumi_mailgun/provider.py,sha256=NYMRe1ZvSadR289jSIMWFE2Av1Px6Eh1WNB1YmBrZhU,4346
9
+ pulumi_mailgun/pulumi-plugin.json,sha256=vjFvzEH5uRUEkhOZ6wm_ZrYhSl_IT4MbGW5N2epWoUg,83
10
+ pulumi_mailgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ pulumi_mailgun/route.py,sha256=b5k5ESAMr8VrqBSFIh3eaMboB08ThagOybaNOMItNAc,14328
12
+ pulumi_mailgun/webhook.py,sha256=ZfaziPJJFzb1OT1B3NLpqbXoVBVSSMRBzAZd2-Y6Ggk,12496
13
+ pulumi_mailgun/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
14
+ pulumi_mailgun/config/__init__.pyi,sha256=yVlVZwiwDCVbo-pD12UK619Y9Am96Xa0gQgOH4vMUhE,542
15
+ pulumi_mailgun/config/vars.py,sha256=kUdLUx0w1seyzQ7k-VNXNfZNi6wbKYar4aQ-SSwQd9o,711
16
+ pulumi_mailgun-3.6.0a1736834009.dist-info/METADATA,sha256=b2pye0Lgxc881zo1fu-dIuVjhx9affoN3Zk4-ZK19P0,2639
17
+ pulumi_mailgun-3.6.0a1736834009.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
18
+ pulumi_mailgun-3.6.0a1736834009.dist-info/top_level.txt,sha256=ux3X8exe9YrOj_SlT4i0pHbKCRsCEFnr4MM3FGuPBmo,15
19
+ pulumi_mailgun-3.6.0a1736834009.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,19 +0,0 @@
1
- pulumi_mailgun/__init__.py,sha256=Ytyt-ig7Of_38ZU1ABf5ae67MG-VwOmEfBHw4-WQOPo,1461
2
- pulumi_mailgun/_inputs.py,sha256=iO4VyWOjGvKASkn1DLUnGR6223ezEit7cdGeKNVRCis,10831
3
- pulumi_mailgun/_utilities.py,sha256=b6gJn0IIeM1t6Q7EVjqw3yhuGyP-uENQhtL5yp7aHR8,9248
4
- pulumi_mailgun/domain.py,sha256=oNevPsL50Fq9czAn2M8pjmQlfvKRTN4cTcGyB9mVavg,36280
5
- pulumi_mailgun/domain_credential.py,sha256=OzpiPahBeqBDQzxWV99bQ6Eae6MWeDXnSW8u-msV7tY,12678
6
- pulumi_mailgun/get_domain.py,sha256=Nej2MiLARcN062EdDEKr43bdMEAW7aXX7LWKwiUHV54,12948
7
- pulumi_mailgun/outputs.py,sha256=xQusQqmyBUhtG9XE3c7kxZhDJy6abczWcRSDuAYNQek,16111
8
- pulumi_mailgun/provider.py,sha256=9qI4cuBLFl63bl6-GzApC2RfPcjiqewM0Akvq3qGeWw,4172
9
- pulumi_mailgun/pulumi-plugin.json,sha256=rMe5c_W-nFA_lbOXShKZg9waIs5r9V0wcCV_3bLIs1o,44
10
- pulumi_mailgun/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- pulumi_mailgun/route.py,sha256=MnQpXvEKKOTNYeGhkSSLC3_xz4LWzYz6V4elD76y7PE,14156
12
- pulumi_mailgun/webhook.py,sha256=VzUWllwr_j95F4SWBrWFyOSp3M01t43NFII6uRpWh7g,12245
13
- pulumi_mailgun/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
14
- pulumi_mailgun/config/__init__.pyi,sha256=wbbguwB5yRofgo-I6b1iB0G6c4zL_tEq11tMNQ8Ydk8,368
15
- pulumi_mailgun/config/vars.py,sha256=tidRrEc3FocYiKkMumCSpd5EIgpt_I4k26VD_bnE5SM,537
16
- pulumi_mailgun-3.6.0a1709364842.dist-info/METADATA,sha256=46Cx96UvaHpPgyD92km-3KCUrz14npLGDg1RjaBzJs4,2576
17
- pulumi_mailgun-3.6.0a1709364842.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
18
- pulumi_mailgun-3.6.0a1709364842.dist-info/top_level.txt,sha256=ux3X8exe9YrOj_SlT4i0pHbKCRsCEFnr4MM3FGuPBmo,15
19
- pulumi_mailgun-3.6.0a1709364842.dist-info/RECORD,,