pulumiverse-scaleway 1.27.0a1744869119__py3-none-any.whl → 1.39.0a1764841480__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 (515) hide show
  1. pulumiverse_scaleway/__init__.py +109 -2
  2. pulumiverse_scaleway/_inputs.py +3936 -2603
  3. pulumiverse_scaleway/_utilities.py +1 -1
  4. pulumiverse_scaleway/account/__init__.py +4 -1
  5. pulumiverse_scaleway/account/get_availability_zones.py +12 -12
  6. pulumiverse_scaleway/account/get_project.py +28 -28
  7. pulumiverse_scaleway/account/get_projects.py +241 -0
  8. pulumiverse_scaleway/account/get_ssh_key.py +34 -34
  9. pulumiverse_scaleway/account/outputs.py +95 -0
  10. pulumiverse_scaleway/account/project.py +72 -71
  11. pulumiverse_scaleway/account/ssh_key.py +107 -106
  12. pulumiverse_scaleway/account_project.py +72 -71
  13. pulumiverse_scaleway/account_ssh_key.py +107 -106
  14. pulumiverse_scaleway/apple_silicon_server.py +334 -201
  15. pulumiverse_scaleway/applesilicon/__init__.py +2 -1
  16. pulumiverse_scaleway/applesilicon/_inputs.py +105 -51
  17. pulumiverse_scaleway/applesilicon/outputs.py +65 -33
  18. pulumiverse_scaleway/applesilicon/server.py +334 -201
  19. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  20. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  21. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  22. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  23. pulumiverse_scaleway/autoscaling/_inputs.py +558 -0
  24. pulumiverse_scaleway/autoscaling/instance_group.py +807 -0
  25. pulumiverse_scaleway/autoscaling/instance_policy.py +634 -0
  26. pulumiverse_scaleway/autoscaling/instance_template.py +878 -0
  27. pulumiverse_scaleway/autoscaling/outputs.py +438 -0
  28. pulumiverse_scaleway/baremetal_server.py +622 -524
  29. pulumiverse_scaleway/billing/__init__.py +2 -1
  30. pulumiverse_scaleway/billing/get_consumptions.py +19 -15
  31. pulumiverse_scaleway/billing/get_invoices.py +25 -25
  32. pulumiverse_scaleway/billing/outputs.py +96 -96
  33. pulumiverse_scaleway/block/__init__.py +4 -1
  34. pulumiverse_scaleway/block/_inputs.py +125 -0
  35. pulumiverse_scaleway/block/get_snapshot.py +60 -37
  36. pulumiverse_scaleway/block/get_volume.py +38 -38
  37. pulumiverse_scaleway/block/outputs.py +139 -0
  38. pulumiverse_scaleway/block/snapshot.py +272 -98
  39. pulumiverse_scaleway/block/volume.py +145 -144
  40. pulumiverse_scaleway/block_snapshot.py +272 -98
  41. pulumiverse_scaleway/block_volume.py +145 -144
  42. pulumiverse_scaleway/cockpit.py +71 -49
  43. pulumiverse_scaleway/cockpit_alert_manager.py +66 -65
  44. pulumiverse_scaleway/cockpit_grafana_user.py +72 -113
  45. pulumiverse_scaleway/cockpit_source.py +142 -141
  46. pulumiverse_scaleway/cockpit_token.py +84 -83
  47. pulumiverse_scaleway/config/__init__.py +2 -1
  48. pulumiverse_scaleway/config/__init__.pyi +2 -2
  49. pulumiverse_scaleway/config/vars.py +11 -11
  50. pulumiverse_scaleway/container.py +653 -424
  51. pulumiverse_scaleway/container_cron.py +97 -96
  52. pulumiverse_scaleway/container_domain.py +63 -62
  53. pulumiverse_scaleway/container_namespace.py +251 -172
  54. pulumiverse_scaleway/container_token.py +97 -96
  55. pulumiverse_scaleway/container_trigger.py +77 -76
  56. pulumiverse_scaleway/containers/__init__.py +2 -1
  57. pulumiverse_scaleway/containers/_inputs.py +87 -87
  58. pulumiverse_scaleway/containers/container.py +653 -424
  59. pulumiverse_scaleway/containers/cron.py +97 -96
  60. pulumiverse_scaleway/containers/domain.py +63 -62
  61. pulumiverse_scaleway/containers/get_container.py +117 -73
  62. pulumiverse_scaleway/containers/get_namespace.py +56 -45
  63. pulumiverse_scaleway/containers/namespace.py +251 -172
  64. pulumiverse_scaleway/containers/outputs.py +84 -84
  65. pulumiverse_scaleway/containers/token.py +97 -96
  66. pulumiverse_scaleway/containers/trigger.py +77 -76
  67. pulumiverse_scaleway/database.py +81 -80
  68. pulumiverse_scaleway/database_acl.py +148 -39
  69. pulumiverse_scaleway/database_backup.py +124 -123
  70. pulumiverse_scaleway/database_instance.py +531 -436
  71. pulumiverse_scaleway/database_privilege.py +88 -87
  72. pulumiverse_scaleway/database_read_replica.py +60 -59
  73. pulumiverse_scaleway/database_user.py +171 -98
  74. pulumiverse_scaleway/databases/__init__.py +2 -1
  75. pulumiverse_scaleway/databases/_inputs.py +364 -216
  76. pulumiverse_scaleway/databases/acl.py +148 -39
  77. pulumiverse_scaleway/databases/database.py +81 -80
  78. pulumiverse_scaleway/databases/database_backup.py +124 -123
  79. pulumiverse_scaleway/databases/get_acl.py +17 -17
  80. pulumiverse_scaleway/databases/get_database.py +26 -26
  81. pulumiverse_scaleway/databases/get_database_backup.py +46 -46
  82. pulumiverse_scaleway/databases/get_instance.py +95 -73
  83. pulumiverse_scaleway/databases/get_privilege.py +30 -30
  84. pulumiverse_scaleway/databases/instance.py +531 -436
  85. pulumiverse_scaleway/databases/outputs.py +419 -232
  86. pulumiverse_scaleway/databases/privilege.py +88 -87
  87. pulumiverse_scaleway/databases/read_replica.py +60 -59
  88. pulumiverse_scaleway/databases/serverless_database.py +97 -96
  89. pulumiverse_scaleway/databases/snapshot.py +127 -126
  90. pulumiverse_scaleway/databases/user.py +171 -98
  91. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  92. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  93. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  94. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  95. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  96. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  97. pulumiverse_scaleway/domain/__init__.py +2 -1
  98. pulumiverse_scaleway/domain/_inputs.py +661 -661
  99. pulumiverse_scaleway/domain/get_record.py +53 -64
  100. pulumiverse_scaleway/domain/get_zone.py +36 -30
  101. pulumiverse_scaleway/domain/outputs.py +501 -501
  102. pulumiverse_scaleway/domain/record.py +156 -202
  103. pulumiverse_scaleway/domain/registration.py +123 -122
  104. pulumiverse_scaleway/domain/zone.py +108 -107
  105. pulumiverse_scaleway/domain_record.py +156 -202
  106. pulumiverse_scaleway/domain_zone.py +108 -107
  107. pulumiverse_scaleway/edge_services_backend_stage.py +61 -60
  108. pulumiverse_scaleway/edge_services_cache_stage.py +283 -111
  109. pulumiverse_scaleway/edge_services_dns_stage.py +169 -140
  110. pulumiverse_scaleway/edge_services_head_stage.py +37 -36
  111. pulumiverse_scaleway/edge_services_pipeline.py +125 -82
  112. pulumiverse_scaleway/edge_services_plan.py +37 -36
  113. pulumiverse_scaleway/edge_services_route_stage.py +75 -74
  114. pulumiverse_scaleway/edge_services_tls_stage.py +219 -124
  115. pulumiverse_scaleway/edge_services_waf_stage.py +106 -105
  116. pulumiverse_scaleway/elasticmetal/__init__.py +3 -1
  117. pulumiverse_scaleway/elasticmetal/_inputs.py +203 -129
  118. pulumiverse_scaleway/elasticmetal/get_ip.py +70 -54
  119. pulumiverse_scaleway/elasticmetal/get_ips.py +31 -31
  120. pulumiverse_scaleway/elasticmetal/get_offer.py +43 -41
  121. pulumiverse_scaleway/elasticmetal/get_option.py +24 -24
  122. pulumiverse_scaleway/elasticmetal/get_os.py +28 -28
  123. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  124. pulumiverse_scaleway/elasticmetal/get_server.py +101 -68
  125. pulumiverse_scaleway/elasticmetal/ip.py +170 -169
  126. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +107 -106
  127. pulumiverse_scaleway/elasticmetal/outputs.py +379 -287
  128. pulumiverse_scaleway/elasticmetal/server.py +622 -524
  129. pulumiverse_scaleway/file_filesystem.py +555 -0
  130. pulumiverse_scaleway/flexible_ip.py +170 -169
  131. pulumiverse_scaleway/flexible_ip_mac_address.py +107 -106
  132. pulumiverse_scaleway/function.py +457 -348
  133. pulumiverse_scaleway/function_cron.py +97 -96
  134. pulumiverse_scaleway/function_domain.py +63 -62
  135. pulumiverse_scaleway/function_namespace.py +234 -155
  136. pulumiverse_scaleway/function_token.py +97 -96
  137. pulumiverse_scaleway/function_trigger.py +77 -76
  138. pulumiverse_scaleway/functions/__init__.py +2 -1
  139. pulumiverse_scaleway/functions/_inputs.py +50 -50
  140. pulumiverse_scaleway/functions/cron.py +97 -96
  141. pulumiverse_scaleway/functions/domain.py +63 -62
  142. pulumiverse_scaleway/functions/function.py +457 -348
  143. pulumiverse_scaleway/functions/get_function.py +93 -71
  144. pulumiverse_scaleway/functions/get_namespace.py +54 -43
  145. pulumiverse_scaleway/functions/namespace.py +234 -155
  146. pulumiverse_scaleway/functions/outputs.py +34 -34
  147. pulumiverse_scaleway/functions/token.py +97 -96
  148. pulumiverse_scaleway/functions/trigger.py +77 -76
  149. pulumiverse_scaleway/get_account_project.py +28 -28
  150. pulumiverse_scaleway/get_account_ssh_key.py +34 -34
  151. pulumiverse_scaleway/get_availability_zones.py +12 -12
  152. pulumiverse_scaleway/get_baremetal_offer.py +43 -41
  153. pulumiverse_scaleway/get_baremetal_option.py +24 -24
  154. pulumiverse_scaleway/get_baremetal_os.py +28 -28
  155. pulumiverse_scaleway/get_baremetal_server.py +101 -68
  156. pulumiverse_scaleway/get_billing_consumptions.py +19 -15
  157. pulumiverse_scaleway/get_billing_invoices.py +25 -25
  158. pulumiverse_scaleway/get_block_snapshot.py +60 -37
  159. pulumiverse_scaleway/get_block_volume.py +38 -38
  160. pulumiverse_scaleway/get_cockpit.py +16 -16
  161. pulumiverse_scaleway/get_cockpit_source.py +88 -45
  162. pulumiverse_scaleway/get_config.py +24 -24
  163. pulumiverse_scaleway/get_container.py +117 -73
  164. pulumiverse_scaleway/get_container_namespace.py +56 -45
  165. pulumiverse_scaleway/get_database.py +26 -26
  166. pulumiverse_scaleway/get_database_acl.py +17 -17
  167. pulumiverse_scaleway/get_database_backup.py +46 -46
  168. pulumiverse_scaleway/get_database_instance.py +95 -73
  169. pulumiverse_scaleway/get_database_privilege.py +30 -30
  170. pulumiverse_scaleway/get_domain_record.py +53 -64
  171. pulumiverse_scaleway/get_domain_zone.py +36 -30
  172. pulumiverse_scaleway/get_flexible_ip.py +70 -54
  173. pulumiverse_scaleway/get_flexible_ips.py +31 -31
  174. pulumiverse_scaleway/get_function.py +93 -71
  175. pulumiverse_scaleway/get_function_namespace.py +54 -43
  176. pulumiverse_scaleway/get_iam_api_key.py +28 -28
  177. pulumiverse_scaleway/get_iam_application.py +32 -32
  178. pulumiverse_scaleway/get_iam_group.py +36 -36
  179. pulumiverse_scaleway/get_iam_ssh_key.py +34 -34
  180. pulumiverse_scaleway/get_iam_user.py +30 -30
  181. pulumiverse_scaleway/get_instance_image.py +58 -58
  182. pulumiverse_scaleway/get_instance_ip.py +42 -30
  183. pulumiverse_scaleway/get_instance_placement_group.py +38 -38
  184. pulumiverse_scaleway/get_instance_private_nic.py +53 -41
  185. pulumiverse_scaleway/get_instance_security_group.py +46 -46
  186. pulumiverse_scaleway/get_instance_server.py +108 -145
  187. pulumiverse_scaleway/get_instance_servers.py +31 -31
  188. pulumiverse_scaleway/get_instance_snapshot.py +41 -41
  189. pulumiverse_scaleway/get_instance_volume.py +42 -42
  190. pulumiverse_scaleway/get_iot_device.py +46 -46
  191. pulumiverse_scaleway/get_iot_hub.py +60 -60
  192. pulumiverse_scaleway/get_ipam_ip.py +65 -65
  193. pulumiverse_scaleway/get_ipam_ips.py +56 -56
  194. pulumiverse_scaleway/get_k8s_version.py +34 -23
  195. pulumiverse_scaleway/get_kubernetes_cluster.py +98 -65
  196. pulumiverse_scaleway/get_kubernetes_node_pool.py +86 -75
  197. pulumiverse_scaleway/get_lb_acls.py +29 -29
  198. pulumiverse_scaleway/get_lb_backend.py +75 -75
  199. pulumiverse_scaleway/get_lb_backends.py +29 -29
  200. pulumiverse_scaleway/get_lb_frontend.py +76 -43
  201. pulumiverse_scaleway/get_lb_frontends.py +29 -29
  202. pulumiverse_scaleway/get_lb_ips.py +37 -37
  203. pulumiverse_scaleway/get_lb_route.py +36 -25
  204. pulumiverse_scaleway/get_lb_routes.py +23 -23
  205. pulumiverse_scaleway/get_lbs.py +31 -31
  206. pulumiverse_scaleway/get_loadbalancer.py +78 -56
  207. pulumiverse_scaleway/get_loadbalancer_certificate.py +96 -36
  208. pulumiverse_scaleway/get_loadbalancer_ip.py +40 -40
  209. pulumiverse_scaleway/get_marketplace_image.py +28 -28
  210. pulumiverse_scaleway/get_mnq_sns.py +18 -18
  211. pulumiverse_scaleway/get_mnq_sqs.py +18 -18
  212. pulumiverse_scaleway/get_mongo_db_instance.py +110 -55
  213. pulumiverse_scaleway/get_object_bucket.py +35 -35
  214. pulumiverse_scaleway/get_object_bucket_policy.py +22 -22
  215. pulumiverse_scaleway/get_redis_cluster.py +65 -54
  216. pulumiverse_scaleway/get_registry_image.py +48 -48
  217. pulumiverse_scaleway/get_registry_image_tag.py +44 -44
  218. pulumiverse_scaleway/get_registry_namespace.py +36 -36
  219. pulumiverse_scaleway/get_secret.py +58 -58
  220. pulumiverse_scaleway/get_secret_version.py +46 -46
  221. pulumiverse_scaleway/get_tem_domain.py +103 -70
  222. pulumiverse_scaleway/get_vpc.py +58 -47
  223. pulumiverse_scaleway/get_vpc_gateway_network.py +55 -44
  224. pulumiverse_scaleway/get_vpc_private_network.py +58 -47
  225. pulumiverse_scaleway/get_vpc_public_gateway.py +56 -56
  226. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +44 -44
  227. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +44 -44
  228. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +24 -24
  229. pulumiverse_scaleway/get_vpc_public_pat_rule.py +32 -32
  230. pulumiverse_scaleway/get_vpc_routes.py +47 -47
  231. pulumiverse_scaleway/get_vpcs.py +31 -31
  232. pulumiverse_scaleway/get_web_host_offer.py +34 -34
  233. pulumiverse_scaleway/get_webhosting.py +58 -58
  234. pulumiverse_scaleway/hosting/__init__.py +2 -1
  235. pulumiverse_scaleway/hosting/_inputs.py +117 -75
  236. pulumiverse_scaleway/hosting/get_hosting.py +58 -58
  237. pulumiverse_scaleway/hosting/get_offer.py +34 -34
  238. pulumiverse_scaleway/hosting/hosting.py +213 -212
  239. pulumiverse_scaleway/hosting/outputs.py +276 -192
  240. pulumiverse_scaleway/iam/__init__.py +3 -1
  241. pulumiverse_scaleway/iam/_inputs.py +26 -26
  242. pulumiverse_scaleway/iam/api_key.py +142 -141
  243. pulumiverse_scaleway/iam/application.py +98 -97
  244. pulumiverse_scaleway/iam/get_api_key.py +28 -28
  245. pulumiverse_scaleway/iam/get_application.py +32 -32
  246. pulumiverse_scaleway/iam/get_group.py +36 -36
  247. pulumiverse_scaleway/iam/get_policy.py +293 -0
  248. pulumiverse_scaleway/iam/get_ssh_key.py +34 -34
  249. pulumiverse_scaleway/iam/get_user.py +30 -30
  250. pulumiverse_scaleway/iam/group.py +140 -139
  251. pulumiverse_scaleway/iam/group_membership.py +54 -53
  252. pulumiverse_scaleway/iam/outputs.py +70 -18
  253. pulumiverse_scaleway/iam/policy.py +169 -168
  254. pulumiverse_scaleway/iam/ssh_key.py +107 -106
  255. pulumiverse_scaleway/iam/user.py +598 -134
  256. pulumiverse_scaleway/iam_api_key.py +142 -141
  257. pulumiverse_scaleway/iam_application.py +98 -97
  258. pulumiverse_scaleway/iam_group.py +140 -139
  259. pulumiverse_scaleway/iam_group_membership.py +54 -53
  260. pulumiverse_scaleway/iam_policy.py +169 -168
  261. pulumiverse_scaleway/iam_ssh_key.py +107 -106
  262. pulumiverse_scaleway/iam_user.py +598 -134
  263. pulumiverse_scaleway/inference/__init__.py +4 -1
  264. pulumiverse_scaleway/inference/_inputs.py +232 -50
  265. pulumiverse_scaleway/inference/deployment.py +319 -220
  266. pulumiverse_scaleway/inference/get_model.py +299 -0
  267. pulumiverse_scaleway/inference/model.py +684 -0
  268. pulumiverse_scaleway/inference/outputs.py +250 -34
  269. pulumiverse_scaleway/inference_deployment.py +319 -220
  270. pulumiverse_scaleway/instance/__init__.py +3 -1
  271. pulumiverse_scaleway/instance/_inputs.py +650 -437
  272. pulumiverse_scaleway/instance/get_image.py +58 -58
  273. pulumiverse_scaleway/instance/get_ip.py +42 -30
  274. pulumiverse_scaleway/instance/get_placement_group.py +38 -38
  275. pulumiverse_scaleway/instance/get_private_nic.py +53 -41
  276. pulumiverse_scaleway/instance/get_security_group.py +46 -46
  277. pulumiverse_scaleway/instance/get_server.py +108 -145
  278. pulumiverse_scaleway/instance/get_server_type.py +271 -0
  279. pulumiverse_scaleway/instance/get_servers.py +31 -31
  280. pulumiverse_scaleway/instance/get_snapshot.py +41 -41
  281. pulumiverse_scaleway/instance/get_volume.py +42 -42
  282. pulumiverse_scaleway/instance/image.py +260 -205
  283. pulumiverse_scaleway/instance/ip.py +116 -115
  284. pulumiverse_scaleway/instance/ip_reverse_dns.py +54 -53
  285. pulumiverse_scaleway/instance/outputs.py +981 -548
  286. pulumiverse_scaleway/instance/placement_group.py +123 -122
  287. pulumiverse_scaleway/instance/private_nic.py +163 -113
  288. pulumiverse_scaleway/instance/security_group.py +188 -187
  289. pulumiverse_scaleway/instance/security_group_rules.py +42 -41
  290. pulumiverse_scaleway/instance/server.py +590 -562
  291. pulumiverse_scaleway/instance/snapshot.py +150 -157
  292. pulumiverse_scaleway/instance/user_data.py +75 -74
  293. pulumiverse_scaleway/instance/volume.py +174 -159
  294. pulumiverse_scaleway/instance_image.py +260 -205
  295. pulumiverse_scaleway/instance_ip.py +116 -115
  296. pulumiverse_scaleway/instance_ip_reverse_dns.py +54 -53
  297. pulumiverse_scaleway/instance_placement_group.py +123 -122
  298. pulumiverse_scaleway/instance_private_nic.py +163 -113
  299. pulumiverse_scaleway/instance_security_group.py +188 -187
  300. pulumiverse_scaleway/instance_security_group_rules.py +42 -41
  301. pulumiverse_scaleway/instance_server.py +590 -562
  302. pulumiverse_scaleway/instance_snapshot.py +150 -157
  303. pulumiverse_scaleway/instance_user_data.py +75 -74
  304. pulumiverse_scaleway/instance_volume.py +174 -159
  305. pulumiverse_scaleway/iot/__init__.py +2 -1
  306. pulumiverse_scaleway/iot/_inputs.py +119 -119
  307. pulumiverse_scaleway/iot/device.py +156 -193
  308. pulumiverse_scaleway/iot/get_device.py +46 -46
  309. pulumiverse_scaleway/iot/get_hub.py +60 -60
  310. pulumiverse_scaleway/iot/hub.py +259 -258
  311. pulumiverse_scaleway/iot/network.py +115 -114
  312. pulumiverse_scaleway/iot/outputs.py +107 -107
  313. pulumiverse_scaleway/iot/route.py +109 -108
  314. pulumiverse_scaleway/iot_device.py +156 -193
  315. pulumiverse_scaleway/iot_hub.py +259 -258
  316. pulumiverse_scaleway/iot_network.py +115 -114
  317. pulumiverse_scaleway/iot_route.py +109 -108
  318. pulumiverse_scaleway/ipam/__init__.py +2 -1
  319. pulumiverse_scaleway/ipam/_inputs.py +108 -108
  320. pulumiverse_scaleway/ipam/get_ip.py +65 -65
  321. pulumiverse_scaleway/ipam/get_ips.py +56 -56
  322. pulumiverse_scaleway/ipam/ip.py +160 -131
  323. pulumiverse_scaleway/ipam/ip_reverse_dns.py +141 -70
  324. pulumiverse_scaleway/ipam/outputs.py +122 -122
  325. pulumiverse_scaleway/ipam_ip.py +160 -131
  326. pulumiverse_scaleway/ipam_ip_reverse_dns.py +141 -70
  327. pulumiverse_scaleway/job/__init__.py +2 -1
  328. pulumiverse_scaleway/job/_inputs.py +127 -14
  329. pulumiverse_scaleway/job/definition.py +283 -175
  330. pulumiverse_scaleway/job/outputs.py +98 -10
  331. pulumiverse_scaleway/job_definition.py +283 -175
  332. pulumiverse_scaleway/key_manager_key.py +939 -0
  333. pulumiverse_scaleway/kubernetes/__init__.py +3 -1
  334. pulumiverse_scaleway/kubernetes/_inputs.py +388 -185
  335. pulumiverse_scaleway/kubernetes/acl.py +447 -0
  336. pulumiverse_scaleway/kubernetes/cluster.py +594 -307
  337. pulumiverse_scaleway/kubernetes/get_cluster.py +98 -65
  338. pulumiverse_scaleway/kubernetes/get_pool.py +86 -75
  339. pulumiverse_scaleway/kubernetes/get_version.py +34 -23
  340. pulumiverse_scaleway/kubernetes/outputs.py +444 -250
  341. pulumiverse_scaleway/kubernetes/pool.py +427 -365
  342. pulumiverse_scaleway/kubernetes_cluster.py +594 -307
  343. pulumiverse_scaleway/kubernetes_node_pool.py +427 -365
  344. pulumiverse_scaleway/loadbalancer.py +329 -246
  345. pulumiverse_scaleway/loadbalancer_acl.py +102 -101
  346. pulumiverse_scaleway/loadbalancer_backend.py +534 -487
  347. pulumiverse_scaleway/loadbalancer_certificate.py +97 -96
  348. pulumiverse_scaleway/loadbalancer_frontend.py +271 -167
  349. pulumiverse_scaleway/loadbalancer_ip.py +124 -123
  350. pulumiverse_scaleway/loadbalancer_route.py +244 -119
  351. pulumiverse_scaleway/loadbalancers/__init__.py +3 -1
  352. pulumiverse_scaleway/loadbalancers/_inputs.py +367 -273
  353. pulumiverse_scaleway/loadbalancers/acl.py +102 -101
  354. pulumiverse_scaleway/loadbalancers/backend.py +534 -487
  355. pulumiverse_scaleway/loadbalancers/certificate.py +97 -96
  356. pulumiverse_scaleway/loadbalancers/frontend.py +271 -167
  357. pulumiverse_scaleway/loadbalancers/get_acls.py +29 -29
  358. pulumiverse_scaleway/loadbalancers/get_backend.py +75 -75
  359. pulumiverse_scaleway/loadbalancers/get_backends.py +29 -29
  360. pulumiverse_scaleway/loadbalancers/get_certificate.py +96 -36
  361. pulumiverse_scaleway/loadbalancers/get_frontend.py +76 -43
  362. pulumiverse_scaleway/loadbalancers/get_frontends.py +29 -29
  363. pulumiverse_scaleway/loadbalancers/get_ip.py +40 -40
  364. pulumiverse_scaleway/loadbalancers/get_ips.py +37 -37
  365. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +78 -56
  366. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +31 -31
  367. pulumiverse_scaleway/loadbalancers/get_route.py +36 -25
  368. pulumiverse_scaleway/loadbalancers/get_routes.py +23 -23
  369. pulumiverse_scaleway/loadbalancers/ip.py +124 -123
  370. pulumiverse_scaleway/loadbalancers/load_balancer.py +329 -246
  371. pulumiverse_scaleway/loadbalancers/outputs.py +870 -716
  372. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  373. pulumiverse_scaleway/loadbalancers/route.py +244 -119
  374. pulumiverse_scaleway/mnq/__init__.py +2 -1
  375. pulumiverse_scaleway/mnq/_inputs.py +90 -38
  376. pulumiverse_scaleway/mnq/get_sns.py +18 -18
  377. pulumiverse_scaleway/mnq/get_sqs.py +18 -18
  378. pulumiverse_scaleway/mnq/nats_account.py +63 -62
  379. pulumiverse_scaleway/mnq/nats_credentials.py +63 -62
  380. pulumiverse_scaleway/mnq/outputs.py +73 -26
  381. pulumiverse_scaleway/mnq/sns.py +46 -45
  382. pulumiverse_scaleway/mnq/sns_credentials.py +82 -81
  383. pulumiverse_scaleway/mnq/sns_topic.py +174 -173
  384. pulumiverse_scaleway/mnq/sns_topic_subscription.py +182 -181
  385. pulumiverse_scaleway/mnq/sqs.py +46 -45
  386. pulumiverse_scaleway/mnq/sqs_credentials.py +82 -81
  387. pulumiverse_scaleway/mnq/sqs_queue.py +392 -232
  388. pulumiverse_scaleway/mnq_nats_account.py +63 -62
  389. pulumiverse_scaleway/mnq_nats_credentials.py +63 -62
  390. pulumiverse_scaleway/mnq_sns.py +46 -45
  391. pulumiverse_scaleway/mnq_sns_credentials.py +82 -81
  392. pulumiverse_scaleway/mnq_sns_topic.py +174 -173
  393. pulumiverse_scaleway/mnq_sns_topic_subscription.py +182 -181
  394. pulumiverse_scaleway/mnq_sqs.py +46 -45
  395. pulumiverse_scaleway/mnq_sqs_credentials.py +82 -81
  396. pulumiverse_scaleway/mnq_sqs_queue.py +392 -232
  397. pulumiverse_scaleway/mongo_db_instance.py +569 -268
  398. pulumiverse_scaleway/mongo_db_snapshot.py +127 -126
  399. pulumiverse_scaleway/mongodb/__init__.py +3 -1
  400. pulumiverse_scaleway/mongodb/_inputs.py +178 -51
  401. pulumiverse_scaleway/mongodb/get_instance.py +110 -55
  402. pulumiverse_scaleway/mongodb/instance.py +569 -268
  403. pulumiverse_scaleway/mongodb/outputs.py +192 -68
  404. pulumiverse_scaleway/mongodb/snapshot.py +127 -126
  405. pulumiverse_scaleway/mongodb/user.py +507 -0
  406. pulumiverse_scaleway/network/__init__.py +2 -1
  407. pulumiverse_scaleway/network/_inputs.py +209 -155
  408. pulumiverse_scaleway/network/acl.py +100 -101
  409. pulumiverse_scaleway/network/gateway_network.py +228 -180
  410. pulumiverse_scaleway/network/get_gateway_network.py +55 -44
  411. pulumiverse_scaleway/network/get_private_network.py +58 -47
  412. pulumiverse_scaleway/network/get_public_gateway.py +56 -56
  413. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +44 -44
  414. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +44 -44
  415. pulumiverse_scaleway/network/get_public_gateway_ip.py +24 -24
  416. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +32 -32
  417. pulumiverse_scaleway/network/get_routes.py +47 -47
  418. pulumiverse_scaleway/network/get_vpc.py +58 -47
  419. pulumiverse_scaleway/network/get_vpcs.py +31 -31
  420. pulumiverse_scaleway/network/outputs.py +338 -270
  421. pulumiverse_scaleway/network/private_network.py +203 -155
  422. pulumiverse_scaleway/network/public_gateway.py +261 -260
  423. pulumiverse_scaleway/network/public_gateway_dhcp.py +285 -284
  424. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +107 -106
  425. pulumiverse_scaleway/network/public_gateway_ip.py +107 -106
  426. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +54 -53
  427. pulumiverse_scaleway/network/public_gateway_pat_rule.py +132 -131
  428. pulumiverse_scaleway/network/route.py +230 -141
  429. pulumiverse_scaleway/network/vpc.py +172 -124
  430. pulumiverse_scaleway/object/__init__.py +3 -1
  431. pulumiverse_scaleway/object/_inputs.py +202 -166
  432. pulumiverse_scaleway/object/bucket.py +162 -148
  433. pulumiverse_scaleway/object/bucket_acl.py +97 -94
  434. pulumiverse_scaleway/object/bucket_lock_configuration.py +57 -56
  435. pulumiverse_scaleway/object/bucket_policy.py +71 -134
  436. pulumiverse_scaleway/object/bucket_website_configuration.py +104 -85
  437. pulumiverse_scaleway/object/get.py +290 -0
  438. pulumiverse_scaleway/object/get_bucket.py +35 -35
  439. pulumiverse_scaleway/object/get_bucket_policy.py +22 -22
  440. pulumiverse_scaleway/object/item.py +301 -223
  441. pulumiverse_scaleway/object/outputs.py +210 -166
  442. pulumiverse_scaleway/object_bucket.py +162 -148
  443. pulumiverse_scaleway/object_bucket_acl.py +97 -94
  444. pulumiverse_scaleway/object_bucket_lock_configuration.py +57 -56
  445. pulumiverse_scaleway/object_bucket_policy.py +71 -134
  446. pulumiverse_scaleway/object_bucket_website_configuration.py +104 -85
  447. pulumiverse_scaleway/object_item.py +301 -223
  448. pulumiverse_scaleway/observability/__init__.py +4 -2
  449. pulumiverse_scaleway/observability/_inputs.py +106 -106
  450. pulumiverse_scaleway/observability/alert_manager.py +66 -65
  451. pulumiverse_scaleway/observability/cockpit.py +71 -49
  452. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  453. pulumiverse_scaleway/observability/get_instance.py +16 -16
  454. pulumiverse_scaleway/observability/get_source.py +88 -45
  455. pulumiverse_scaleway/observability/get_sources.py +375 -0
  456. pulumiverse_scaleway/observability/grafana_user.py +72 -113
  457. pulumiverse_scaleway/observability/outputs.py +241 -101
  458. pulumiverse_scaleway/observability/source.py +142 -141
  459. pulumiverse_scaleway/observability/token.py +84 -83
  460. pulumiverse_scaleway/outputs.py +5235 -3665
  461. pulumiverse_scaleway/provider.py +107 -82
  462. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  463. pulumiverse_scaleway/rdb_snapshot.py +127 -126
  464. pulumiverse_scaleway/redis/__init__.py +2 -1
  465. pulumiverse_scaleway/redis/_inputs.py +163 -69
  466. pulumiverse_scaleway/redis/cluster.py +273 -225
  467. pulumiverse_scaleway/redis/get_cluster.py +65 -54
  468. pulumiverse_scaleway/redis/outputs.py +199 -87
  469. pulumiverse_scaleway/redis_cluster.py +273 -225
  470. pulumiverse_scaleway/registry/__init__.py +2 -1
  471. pulumiverse_scaleway/registry/get_image.py +48 -48
  472. pulumiverse_scaleway/registry/get_image_tag.py +44 -44
  473. pulumiverse_scaleway/registry/get_namespace.py +36 -36
  474. pulumiverse_scaleway/registry/namespace.py +106 -105
  475. pulumiverse_scaleway/registry_namespace.py +106 -105
  476. pulumiverse_scaleway/sdb_database.py +97 -96
  477. pulumiverse_scaleway/secret.py +188 -179
  478. pulumiverse_scaleway/secret_version.py +107 -106
  479. pulumiverse_scaleway/secrets/__init__.py +2 -1
  480. pulumiverse_scaleway/secrets/_inputs.py +63 -63
  481. pulumiverse_scaleway/secrets/get_secret.py +58 -58
  482. pulumiverse_scaleway/secrets/get_version.py +46 -46
  483. pulumiverse_scaleway/secrets/outputs.py +84 -84
  484. pulumiverse_scaleway/secrets/secret.py +188 -179
  485. pulumiverse_scaleway/secrets/version.py +107 -106
  486. pulumiverse_scaleway/tem/__init__.py +2 -1
  487. pulumiverse_scaleway/tem/_inputs.py +33 -33
  488. pulumiverse_scaleway/tem/blocked_list.py +105 -104
  489. pulumiverse_scaleway/tem/domain.py +384 -257
  490. pulumiverse_scaleway/tem/domain_validation.py +63 -62
  491. pulumiverse_scaleway/tem/get_domain.py +103 -70
  492. pulumiverse_scaleway/tem/get_offer_subscription.py +34 -34
  493. pulumiverse_scaleway/tem/outputs.py +44 -44
  494. pulumiverse_scaleway/tem/webhook.py +132 -131
  495. pulumiverse_scaleway/tem_domain.py +384 -257
  496. pulumiverse_scaleway/tem_domain_validation.py +63 -62
  497. pulumiverse_scaleway/tem_webhook.py +132 -131
  498. pulumiverse_scaleway/vpc.py +172 -124
  499. pulumiverse_scaleway/vpc_gateway_network.py +228 -180
  500. pulumiverse_scaleway/vpc_private_network.py +203 -155
  501. pulumiverse_scaleway/vpc_public_gateway.py +261 -260
  502. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +285 -284
  503. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +107 -106
  504. pulumiverse_scaleway/vpc_public_gateway_ip.py +107 -106
  505. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +54 -53
  506. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +132 -131
  507. pulumiverse_scaleway/vpc_route.py +230 -141
  508. pulumiverse_scaleway/webhosting.py +213 -212
  509. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +2 -2
  510. pulumiverse_scaleway-1.39.0a1764841480.dist-info/RECORD +513 -0
  511. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +1 -1
  512. pulumiverse_scaleway/get_cockpit_plan.py +0 -129
  513. pulumiverse_scaleway/observability/get_plan.py +0 -125
  514. pulumiverse_scaleway-1.27.0a1744869119.dist-info/RECORD +0 -483
  515. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -22,26 +22,30 @@ __all__ = ['AclArgs', 'Acl']
