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__ = ['DatabaseAclArgs', 'DatabaseAcl']
22
22
  class DatabaseAclArgs:
23
23
  def __init__(__self__, *,
24
24
  acl_rules: pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]],
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 DatabaseAcl resource.
29
29
  :param pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]] 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['DatabaseAclAclRuleArgs']]]:
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 DatabaseAclArgs:
49
53
  def acl_rules(self, value: pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]]):
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 DatabaseAclArgs:
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 DatabaseAclArgs:
80
84
  class _DatabaseAclState:
81
85
  def __init__(__self__, *,
82
86
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]]] = 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 DatabaseAcl resources.
87
91
  :param pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]] 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 _DatabaseAclState:
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['DatabaseAclAclRuleArgs']]]]:
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 _DatabaseAclState:
109
117
  def acl_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseAclAclRuleArgs']]]]):
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,25 +128,26 @@ class _DatabaseAclState:
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
 
139
147
  warnings.warn("""scaleway.index/databaseacl.DatabaseAcl has been deprecated in favor of scaleway.databases/acl.Acl""", DeprecationWarning)
140
148
 
141
149
 
150
+ @pulumi.type_token("scaleway:index/databaseAcl:DatabaseAcl")
142
151
  class DatabaseAcl(pulumi.CustomResource):
143
152
  warnings.warn("""scaleway.index/databaseacl.DatabaseAcl has been deprecated in favor of scaleway.databases/acl.Acl""", DeprecationWarning)
144
153
 
@@ -147,8 +156,8 @@ class DatabaseAcl(pulumi.CustomResource):
147
156
  resource_name: str,
148
157
  opts: Optional[pulumi.ResourceOptions] = None,
149
158
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseAclAclRuleArgs', 'DatabaseAclAclRuleArgsDict']]]]] = None,
150
- instance_id: Optional[pulumi.Input[str]] = None,
151
- region: Optional[pulumi.Input[str]] = None,
159
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
160
+ region: Optional[pulumi.Input[_builtins.str]] = None,
152
161
  __props__=None):
153
162
  """
154
163
  Creates and manages Scaleway Database instance authorized IPs.
@@ -178,6 +187,53 @@ class DatabaseAcl(pulumi.CustomResource):
178
187
  }])
179
188
  ```
180
189
 
190
+ ### Multiple ACL Rules
191
+
192
+ ```python
193
+ import pulumi
194
+ import pulumiverse_scaleway as scaleway
195
+
196
+ main = scaleway.databases.Acl("main",
197
+ instance_id=main_scaleway_rdb_instance["id"],
198
+ acl_rules=[
199
+ {
200
+ "ip": "1.2.3.4/32",
201
+ "description": "Office IP",
202
+ },
203
+ {
204
+ "ip": "5.6.7.8/32",
205
+ "description": "Home IP",
206
+ },
207
+ {
208
+ "ip": "10.0.0.0/24",
209
+ "description": "Internal network",
210
+ },
211
+ ])
212
+ ```
213
+
214
+ ### Dynamic ACL Rules with Variables
215
+
216
+ ```python
217
+ import pulumi
218
+ import pulumiverse_scaleway as scaleway
219
+
220
+ config = pulumi.Config()
221
+ # Map of allowed IPs with descriptions
222
+ allowed_ips = config.get_object("allowedIps")
223
+ if allowed_ips is None:
224
+ allowed_ips = {
225
+ "1.2.3.4/32": "Office IP",
226
+ "10.0.0.0/24": "Internal network",
227
+ "5.6.7.8/32": "Home IP",
228
+ }
229
+ main = scaleway.databases.Acl("main",
230
+ acl_rules=[{
231
+ "ip": entry["key"],
232
+ "description": entry["value"],
233
+ } for entry in [{"key": k, "value": v} for k, v in allowed_ips]],
234
+ instance_id=main_scaleway_rdb_instance["id"])
235
+ ```
236
+
181
237
  ## Import
182
238
 
183
239
  Database Instance can be imported using the `{region}/{id}`, e.g.
@@ -191,10 +247,12 @@ class DatabaseAcl(pulumi.CustomResource):
191
247
  :param str resource_name: The name of the resource.
192
248
  :param pulumi.ResourceOptions opts: Options for the resource.
193
249
  :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseAclAclRuleArgs', 'DatabaseAclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
194
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
250
+
251
+ > **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.
252
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
195
253
 
196
254
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
197
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
255
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
198
256
  """
199
257
  ...
200
258
  @overload
@@ -230,6 +288,53 @@ class DatabaseAcl(pulumi.CustomResource):
230
288
  }])
