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,610 @@
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
+
17
+ __all__ = ['SnapshotArgs', 'Snapshot']
18
+
19
+ @pulumi.input_type
20
+ class SnapshotArgs:
21
+ def __init__(__self__, *,
22
+ instance_id: pulumi.Input[str],
23
+ expires_at: Optional[pulumi.Input[str]] = None,
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ region: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a Snapshot resource.
28
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
29
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
30
+ :param pulumi.Input[str] name: The name of the snapshot.
31
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
32
+ """
33
+ pulumi.set(__self__, "instance_id", instance_id)
34
+ if expires_at is not None:
35
+ pulumi.set(__self__, "expires_at", expires_at)
36
+ if name is not None:
37
+ pulumi.set(__self__, "name", name)
38
+ if region is not None:
39
+ pulumi.set(__self__, "region", region)
40
+
41
+ @property
42
+ @pulumi.getter(name="instanceId")
43
+ def instance_id(self) -> pulumi.Input[str]:
44
+ """
45
+ The UUID of the database instance for which the snapshot is created.
46
+ """
47
+ return pulumi.get(self, "instance_id")
48
+
49
+ @instance_id.setter
50
+ def instance_id(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "instance_id", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="expiresAt")
55
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
56
+ """
57
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
58
+ """
59
+ return pulumi.get(self, "expires_at")
60
+
61
+ @expires_at.setter
62
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
63
+ pulumi.set(self, "expires_at", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def name(self) -> Optional[pulumi.Input[str]]:
68
+ """
69
+ The name of the snapshot.
70
+ """
71
+ return pulumi.get(self, "name")
72
+
73
+ @name.setter
74
+ def name(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "name", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def region(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
82
+ """
83
+ return pulumi.get(self, "region")
84
+
85
+ @region.setter
86
+ def region(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "region", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _SnapshotState:
92
+ def __init__(__self__, *,
93
+ created_at: Optional[pulumi.Input[str]] = None,
94
+ expires_at: Optional[pulumi.Input[str]] = None,
95
+ instance_id: Optional[pulumi.Input[str]] = None,
96
+ name: Optional[pulumi.Input[str]] = None,
97
+ node_type: Optional[pulumi.Input[str]] = None,
98
+ region: Optional[pulumi.Input[str]] = None,
99
+ size: Optional[pulumi.Input[int]] = None,
100
+ status: Optional[pulumi.Input[str]] = None,
101
+ updated_at: Optional[pulumi.Input[str]] = None,
102
+ volume_type: Optional[pulumi.Input[str]] = None):
103
+ """
104
+ Input properties used for looking up and filtering Snapshot resources.
105
+ :param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
106
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
107
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
108
+ :param pulumi.Input[str] name: The name of the snapshot.
109
+ :param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
110
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
111
+ :param pulumi.Input[int] size: The size of the snapshot in bytes.
112
+ :param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
113
+ :param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
114
+ :param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
115
+ """
116
+ if created_at is not None:
117
+ pulumi.set(__self__, "created_at", created_at)
118
+ if expires_at is not None:
119
+ pulumi.set(__self__, "expires_at", expires_at)
120
+ if instance_id is not None:
121
+ pulumi.set(__self__, "instance_id", instance_id)
122
+ if name is not None:
123
+ pulumi.set(__self__, "name", name)
124
+ if node_type is not None:
125
+ pulumi.set(__self__, "node_type", node_type)
126
+ if region is not None:
127
+ pulumi.set(__self__, "region", region)
128
+ if size is not None:
129
+ pulumi.set(__self__, "size", size)
130
+ if status is not None:
131
+ pulumi.set(__self__, "status", status)
132
+ if updated_at is not None:
133
+ pulumi.set(__self__, "updated_at", updated_at)
134
+ if volume_type is not None:
135
+ pulumi.set(__self__, "volume_type", volume_type)
136
+
137
+ @property
138
+ @pulumi.getter(name="createdAt")
139
+ def created_at(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The timestamp when the snapshot was created, in ISO 8601 format.
142
+ """
143
+ return pulumi.get(self, "created_at")
144
+
145
+ @created_at.setter
146
+ def created_at(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "created_at", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="expiresAt")
151
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
154
+ """
155
+ return pulumi.get(self, "expires_at")
156
+
157
+ @expires_at.setter
158
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "expires_at", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="instanceId")
163
+ def instance_id(self) -> Optional[pulumi.Input[str]]:
164
+ """
165
+ The UUID of the database instance for which the snapshot is created.
166
+ """
167
+ return pulumi.get(self, "instance_id")
168
+
169
+ @instance_id.setter
170
+ def instance_id(self, value: Optional[pulumi.Input[str]]):
171
+ pulumi.set(self, "instance_id", value)
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def name(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ The name of the snapshot.
178
+ """
179
+ return pulumi.get(self, "name")
180
+
181
+ @name.setter
182
+ def name(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "name", value)
184
+
185
+ @property
186
+ @pulumi.getter(name="nodeType")
187
+ def node_type(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The type of the database instance for which the snapshot was created.
190
+ """
191
+ return pulumi.get(self, "node_type")
192
+
193
+ @node_type.setter
194
+ def node_type(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "node_type", value)
196
+
197
+ @property
198
+ @pulumi.getter
199
+ def region(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
202
+ """
203
+ return pulumi.get(self, "region")
204
+
205
+ @region.setter
206
+ def region(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "region", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def size(self) -> Optional[pulumi.Input[int]]:
212
+ """
213
+ The size of the snapshot in bytes.
214
+ """
215
+ return pulumi.get(self, "size")
216
+
217
+ @size.setter
218
+ def size(self, value: Optional[pulumi.Input[int]]):
219
+ pulumi.set(self, "size", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def status(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ The current status of the snapshot (e.g., `ready`, `creating`, `error`).
226
+ """
227
+ return pulumi.get(self, "status")
228
+
229
+ @status.setter
230
+ def status(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "status", value)
232
+
233
+ @property
234
+ @pulumi.getter(name="updatedAt")
235
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The timestamp when the snapshot was last updated, in ISO 8601 format.
238
+ """
239
+ return pulumi.get(self, "updated_at")
240
+
241
+ @updated_at.setter
242
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "updated_at", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="volumeType")
247
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The type of volume used by the snapshot.
250
+ """
251
+ return pulumi.get(self, "volume_type")
252
+
253
+ @volume_type.setter
254
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "volume_type", value)
256
+
257
+
258
+ class Snapshot(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ expires_at: Optional[pulumi.Input[str]] = None,
264
+ instance_id: Optional[pulumi.Input[str]] = None,
265
+ name: Optional[pulumi.Input[str]] = None,
266
+ region: Optional[pulumi.Input[str]] = None,
267
+ __props__=None):
268
+ """
269
+ Creates and manages Scaleway RDB (Relational Database) Snapshots.
270
+ Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
271
+ For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
272
+
273
+ ## Example Usage
274
+
275
+ ### Example Basic Snapshot
276
+
277
+ ```python
278
+ import pulumi
279
+ import pulumiverse_scaleway as scaleway
280
+
281
+ main = scaleway.databases.Instance("main",
282
+ name="test-rdb-instance",
283
+ node_type="db-dev-s",
284
+ engine="PostgreSQL-15",
285
+ is_ha_cluster=False,
286
+ disable_backup=True,
287
+ user_name="my_initial_user",
288
+ password="thiZ_is_v&ry_s3cret",
289
+ tags=[
290
+ "terraform-test",
291
+ "scaleway_rdb_instance",
292
+ "minimal",
293
+ ],
294
+ volume_type="bssd",
295
+ volume_size_in_gb=10)
296
+ test = scaleway.databases.Snapshot("test",
297
+ name="initial-snapshot",
298
+ instance_id=main.id,
299
+ opts = pulumi.ResourceOptions(depends_on=[main]))
300
+ ```
301
+
302
+ ### Example with Expiration
303
+
304
+ ```python
305
+ import pulumi
306
+ import pulumiverse_scaleway as scaleway
307
+
308
+ snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
309
+ name="snapshot-with-expiration",
310
+ instance_id=main["id"],
311
+ expires_at="2025-01-31T00:00:00Z")
312
+ ```
313
+
314
+ ### Example with Multiple Snapshots
315
+
316
+ ```python
317
+ import pulumi
318
+ import pulumiverse_scaleway as scaleway
319
+
320
+ snapshot_a = scaleway.databases.Snapshot("snapshot_a",
321
+ name="snapshot_a",
322
+ instance_id=main["id"],
323
+ opts = pulumi.ResourceOptions(depends_on=[main]))
324
+ snapshot_b = scaleway.databases.Snapshot("snapshot_b",
325
+ name="snapshot_b",
326
+ instance_id=main["id"],
327
+ expires_at="2025-02-07T00:00:00Z",
328
+ opts = pulumi.ResourceOptions(depends_on=[main]))
329
+ ```
330
+
331
+ ## Limitations
332
+
333
+ - Snapshots are tied to the database instance and region where they are created.
334
+ - Expired snapshots are automatically deleted and cannot be restored.
335
+
336
+ ## Notes
337
+
338
+ - Ensure the `instance_id` corresponds to an existing database instance.
339
+ - Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
340
+
341
+ ## Import
342
+
343
+ RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
344
+
345
+ :param str resource_name: The name of the resource.
346
+ :param pulumi.ResourceOptions opts: Options for the resource.
347
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
348
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
349
+ :param pulumi.Input[str] name: The name of the snapshot.
350
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
351
+ """
352
+ ...
353
+ @overload
354
+ def __init__(__self__,
355
+ resource_name: str,
356
+ args: SnapshotArgs,
357
+ opts: Optional[pulumi.ResourceOptions] = None):
358
+ """
359
+ Creates and manages Scaleway RDB (Relational Database) Snapshots.
360
+ Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
361
+ For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
362
+
363
+ ## Example Usage
364
+
365
+ ### Example Basic Snapshot
366
+
367
+ ```python
368
+ import pulumi
369
+ import pulumiverse_scaleway as scaleway
370
+
371
+ main = scaleway.databases.Instance("main",
372
+ name="test-rdb-instance",
373
+ node_type="db-dev-s",
374
+ engine="PostgreSQL-15",
375
+ is_ha_cluster=False,
376
+ disable_backup=True,
377
+ user_name="my_initial_user",
378
+ password="thiZ_is_v&ry_s3cret",
379
+ tags=[
380
+ "terraform-test",
381
+ "scaleway_rdb_instance",
382
+ "minimal",
383
+ ],
384
+ volume_type="bssd",
385
+ volume_size_in_gb=10)
386
+ test = scaleway.databases.Snapshot("test",
387
+ name="initial-snapshot",
388
+ instance_id=main.id,
389
+ opts = pulumi.ResourceOptions(depends_on=[main]))
390
+ ```
391
+
392
+ ### Example with Expiration
393
+
394
+ ```python
395
+ import pulumi
396
+ import pulumiverse_scaleway as scaleway
397
+
398
+ snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
399
+ name="snapshot-with-expiration",
400
+ instance_id=main["id"],
401
+ expires_at="2025-01-31T00:00:00Z")
402
+ ```
403
+
404
+ ### Example with Multiple Snapshots
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumiverse_scaleway as scaleway
409
+
410
+ snapshot_a = scaleway.databases.Snapshot("snapshot_a",
411
+ name="snapshot_a",
412
+ instance_id=main["id"],
413
+ opts = pulumi.ResourceOptions(depends_on=[main]))
414
+ snapshot_b = scaleway.databases.Snapshot("snapshot_b",
415
+ name="snapshot_b",
416
+ instance_id=main["id"],
417
+ expires_at="2025-02-07T00:00:00Z",
418
+ opts = pulumi.ResourceOptions(depends_on=[main]))
419
+ ```
420
+
421
+ ## Limitations
422
+
423
+ - Snapshots are tied to the database instance and region where they are created.
424
+ - Expired snapshots are automatically deleted and cannot be restored.
425
+
426
+ ## Notes
427
+
428
+ - Ensure the `instance_id` corresponds to an existing database instance.
429
+ - Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
430
+
431
+ ## Import
432
+
433
+ RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
434
+
435
+ :param str resource_name: The name of the resource.
436
+ :param SnapshotArgs args: The arguments to use to populate this resource's properties.
437
+ :param pulumi.ResourceOptions opts: Options for the resource.
438
+ """
439
+ ...
440
+ def __init__(__self__, resource_name: str, *args, **kwargs):
441
+ resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
442
+ if resource_args is not None:
443
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
444
+ else:
445
+ __self__._internal_init(resource_name, *args, **kwargs)
446
+
447
+ def _internal_init(__self__,
448
+ resource_name: str,
449
+ opts: Optional[pulumi.ResourceOptions] = None,
450
+ expires_at: Optional[pulumi.Input[str]] = None,
451
+ instance_id: Optional[pulumi.Input[str]] = None,
452
+ name: Optional[pulumi.Input[str]] = None,
453
+ region: Optional[pulumi.Input[str]] = None,
454
+ __props__=None):
455
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
456
+ if not isinstance(opts, pulumi.ResourceOptions):
457
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
458
+ if opts.id is None:
459
+ if __props__ is not None:
460
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
461
+ __props__ = SnapshotArgs.__new__(SnapshotArgs)
462
+
463
+ __props__.__dict__["expires_at"] = expires_at
464
+ if instance_id is None and not opts.urn:
465
+ raise TypeError("Missing required property 'instance_id'")
466
+ __props__.__dict__["instance_id"] = instance_id
467
+ __props__.__dict__["name"] = name
468
+ __props__.__dict__["region"] = region
469
+ __props__.__dict__["created_at"] = None
470
+ __props__.__dict__["node_type"] = None
471
+ __props__.__dict__["size"] = None
472
+ __props__.__dict__["status"] = None
473
+ __props__.__dict__["updated_at"] = None
474
+ __props__.__dict__["volume_type"] = None
475
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/rdbSnapshot:RdbSnapshot")])
476
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
477
+ super(Snapshot, __self__).__init__(
478
+ 'scaleway:databases/snapshot:Snapshot',
479
+ resource_name,
480
+ __props__,
481
+ opts)
482
+
483
+ @staticmethod
484
+ def get(resource_name: str,
485
+ id: pulumi.Input[str],
486
+ opts: Optional[pulumi.ResourceOptions] = None,
487
+ created_at: Optional[pulumi.Input[str]] = None,
488
+ expires_at: Optional[pulumi.Input[str]] = None,
489
+ instance_id: Optional[pulumi.Input[str]] = None,
490
+ name: Optional[pulumi.Input[str]] = None,
491
+ node_type: Optional[pulumi.Input[str]] = None,
492
+ region: Optional[pulumi.Input[str]] = None,
493
+ size: Optional[pulumi.Input[int]] = None,
494
+ status: Optional[pulumi.Input[str]] = None,
495
+ updated_at: Optional[pulumi.Input[str]] = None,
496
+ volume_type: Optional[pulumi.Input[str]] = None) -> 'Snapshot':
497
+ """
498
+ Get an existing Snapshot resource's state with the given name, id, and optional extra
499
+ properties used to qualify the lookup.
500
+
501
+ :param str resource_name: The unique name of the resulting resource.
502
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
503
+ :param pulumi.ResourceOptions opts: Options for the resource.
504
+ :param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
505
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
506
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
507
+ :param pulumi.Input[str] name: The name of the snapshot.
508
+ :param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
509
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
510
+ :param pulumi.Input[int] size: The size of the snapshot in bytes.
511
+ :param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
512
+ :param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
513
+ :param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
514
+ """
515
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
516
+
517
+ __props__ = _SnapshotState.__new__(_SnapshotState)
518
+
519
+ __props__.__dict__["created_at"] = created_at
520
+ __props__.__dict__["expires_at"] = expires_at
521
+ __props__.__dict__["instance_id"] = instance_id
522
+ __props__.__dict__["name"] = name
523
+ __props__.__dict__["node_type"] = node_type
524
+ __props__.__dict__["region"] = region
525
+ __props__.__dict__["size"] = size
526
+ __props__.__dict__["status"] = status
527
+ __props__.__dict__["updated_at"] = updated_at
528
+ __props__.__dict__["volume_type"] = volume_type
529
+ return Snapshot(resource_name, opts=opts, __props__=__props__)
530
+
531
+ @property
532
+ @pulumi.getter(name="createdAt")
533
+ def created_at(self) -> pulumi.Output[str]:
534
+ """
535
+ The timestamp when the snapshot was created, in ISO 8601 format.
536
+ """
537
+ return pulumi.get(self, "created_at")
538
+
539
+ @property
540
+ @pulumi.getter(name="expiresAt")
541
+ def expires_at(self) -> pulumi.Output[str]:
542
+ """
543
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
544
+ """
545
+ return pulumi.get(self, "expires_at")
546
+
547
+ @property
548
+ @pulumi.getter(name="instanceId")
549
+ def instance_id(self) -> pulumi.Output[str]:
550
+ """
551
+ The UUID of the database instance for which the snapshot is created.
552
+ """
553
+ return pulumi.get(self, "instance_id")
554
+
555
+ @property
556
+ @pulumi.getter
557
+ def name(self) -> pulumi.Output[str]:
558
+ """
559
+ The name of the snapshot.
560
+ """
561
+ return pulumi.get(self, "name")
562
+
563
+ @property
564
+ @pulumi.getter(name="nodeType")
565
+ def node_type(self) -> pulumi.Output[str]:
566
+ """
567
+ The type of the database instance for which the snapshot was created.
568
+ """
569
+ return pulumi.get(self, "node_type")
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def region(self) -> pulumi.Output[str]:
574
+ """
575
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
576
+ """
577
+ return pulumi.get(self, "region")
578
+
579
+ @property
580
+ @pulumi.getter
581
+ def size(self) -> pulumi.Output[int]:
582
+ """
583
+ The size of the snapshot in bytes.
584
+ """
585
+ return pulumi.get(self, "size")
586
+
587
+ @property
588
+ @pulumi.getter
589
+ def status(self) -> pulumi.Output[str]:
590
+ """
591
+ The current status of the snapshot (e.g., `ready`, `creating`, `error`).
592
+ """
593
+ return pulumi.get(self, "status")
594
+
595
+ @property
596
+ @pulumi.getter(name="updatedAt")
597
+ def updated_at(self) -> pulumi.Output[str]:
598
+ """
599
+ The timestamp when the snapshot was last updated, in ISO 8601 format.
600
+ """
601
+ return pulumi.get(self, "updated_at")
602
+
603
+ @property
604
+ @pulumi.getter(name="volumeType")
605
+ def volume_type(self) -> pulumi.Output[str]:
606
+ """
607
+ The type of volume used by the snapshot.
608
+ """
609
+ return pulumi.get(self, "volume_type")
610
+