22
22
  class AclArgs:
23
23
  def __init__(__self__, *,
24
24
  acl_rules: pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]],
25
- instance_id: pulumi.Input[str],
26
- region: Optional[pulumi.Input[str]] = None):
25
+ instance_id: pulumi.Input[_builtins.str],
26
+ region: Optional[pulumi.Input[_builtins.str]] = None):
27
27
  """
28
28
  The set of arguments for constructing a Acl resource.
29
29
  :param pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]] acl_rules: A list of ACLs (structure is described below)
30
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
30
+
31
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
32
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
31
33
 
32
34
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
33
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
35
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
34
36
  """
35
37
  pulumi.set(__self__, "acl_rules", acl_rules)
36
38
  pulumi.set(__self__, "instance_id", instance_id)
37
39
  if region is not None:
38
40
  pulumi.set(__self__, "region", region)
39
41
 
40
- @property
42
+ @_builtins.property
41
43
  @pulumi.getter(name="aclRules")
42
44
  def acl_rules(self) -> pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]:
43
45
  """
44
46
  A list of ACLs (structure is described below)
47
+
48
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
45
49
  """
46
50
  return pulumi.get(self, "acl_rules")
47
51
 
@@ -49,9 +53,9 @@ class AclArgs:
49
53
  def acl_rules(self, value: pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]):