231
289
  ```
232
290
 
291
+ ### Multiple ACL Rules
292
+
293
+ ```python
294
+ import pulumi
295
+ import pulumiverse_scaleway as scaleway
296
+
297
+ main = scaleway.databases.Acl("main",
298
+ instance_id=main_scaleway_rdb_instance["id"],
299
+ acl_rules=[
300
+ {
301
+ "ip": "1.2.3.4/32",
302
+ "description": "Office IP",
303
+ },
304
+ {
305
+ "ip": "5.6.7.8/32",
306
+ "description": "Home IP",
307
+ },
308
+ {
309
+ "ip": "10.0.0.0/24",
310
+ "description": "Internal network",
311
+ },
312
+ ])
313
+ ```
314
+
315
+ ### Dynamic ACL Rules with Variables
316
+
317
+ ```python
318
+ import pulumi
319
+ import pulumiverse_scaleway as scaleway
320
+
321
+ config = pulumi.Config()
322
+ # Map of allowed IPs with descriptions
323
+ allowed_ips = config.get_object("allowedIps")
324
+ if allowed_ips is None:
325
+ allowed_ips = {
326
+ "1.2.3.4/32": "Office IP",
327
+ "10.0.0.0/24": "Internal network",
328
+ "5.6.7.8/32": "Home IP",
329
+ }
330
+ main = scaleway.databases.Acl("main",
331
+ acl_rules=[{
332
+ "ip": entry["key"],
333
+ "description": entry["value"],
334
+ } for entry in [{"key": k, "value": v} for k, v in allowed_ips]],
335
+ instance_id=main_scaleway_rdb_instance["id"])
336
+ ```
337
+
233
338
  ## Import
234
339
 
235
340
  Database Instance can be imported using the `{region}/{id}`, e.g.
@@ -256,8 +361,8 @@ class DatabaseAcl(pulumi.CustomResource):
256
361
  resource_name: str,
257
362
  opts: Optional[pulumi.ResourceOptions] = None,
258
363
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseAclAclRuleArgs', 'DatabaseAclAclRuleArgsDict']]]]] = None,
259
- instance_id: Optional[pulumi.Input[str]] = None,
260
- region: Optional[pulumi.Input[str]] = None,
364
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
365
+ region: Optional[pulumi.Input[_builtins.str]] = None,
261
366
  __props__=None):
262
367
  pulumi.log.warn("""DatabaseAcl is deprecated: scaleway.index/databaseacl.DatabaseAcl has been deprecated in favor of scaleway.databases/acl.Acl""")
263
368
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -286,8 +391,8 @@ class DatabaseAcl(pulumi.CustomResource):
286
391
  id: pulumi.Input[str],
287
392
  opts: Optional[pulumi.ResourceOptions] = None,
288
393
  acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseAclAclRuleArgs', 'DatabaseAclAclRuleArgsDict']]]]] = None,
289
- instance_id: Optional[pulumi.Input[str]] = None,
290
- region: Optional[pulumi.Input[str]] = None) -> 'DatabaseAcl':
394
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
395
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'DatabaseAcl':
291
396
  """
292
397
  Get an existing DatabaseAcl resource's state with the given name, id, and optional extra
293
398
  properties used to qualify the lookup.
@@ -296,10 +401,12 @@ class DatabaseAcl(pulumi.CustomResource):
296
401
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
297
402
  :param pulumi.ResourceOptions opts: Options for the resource.
298
403
  :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseAclAclRuleArgs', 'DatabaseAclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
299
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
404
+
405
+ > **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.
406
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
300
407
 
301
408
  > **Important:** Updates to `instance_id` will recreate the Database ACL.
302
- :param pulumi.Input[str] region: `region`) The region in which the Database Instance should be created.
409
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the Database Instance should be created.
303
410
  """
304
411
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
305
412
 
@@ -310,17 +417,19 @@ class DatabaseAcl(pulumi.CustomResource):
310
417
  __props__.__dict__["region"] = region
311
418
  return DatabaseAcl(resource_name, opts=opts, __props__=__props__)
312
419
 
313
- @property
420
+ @_builtins.property
314
421
  @pulumi.getter(name="aclRules")
315
422
  def acl_rules(self) -> pulumi.Output[Sequence['outputs.DatabaseAclAclRule']]:
316
423
  """
317
424
  A list of ACLs (structure is described below)
425
+
426
+ > **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.
318
427
  """
319
428
  return pulumi.get(self, "acl_rules")
320
429
 
321
- @property
430
+ @_builtins.property
322
431
  @pulumi.getter(name="instanceId")
323
- def instance_id(self) -> pulumi.Output[str]:
432
+ def instance_id(self) -> pulumi.Output[_builtins.str]:
324
433
  """
325
434
  UUID of the Database Instance.
326
435
 
@@ -328,9 +437,9 @@ class DatabaseAcl(pulumi.CustomResource):
328
437
  """
329
438
  return pulumi.get(self, "instance_id")
330
439
 
331
- @property
440
+ @_builtins.property
332
441
  @pulumi.getter
333
- def region(self) -> pulumi.Output[str]:
442
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
334
443
  """
335
444
  `region`) The region in which the Database Instance should be created.
336
445
  """