pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__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.
Files changed (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1032 @@
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__ = ['DomainArgs', 'Domain']
20
+
21
+ @pulumi.input_type
22
+ class DomainArgs:
23
+ def __init__(__self__, *,
24
+ accept_tos: pulumi.Input[bool],
25
+ autoconfig: Optional[pulumi.Input[bool]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ project_id: Optional[pulumi.Input[str]] = None,
28
+ region: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a Domain resource.
31
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
32
+ > **Important:** This attribute must be set to `true`.
33
+ :param pulumi.Input[bool] autoconfig: Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
34
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
35
+ > **Important:** Updates to `name` will recreate the domain.
36
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
37
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
38
+ """
39
+ pulumi.set(__self__, "accept_tos", accept_tos)
40
+ if autoconfig is not None:
41
+ pulumi.set(__self__, "autoconfig", autoconfig)
42
+ if name is not None:
43
+ pulumi.set(__self__, "name", name)
44
+ if project_id is not None:
45
+ pulumi.set(__self__, "project_id", project_id)
46
+ if region is not None:
47
+ pulumi.set(__self__, "region", region)
48
+
49
+ @property
50
+ @pulumi.getter(name="acceptTos")
51
+ def accept_tos(self) -> pulumi.Input[bool]:
52
+ """
53
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
54
+ > **Important:** This attribute must be set to `true`.
55
+ """
56
+ return pulumi.get(self, "accept_tos")
57
+
58
+ @accept_tos.setter
59
+ def accept_tos(self, value: pulumi.Input[bool]):
60
+ pulumi.set(self, "accept_tos", value)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def autoconfig(self) -> Optional[pulumi.Input[bool]]:
65
+ """
66
+ Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
67
+ """
68
+ return pulumi.get(self, "autoconfig")
69
+
70
+ @autoconfig.setter
71
+ def autoconfig(self, value: Optional[pulumi.Input[bool]]):
72
+ pulumi.set(self, "autoconfig", value)
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def name(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ The domain name, must not be used in another Transactional Email Domain.
79
+ > **Important:** Updates to `name` will recreate the domain.
80
+ """
81
+ return pulumi.get(self, "name")
82
+
83
+ @name.setter
84
+ def name(self, value: Optional[pulumi.Input[str]]):
85
+ pulumi.set(self, "name", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="projectId")
89
+ def project_id(self) -> Optional[pulumi.Input[str]]:
90
+ """
91
+ `project_id`) The ID of the project the domain is associated with.
92
+ """
93
+ return pulumi.get(self, "project_id")
94
+
95
+ @project_id.setter
96
+ def project_id(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "project_id", value)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def region(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ `region`). The region in which the domain should be created.
104
+ """
105
+ return pulumi.get(self, "region")
106
+
107
+ @region.setter
108
+ def region(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "region", value)
110
+
111
+
112
+ @pulumi.input_type
113
+ class _DomainState:
114
+ def __init__(__self__, *,
115
+ accept_tos: Optional[pulumi.Input[bool]] = None,
116
+ autoconfig: Optional[pulumi.Input[bool]] = None,
117
+ created_at: Optional[pulumi.Input[str]] = None,
118
+ dkim_config: Optional[pulumi.Input[str]] = None,
119
+ dmarc_config: Optional[pulumi.Input[str]] = None,
120
+ dmarc_name: Optional[pulumi.Input[str]] = None,
121
+ last_error: Optional[pulumi.Input[str]] = None,
122
+ last_valid_at: Optional[pulumi.Input[str]] = None,
123
+ mx_blackhole: Optional[pulumi.Input[str]] = None,
124
+ name: Optional[pulumi.Input[str]] = None,
125
+ next_check_at: Optional[pulumi.Input[str]] = None,
126
+ project_id: Optional[pulumi.Input[str]] = None,
127
+ region: Optional[pulumi.Input[str]] = None,
128
+ reputations: Optional[pulumi.Input[Sequence[pulumi.Input['DomainReputationArgs']]]] = None,
129
+ revoked_at: Optional[pulumi.Input[str]] = None,
130
+ smtp_host: Optional[pulumi.Input[str]] = None,
131
+ smtp_port: Optional[pulumi.Input[int]] = None,
132
+ smtp_port_alternative: Optional[pulumi.Input[int]] = None,
133
+ smtp_port_unsecure: Optional[pulumi.Input[int]] = None,
134
+ smtps_auth_user: Optional[pulumi.Input[str]] = None,
135
+ smtps_port: Optional[pulumi.Input[int]] = None,
136
+ smtps_port_alternative: Optional[pulumi.Input[int]] = None,
137
+ spf_config: Optional[pulumi.Input[str]] = None,
138
+ status: Optional[pulumi.Input[str]] = None):
139
+ """
140
+ Input properties used for looking up and filtering Domain resources.
141
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
142
+ > **Important:** This attribute must be set to `true`.
143
+ :param pulumi.Input[bool] autoconfig: Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
144
+ :param pulumi.Input[str] created_at: The date and time of the Transaction Email Domain's creation (RFC 3339 format).
145
+ :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone.
146
+ :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone.
147
+ :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone.
148
+ :param pulumi.Input[str] last_error: (Deprecated) The error message if the last check failed.
149
+ :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format).
150
+ :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one.
151
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
152
+ > **Important:** Updates to `name` will recreate the domain.
153
+ :param pulumi.Input[str] next_check_at: The date and time of the next scheduled check (RFC 3339 format).
154
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
155
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
156
+ :param pulumi.Input[Sequence[pulumi.Input['DomainReputationArgs']]] reputations: The domain's reputation.
157
+ :param pulumi.Input[str] revoked_at: The date and time of the revocation of the domain (RFC 3339 format).
158
+ :param pulumi.Input[str] smtp_host: The SMTP host to use to send emails.
159
+ :param pulumi.Input[int] smtp_port: The SMTP port to use to send emails over TLS.
160
+ :param pulumi.Input[int] smtp_port_alternative: The SMTP port to use to send emails over TLS.
161
+ :param pulumi.Input[int] smtp_port_unsecure: The SMTP port to use to send emails.
162
+ :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.
163
+ :param pulumi.Input[int] smtps_port: The SMTPS port to use to send emails over TLS Wrapper.
164
+ :param pulumi.Input[int] smtps_port_alternative: The SMTPS port to use to send emails over TLS Wrapper.
165
+ :param pulumi.Input[str] spf_config: The snippet of the SPF record that should be registered in the DNS zone.
166
+ :param pulumi.Input[str] status: The status of the domain's reputation.
167
+ """
168
+ if accept_tos is not None:
169
+ pulumi.set(__self__, "accept_tos", accept_tos)
170
+ if autoconfig is not None:
171
+ pulumi.set(__self__, "autoconfig", autoconfig)
172
+ if created_at is not None:
173
+ pulumi.set(__self__, "created_at", created_at)
174
+ if dkim_config is not None:
175
+ pulumi.set(__self__, "dkim_config", dkim_config)
176
+ if dmarc_config is not None:
177
+ pulumi.set(__self__, "dmarc_config", dmarc_config)
178
+ if dmarc_name is not None:
179
+ pulumi.set(__self__, "dmarc_name", dmarc_name)
180
+ if last_error is not None:
181
+ warnings.warn("""last_error is deprecated""", DeprecationWarning)
182
+ pulumi.log.warn("""last_error is deprecated: last_error is deprecated""")
183
+ if last_error is not None:
184
+ pulumi.set(__self__, "last_error", last_error)
185
+ if last_valid_at is not None:
186
+ pulumi.set(__self__, "last_valid_at", last_valid_at)
187
+ if mx_blackhole is not None:
188
+ pulumi.set(__self__, "mx_blackhole", mx_blackhole)
189
+ if name is not None:
190
+ pulumi.set(__self__, "name", name)
191
+ if next_check_at is not None:
192
+ pulumi.set(__self__, "next_check_at", next_check_at)
193
+ if project_id is not None:
194
+ pulumi.set(__self__, "project_id", project_id)
195
+ if region is not None:
196
+ pulumi.set(__self__, "region", region)
197
+ if reputations is not None:
198
+ pulumi.set(__self__, "reputations", reputations)
199
+ if revoked_at is not None:
200
+ pulumi.set(__self__, "revoked_at", revoked_at)
201
+ if smtp_host is not None:
202
+ pulumi.set(__self__, "smtp_host", smtp_host)
203
+ if smtp_port is not None:
204
+ pulumi.set(__self__, "smtp_port", smtp_port)
205
+ if smtp_port_alternative is not None:
206
+ pulumi.set(__self__, "smtp_port_alternative", smtp_port_alternative)
207
+ if smtp_port_unsecure is not None:
208
+ pulumi.set(__self__, "smtp_port_unsecure", smtp_port_unsecure)
209
+ if smtps_auth_user is not None:
210
+ pulumi.set(__self__, "smtps_auth_user", smtps_auth_user)
211
+ if smtps_port is not None:
212
+ pulumi.set(__self__, "smtps_port", smtps_port)
213
+ if smtps_port_alternative is not None:
214
+ pulumi.set(__self__, "smtps_port_alternative", smtps_port_alternative)
215
+ if spf_config is not None:
216
+ pulumi.set(__self__, "spf_config", spf_config)
217
+ if status is not None:
218
+ pulumi.set(__self__, "status", status)
219
+
220
+ @property
221
+ @pulumi.getter(name="acceptTos")
222
+ def accept_tos(self) -> Optional[pulumi.Input[bool]]:
223
+ """
224
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
225
+ > **Important:** This attribute must be set to `true`.
226
+ """
227
+ return pulumi.get(self, "accept_tos")
228
+
229
+ @accept_tos.setter
230
+ def accept_tos(self, value: Optional[pulumi.Input[bool]]):
231
+ pulumi.set(self, "accept_tos", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def autoconfig(self) -> Optional[pulumi.Input[bool]]:
236
+ """
237
+ Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
238
+ """
239
+ return pulumi.get(self, "autoconfig")
240
+
241
+ @autoconfig.setter
242
+ def autoconfig(self, value: Optional[pulumi.Input[bool]]):
243
+ pulumi.set(self, "autoconfig", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="createdAt")
247
+ def created_at(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The date and time of the Transaction Email Domain's creation (RFC 3339 format).
250
+ """
251
+ return pulumi.get(self, "created_at")
252
+
253
+ @created_at.setter
254
+ def created_at(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "created_at", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="dkimConfig")
259
+ def dkim_config(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ The DKIM public key, as should be recorded in the DNS zone.
262
+ """
263
+ return pulumi.get(self, "dkim_config")
264
+
265
+ @dkim_config.setter
266
+ def dkim_config(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "dkim_config", value)
268
+
269
+ @property
270
+ @pulumi.getter(name="dmarcConfig")
271
+ def dmarc_config(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ DMARC record for the domain, as should be recorded in the DNS zone.
274
+ """
275
+ return pulumi.get(self, "dmarc_config")
276
+
277
+ @dmarc_config.setter
278
+ def dmarc_config(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "dmarc_config", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="dmarcName")
283
+ def dmarc_name(self) -> Optional[pulumi.Input[str]]:
284
+ """
285
+ DMARC name for the domain, as should be recorded in the DNS zone.
286
+ """
287
+ return pulumi.get(self, "dmarc_name")
288
+
289
+ @dmarc_name.setter
290
+ def dmarc_name(self, value: Optional[pulumi.Input[str]]):
291
+ pulumi.set(self, "dmarc_name", value)
292
+
293
+ @property
294
+ @pulumi.getter(name="lastError")
295
+ @_utilities.deprecated("""last_error is deprecated""")
296
+ def last_error(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ (Deprecated) The error message if the last check failed.
299
+ """
300
+ return pulumi.get(self, "last_error")
301
+
302
+ @last_error.setter
303
+ def last_error(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "last_error", value)
305
+
306
+ @property
307
+ @pulumi.getter(name="lastValidAt")
308
+ def last_valid_at(self) -> Optional[pulumi.Input[str]]:
309
+ """
310
+ The date and time the domain was last found to be valid (RFC 3339 format).
311
+ """
312
+ return pulumi.get(self, "last_valid_at")
313
+
314
+ @last_valid_at.setter
315
+ def last_valid_at(self, value: Optional[pulumi.Input[str]]):
316
+ pulumi.set(self, "last_valid_at", value)
317
+
318
+ @property
319
+ @pulumi.getter(name="mxBlackhole")
320
+ def mx_blackhole(self) -> Optional[pulumi.Input[str]]:
321
+ """
322
+ The Scaleway's blackhole MX server to use if you do not have one.
323
+ """
324
+ return pulumi.get(self, "mx_blackhole")
325
+
326
+ @mx_blackhole.setter
327
+ def mx_blackhole(self, value: Optional[pulumi.Input[str]]):
328
+ pulumi.set(self, "mx_blackhole", value)
329
+
330
+ @property
331
+ @pulumi.getter
332
+ def name(self) -> Optional[pulumi.Input[str]]:
333
+ """
334
+ The domain name, must not be used in another Transactional Email Domain.
335
+ > **Important:** Updates to `name` will recreate the domain.
336
+ """
337
+ return pulumi.get(self, "name")
338
+
339
+ @name.setter
340
+ def name(self, value: Optional[pulumi.Input[str]]):
341
+ pulumi.set(self, "name", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="nextCheckAt")
345
+ def next_check_at(self) -> Optional[pulumi.Input[str]]:
346
+ """
347
+ The date and time of the next scheduled check (RFC 3339 format).
348
+ """
349
+ return pulumi.get(self, "next_check_at")
350
+
351
+ @next_check_at.setter
352
+ def next_check_at(self, value: Optional[pulumi.Input[str]]):
353
+ pulumi.set(self, "next_check_at", value)
354
+
355
+ @property
356
+ @pulumi.getter(name="projectId")
357
+ def project_id(self) -> Optional[pulumi.Input[str]]:
358
+ """
359
+ `project_id`) The ID of the project the domain is associated with.
360
+ """
361
+ return pulumi.get(self, "project_id")
362
+
363
+ @project_id.setter
364
+ def project_id(self, value: Optional[pulumi.Input[str]]):
365
+ pulumi.set(self, "project_id", value)
366
+
367
+ @property
368
+ @pulumi.getter
369
+ def region(self) -> Optional[pulumi.Input[str]]:
370
+ """
371
+ `region`). The region in which the domain should be created.
372
+ """
373
+ return pulumi.get(self, "region")
374
+
375
+ @region.setter
376
+ def region(self, value: Optional[pulumi.Input[str]]):
377
+ pulumi.set(self, "region", value)
378
+
379
+ @property
380
+ @pulumi.getter
381
+ def reputations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainReputationArgs']]]]:
382
+ """
383
+ The domain's reputation.
384
+ """
385
+ return pulumi.get(self, "reputations")
386
+
387
+ @reputations.setter
388
+ def reputations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DomainReputationArgs']]]]):
389
+ pulumi.set(self, "reputations", value)
390
+
391
+ @property
392
+ @pulumi.getter(name="revokedAt")
393
+ def revoked_at(self) -> Optional[pulumi.Input[str]]:
394
+ """
395
+ The date and time of the revocation of the domain (RFC 3339 format).
396
+ """
397
+ return pulumi.get(self, "revoked_at")
398
+
399
+ @revoked_at.setter
400
+ def revoked_at(self, value: Optional[pulumi.Input[str]]):
401
+ pulumi.set(self, "revoked_at", value)
402
+
403
+ @property
404
+ @pulumi.getter(name="smtpHost")
405
+ def smtp_host(self) -> Optional[pulumi.Input[str]]:
406
+ """
407
+ The SMTP host to use to send emails.
408
+ """
409
+ return pulumi.get(self, "smtp_host")
410
+
411
+ @smtp_host.setter
412
+ def smtp_host(self, value: Optional[pulumi.Input[str]]):
413
+ pulumi.set(self, "smtp_host", value)
414
+
415
+ @property
416
+ @pulumi.getter(name="smtpPort")
417
+ def smtp_port(self) -> Optional[pulumi.Input[int]]:
418
+ """
419
+ The SMTP port to use to send emails over TLS.
420
+ """
421
+ return pulumi.get(self, "smtp_port")
422
+
423
+ @smtp_port.setter
424
+ def smtp_port(self, value: Optional[pulumi.Input[int]]):
425
+ pulumi.set(self, "smtp_port", value)
426
+
427
+ @property
428
+ @pulumi.getter(name="smtpPortAlternative")
429
+ def smtp_port_alternative(self) -> Optional[pulumi.Input[int]]:
430
+ """
431
+ The SMTP port to use to send emails over TLS.
432
+ """
433
+ return pulumi.get(self, "smtp_port_alternative")
434
+
435
+ @smtp_port_alternative.setter
436
+ def smtp_port_alternative(self, value: Optional[pulumi.Input[int]]):
437
+ pulumi.set(self, "smtp_port_alternative", value)
438
+
439
+ @property
440
+ @pulumi.getter(name="smtpPortUnsecure")
441
+ def smtp_port_unsecure(self) -> Optional[pulumi.Input[int]]:
442
+ """
443
+ The SMTP port to use to send emails.
444
+ """
445
+ return pulumi.get(self, "smtp_port_unsecure")
446
+
447
+ @smtp_port_unsecure.setter
448
+ def smtp_port_unsecure(self, value: Optional[pulumi.Input[int]]):
449
+ pulumi.set(self, "smtp_port_unsecure", value)
450
+
451
+ @property
452
+ @pulumi.getter(name="smtpsAuthUser")
453
+ def smtps_auth_user(self) -> Optional[pulumi.Input[str]]:
454
+ """
455
+ SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
456
+ """
457
+ return pulumi.get(self, "smtps_auth_user")
458
+
459
+ @smtps_auth_user.setter
460
+ def smtps_auth_user(self, value: Optional[pulumi.Input[str]]):
461
+ pulumi.set(self, "smtps_auth_user", value)
462
+
463
+ @property
464
+ @pulumi.getter(name="smtpsPort")
465
+ def smtps_port(self) -> Optional[pulumi.Input[int]]:
466
+ """
467
+ The SMTPS port to use to send emails over TLS Wrapper.
468
+ """
469
+ return pulumi.get(self, "smtps_port")
470
+
471
+ @smtps_port.setter
472
+ def smtps_port(self, value: Optional[pulumi.Input[int]]):
473
+ pulumi.set(self, "smtps_port", value)
474
+
475
+ @property
476
+ @pulumi.getter(name="smtpsPortAlternative")
477
+ def smtps_port_alternative(self) -> Optional[pulumi.Input[int]]:
478
+ """
479
+ The SMTPS port to use to send emails over TLS Wrapper.
480
+ """
481
+ return pulumi.get(self, "smtps_port_alternative")
482
+
483
+ @smtps_port_alternative.setter
484
+ def smtps_port_alternative(self, value: Optional[pulumi.Input[int]]):
485
+ pulumi.set(self, "smtps_port_alternative", value)
486
+
487
+ @property
488
+ @pulumi.getter(name="spfConfig")
489
+ def spf_config(self) -> Optional[pulumi.Input[str]]:
490
+ """
491
+ The snippet of the SPF record that should be registered in the DNS zone.
492
+ """
493
+ return pulumi.get(self, "spf_config")
494
+
495
+ @spf_config.setter
496
+ def spf_config(self, value: Optional[pulumi.Input[str]]):
497
+ pulumi.set(self, "spf_config", value)
498
+
499
+ @property
500
+ @pulumi.getter
501
+ def status(self) -> Optional[pulumi.Input[str]]:
502
+ """
503
+ The status of the domain's reputation.
504
+ """
505
+ return pulumi.get(self, "status")
506
+
507
+ @status.setter
508
+ def status(self, value: Optional[pulumi.Input[str]]):
509
+ pulumi.set(self, "status", value)
510
+
511
+
512
+ class Domain(pulumi.CustomResource):
513
+ @overload
514
+ def __init__(__self__,
515
+ resource_name: str,
516
+ opts: Optional[pulumi.ResourceOptions] = None,
517
+ accept_tos: Optional[pulumi.Input[bool]] = None,
518
+ autoconfig: Optional[pulumi.Input[bool]] = None,
519
+ name: Optional[pulumi.Input[str]] = None,
520
+ project_id: Optional[pulumi.Input[str]] = None,
521
+ region: Optional[pulumi.Input[str]] = None,
522
+ __props__=None):
523
+ """
524
+ Creates and manages Scaleway Transactional Email Domains.
525
+ For more information refer to the [API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
526
+
527
+ ## Example Usage
528
+
529
+ ### Basic
530
+
531
+ ```python
532
+ import pulumi
533
+ import pulumiverse_scaleway as scaleway
534
+
535
+ main = scaleway.tem.Domain("main",
536
+ accept_tos=True,
537
+ name="example.com")
538
+ ```
539
+
540
+ ### Add the required records to your DNS zone
541
+
542
+ ```python
543
+ import pulumi
544
+ import pulumiverse_scaleway as scaleway
545
+
546
+ config = pulumi.Config()
547
+ domain_name = config.require("domainName")
548
+ main = scaleway.tem.Domain("main",
549
+ name=domain_name,
550
+ accept_tos=True)
551
+ spf = scaleway.domain.Record("spf",
552
+ dns_zone=domain_name,
553
+ type="TXT",
554
+ data=main.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
555
+ dkim = scaleway.domain.Record("dkim",
556
+ dns_zone=domain_name,
557
+ name=main.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
558
+ type="TXT",
559
+ data=main.dkim_config)
560
+ mx = scaleway.domain.Record("mx",
561
+ dns_zone=domain_name,
562
+ type="MX",
563
+ data=".")
564
+ dmarc = scaleway.domain.Record("dmarc",
565
+ dns_zone=domain_name,
566
+ name=main.dmarc_name,
567
+ type="TXT",
568
+ data=main.dmarc_config)
569
+ ```
570
+
571
+ ### Automatically Configure DNS Settings for Your Domain
572
+
573
+ ```python
574
+ import pulumi
575
+ import pulumiverse_scaleway as scaleway
576
+
577
+ config = pulumi.Config()
578
+ domain_name = config.require("domainName")
579
+ main = scaleway.tem.Domain("main",
580
+ name=domain_name,
581
+ accept_tos=True,
582
+ autoconfig=True)
583
+ ```
584
+
585
+ ## Import
586
+
587
+ Domains can be imported using the `{region}/{id}`, e.g.
588
+
589
+ bash
590
+
591
+ ```sh
592
+ $ pulumi import scaleway:tem/domain:Domain main fr-par/11111111-1111-1111-1111-111111111111
593
+ ```
594
+
595
+ :param str resource_name: The name of the resource.
596
+ :param pulumi.ResourceOptions opts: Options for the resource.
597
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
598
+ > **Important:** This attribute must be set to `true`.
599
+ :param pulumi.Input[bool] autoconfig: Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
600
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
601
+ > **Important:** Updates to `name` will recreate the domain.
602
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
603
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
604
+ """
605
+ ...
606
+ @overload
607
+ def __init__(__self__,
608
+ resource_name: str,
609
+ args: DomainArgs,
610
+ opts: Optional[pulumi.ResourceOptions] = None):
611
+ """
612
+ Creates and manages Scaleway Transactional Email Domains.
613
+ For more information refer to the [API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
614
+
615
+ ## Example Usage
616
+
617
+ ### Basic
618
+
619
+ ```python
620
+ import pulumi
621
+ import pulumiverse_scaleway as scaleway
622
+
623
+ main = scaleway.tem.Domain("main",
624
+ accept_tos=True,
625
+ name="example.com")
626
+ ```
627
+
628
+ ### Add the required records to your DNS zone
629
+
630
+ ```python
631
+ import pulumi
632
+ import pulumiverse_scaleway as scaleway
633
+
634
+ config = pulumi.Config()
635
+ domain_name = config.require("domainName")
636
+ main = scaleway.tem.Domain("main",
637
+ name=domain_name,
638
+ accept_tos=True)
639
+ spf = scaleway.domain.Record("spf",
640
+ dns_zone=domain_name,
641
+ type="TXT",
642
+ data=main.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
643
+ dkim = scaleway.domain.Record("dkim",
644
+ dns_zone=domain_name,
645
+ name=main.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
646
+ type="TXT",
647
+ data=main.dkim_config)
648
+ mx = scaleway.domain.Record("mx",
649
+ dns_zone=domain_name,
650
+ type="MX",
651
+ data=".")
652
+ dmarc = scaleway.domain.Record("dmarc",
653
+ dns_zone=domain_name,
654
+ name=main.dmarc_name,
655
+ type="TXT",
656
+ data=main.dmarc_config)
657
+ ```
658
+
659
+ ### Automatically Configure DNS Settings for Your Domain
660
+
661
+ ```python
662
+ import pulumi
663
+ import pulumiverse_scaleway as scaleway
664
+
665
+ config = pulumi.Config()
666
+ domain_name = config.require("domainName")
667
+ main = scaleway.tem.Domain("main",
668
+ name=domain_name,
669
+ accept_tos=True,
670
+ autoconfig=True)
671
+ ```
672
+
673
+ ## Import
674
+
675
+ Domains can be imported using the `{region}/{id}`, e.g.
676
+
677
+ bash
678
+
679
+ ```sh
680
+ $ pulumi import scaleway:tem/domain:Domain main fr-par/11111111-1111-1111-1111-111111111111
681
+ ```
682
+
683
+ :param str resource_name: The name of the resource.
684
+ :param DomainArgs args: The arguments to use to populate this resource's properties.
685
+ :param pulumi.ResourceOptions opts: Options for the resource.
686
+ """
687
+ ...
688
+ def __init__(__self__, resource_name: str, *args, **kwargs):
689
+ resource_args, opts = _utilities.get_resource_args_opts(DomainArgs, pulumi.ResourceOptions, *args, **kwargs)
690
+ if resource_args is not None:
691
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
692
+ else:
693
+ __self__._internal_init(resource_name, *args, **kwargs)
694
+
695
+ def _internal_init(__self__,
696
+ resource_name: str,
697
+ opts: Optional[pulumi.ResourceOptions] = None,
698
+ accept_tos: Optional[pulumi.Input[bool]] = None,
699
+ autoconfig: Optional[pulumi.Input[bool]] = None,
700
+ name: Optional[pulumi.Input[str]] = None,
701
+ project_id: Optional[pulumi.Input[str]] = None,
702
+ region: Optional[pulumi.Input[str]] = None,
703
+ __props__=None):
704
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
705
+ if not isinstance(opts, pulumi.ResourceOptions):
706
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
707
+ if opts.id is None:
708
+ if __props__ is not None:
709
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
710
+ __props__ = DomainArgs.__new__(DomainArgs)
711
+
712
+ if accept_tos is None and not opts.urn:
713
+ raise TypeError("Missing required property 'accept_tos'")
714
+ __props__.__dict__["accept_tos"] = accept_tos
715
+ __props__.__dict__["autoconfig"] = autoconfig
716
+ __props__.__dict__["name"] = name
717
+ __props__.__dict__["project_id"] = project_id
718
+ __props__.__dict__["region"] = region
719
+ __props__.__dict__["created_at"] = None
720
+ __props__.__dict__["dkim_config"] = None
721
+ __props__.__dict__["dmarc_config"] = None
722
+ __props__.__dict__["dmarc_name"] = None
723
+ __props__.__dict__["last_error"] = None
724
+ __props__.__dict__["last_valid_at"] = None
725
+ __props__.__dict__["mx_blackhole"] = None
726
+ __props__.__dict__["next_check_at"] = None
727
+ __props__.__dict__["reputations"] = None
728
+ __props__.__dict__["revoked_at"] = None
729
+ __props__.__dict__["smtp_host"] = None
730
+ __props__.__dict__["smtp_port"] = None
731
+ __props__.__dict__["smtp_port_alternative"] = None
732
+ __props__.__dict__["smtp_port_unsecure"] = None
733
+ __props__.__dict__["smtps_auth_user"] = None
734
+ __props__.__dict__["smtps_port"] = None
735
+ __props__.__dict__["smtps_port_alternative"] = None
736
+ __props__.__dict__["spf_config"] = None
737
+ __props__.__dict__["status"] = None
738
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/temDomain:TemDomain")])
739
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
740
+ super(Domain, __self__).__init__(
741
+ 'scaleway:tem/domain:Domain',
742
+ resource_name,
743
+ __props__,
744
+ opts)
745
+
746
+ @staticmethod
747
+ def get(resource_name: str,
748
+ id: pulumi.Input[str],
749
+ opts: Optional[pulumi.ResourceOptions] = None,
750
+ accept_tos: Optional[pulumi.Input[bool]] = None,
751
+ autoconfig: Optional[pulumi.Input[bool]] = None,
752
+ created_at: Optional[pulumi.Input[str]] = None,
753
+ dkim_config: Optional[pulumi.Input[str]] = None,
754
+ dmarc_config: Optional[pulumi.Input[str]] = None,
755
+ dmarc_name: Optional[pulumi.Input[str]] = None,
756
+ last_error: Optional[pulumi.Input[str]] = None,
757
+ last_valid_at: Optional[pulumi.Input[str]] = None,
758
+ mx_blackhole: Optional[pulumi.Input[str]] = None,
759
+ name: Optional[pulumi.Input[str]] = None,
760
+ next_check_at: Optional[pulumi.Input[str]] = None,
761
+ project_id: Optional[pulumi.Input[str]] = None,
762
+ region: Optional[pulumi.Input[str]] = None,
763
+ reputations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainReputationArgs', 'DomainReputationArgsDict']]]]] = None,
764
+ revoked_at: Optional[pulumi.Input[str]] = None,
765
+ smtp_host: Optional[pulumi.Input[str]] = None,
766
+ smtp_port: Optional[pulumi.Input[int]] = None,
767
+ smtp_port_alternative: Optional[pulumi.Input[int]] = None,
768
+ smtp_port_unsecure: Optional[pulumi.Input[int]] = None,
769
+ smtps_auth_user: Optional[pulumi.Input[str]] = None,
770
+ smtps_port: Optional[pulumi.Input[int]] = None,
771
+ smtps_port_alternative: Optional[pulumi.Input[int]] = None,
772
+ spf_config: Optional[pulumi.Input[str]] = None,
773
+ status: Optional[pulumi.Input[str]] = None) -> 'Domain':
774
+ """
775
+ Get an existing Domain resource's state with the given name, id, and optional extra
776
+ properties used to qualify the lookup.
777
+
778
+ :param str resource_name: The unique name of the resulting resource.
779
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
780
+ :param pulumi.ResourceOptions opts: Options for the resource.
781
+ :param pulumi.Input[bool] accept_tos: Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
782
+ > **Important:** This attribute must be set to `true`.
783
+ :param pulumi.Input[bool] autoconfig: Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
784
+ :param pulumi.Input[str] created_at: The date and time of the Transaction Email Domain's creation (RFC 3339 format).
785
+ :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone.
786
+ :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone.
787
+ :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone.
788
+ :param pulumi.Input[str] last_error: (Deprecated) The error message if the last check failed.
789
+ :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format).
790
+ :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one.
791
+ :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain.
792
+ > **Important:** Updates to `name` will recreate the domain.
793
+ :param pulumi.Input[str] next_check_at: The date and time of the next scheduled check (RFC 3339 format).
794
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with.
795
+ :param pulumi.Input[str] region: `region`). The region in which the domain should be created.
796
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DomainReputationArgs', 'DomainReputationArgsDict']]]] reputations: The domain's reputation.
797
+ :param pulumi.Input[str] revoked_at: The date and time of the revocation of the domain (RFC 3339 format).
798
+ :param pulumi.Input[str] smtp_host: The SMTP host to use to send emails.
799
+ :param pulumi.Input[int] smtp_port: The SMTP port to use to send emails over TLS.
800
+ :param pulumi.Input[int] smtp_port_alternative: The SMTP port to use to send emails over TLS.
801
+ :param pulumi.Input[int] smtp_port_unsecure: The SMTP port to use to send emails.
802
+ :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.
803
+ :param pulumi.Input[int] smtps_port: The SMTPS port to use to send emails over TLS Wrapper.
804
+ :param pulumi.Input[int] smtps_port_alternative: The SMTPS port to use to send emails over TLS Wrapper.
805
+ :param pulumi.Input[str] spf_config: The snippet of the SPF record that should be registered in the DNS zone.
806
+ :param pulumi.Input[str] status: The status of the domain's reputation.
807
+ """
808
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
809
+
810
+ __props__ = _DomainState.__new__(_DomainState)
811
+
812
+ __props__.__dict__["accept_tos"] = accept_tos
813
+ __props__.__dict__["autoconfig"] = autoconfig
814
+ __props__.__dict__["created_at"] = created_at
815
+ __props__.__dict__["dkim_config"] = dkim_config
816
+ __props__.__dict__["dmarc_config"] = dmarc_config
817
+ __props__.__dict__["dmarc_name"] = dmarc_name
818
+ __props__.__dict__["last_error"] = last_error
819
+ __props__.__dict__["last_valid_at"] = last_valid_at
820
+ __props__.__dict__["mx_blackhole"] = mx_blackhole
821
+ __props__.__dict__["name"] = name
822
+ __props__.__dict__["next_check_at"] = next_check_at
823
+ __props__.__dict__["project_id"] = project_id
824
+ __props__.__dict__["region"] = region
825
+ __props__.__dict__["reputations"] = reputations
826
+ __props__.__dict__["revoked_at"] = revoked_at
827
+ __props__.__dict__["smtp_host"] = smtp_host
828
+ __props__.__dict__["smtp_port"] = smtp_port
829
+ __props__.__dict__["smtp_port_alternative"] = smtp_port_alternative
830
+ __props__.__dict__["smtp_port_unsecure"] = smtp_port_unsecure
831
+ __props__.__dict__["smtps_auth_user"] = smtps_auth_user
832
+ __props__.__dict__["smtps_port"] = smtps_port
833
+ __props__.__dict__["smtps_port_alternative"] = smtps_port_alternative
834
+ __props__.__dict__["spf_config"] = spf_config
835
+ __props__.__dict__["status"] = status
836
+ return Domain(resource_name, opts=opts, __props__=__props__)
837
+
838
+ @property
839
+ @pulumi.getter(name="acceptTos")
840
+ def accept_tos(self) -> pulumi.Output[bool]:
841
+ """
842
+ Acceptation of the [Term of Service](https://tem.s3.fr-par.scw.cloud/antispam_policy.pdf).
843
+ > **Important:** This attribute must be set to `true`.
844
+ """
845
+ return pulumi.get(self, "accept_tos")
846
+
847
+ @property
848
+ @pulumi.getter
849
+ def autoconfig(self) -> pulumi.Output[Optional[bool]]:
850
+ """
851
+ Automatically configures DNS settings for the domain, simplifying the setup process by applying predefined configurations.
852
+ """
853
+ return pulumi.get(self, "autoconfig")
854
+
855
+ @property
856
+ @pulumi.getter(name="createdAt")
857
+ def created_at(self) -> pulumi.Output[str]:
858
+ """
859
+ The date and time of the Transaction Email Domain's creation (RFC 3339 format).
860
+ """
861
+ return pulumi.get(self, "created_at")
862
+
863
+ @property
864
+ @pulumi.getter(name="dkimConfig")
865
+ def dkim_config(self) -> pulumi.Output[str]:
866
+ """
867
+ The DKIM public key, as should be recorded in the DNS zone.
868
+ """
869
+ return pulumi.get(self, "dkim_config")
870
+
871
+ @property
872
+ @pulumi.getter(name="dmarcConfig")
873
+ def dmarc_config(self) -> pulumi.Output[str]:
874
+ """
875
+ DMARC record for the domain, as should be recorded in the DNS zone.
876
+ """
877
+ return pulumi.get(self, "dmarc_config")
878
+
879
+ @property
880
+ @pulumi.getter(name="dmarcName")
881
+ def dmarc_name(self) -> pulumi.Output[str]:
882
+ """
883
+ DMARC name for the domain, as should be recorded in the DNS zone.
884
+ """
885
+ return pulumi.get(self, "dmarc_name")
886
+
887
+ @property
888
+ @pulumi.getter(name="lastError")
889
+ @_utilities.deprecated("""last_error is deprecated""")
890
+ def last_error(self) -> pulumi.Output[str]:
891
+ """
892
+ (Deprecated) The error message if the last check failed.
893
+ """
894
+ return pulumi.get(self, "last_error")
895
+
896
+ @property
897
+ @pulumi.getter(name="lastValidAt")
898
+ def last_valid_at(self) -> pulumi.Output[str]:
899
+ """
900
+ The date and time the domain was last found to be valid (RFC 3339 format).
901
+ """
902
+ return pulumi.get(self, "last_valid_at")
903
+
904
+ @property
905
+ @pulumi.getter(name="mxBlackhole")
906
+ def mx_blackhole(self) -> pulumi.Output[str]:
907
+ """
908
+ The Scaleway's blackhole MX server to use if you do not have one.
909
+ """
910
+ return pulumi.get(self, "mx_blackhole")
911
+
912
+ @property
913
+ @pulumi.getter
914
+ def name(self) -> pulumi.Output[str]:
915
+ """
916
+ The domain name, must not be used in another Transactional Email Domain.
917
+ > **Important:** Updates to `name` will recreate the domain.
918
+ """
919
+ return pulumi.get(self, "name")
920
+
921
+ @property
922
+ @pulumi.getter(name="nextCheckAt")
923
+ def next_check_at(self) -> pulumi.Output[str]:
924
+ """
925
+ The date and time of the next scheduled check (RFC 3339 format).
926
+ """
927
+ return pulumi.get(self, "next_check_at")
928
+
929
+ @property
930
+ @pulumi.getter(name="projectId")
931
+ def project_id(self) -> pulumi.Output[str]:
932
+ """
933
+ `project_id`) The ID of the project the domain is associated with.
934
+ """
935
+ return pulumi.get(self, "project_id")
936
+
937
+ @property
938
+ @pulumi.getter
939
+ def region(self) -> pulumi.Output[str]:
940
+ """
941
+ `region`). The region in which the domain should be created.
942
+ """
943
+ return pulumi.get(self, "region")
944
+
945
+ @property
946
+ @pulumi.getter
947
+ def reputations(self) -> pulumi.Output[Sequence['outputs.DomainReputation']]:
948
+ """
949
+ The domain's reputation.
950
+ """
951
+ return pulumi.get(self, "reputations")
952
+
953
+ @property
954
+ @pulumi.getter(name="revokedAt")
955
+ def revoked_at(self) -> pulumi.Output[str]:
956
+ """
957
+ The date and time of the revocation of the domain (RFC 3339 format).
958
+ """
959
+ return pulumi.get(self, "revoked_at")
960
+
961
+ @property
962
+ @pulumi.getter(name="smtpHost")
963
+ def smtp_host(self) -> pulumi.Output[str]:
964
+ """
965
+ The SMTP host to use to send emails.
966
+ """
967
+ return pulumi.get(self, "smtp_host")
968
+
969
+ @property
970
+ @pulumi.getter(name="smtpPort")
971
+ def smtp_port(self) -> pulumi.Output[int]:
972
+ """
973
+ The SMTP port to use to send emails over TLS.
974
+ """
975
+ return pulumi.get(self, "smtp_port")
976
+
977
+ @property
978
+ @pulumi.getter(name="smtpPortAlternative")
979
+ def smtp_port_alternative(self) -> pulumi.Output[int]:
980
+ """
981
+ The SMTP port to use to send emails over TLS.
982
+ """
983
+ return pulumi.get(self, "smtp_port_alternative")
984
+
985
+ @property
986
+ @pulumi.getter(name="smtpPortUnsecure")
987
+ def smtp_port_unsecure(self) -> pulumi.Output[int]:
988
+ """
989
+ The SMTP port to use to send emails.
990
+ """
991
+ return pulumi.get(self, "smtp_port_unsecure")
992
+
993
+ @property
994
+ @pulumi.getter(name="smtpsAuthUser")
995
+ def smtps_auth_user(self) -> pulumi.Output[str]:
996
+ """
997
+ SMTPS auth user refers to the identifier for a user authorized to send emails via SMTPS, ensuring secure email transmission.
998
+ """
999
+ return pulumi.get(self, "smtps_auth_user")
1000
+
1001
+ @property
1002
+ @pulumi.getter(name="smtpsPort")
1003
+ def smtps_port(self) -> pulumi.Output[int]:
1004
+ """
1005
+ The SMTPS port to use to send emails over TLS Wrapper.
1006
+ """
1007
+ return pulumi.get(self, "smtps_port")
1008
+
1009
+ @property
1010
+ @pulumi.getter(name="smtpsPortAlternative")
1011
+ def smtps_port_alternative(self) -> pulumi.Output[int]:
1012
+ """
1013
+ The SMTPS port to use to send emails over TLS Wrapper.
1014
+ """
1015
+ return pulumi.get(self, "smtps_port_alternative")
1016
+
1017
+ @property
1018
+ @pulumi.getter(name="spfConfig")
1019
+ def spf_config(self) -> pulumi.Output[str]:
1020
+ """
1021
+ The snippet of the SPF record that should be registered in the DNS zone.
1022
+ """
1023
+ return pulumi.get(self, "spf_config")
1024
+
1025
+ @property
1026
+ @pulumi.getter
1027
+ def status(self) -> pulumi.Output[str]:
1028
+ """
1029
+ The status of the domain's reputation.
1030
+ """
1031
+ return pulumi.get(self, "status")
1032
+