50
54
  pulumi.set(self, "acl_rules", value)
51
55
 
52
- @property
56
+ @_builtins.property
53
57
  @pulumi.getter(name="instanceId")
54
- def instance_id(self) -> pulumi.Input[str]:
58
+ def instance_id(self) -> pulumi.Input[_builtins.str]:
55
59
  """
56
60
  UUID of the Database Instance.
57
61
 
@@ -60,19 +64,19 @@ class AclArgs:
60
64
  return pulumi.get(self, "instance_id")
61
65
 
62
66
  @instance_id.setter
63
- def instance_id(self, value: pulumi.Input[str]):
67
+ def instance_id(self, value: pulumi.Input[_builtins.str]):
64
68
  pulumi.set(self, "instance_id", value)
65
69
 
66
- @property
70
+ @_builtins.property
67
71
  @pulumi.getter
68
- def region(self) -> Optional[pulumi.Input[str]]:
72
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
69
73
  """
70
74
  `region`) The region in which the Database Instance should be created.
71
75
  """
72
76
  return pulumi.get(self, "region")
73
77
 
74
78
  @region.setter
75
- def region(self, value: Optional[pulumi.Input[str]]):
79
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
76
80
  pulumi.set(self, "region", value)
77
81
 
78
82
 
@@ -80,15 +84,17 @@ class AclArgs:
80
84
  class _AclState:
81
85
  def __init__(__self__, *,
82
86
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]] = None,
83
- instance_id: Optional[pulumi.Input[str]] = None,
84
- region: Optional[pulumi.Input[str]] = None):
87
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
88
+ region: Optional[pulumi.Input[_builtins.str]] = None):
85
89
  """
