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