pulumiverse-scaleway 1.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,950 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['TemDomainArgs', 'TemDomain']
20
+
21
+ @pulumi.input_type
22
+ class TemDomainArgs:
23
+ def __init__(__self__, *,
24
+ accept_tos: pulumi.Input[bool],
25
+ name: Optional[pulumi.Input[str]] = None,
26
+ project_id: Optional[pulumi.Input[str]] = None,
27
+ region: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a TemDomain resource.
30
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
31
+ > **Important:** This attribute must be set to `true`.
32
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
33
+ > **Important:** Updates to `name` will recreate the domain.
34
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
35
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
36
+ """
37
+ pulumi.set(__self__, "accept_tos", accept_tos)
38
+ if name is not None:
39
+ pulumi.set(__self__, "name", name)
40
+ if project_id is not None:
41
+ pulumi.set(__self__, "project_id", project_id)
42
+ if region is not None:
43
+ pulumi.set(__self__, "region", region)
44
+
45
+ @property
46
+ @pulumi.getter(name="acceptTos")
47
+ def accept_tos(self) -> pulumi.Input[bool]:
48
+ """
49
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
50
+ > **Important:** This attribute must be set to `true`.
51
+ """
52
+ return pulumi.get(self, "accept_tos")
53
+
54
+ @accept_tos.setter
55
+ def accept_tos(self, value: pulumi.Input[bool]):
56
+ pulumi.set(self, "accept_tos", value)
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def name(self) -> Optional[pulumi.Input[str]]:
61
+ """
62
+ The domain name, must not be used in another Transactional Email Domain.
63
+ > **Important:** Updates to `name` will recreate the domain.
64
+ """
65
+ return pulumi.get(self, "name")
66
+
67
+ @name.setter
68
+ def name(self, value: Optional[pulumi.Input[str]]):
69
+ pulumi.set(self, "name", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="projectId")
73
+ def project_id(self) -> Optional[pulumi.Input[str]]:
74
+ """
75
+ `project_id`) The ID of the project the domain is associated with.
76
+ """
77
+ return pulumi.get(self, "project_id")
78
+
79
+ @project_id.setter
80
+ def project_id(self, value: Optional[pulumi.Input[str]]):
81
+ pulumi.set(self, "project_id", value)
82
+
83
+ @property
84
+ @pulumi.getter
85
+ def region(self) -> Optional[pulumi.Input[str]]:
86
+ """
87
+ `region`). The region in which the domain should be created.
88
+ """
89
+ return pulumi.get(self, "region")
90
+
91
+ @region.setter
92
+ def region(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "region", value)
94
+
95
+
96
+ @pulumi.input_type
97
+ class _TemDomainState:
98
+ def __init__(__self__, *,
99
+ accept_tos: Optional[pulumi.Input[bool]] = None,
100
+ created_at: Optional[pulumi.Input[str]] = None,
101
+ dkim_config: Optional[pulumi.Input[str]] = None,
102
+ dmarc_config: Optional[pulumi.Input[str]] = None,
103
+ dmarc_name: Optional[pulumi.Input[str]] = None,
104
+ last_error: Optional[pulumi.Input[str]] = None,
105
+ last_valid_at: Optional[pulumi.Input[str]] = None,
106
+ mx_blackhole: Optional[pulumi.Input[str]] = None,
107
+ name: Optional[pulumi.Input[str]] = None,
108
+ next_check_at: Optional[pulumi.Input[str]] = None,
109
+ project_id: Optional[pulumi.Input[str]] = None,
110
+ region: Optional[pulumi.Input[str]] = None,
111
+ reputations: Optional[pulumi.Input[Sequence[pulumi.Input['TemDomainReputationArgs']]]] = None,
112
+ revoked_at: Optional[pulumi.Input[str]] = None,
113
+ smtp_host: Optional[pulumi.Input[str]] = None,
114
+ smtp_port: Optional[pulumi.Input[int]] = None,
115
+ smtp_port_alternative: Optional[pulumi.Input[int]] = None,
116
+ smtp_port_unsecure: Optional[pulumi.Input[int]] = None,
117
+ smtps_auth_user: Optional[pulumi.Input[str]] = None,
118
+ smtps_port: Optional[pulumi.Input[int]] = None,
119
+ smtps_port_alternative: Optional[pulumi.Input[int]] = None,
120
+ spf_config: Optional[pulumi.Input[str]] = None,
121
+ status: Optional[pulumi.Input[str]] = None):
122
+ """
123
+ Input properties used for looking up and filtering TemDomain resources.
124
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
125
+ > **Important:** This attribute must be set to `true`.
126
+ :param pulumi.Input[str] created_at: The date and time of the Transaction Email Domain's creation (RFC 3339 format).
127
+ :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone.
128
+ :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone.
129
+ :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone.
130
+ :param pulumi.Input[str] last_error: The error message if the last check failed.
131
+ :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format).
132
+ :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one.
133
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
134
+ > **Important:** Updates to `name` will recreate the domain.
135
+ :param pulumi.Input[str] next_check_at: The date and time of the next scheduled check (RFC 3339 format).
136
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
137
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
138
+ :param pulumi.Input[Sequence[pulumi.Input['TemDomainReputationArgs']]] reputations: The domain's reputation.
139
+ :param pulumi.Input[str] revoked_at: The date and time of the revocation of the domain (RFC 3339 format).
140
+ :param pulumi.Input[str] smtp_host: The SMTP host to use to send emails.
141
+ :param pulumi.Input[int] smtp_port: The SMTP port to use to send emails over TLS.
142
+ :param pulumi.Input[int] smtp_port_alternative: The SMTP port to use to send emails over TLS.
143
+ :param pulumi.Input[int] smtp_port_unsecure: The SMTP port to use to send emails.
144
+ :param pulumi.Input[str] smtps_auth_user: SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
145
+ :param pulumi.Input[int] smtps_port: The SMTPS port to use to send emails over TLS Wrapper.
146
+ :param pulumi.Input[int] smtps_port_alternative: The SMTPS port to use to send emails over TLS Wrapper.
147
+ :param pulumi.Input[str] spf_config: The snippet of the SPF record that should be registered in the DNS zone.
148
+ :param pulumi.Input[str] status: The status of the domain's reputation.
149
+ """
150
+ if accept_tos is not None:
151
+ pulumi.set(__self__, "accept_tos", accept_tos)
152
+ if created_at is not None:
153
+ pulumi.set(__self__, "created_at", created_at)
154
+ if dkim_config is not None:
155
+ pulumi.set(__self__, "dkim_config", dkim_config)
156
+ if dmarc_config is not None:
157
+ pulumi.set(__self__, "dmarc_config", dmarc_config)
158
+ if dmarc_name is not None:
159
+ pulumi.set(__self__, "dmarc_name", dmarc_name)
160
+ if last_error is not None:
161
+ pulumi.set(__self__, "last_error", last_error)
162
+ if last_valid_at is not None:
163
+ pulumi.set(__self__, "last_valid_at", last_valid_at)
164
+ if mx_blackhole is not None:
165
+ pulumi.set(__self__, "mx_blackhole", mx_blackhole)
166
+ if name is not None:
167
+ pulumi.set(__self__, "name", name)
168
+ if next_check_at is not None:
169
+ pulumi.set(__self__, "next_check_at", next_check_at)
170
+ if project_id is not None:
171
+ pulumi.set(__self__, "project_id", project_id)
172
+ if region is not None:
173
+ pulumi.set(__self__, "region", region)
174
+ if reputations is not None:
175
+ pulumi.set(__self__, "reputations", reputations)
176
+ if revoked_at is not None:
177
+ pulumi.set(__self__, "revoked_at", revoked_at)
178
+ if smtp_host is not None:
179
+ pulumi.set(__self__, "smtp_host", smtp_host)
180
+ if smtp_port is not None:
181
+ pulumi.set(__self__, "smtp_port", smtp_port)
182
+ if smtp_port_alternative is not None:
183
+ pulumi.set(__self__, "smtp_port_alternative", smtp_port_alternative)
184
+ if smtp_port_unsecure is not None:
185
+ pulumi.set(__self__, "smtp_port_unsecure", smtp_port_unsecure)
186
+ if smtps_auth_user is not None:
187
+ pulumi.set(__self__, "smtps_auth_user", smtps_auth_user)
188
+ if smtps_port is not None:
189
+ pulumi.set(__self__, "smtps_port", smtps_port)
190
+ if smtps_port_alternative is not None:
191
+ pulumi.set(__self__, "smtps_port_alternative", smtps_port_alternative)
192
+ if spf_config is not None:
193
+ pulumi.set(__self__, "spf_config", spf_config)
194
+ if status is not None:
195
+ pulumi.set(__self__, "status", status)
196
+
197
+ @property
198
+ @pulumi.getter(name="acceptTos")
199
+ def accept_tos(self) -> Optional[pulumi.Input[bool]]:
200
+ """
201
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
202
+ > **Important:** This attribute must be set to `true`.
203
+ """
204
+ return pulumi.get(self, "accept_tos")
205
+
206
+ @accept_tos.setter
207
+ def accept_tos(self, value: Optional[pulumi.Input[bool]]):
208
+ pulumi.set(self, "accept_tos", value)
209
+
210
+ @property
211
+ @pulumi.getter(name="createdAt")
212
+ def created_at(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ The date and time of the Transaction Email Domain's creation (RFC 3339 format).
215
+ """
216
+ return pulumi.get(self, "created_at")
217
+
218
+ @created_at.setter
219
+ def created_at(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "created_at", value)
221
+
222
+ @property
223
+ @pulumi.getter(name="dkimConfig")
224
+ def dkim_config(self) -> Optional[pulumi.Input[str]]:
225
+ """
226
+ The DKIM public key, as should be recorded in the DNS zone.
227
+ """
228
+ return pulumi.get(self, "dkim_config")
229
+
230
+ @dkim_config.setter
231
+ def dkim_config(self, value: Optional[pulumi.Input[str]]):
232
+ pulumi.set(self, "dkim_config", value)
233
+
234
+ @property
235
+ @pulumi.getter(name="dmarcConfig")
236
+ def dmarc_config(self) -> Optional[pulumi.Input[str]]:
237
+ """
238
+ DMARC record for the domain, as should be recorded in the DNS zone.
239
+ """
240
+ return pulumi.get(self, "dmarc_config")
241
+
242
+ @dmarc_config.setter
243
+ def dmarc_config(self, value: Optional[pulumi.Input[str]]):
244
+ pulumi.set(self, "dmarc_config", value)
245
+
246
+ @property
247
+ @pulumi.getter(name="dmarcName")
248
+ def dmarc_name(self) -> Optional[pulumi.Input[str]]:
249
+ """
250
+ DMARC name for the domain, as should be recorded in the DNS zone.
251
+ """
252
+ return pulumi.get(self, "dmarc_name")
253
+
254
+ @dmarc_name.setter
255
+ def dmarc_name(self, value: Optional[pulumi.Input[str]]):
256
+ pulumi.set(self, "dmarc_name", value)
257
+
258
+ @property
259
+ @pulumi.getter(name="lastError")
260
+ def last_error(self) -> Optional[pulumi.Input[str]]:
261
+ """
262
+ The error message if the last check failed.
263
+ """
264
+ return pulumi.get(self, "last_error")
265
+
266
+ @last_error.setter
267
+ def last_error(self, value: Optional[pulumi.Input[str]]):
268
+ pulumi.set(self, "last_error", value)
269
+
270
+ @property
271
+ @pulumi.getter(name="lastValidAt")
272
+ def last_valid_at(self) -> Optional[pulumi.Input[str]]:
273
+ """
274
+ The date and time the domain was last found to be valid (RFC 3339 format).
275
+ """
276
+ return pulumi.get(self, "last_valid_at")
277
+
278
+ @last_valid_at.setter
279
+ def last_valid_at(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "last_valid_at", value)
281
+
282
+ @property
283
+ @pulumi.getter(name="mxBlackhole")
284
+ def mx_blackhole(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ The Scaleway's blackhole MX server to use if you do not have one.
287
+ """
288
+ return pulumi.get(self, "mx_blackhole")
289
+
290
+ @mx_blackhole.setter
291
+ def mx_blackhole(self, value: Optional[pulumi.Input[str]]):
292
+ pulumi.set(self, "mx_blackhole", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def name(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ The domain name, must not be used in another Transactional Email Domain.
299
+ > **Important:** Updates to `name` will recreate the domain.
300
+ """
301
+ return pulumi.get(self, "name")
302
+
303
+ @name.setter
304
+ def name(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "name", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="nextCheckAt")
309
+ def next_check_at(self) -> Optional[pulumi.Input[str]]:
310
+ """
311
+ The date and time of the next scheduled check (RFC 3339 format).
312
+ """
313
+ return pulumi.get(self, "next_check_at")
314
+
315
+ @next_check_at.setter
316
+ def next_check_at(self, value: Optional[pulumi.Input[str]]):
317
+ pulumi.set(self, "next_check_at", value)
318
+
319
+ @property
320
+ @pulumi.getter(name="projectId")
321
+ def project_id(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ `project_id`) The ID of the project the domain is associated with.
324
+ """
325
+ return pulumi.get(self, "project_id")
326
+
327
+ @project_id.setter
328
+ def project_id(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "project_id", value)
330
+
331
+ @property
332
+ @pulumi.getter
333
+ def region(self) -> Optional[pulumi.Input[str]]:
334
+ """
335
+ `region`). The region in which the domain should be created.
336
+ """
337
+ return pulumi.get(self, "region")
338
+
339
+ @region.setter
340
+ def region(self, value: Optional[pulumi.Input[str]]):
341
+ pulumi.set(self, "region", value)
342
+
343
+ @property
344
+ @pulumi.getter
345
+ def reputations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TemDomainReputationArgs']]]]:
346
+ """
347
+ The domain's reputation.
348
+ """
349
+ return pulumi.get(self, "reputations")
350
+
351
+ @reputations.setter
352
+ def reputations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TemDomainReputationArgs']]]]):
353
+ pulumi.set(self, "reputations", value)
354
+
355
+ @property
356
+ @pulumi.getter(name="revokedAt")
357
+ def revoked_at(self) -> Optional[pulumi.Input[str]]:
358
+ """
359
+ The date and time of the revocation of the domain (RFC 3339 format).
360
+ """
361
+ return pulumi.get(self, "revoked_at")
362
+
363
+ @revoked_at.setter
364
+ def revoked_at(self, value: Optional[pulumi.Input[str]]):
365
+ pulumi.set(self, "revoked_at", value)
366
+
367
+ @property
368
+ @pulumi.getter(name="smtpHost")
369
+ def smtp_host(self) -> Optional[pulumi.Input[str]]:
370
+ """
371
+ The SMTP host to use to send emails.
372
+ """
373
+ return pulumi.get(self, "smtp_host")
374
+
375
+ @smtp_host.setter
376
+ def smtp_host(self, value: Optional[pulumi.Input[str]]):
377
+ pulumi.set(self, "smtp_host", value)
378
+
379
+ @property
380
+ @pulumi.getter(name="smtpPort")
381
+ def smtp_port(self) -> Optional[pulumi.Input[int]]:
382
+ """
383
+ The SMTP port to use to send emails over TLS.
384
+ """
385
+ return pulumi.get(self, "smtp_port")
386
+
387
+ @smtp_port.setter
388
+ def smtp_port(self, value: Optional[pulumi.Input[int]]):
389
+ pulumi.set(self, "smtp_port", value)
390
+
391
+ @property
392
+ @pulumi.getter(name="smtpPortAlternative")
393
+ def smtp_port_alternative(self) -> Optional[pulumi.Input[int]]:
394
+ """
395
+ The SMTP port to use to send emails over TLS.
396
+ """
397
+ return pulumi.get(self, "smtp_port_alternative")
398
+
399
+ @smtp_port_alternative.setter
400
+ def smtp_port_alternative(self, value: Optional[pulumi.Input[int]]):
401
+ pulumi.set(self, "smtp_port_alternative", value)
402
+
403
+ @property
404
+ @pulumi.getter(name="smtpPortUnsecure")
405
+ def smtp_port_unsecure(self) -> Optional[pulumi.Input[int]]:
406
+ """
407
+ The SMTP port to use to send emails.
408
+ """
409
+ return pulumi.get(self, "smtp_port_unsecure")
410
+
411
+ @smtp_port_unsecure.setter
412
+ def smtp_port_unsecure(self, value: Optional[pulumi.Input[int]]):
413
+ pulumi.set(self, "smtp_port_unsecure", value)
414
+
415
+ @property
416
+ @pulumi.getter(name="smtpsAuthUser")
417
+ def smtps_auth_user(self) -> Optional[pulumi.Input[str]]:
418
+ """
419
+ SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
420
+ """
421
+ return pulumi.get(self, "smtps_auth_user")
422
+
423
+ @smtps_auth_user.setter
424
+ def smtps_auth_user(self, value: Optional[pulumi.Input[str]]):
425
+ pulumi.set(self, "smtps_auth_user", value)
426
+
427
+ @property
428
+ @pulumi.getter(name="smtpsPort")
429
+ def smtps_port(self) -> Optional[pulumi.Input[int]]:
430
+ """
431
+ The SMTPS port to use to send emails over TLS Wrapper.
432
+ """
433
+ return pulumi.get(self, "smtps_port")
434
+
435
+ @smtps_port.setter
436
+ def smtps_port(self, value: Optional[pulumi.Input[int]]):
437
+ pulumi.set(self, "smtps_port", value)
438
+
439
+ @property
440
+ @pulumi.getter(name="smtpsPortAlternative")
441
+ def smtps_port_alternative(self) -> Optional[pulumi.Input[int]]:
442
+ """
443
+ The SMTPS port to use to send emails over TLS Wrapper.
444
+ """
445
+ return pulumi.get(self, "smtps_port_alternative")
446
+
447
+ @smtps_port_alternative.setter
448
+ def smtps_port_alternative(self, value: Optional[pulumi.Input[int]]):
449
+ pulumi.set(self, "smtps_port_alternative", value)
450
+
451
+ @property
452
+ @pulumi.getter(name="spfConfig")
453
+ def spf_config(self) -> Optional[pulumi.Input[str]]:
454
+ """
455
+ The snippet of the SPF record that should be registered in the DNS zone.
456
+ """
457
+ return pulumi.get(self, "spf_config")
458
+
459
+ @spf_config.setter
460
+ def spf_config(self, value: Optional[pulumi.Input[str]]):
461
+ pulumi.set(self, "spf_config", value)
462
+
463
+ @property
464
+ @pulumi.getter
465
+ def status(self) -> Optional[pulumi.Input[str]]:
466
+ """
467
+ The status of the domain's reputation.
468
+ """
469
+ return pulumi.get(self, "status")
470
+
471
+ @status.setter
472
+ def status(self, value: Optional[pulumi.Input[str]]):
473
+ pulumi.set(self, "status", value)
474
+
475
+
476
+ class TemDomain(pulumi.CustomResource):
477
+ @overload
478
+ def __init__(__self__,
479
+ resource_name: str,
480
+ opts: Optional[pulumi.ResourceOptions] = None,
481
+ accept_tos: Optional[pulumi.Input[bool]] = None,
482
+ name: Optional[pulumi.Input[str]] = None,
483
+ project_id: Optional[pulumi.Input[str]] = None,
484
+ region: Optional[pulumi.Input[str]] = None,
485
+ __props__=None):
486
+ """
487
+ Creates and manages Scaleway Transactional Email Domains.
488
+ For more information refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
489
+
490
+ ## Example Usage
491
+
492
+ ### Basic
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumiverse_scaleway as scaleway
497
+
498
+ main = scaleway.TemDomain("main",
499
+ accept_tos=True,
500
+ name="example.com")
501
+ ```
502
+
503
+ ### Add the required records to your DNS zone
504
+
505
+ ```python
506
+ import pulumi
507
+ import pulumiverse_scaleway as scaleway
508
+
509
+ config = pulumi.Config()
510
+ domain_name = config.require("domainName")
511
+ main = scaleway.TemDomain("main",
512
+ name=domain_name,
513
+ accept_tos=True)
514
+ spf = scaleway.DomainRecord("spf",
515
+ dns_zone=domain_name,
516
+ type="TXT",
517
+ data=main.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
518
+ dkim = scaleway.DomainRecord("dkim",
519
+ dns_zone=domain_name,
520
+ name=main.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
521
+ type="TXT",
522
+ data=main.dkim_config)
523
+ mx = scaleway.DomainRecord("mx",
524
+ dns_zone=domain_name,
525
+ type="MX",
526
+ data=".")
527
+ dmarc = scaleway.DomainRecord("dmarc",
528
+ dns_zone=domain_name,
529
+ name=main.dmarc_name,
530
+ type="TXT",
531
+ data=main.dmarc_config)
532
+ ```
533
+
534
+ ## Import
535
+
536
+ Domains can be imported using the `{region}/{id}`, e.g.
537
+
538
+ bash
539
+
540
+ ```sh
541
+ $ pulumi import scaleway:index/temDomain:TemDomain main fr-par/11111111-1111-1111-1111-111111111111
542
+ ```
543
+
544
+ :param str resource_name: The name of the resource.
545
+ :param pulumi.ResourceOptions opts: Options for the resource.
546
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
547
+ > **Important:** This attribute must be set to `true`.
548
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
549
+ > **Important:** Updates to `name` will recreate the domain.
550
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
551
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
552
+ """
553
+ ...
554
+ @overload
555
+ def __init__(__self__,
556
+ resource_name: str,
557
+ args: TemDomainArgs,
558
+ opts: Optional[pulumi.ResourceOptions] = None):
559
+ """
560
+ Creates and manages Scaleway Transactional Email Domains.
561
+ For more information refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
562
+
563
+ ## Example Usage
564
+
565
+ ### Basic
566
+
567
+ ```python
568
+ import pulumi
569
+ import pulumiverse_scaleway as scaleway
570
+
571
+ main = scaleway.TemDomain("main",
572
+ accept_tos=True,
573
+ name="example.com")
574
+ ```
575
+
576
+ ### Add the required records to your DNS zone
577
+
578
+ ```python
579
+ import pulumi
580
+ import pulumiverse_scaleway as scaleway
581
+
582
+ config = pulumi.Config()
583
+ domain_name = config.require("domainName")
584
+ main = scaleway.TemDomain("main",
585
+ name=domain_name,
586
+ accept_tos=True)
587
+ spf = scaleway.DomainRecord("spf",
588
+ dns_zone=domain_name,
589
+ type="TXT",
590
+ data=main.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
591
+ dkim = scaleway.DomainRecord("dkim",
592
+ dns_zone=domain_name,
593
+ name=main.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
594
+ type="TXT",
595
+ data=main.dkim_config)
596
+ mx = scaleway.DomainRecord("mx",
597
+ dns_zone=domain_name,
598
+ type="MX",
599
+ data=".")
600
+ dmarc = scaleway.DomainRecord("dmarc",
601
+ dns_zone=domain_name,
602
+ name=main.dmarc_name,
603
+ type="TXT",
604
+ data=main.dmarc_config)
605
+ ```
606
+
607
+ ## Import
608
+
609
+ Domains can be imported using the `{region}/{id}`, e.g.
610
+
611
+ bash
612
+
613
+ ```sh
614
+ $ pulumi import scaleway:index/temDomain:TemDomain main fr-par/11111111-1111-1111-1111-111111111111
615
+ ```
616
+
617
+ :param str resource_name: The name of the resource.
618
+ :param TemDomainArgs args: The arguments to use to populate this resource's properties.
619
+ :param pulumi.ResourceOptions opts: Options for the resource.
620
+ """
621
+ ...
622
+ def __init__(__self__, resource_name: str, *args, **kwargs):
623
+ resource_args, opts = _utilities.get_resource_args_opts(TemDomainArgs, pulumi.ResourceOptions, *args, **kwargs)
624
+ if resource_args is not None:
625
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
626
+ else:
627
+ __self__._internal_init(resource_name, *args, **kwargs)
628
+
629
+ def _internal_init(__self__,
630
+ resource_name: str,
631
+ opts: Optional[pulumi.ResourceOptions] = None,
632
+ accept_tos: Optional[pulumi.Input[bool]] = None,
633
+ name: Optional[pulumi.Input[str]] = None,
634
+ project_id: Optional[pulumi.Input[str]] = None,
635
+ region: Optional[pulumi.Input[str]] = None,
636
+ __props__=None):
637
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
638
+ if not isinstance(opts, pulumi.ResourceOptions):
639
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
640
+ if opts.id is None:
641
+ if __props__ is not None:
642
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
643
+ __props__ = TemDomainArgs.__new__(TemDomainArgs)
644
+
645
+ if accept_tos is None and not opts.urn:
646
+ raise TypeError("Missing required property 'accept_tos'")
647
+ __props__.__dict__["accept_tos"] = accept_tos
648
+ __props__.__dict__["name"] = name
649
+ __props__.__dict__["project_id"] = project_id
650
+ __props__.__dict__["region"] = region
651
+ __props__.__dict__["created_at"] = None
652
+ __props__.__dict__["dkim_config"] = None
653
+ __props__.__dict__["dmarc_config"] = None
654
+ __props__.__dict__["dmarc_name"] = None
655
+ __props__.__dict__["last_error"] = None
656
+ __props__.__dict__["last_valid_at"] = None
657
+ __props__.__dict__["mx_blackhole"] = None
658
+ __props__.__dict__["next_check_at"] = None
659
+ __props__.__dict__["reputations"] = None
660
+ __props__.__dict__["revoked_at"] = None
661
+ __props__.__dict__["smtp_host"] = None
662
+ __props__.__dict__["smtp_port"] = None
663
+ __props__.__dict__["smtp_port_alternative"] = None
664
+ __props__.__dict__["smtp_port_unsecure"] = None
665
+ __props__.__dict__["smtps_auth_user"] = None
666
+ __props__.__dict__["smtps_port"] = None
667
+ __props__.__dict__["smtps_port_alternative"] = None
668
+ __props__.__dict__["spf_config"] = None
669
+ __props__.__dict__["status"] = None
670
+ super(TemDomain, __self__).__init__(
671
+ 'scaleway:index/temDomain:TemDomain',
672
+ resource_name,
673
+ __props__,
674
+ opts)
675
+
676
+ @staticmethod
677
+ def get(resource_name: str,
678
+ id: pulumi.Input[str],
679
+ opts: Optional[pulumi.ResourceOptions] = None,
680
+ accept_tos: Optional[pulumi.Input[bool]] = None,
681
+ created_at: Optional[pulumi.Input[str]] = None,
682
+ dkim_config: Optional[pulumi.Input[str]] = None,
683
+ dmarc_config: Optional[pulumi.Input[str]] = None,
684
+ dmarc_name: Optional[pulumi.Input[str]] = None,
685
+ last_error: Optional[pulumi.Input[str]] = None,
686
+ last_valid_at: Optional[pulumi.Input[str]] = None,
687
+ mx_blackhole: Optional[pulumi.Input[str]] = None,
688
+ name: Optional[pulumi.Input[str]] = None,
689
+ next_check_at: Optional[pulumi.Input[str]] = None,
690
+ project_id: Optional[pulumi.Input[str]] = None,
691
+ region: Optional[pulumi.Input[str]] = None,
692
+ reputations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TemDomainReputationArgs', 'TemDomainReputationArgsDict']]]]] = None,
693
+ revoked_at: Optional[pulumi.Input[str]] = None,
694
+ smtp_host: Optional[pulumi.Input[str]] = None,
695
+ smtp_port: Optional[pulumi.Input[int]] = None,
696
+ smtp_port_alternative: Optional[pulumi.Input[int]] = None,
697
+ smtp_port_unsecure: Optional[pulumi.Input[int]] = None,
698
+ smtps_auth_user: Optional[pulumi.Input[str]] = None,
699
+ smtps_port: Optional[pulumi.Input[int]] = None,
700
+ smtps_port_alternative: Optional[pulumi.Input[int]] = None,
701
+ spf_config: Optional[pulumi.Input[str]] = None,
702
+ status: Optional[pulumi.Input[str]] = None) -> 'TemDomain':
703
+ """
704
+ Get an existing TemDomain resource's state with the given name, id, and optional extra
705
+ properties used to qualify the lookup.
706
+
707
+ :param str resource_name: The unique name of the resulting resource.
708
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
709
+ :param pulumi.ResourceOptions opts: Options for the resource.
710
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
711
+ > **Important:** This attribute must be set to `true`.
712
+ :param pulumi.Input[str] created_at: The date and time of the Transaction Email Domain's creation (RFC 3339 format).
713
+ :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone.
714
+ :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone.
715
+ :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone.
716
+ :param pulumi.Input[str] last_error: The error message if the last check failed.
717
+ :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format).
718
+ :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one.
719
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
720
+ > **Important:** Updates to `name` will recreate the domain.
721
+ :param pulumi.Input[str] next_check_at: The date and time of the next scheduled check (RFC 3339 format).
722
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
723
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
724
+ :param pulumi.Input[Sequence[pulumi.Input[Union['TemDomainReputationArgs', 'TemDomainReputationArgsDict']]]] reputations: The domain's reputation.
725
+ :param pulumi.Input[str] revoked_at: The date and time of the revocation of the domain (RFC 3339 format).
726
+ :param pulumi.Input[str] smtp_host: The SMTP host to use to send emails.
727
+ :param pulumi.Input[int] smtp_port: The SMTP port to use to send emails over TLS.
728
+ :param pulumi.Input[int] smtp_port_alternative: The SMTP port to use to send emails over TLS.
729
+ :param pulumi.Input[int] smtp_port_unsecure: The SMTP port to use to send emails.
730
+ :param pulumi.Input[str] smtps_auth_user: SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
731
+ :param pulumi.Input[int] smtps_port: The SMTPS port to use to send emails over TLS Wrapper.
732
+ :param pulumi.Input[int] smtps_port_alternative: The SMTPS port to use to send emails over TLS Wrapper.
733
+ :param pulumi.Input[str] spf_config: The snippet of the SPF record that should be registered in the DNS zone.
734
+ :param pulumi.Input[str] status: The status of the domain's reputation.
735
+ """
736
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
737
+
738
+ __props__ = _TemDomainState.__new__(_TemDomainState)
739
+
740
+ __props__.__dict__["accept_tos"] = accept_tos
741
+ __props__.__dict__["created_at"] = created_at
742
+ __props__.__dict__["dkim_config"] = dkim_config
743
+ __props__.__dict__["dmarc_config"] = dmarc_config
744
+ __props__.__dict__["dmarc_name"] = dmarc_name
745
+ __props__.__dict__["last_error"] = last_error
746
+ __props__.__dict__["last_valid_at"] = last_valid_at
747
+ __props__.__dict__["mx_blackhole"] = mx_blackhole
748
+ __props__.__dict__["name"] = name
749
+ __props__.__dict__["next_check_at"] = next_check_at
750
+ __props__.__dict__["project_id"] = project_id
751
+ __props__.__dict__["region"] = region
752
+ __props__.__dict__["reputations"] = reputations
753
+ __props__.__dict__["revoked_at"] = revoked_at
754
+ __props__.__dict__["smtp_host"] = smtp_host
755
+ __props__.__dict__["smtp_port"] = smtp_port
756
+ __props__.__dict__["smtp_port_alternative"] = smtp_port_alternative
757
+ __props__.__dict__["smtp_port_unsecure"] = smtp_port_unsecure
758
+ __props__.__dict__["smtps_auth_user"] = smtps_auth_user
759
+ __props__.__dict__["smtps_port"] = smtps_port
760
+ __props__.__dict__["smtps_port_alternative"] = smtps_port_alternative
761
+ __props__.__dict__["spf_config"] = spf_config
762
+ __props__.__dict__["status"] = status
763
+ return TemDomain(resource_name, opts=opts, __props__=__props__)
764
+
765
+ @property
766
+ @pulumi.getter(name="acceptTos")
767
+ def accept_tos(self) -> pulumi.Output[bool]:
768
+ """
769
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
770
+ > **Important:** This attribute must be set to `true`.
771
+ """
772
+ return pulumi.get(self, "accept_tos")
773
+
774
+ @property
775
+ @pulumi.getter(name="createdAt")
776
+ def created_at(self) -> pulumi.Output[str]:
777
+ """
778
+ The date and time of the Transaction Email Domain's creation (RFC 3339 format).
779
+ """
780
+ return pulumi.get(self, "created_at")
781
+
782
+ @property
783
+ @pulumi.getter(name="dkimConfig")
784
+ def dkim_config(self) -> pulumi.Output[str]:
785
+ """
786
+ The DKIM public key, as should be recorded in the DNS zone.
787
+ """
788
+ return pulumi.get(self, "dkim_config")
789
+
790
+ @property
791
+ @pulumi.getter(name="dmarcConfig")
792
+ def dmarc_config(self) -> pulumi.Output[str]:
793
+ """
794
+ DMARC record for the domain, as should be recorded in the DNS zone.
795
+ """
796
+ return pulumi.get(self, "dmarc_config")
797
+
798
+ @property
799
+ @pulumi.getter(name="dmarcName")
800
+ def dmarc_name(self) -> pulumi.Output[str]:
801
+ """
802
+ DMARC name for the domain, as should be recorded in the DNS zone.
803
+ """
804
+ return pulumi.get(self, "dmarc_name")
805
+
806
+ @property
807
+ @pulumi.getter(name="lastError")
808
+ def last_error(self) -> pulumi.Output[str]:
809
+ """
810
+ The error message if the last check failed.
811
+ """
812
+ return pulumi.get(self, "last_error")
813
+
814
+ @property
815
+ @pulumi.getter(name="lastValidAt")
816
+ def last_valid_at(self) -> pulumi.Output[str]:
817
+ """
818
+ The date and time the domain was last found to be valid (RFC 3339 format).
819
+ """
820
+ return pulumi.get(self, "last_valid_at")
821
+
822
+ @property
823
+ @pulumi.getter(name="mxBlackhole")
824
+ def mx_blackhole(self) -> pulumi.Output[str]:
825
+ """
826
+ The Scaleway's blackhole MX server to use if you do not have one.
827
+ """
828
+ return pulumi.get(self, "mx_blackhole")
829
+
830
+ @property
831
+ @pulumi.getter
832
+ def name(self) -> pulumi.Output[str]:
833
+ """
834
+ The domain name, must not be used in another Transactional Email Domain.
835
+ > **Important:** Updates to `name` will recreate the domain.
836
+ """
837
+ return pulumi.get(self, "name")
838
+
839
+ @property
840
+ @pulumi.getter(name="nextCheckAt")
841
+ def next_check_at(self) -> pulumi.Output[str]:
842
+ """
843
+ The date and time of the next scheduled check (RFC 3339 format).
844
+ """
845
+ return pulumi.get(self, "next_check_at")
846
+
847
+ @property
848
+ @pulumi.getter(name="projectId")
849
+ def project_id(self) -> pulumi.Output[str]:
850
+ """
851
+ `project_id`) The ID of the project the domain is associated with.
852
+ """
853
+ return pulumi.get(self, "project_id")
854
+
855
+ @property
856
+ @pulumi.getter
857
+ def region(self) -> pulumi.Output[str]:
858
+ """
859
+ `region`). The region in which the domain should be created.
860
+ """
861
+ return pulumi.get(self, "region")
862
+
863
+ @property
864
+ @pulumi.getter
865
+ def reputations(self) -> pulumi.Output[Sequence['outputs.TemDomainReputation']]:
866
+ """
867
+ The domain's reputation.
868
+ """
869
+ return pulumi.get(self, "reputations")
870
+
871
+ @property
872
+ @pulumi.getter(name="revokedAt")
873
+ def revoked_at(self) -> pulumi.Output[str]:
874
+ """
875
+ The date and time of the revocation of the domain (RFC 3339 format).
876
+ """
877
+ return pulumi.get(self, "revoked_at")
878
+
879
+ @property
880
+ @pulumi.getter(name="smtpHost")
881
+ def smtp_host(self) -> pulumi.Output[str]:
882
+ """
883
+ The SMTP host to use to send emails.
884
+ """
885
+ return pulumi.get(self, "smtp_host")
886
+
887
+ @property
888
+ @pulumi.getter(name="smtpPort")
889
+ def smtp_port(self) -> pulumi.Output[int]:
890
+ """
891
+ The SMTP port to use to send emails over TLS.
892
+ """
893
+ return pulumi.get(self, "smtp_port")
894
+
895
+ @property
896
+ @pulumi.getter(name="smtpPortAlternative")
897
+ def smtp_port_alternative(self) -> pulumi.Output[int]:
898
+ """
899
+ The SMTP port to use to send emails over TLS.
900
+ """
901
+ return pulumi.get(self, "smtp_port_alternative")
902
+
903
+ @property
904
+ @pulumi.getter(name="smtpPortUnsecure")
905
+ def smtp_port_unsecure(self) -> pulumi.Output[int]:
906
+ """
907
+ The SMTP port to use to send emails.
908
+ """
909
+ return pulumi.get(self, "smtp_port_unsecure")
910
+
911
+ @property
912
+ @pulumi.getter(name="smtpsAuthUser")
913
+ def smtps_auth_user(self) -> pulumi.Output[str]:
914
+ """
915
+ SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
916
+ """
917
+ return pulumi.get(self, "smtps_auth_user")
918
+
919
+ @property
920
+ @pulumi.getter(name="smtpsPort")
921
+ def smtps_port(self) -> pulumi.Output[int]:
922
+ """
923
+ The SMTPS port to use to send emails over TLS Wrapper.
924
+ """
925
+ return pulumi.get(self, "smtps_port")
926
+
927
+ @property
928
+ @pulumi.getter(name="smtpsPortAlternative")
929
+ def smtps_port_alternative(self) -> pulumi.Output[int]:
930
+ """
931
+ The SMTPS port to use to send emails over TLS Wrapper.
932
+ """
933
+ return pulumi.get(self, "smtps_port_alternative")
934
+
935
+ @property
936
+ @pulumi.getter(name="spfConfig")
937
+ def spf_config(self) -> pulumi.Output[str]:
938
+ """
939
+ The snippet of the SPF record that should be registered in the DNS zone.
940
+ """
941
+ return pulumi.get(self, "spf_config")
942
+
943
+ @property
944
+ @pulumi.getter
945
+ def status(self) -> pulumi.Output[str]:
946
+ """
947
+ The status of the domain's reputation.
948
+ """
949
+ return pulumi.get(self, "status")
950
+