86
90
  Input properties used for looking up and filtering Acl resources.
87
91
  :param pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]] acl_rules: A list of ACLs (structure is described below)
88
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
92
+
93
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
94
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
89
95
 
90
96
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
91
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
97
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
92
98
  """
93
99
  if acl_rules is not None:
94
100
  pulumi.set(__self__, "acl_rules", acl_rules)
@@ -97,11 +103,13 @@ class _AclState:
97
103
  if region is not None:
98
104
  pulumi.set(__self__, "region", region)
99
105
 
100
- @property
106
+ @_builtins.property
101
107
  @pulumi.getter(name="aclRules")
102
108
  def acl_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]:
103
109
  """
104
110
  A list of ACLs (structure is described below)
111
+
112
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
105
113
  """
106
114
  return pulumi.get(self, "acl_rules")
107
115
 
@@ -109,9 +117,9 @@ class _AclState:
109
117
  def acl_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]):
110
118
  pulumi.set(self, "acl_rules", value)
111
119
 
112
- @property
120
+ @_builtins.property
113
121
  @pulumi.getter(name="instanceId")
114
- def instance_id(self) -> Optional[pulumi.Input[str]]:
122
+ def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]:
115
123
  """
116
124
  UUID of the Database Instance.
117
125
 
@@ -120,30 +128,31 @@ class _AclState:
120
128
  return pulumi.get(self, "instance_id")
121
129
 
122
130
  @instance_id.setter
123
- def instance_id(self, value: Optional[pulumi.Input[str]]):
131
+ def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]):
124
132
  pulumi.set(self, "instance_id", value)
125
133
 
126
- @property
134
+ @_builtins.property
127
135
  @pulumi.getter
128
- def region(self) -> Optional[pulumi.Input[str]]:
136
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
129
137
  """
130
138
  `region`) The region in which the Database Instance should be created.
131
139
  """
132
140
  return pulumi.get(self, "region")
133
141
 
134
142
  @region.setter
135
- def region(self, value: Optional[pulumi.Input[str]]):
143
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
136
144
  pulumi.set(self, "region", value)
137
145
 
138
146
 
147
+ @pulumi.type_token("scaleway:databases/acl:Acl")
139
148
  class Acl(pulumi.CustomResource):
140
149
  @overload
141
150
  def __init__(__self__,
142
151
  resource_name: str,
143
152
  opts: Optional[pulumi.ResourceOptions] = None,
144
153
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
145
- instance_id: Optional[pulumi.Input[str]] = None,
146
- region: Optional[pulumi.Input[str]] = None,
154
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
155
+ region: Optional[pulumi.Input[_builtins.str]] = None,
147
156
  __props__=None):
148
157
  """
149
158
  Creates and manages Scaleway Database instance authorized IPs.
@@ -173,6 +182,53 @@ class Acl(pulumi.CustomResource):
173
182
  }])
174
183
  ```
175
184
 
185
+ ### Multiple ACL Rules
186
+
187
+ ```python
188
+ import pulumi
189
+ import pulumiverse_scaleway as scaleway
190
+
191
+ main = scaleway.databases.Acl("main",
192
+ instance_id=main_scaleway_rdb_instance["id"],
193
+ acl_rules=[
194
+ {
195
+ "ip": "1.2.3.4/32",
196
+ "description": "Office IP",
197
+ },
198
+ {
199
+ "ip": "5.6.7.8/32",
200
+ "description": "Home IP",
201
+ },
202
+ {
203
+ "ip": "10.0.0.0/24",
204
+ "description": "Internal network",
205
+ },
206
+ ])
207
+ ```
208
+
209
+ ### Dynamic ACL Rules with Variables
210
+
211
+ ```python
212
+ import pulumi
213
+ import pulumiverse_scaleway as scaleway
214
+
215
+ config = pulumi.Config()
216
+ # Map of allowed IPs with descriptions
217
+ allowed_ips = config.get_object("allowedIps")
218
+ if allowed_ips is None:
219
+ allowed_ips = {
220
+ "1.2.3.4/32": "Office IP",
221
+ "10.0.0.0/24": "Internal network",
222
+ "5.6.7.8/32": "Home IP",
223
+ }
224
+ main = scaleway.databases.Acl("main",
225
+ acl_rules=[{
226
+ "ip": entry["key"],
227
+ "description": entry["value"],
228
+ } for entry in [{"key": k, "value": v} for k, v in allowed_ips]],
229
+ instance_id=main_scaleway_rdb_instance["id"])
230
+ ```
231
+
176
232
  ## Import
177
233
 
178
234
  Database Instance can be imported using the `{region}/{id}`, e.g.
@@ -186,10 +242,12 @@ class Acl(pulumi.CustomResource):
186
242
  :param str resource_name: The name of the resource.
187
243
  :param pulumi.ResourceOptions opts: Options for the resource.
188
244
  :param pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
189
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
245
+
246
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
247
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
190
248
 
191
249
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
192
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
250
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
193
251
  """
194
252
  ...
195
253
  @overload
@@ -225,6 +283,53 @@ class Acl(pulumi.CustomResource):
225
283
  }])
226
284
  ```
227
285
 
286
+ ### Multiple ACL Rules
287
+
288
+ ```python
289
+ import pulumi
290
+ import pulumiverse_scaleway as scaleway
291
+
292
+ main = scaleway.databases.Acl("main",
293
+ instance_id=main_scaleway_rdb_instance["id"],
294
+ acl_rules=[
295
+ {
296
+ "ip": "1.2.3.4/32",
297
+ "description": "Office IP",
298
+ },
299
+ {
300
+ "ip": "5.6.7.8/32",
301
+ "description": "Home IP",
302
+ },
303
+ {
304
+ "ip": "10.0.0.0/24",
305
+ "description": "Internal network",
306
+ },
307
+ ])
308
+ ```
309
+
310
+ ### Dynamic ACL Rules with Variables
311
+
312
+ ```python
313
+ import pulumi
314
+ import pulumiverse_scaleway as scaleway
315
+
316
+ config = pulumi.Config()
317
+ # Map of allowed IPs with descriptions
318
+ allowed_ips = config.get_object("allowedIps")
319
+ if allowed_ips is None:
320
+ allowed_ips = {
321
+ "1.2.3.4/32": "Office IP",
322
+ "10.0.0.0/24": "Internal network",
323
+ "5.6.7.8/32": "Home IP",
324
+ }
325
+ main = scaleway.databases.Acl("main",
326
+ acl_rules=[{
327
+ "ip": entry["key"],
328
+ "description": entry["value"],
329
+ } for entry in [{"key": k, "value": v} for k, v in allowed_ips]],
330
+ instance_id=main_scaleway_rdb_instance["id"])
331
+ ```
332
+
228
333
  ## Import
229
334
 
230
335
  Database Instance can be imported using the `{region}/{id}`, e.g.
@@ -251,8 +356,8 @@ class Acl(pulumi.CustomResource):
251
356
  resource_name: str,
252
357
  opts: Optional[pulumi.ResourceOptions] = None,
253
358
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
254
- instance_id: Optional[pulumi.Input[str]] = None,
255
- region: Optional[pulumi.Input[str]] = None,
359
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
360
+ region: Optional[pulumi.Input[_builtins.str]] = None,
256
361
  __props__=None):
257
362
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
258
363
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -282,8 +387,8 @@ class Acl(pulumi.CustomResource):
282
387
  id: pulumi.Input[str],
283
388
  opts: Optional[pulumi.ResourceOptions] = None,
284
389
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
285
- instance_id: Optional[pulumi.Input[str]] = None,
286
- region: Optional[pulumi.Input[str]] = None) -> 'Acl':
390
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
391
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'Acl':
287
392
  """
288
393
  Get an existing Acl resource's state with the given name, id, and optional extra
289
394
  properties used to qualify the lookup.
@@ -292,10 +397,12 @@ class Acl(pulumi.CustomResource):
292
397
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
293
398
  :param pulumi.ResourceOptions opts: Options for the resource.
294
399
  :param pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
295
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
400
+
401
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
402
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
296
403
 
297
404
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
298
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
405
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
299
406
  """
300
407
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
301
408
 
@@ -306,17 +413,19 @@ class Acl(pulumi.CustomResource):
306
413
  __props__.__dict__["region"] = region
307
414
  return Acl(resource_name, opts=opts, __props__=__props__)
308
415
 
309
- @property
416
+ @_builtins.property
310
417
  @pulumi.getter(name="aclRules")
311
418
  def acl_rules(self) -> pulumi.Output[Sequence['outputs.AclAclRule']]:
312
419
  """
313
420
  A list of ACLs (structure is described below)
421
+
422
+ > **Important:** The `databases.Acl` resource replaces **all** ACL rules for the given instance. Multiple `databases.Acl` resources targeting the same `instance_id` will conflict with each other. Use multiple `acl_rules` blocks within a single resource instead.
314
423
  """
315
424
  return pulumi.get(self, "acl_rules")
316
425
 
317
- @property
426
+ @_builtins.property
318
427
  @pulumi.getter(name="instanceId")
319
- def instance_id(self) -> pulumi.Output[str]:
428
+ def instance_id(self) -> pulumi.Output[_builtins.str]:
320
429
  """
321
430
  UUID of the Database Instance.
322
431
 
@@ -324,9 +433,9 @@ class Acl(pulumi.CustomResource):
324
433
  """
325
434
  return pulumi.get(self, "instance_id")
326
435
 
327
- @property
436
+ @_builtins.property
328
437
  @pulumi.getter
329
- def region(self) -> pulumi.Output[str]:
438
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
330
439
  """
331
440
  `region`) The region in which the Database Instance should be created.
332
441
  """