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
@@ -21,68 +21,67 @@ __all__ = ['DatabaseInstanceArgs', 'DatabaseInstance']
21
21
  @pulumi.input_type
22
22
  class DatabaseInstanceArgs:
23
23
  def __init__(__self__, *,
24
- node_type: pulumi.Input[str],
25
- backup_same_region: Optional[pulumi.Input[bool]] = None,
26
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
27
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
28
- disable_backup: Optional[pulumi.Input[bool]] = None,
29
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
30
- engine: Optional[pulumi.Input[str]] = None,
31
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
32
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
33
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
24
+ node_type: pulumi.Input[_builtins.str],
25
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
26
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
27
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
28
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
31
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
32
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
33
+ load_balancer: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']] = None,
34
34
  logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
35
- name: Optional[pulumi.Input[str]] = None,
36
- password: Optional[pulumi.Input[str]] = None,
35
+ name: Optional[pulumi.Input[_builtins.str]] = None,
36
+ password: Optional[pulumi.Input[_builtins.str]] = None,
37
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]] = None,
37
38
  private_network: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']] = None,
38
- project_id: Optional[pulumi.Input[str]] = None,
39
- region: Optional[pulumi.Input[str]] = None,
40
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
41
- snapshot_id: Optional[pulumi.Input[str]] = None,
42
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
43
- user_name: Optional[pulumi.Input[str]] = None,
44
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
45
- volume_type: Optional[pulumi.Input[str]] = None):
39
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
40
+ region: Optional[pulumi.Input[_builtins.str]] = None,
41
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
42
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
43
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
44
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
45
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
46
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None):
46
47
  """
47
48
  The set of arguments for constructing a DatabaseInstance resource.
48
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
49
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
49
50
 
50
51
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
51
52
  interruption.
52
53
 
53
54
  > **Important** Once your Database Instance reaches `disk_full` status, if you are using `lssd` storage, you should upgrade the `node_type`, and if you are using `bssd` storage, you should increase the volume size before making any other changes to your Database Instance.
54
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
55
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
56
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
57
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
58
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
59
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
60
-
61
- > **Important** Updates to `engine` will recreate the Database Instance.
62
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
63
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
55
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
56
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
57
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
58
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
59
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
60
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
61
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
62
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
64
63
 
65
64
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
66
- :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
65
+ :param pulumi.Input['DatabaseInstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
67
66
  :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
68
- :param pulumi.Input[str] name: The name of the Database Instance.
69
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
67
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
68
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
69
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
70
70
  :param pulumi.Input['DatabaseInstancePrivateNetworkArgs'] private_network: List of Private Networks endpoints of the Database Instance.
71
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
71
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
72
72
  Instance is associated with.
73
- :param pulumi.Input[str] region: `region`) The region
73
+ :param pulumi.Input[_builtins.str] region: `region`) The region
74
74
  in which the Database Instance should be created.
75
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
76
- :param pulumi.Input[str] snapshot_id: ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
77
- captured in the specified snapshot. Conflicts with the `engine` attribute.
78
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
79
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
75
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
76
+ :param pulumi.Input[_builtins.str] snapshot_id: The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
77
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
78
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
80
79
 
81
80
  > **Important** Updates to `user_name` will recreate the Database Instance.
82
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
81
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
83
82
 
84
83
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
85
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
84
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
86
85
  """
87
86
  pulumi.set(__self__, "node_type", node_type)
88
87
  if backup_same_region is not None:
@@ -101,14 +100,16 @@ class DatabaseInstanceArgs:
101
100
  pulumi.set(__self__, "init_settings", init_settings)
102
101
  if is_ha_cluster is not None:
103
102
  pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
104
- if load_balancers is not None:
105
- pulumi.set(__self__, "load_balancers", load_balancers)
103
+ if load_balancer is not None:
104
+ pulumi.set(__self__, "load_balancer", load_balancer)
106
105
  if logs_policy is not None:
107
106
  pulumi.set(__self__, "logs_policy", logs_policy)
108
107
  if name is not None:
109
108
  pulumi.set(__self__, "name", name)
110
109
  if password is not None:
111
110
  pulumi.set(__self__, "password", password)
111
+ if private_ips is not None:
112
+ pulumi.set(__self__, "private_ips", private_ips)
112
113
  if private_network is not None:
113
114
  pulumi.set(__self__, "private_network", private_network)
114
115
  if project_id is not None:
@@ -128,9 +129,9 @@ class DatabaseInstanceArgs:
128
129
  if volume_type is not None:
129
130
  pulumi.set(__self__, "volume_type", volume_type)
130
131
 
131
- @property
132
+ @_builtins.property
132
133
  @pulumi.getter(name="nodeType")
133
- def node_type(self) -> pulumi.Input[str]:
134
+ def node_type(self) -> pulumi.Input[_builtins.str]:
134
135
  """
135
136
  The type of Database Instance you want to create (e.g. `db-dev-s`).
136
137
 
@@ -142,98 +143,96 @@ class DatabaseInstanceArgs:
142
143
  return pulumi.get(self, "node_type")
143
144
 
144
145
  @node_type.setter
145
- def node_type(self, value: pulumi.Input[str]):
146
+ def node_type(self, value: pulumi.Input[_builtins.str]):
146
147
  pulumi.set(self, "node_type", value)
147
148
 
148
- @property
149
+ @_builtins.property
149
150
  @pulumi.getter(name="backupSameRegion")
150
- def backup_same_region(self) -> Optional[pulumi.Input[bool]]:
151
+ def backup_same_region(self) -> Optional[pulumi.Input[_builtins.bool]]:
151
152
  """
152
153
  Boolean to store logical backups in the same region as the database instance
153
154
  """
154
155
  return pulumi.get(self, "backup_same_region")
155
156
 
156
157
  @backup_same_region.setter
157
- def backup_same_region(self, value: Optional[pulumi.Input[bool]]):
158
+ def backup_same_region(self, value: Optional[pulumi.Input[_builtins.bool]]):
158
159
  pulumi.set(self, "backup_same_region", value)
159
160
 
160
- @property
161
+ @_builtins.property
161
162
  @pulumi.getter(name="backupScheduleFrequency")
162
- def backup_schedule_frequency(self) -> Optional[pulumi.Input[int]]:
163
+ def backup_schedule_frequency(self) -> Optional[pulumi.Input[_builtins.int]]:
163
164
  """
164
165
  Backup schedule frequency in hours
165
166
  """
166
167
  return pulumi.get(self, "backup_schedule_frequency")
167
168
 
168
169
  @backup_schedule_frequency.setter
169
- def backup_schedule_frequency(self, value: Optional[pulumi.Input[int]]):
170
+ def backup_schedule_frequency(self, value: Optional[pulumi.Input[_builtins.int]]):
170
171
  pulumi.set(self, "backup_schedule_frequency", value)
171
172
 
172
- @property
173
+ @_builtins.property
173
174
  @pulumi.getter(name="backupScheduleRetention")
174
- def backup_schedule_retention(self) -> Optional[pulumi.Input[int]]:
175
+ def backup_schedule_retention(self) -> Optional[pulumi.Input[_builtins.int]]:
175
176
  """
176
177
  Backup schedule retention in days
177
178
  """
178
179
  return pulumi.get(self, "backup_schedule_retention")
179
180
 
180
181
  @backup_schedule_retention.setter
181
- def backup_schedule_retention(self, value: Optional[pulumi.Input[int]]):
182
+ def backup_schedule_retention(self, value: Optional[pulumi.Input[_builtins.int]]):
182
183
  pulumi.set(self, "backup_schedule_retention", value)
183
184
 
184
- @property
185
+ @_builtins.property
185
186
  @pulumi.getter(name="disableBackup")
186
- def disable_backup(self) -> Optional[pulumi.Input[bool]]:
187
+ def disable_backup(self) -> Optional[pulumi.Input[_builtins.bool]]:
187
188
  """
188
189
  Disable automated backup for the database instance
189
190
  """
190
191
  return pulumi.get(self, "disable_backup")
191
192
 
192
193
  @disable_backup.setter
193
- def disable_backup(self, value: Optional[pulumi.Input[bool]]):
194
+ def disable_backup(self, value: Optional[pulumi.Input[_builtins.bool]]):
194
195
  pulumi.set(self, "disable_backup", value)
195
196
 
196
- @property
197
+ @_builtins.property
197
198
  @pulumi.getter(name="encryptionAtRest")
198
- def encryption_at_rest(self) -> Optional[pulumi.Input[bool]]:
199
+ def encryption_at_rest(self) -> Optional[pulumi.Input[_builtins.bool]]:
199
200
  """
200
201
  Enable or disable encryption at rest for the Database Instance.
201
202
  """
202
203
  return pulumi.get(self, "encryption_at_rest")
203
204
 
204
205
  @encryption_at_rest.setter
205
- def encryption_at_rest(self, value: Optional[pulumi.Input[bool]]):
206
+ def encryption_at_rest(self, value: Optional[pulumi.Input[_builtins.bool]]):
206
207
  pulumi.set(self, "encryption_at_rest", value)
207
208
 
208
- @property
209
+ @_builtins.property
209
210
  @pulumi.getter
210
- def engine(self) -> Optional[pulumi.Input[str]]:
211
+ def engine(self) -> Optional[pulumi.Input[_builtins.str]]:
211
212
  """
212
- Database Instance's engine version (e.g. `PostgreSQL-11`).
213
-
214
- > **Important** Updates to `engine` will recreate the Database Instance.
213
+ Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
215
214
  """
216
215
  return pulumi.get(self, "engine")
217
216
 
218
217
  @engine.setter
219
- def engine(self, value: Optional[pulumi.Input[str]]):
218
+ def engine(self, value: Optional[pulumi.Input[_builtins.str]]):
220
219
  pulumi.set(self, "engine", value)
221
220
 
222
- @property
221
+ @_builtins.property
223
222
  @pulumi.getter(name="initSettings")
224
- def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
223
+ def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
225
224
  """
226
225
  Map of engine settings to be set at database initialisation.
227
226
  """
228
227
  return pulumi.get(self, "init_settings")
229
228
 
230
229
  @init_settings.setter
231
- def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
230
+ def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
232
231
  pulumi.set(self, "init_settings", value)
233
232
 
234
- @property
233
+ @_builtins.property
235
234
  @pulumi.getter(name="isHaCluster")
236
- def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]:
235
+ def is_ha_cluster(self) -> Optional[pulumi.Input[_builtins.bool]]:
237
236
  """
238
237
  Enable or disable high availability for the Database Instance.
239
238
 
@@ -242,22 +241,22 @@ class DatabaseInstanceArgs:
242
241
  return pulumi.get(self, "is_ha_cluster")
243
242
 
244
243
  @is_ha_cluster.setter
245
- def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]):
244
+ def is_ha_cluster(self, value: Optional[pulumi.Input[_builtins.bool]]):
246
245
  pulumi.set(self, "is_ha_cluster", value)
247
246
 
248
- @property
249
- @pulumi.getter(name="loadBalancers")
250
- def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
247
+ @_builtins.property
248
+ @pulumi.getter(name="loadBalancer")
249
+ def load_balancer(self) -> Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]:
251
250
  """
252
251
  List of Load Balancer endpoints of the Database Instance.
253
252
  """
254
- return pulumi.get(self, "load_balancers")
253
+ return pulumi.get(self, "load_balancer")
255
254
 
256
- @load_balancers.setter
257
- def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
258
- pulumi.set(self, "load_balancers", value)
255
+ @load_balancer.setter
256
+ def load_balancer(self, value: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]):
257
+ pulumi.set(self, "load_balancer", value)
259
258
 
260
- @property
259
+ @_builtins.property
261
260
  @pulumi.getter(name="logsPolicy")
262
261
  def logs_policy(self) -> Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]:
263
262
  """
@@ -269,31 +268,43 @@ class DatabaseInstanceArgs:
269
268
  def logs_policy(self, value: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]):
270
269
  pulumi.set(self, "logs_policy", value)
271
270
 
272
- @property
271
+ @_builtins.property
273
272
  @pulumi.getter
274
- def name(self) -> Optional[pulumi.Input[str]]:
273
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
275
274
  """
276
275
  The name of the Database Instance.
277
276
  """
278
277
  return pulumi.get(self, "name")
279
278
 
280
279
  @name.setter
281
- def name(self, value: Optional[pulumi.Input[str]]):
280
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
282
281
  pulumi.set(self, "name", value)
283
282
 
284
- @property
283
+ @_builtins.property
285
284
  @pulumi.getter
286
- def password(self) -> Optional[pulumi.Input[str]]:
285
+ def password(self) -> Optional[pulumi.Input[_builtins.str]]:
287
286
  """
288
287
  Password for the first user of the Database Instance.
289
288
  """
290
289
  return pulumi.get(self, "password")
291
290
 
292
291
  @password.setter
293
- def password(self, value: Optional[pulumi.Input[str]]):
292
+ def password(self, value: Optional[pulumi.Input[_builtins.str]]):
294
293
  pulumi.set(self, "password", value)
295
294
 
296
- @property
295
+ @_builtins.property
296
+ @pulumi.getter(name="privateIps")
297
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]]:
298
+ """
299
+ The private IPv4 address associated with the resource.
300
+ """
301
+ return pulumi.get(self, "private_ips")
302
+
303
+ @private_ips.setter
304
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]]):
305
+ pulumi.set(self, "private_ips", value)
306
+
307
+ @_builtins.property
297
308
  @pulumi.getter(name="privateNetwork")
298
309
  def private_network(self) -> Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]:
299
310
  """
@@ -305,9 +316,9 @@ class DatabaseInstanceArgs:
305
316
  def private_network(self, value: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]):
306
317
  pulumi.set(self, "private_network", value)
307
318
 
308
- @property
319
+ @_builtins.property
309
320
  @pulumi.getter(name="projectId")
310
- def project_id(self) -> Optional[pulumi.Input[str]]:
321
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
311
322
  """
312
323
  `project_id`) The ID of the project the Database
313
324
  Instance is associated with.
@@ -315,12 +326,12 @@ class DatabaseInstanceArgs:
315
326
  return pulumi.get(self, "project_id")
316
327
 
317
328
  @project_id.setter
318
- def project_id(self, value: Optional[pulumi.Input[str]]):
329
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
319
330
  pulumi.set(self, "project_id", value)
320
331
 
321
- @property
332
+ @_builtins.property
322
333
  @pulumi.getter
323
- def region(self) -> Optional[pulumi.Input[str]]:
334
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
324
335
  """
325
336
  `region`) The region
326
337
  in which the Database Instance should be created.
@@ -328,49 +339,48 @@ class DatabaseInstanceArgs:
328
339
  return pulumi.get(self, "region")
329
340
 
330
341
  @region.setter
331
- def region(self, value: Optional[pulumi.Input[str]]):
342
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
332
343
  pulumi.set(self, "region", value)
333
344
 
334
- @property
345
+ @_builtins.property
335
346
  @pulumi.getter
336
- def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
347
+ def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
337
348
  """
338
349
  Map of engine settings to be set on a running instance.
339
350
  """
340
351
  return pulumi.get(self, "settings")
341
352
 
342
353
  @settings.setter
343
- def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
354
+ def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
344
355
  pulumi.set(self, "settings", value)
345
356
 
346
- @property
357
+ @_builtins.property
347
358
  @pulumi.getter(name="snapshotId")
348
- def snapshot_id(self) -> Optional[pulumi.Input[str]]:
359
+ def snapshot_id(self) -> Optional[pulumi.Input[_builtins.str]]:
349
360
  """
350
- ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
351
- captured in the specified snapshot. Conflicts with the `engine` attribute.
361
+ The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
352
362
  """
353
363
  return pulumi.get(self, "snapshot_id")
354
364
 
355
365
  @snapshot_id.setter
356
- def snapshot_id(self, value: Optional[pulumi.Input[str]]):
366
+ def snapshot_id(self, value: Optional[pulumi.Input[_builtins.str]]):
357
367
  pulumi.set(self, "snapshot_id", value)
358
368
 
359
- @property
369
+ @_builtins.property
360
370
  @pulumi.getter
361
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
371
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
362
372
  """
363
373
  The tags associated with the Database Instance.
364
374
  """
365
375
  return pulumi.get(self, "tags")
366
376
 
367
377
  @tags.setter
368
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
378
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
369
379
  pulumi.set(self, "tags", value)
370
380
 
371
- @property
381
+ @_builtins.property
372
382
  @pulumi.getter(name="userName")
373
- def user_name(self) -> Optional[pulumi.Input[str]]:
383
+ def user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
374
384
  """
375
385
  Identifier for the first user of the Database Instance.
376
386
 
@@ -379,12 +389,12 @@ class DatabaseInstanceArgs:
379
389
  return pulumi.get(self, "user_name")
380
390
 
381
391
  @user_name.setter
382
- def user_name(self, value: Optional[pulumi.Input[str]]):
392
+ def user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
383
393
  pulumi.set(self, "user_name", value)
384
394
 
385
- @property
395
+ @_builtins.property
386
396
  @pulumi.getter(name="volumeSizeInGb")
387
- def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]:
397
+ def volume_size_in_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
388
398
  """
389
399
  Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
390
400
 
@@ -393,97 +403,98 @@ class DatabaseInstanceArgs:
393
403
  return pulumi.get(self, "volume_size_in_gb")
394
404
 
395
405
  @volume_size_in_gb.setter
396
- def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]):
406
+ def volume_size_in_gb(self, value: Optional[pulumi.Input[_builtins.int]]):
397
407
  pulumi.set(self, "volume_size_in_gb", value)
398
408
 
399
- @property
409
+ @_builtins.property
400
410
  @pulumi.getter(name="volumeType")
401
- def volume_type(self) -> Optional[pulumi.Input[str]]:
411
+ def volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
402
412
  """
403
- Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
413
+ Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
404
414
  """
405
415
  return pulumi.get(self, "volume_type")
406
416
 
407
417
  @volume_type.setter
408
- def volume_type(self, value: Optional[pulumi.Input[str]]):
418
+ def volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
409
419
  pulumi.set(self, "volume_type", value)
410
420
 
411
421
 
412
422
  @pulumi.input_type
413
423
  class _DatabaseInstanceState:
414
424
  def __init__(__self__, *,
415
- backup_same_region: Optional[pulumi.Input[bool]] = None,
416
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
417
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
418
- certificate: Optional[pulumi.Input[str]] = None,
419
- disable_backup: Optional[pulumi.Input[bool]] = None,
420
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
421
- endpoint_ip: Optional[pulumi.Input[str]] = None,
422
- endpoint_port: Optional[pulumi.Input[int]] = None,
423
- engine: Optional[pulumi.Input[str]] = None,
424
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
425
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
426
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
425
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
426
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
427
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
428
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
429
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
430
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
431
+ endpoint_ip: Optional[pulumi.Input[_builtins.str]] = None,
432
+ endpoint_port: Optional[pulumi.Input[_builtins.int]] = None,
433
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
434
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
435
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
436
+ load_balancer: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']] = None,
427
437
  logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
428
- name: Optional[pulumi.Input[str]] = None,
429
- node_type: Optional[pulumi.Input[str]] = None,
430
- organization_id: Optional[pulumi.Input[str]] = None,
431
- password: Optional[pulumi.Input[str]] = None,
438
+ name: Optional[pulumi.Input[_builtins.str]] = None,
439
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
440
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
441
+ password: Optional[pulumi.Input[_builtins.str]] = None,
442
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]] = None,
432
443
  private_network: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']] = None,
433
- project_id: Optional[pulumi.Input[str]] = None,
444
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
434
445
  read_replicas: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]] = None,
435
- region: Optional[pulumi.Input[str]] = None,
436
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
437
- snapshot_id: Optional[pulumi.Input[str]] = None,
438
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
439
- user_name: Optional[pulumi.Input[str]] = None,
440
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
441
- volume_type: Optional[pulumi.Input[str]] = None):
446
+ region: Optional[pulumi.Input[_builtins.str]] = None,
447
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
448
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
449
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
450
+ upgradable_versions: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]] = None,
451
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
452
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
453
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None):
442
454
  """
443
455
  Input properties used for looking up and filtering DatabaseInstance resources.
444
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
445
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
446
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
447
- :param pulumi.Input[str] certificate: Certificate of the Database Instance.
448
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
449
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
450
- :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
451
- :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
452
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
453
-
454
- > **Important** Updates to `engine` will recreate the Database Instance.
455
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
456
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
456
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
457
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
458
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
459
+ :param pulumi.Input[_builtins.str] certificate: Certificate of the Database Instance.
460
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
461
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
462
+ :param pulumi.Input[_builtins.str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
463
+ :param pulumi.Input[_builtins.int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
464
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
465
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
466
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
457
467
 
458
468
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
459
- :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
469
+ :param pulumi.Input['DatabaseInstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
460
470
  :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
461
- :param pulumi.Input[str] name: The name of the Database Instance.
462
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
471
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
472
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
463
473
 
464
474
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
465
475
  interruption.
466
476
 
467
477
  > **Important** Once your Database Instance reaches `disk_full` status, if you are using `lssd` storage, you should upgrade the `node_type`, and if you are using `bssd` storage, you should increase the volume size before making any other changes to your Database Instance.
468
- :param pulumi.Input[str] organization_id: The organization ID the Database Instance is associated with.
469
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
478
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the Database Instance is associated with.
479
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
480
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
470
481
  :param pulumi.Input['DatabaseInstancePrivateNetworkArgs'] private_network: List of Private Networks endpoints of the Database Instance.
471
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
482
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
472
483
  Instance is associated with.
473
484
  :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]] read_replicas: List of read replicas of the Database Instance.
474
- :param pulumi.Input[str] region: `region`) The region
485
+ :param pulumi.Input[_builtins.str] region: `region`) The region
475
486
  in which the Database Instance should be created.
476
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
477
- :param pulumi.Input[str] snapshot_id: ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
478
- captured in the specified snapshot. Conflicts with the `engine` attribute.
479
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
480
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
487
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
488
+ :param pulumi.Input[_builtins.str] snapshot_id: The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
489
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
490
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]] upgradable_versions: List of available engine versions for upgrade. Each version contains:
491
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
481
492
 
482
493
  > **Important** Updates to `user_name` will recreate the Database Instance.
483
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
494
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
484
495
 
485
496
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
486
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
497
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
487
498
  """
488
499
  if backup_same_region is not None:
489
500
  pulumi.set(__self__, "backup_same_region", backup_same_region)
@@ -513,8 +524,8 @@ class _DatabaseInstanceState:
513
524
  pulumi.set(__self__, "init_settings", init_settings)
514
525
  if is_ha_cluster is not None:
515
526
  pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
516
- if load_balancers is not None:
517
- pulumi.set(__self__, "load_balancers", load_balancers)
527
+ if load_balancer is not None:
528
+ pulumi.set(__self__, "load_balancer", load_balancer)
518
529
  if logs_policy is not None:
519
530
  pulumi.set(__self__, "logs_policy", logs_policy)
520
531
  if name is not None:
@@ -525,6 +536,8 @@ class _DatabaseInstanceState:
525
536
  pulumi.set(__self__, "organization_id", organization_id)
526
537
  if password is not None:
527
538
  pulumi.set(__self__, "password", password)
539
+ if private_ips is not None:
540
+ pulumi.set(__self__, "private_ips", private_ips)
528
541
  if private_network is not None:
529
542
  pulumi.set(__self__, "private_network", private_network)
530
543
  if project_id is not None:
@@ -539,6 +552,8 @@ class _DatabaseInstanceState:
539
552
  pulumi.set(__self__, "snapshot_id", snapshot_id)
540
553
  if tags is not None:
541
554
  pulumi.set(__self__, "tags", tags)
555
+ if upgradable_versions is not None:
556
+ pulumi.set(__self__, "upgradable_versions", upgradable_versions)
542
557
  if user_name is not None:
543
558
  pulumi.set(__self__, "user_name", user_name)
544
559
  if volume_size_in_gb is not None:
@@ -546,133 +561,131 @@ class _DatabaseInstanceState:
546
561
  if volume_type is not None:
547
562
  pulumi.set(__self__, "volume_type", volume_type)
548
563
 
549
- @property
564
+ @_builtins.property
550
565
  @pulumi.getter(name="backupSameRegion")
551
- def backup_same_region(self) -> Optional[pulumi.Input[bool]]:
566
+ def backup_same_region(self) -> Optional[pulumi.Input[_builtins.bool]]:
552
567
  """
553
568
  Boolean to store logical backups in the same region as the database instance
554
569
  """
555
570
  return pulumi.get(self, "backup_same_region")
556
571
 
557
572
  @backup_same_region.setter
558
- def backup_same_region(self, value: Optional[pulumi.Input[bool]]):
573
+ def backup_same_region(self, value: Optional[pulumi.Input[_builtins.bool]]):
559
574
  pulumi.set(self, "backup_same_region", value)
560
575
 
561
- @property
576
+ @_builtins.property
562
577
  @pulumi.getter(name="backupScheduleFrequency")
563
- def backup_schedule_frequency(self) -> Optional[pulumi.Input[int]]:
578
+ def backup_schedule_frequency(self) -> Optional[pulumi.Input[_builtins.int]]:
564
579
  """
565
580
  Backup schedule frequency in hours
566
581
  """
567
582
  return pulumi.get(self, "backup_schedule_frequency")
568
583
 
569
584
  @backup_schedule_frequency.setter
570
- def backup_schedule_frequency(self, value: Optional[pulumi.Input[int]]):
585
+ def backup_schedule_frequency(self, value: Optional[pulumi.Input[_builtins.int]]):
571
586
  pulumi.set(self, "backup_schedule_frequency", value)
572
587
 
573
- @property
588
+ @_builtins.property
574
589
  @pulumi.getter(name="backupScheduleRetention")
575
- def backup_schedule_retention(self) -> Optional[pulumi.Input[int]]:
590
+ def backup_schedule_retention(self) -> Optional[pulumi.Input[_builtins.int]]:
576
591
  """
577
592
  Backup schedule retention in days
578
593
  """
579
594
  return pulumi.get(self, "backup_schedule_retention")
580
595
 
581
596
  @backup_schedule_retention.setter
582
- def backup_schedule_retention(self, value: Optional[pulumi.Input[int]]):
597
+ def backup_schedule_retention(self, value: Optional[pulumi.Input[_builtins.int]]):
583
598
  pulumi.set(self, "backup_schedule_retention", value)
584
599
 
585
- @property
600
+ @_builtins.property
586
601
  @pulumi.getter
587
- def certificate(self) -> Optional[pulumi.Input[str]]:
602
+ def certificate(self) -> Optional[pulumi.Input[_builtins.str]]:
588
603
  """
589
604
  Certificate of the Database Instance.
590
605
  """
591
606
  return pulumi.get(self, "certificate")
592
607
 
593
608
  @certificate.setter
594
- def certificate(self, value: Optional[pulumi.Input[str]]):
609
+ def certificate(self, value: Optional[pulumi.Input[_builtins.str]]):
595
610
  pulumi.set(self, "certificate", value)
596
611
 
597
- @property
612
+ @_builtins.property
598
613
  @pulumi.getter(name="disableBackup")
599
- def disable_backup(self) -> Optional[pulumi.Input[bool]]:
614
+ def disable_backup(self) -> Optional[pulumi.Input[_builtins.bool]]:
600
615
  """
601
616
  Disable automated backup for the database instance
602
617
  """
603
618
  return pulumi.get(self, "disable_backup")
604
619
 
605
620
  @disable_backup.setter
606
- def disable_backup(self, value: Optional[pulumi.Input[bool]]):
621
+ def disable_backup(self, value: Optional[pulumi.Input[_builtins.bool]]):
607
622
  pulumi.set(self, "disable_backup", value)
608
623
 
609
- @property
624
+ @_builtins.property
610
625
  @pulumi.getter(name="encryptionAtRest")
611
- def encryption_at_rest(self) -> Optional[pulumi.Input[bool]]:
626
+ def encryption_at_rest(self) -> Optional[pulumi.Input[_builtins.bool]]:
612
627
  """
613
628
  Enable or disable encryption at rest for the Database Instance.
614
629
  """
615
630
  return pulumi.get(self, "encryption_at_rest")
616
631
 
617
632
  @encryption_at_rest.setter
618
- def encryption_at_rest(self, value: Optional[pulumi.Input[bool]]):
633
+ def encryption_at_rest(self, value: Optional[pulumi.Input[_builtins.bool]]):
619
634
  pulumi.set(self, "encryption_at_rest", value)
620
635
 
621
- @property
636
+ @_builtins.property
622
637
  @pulumi.getter(name="endpointIp")
623
638
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
624
- def endpoint_ip(self) -> Optional[pulumi.Input[str]]:
639
+ def endpoint_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
625
640
  """
626
641
  (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
627
642
  """
628
643
  return pulumi.get(self, "endpoint_ip")
629
644
 
630
645
  @endpoint_ip.setter
631
- def endpoint_ip(self, value: Optional[pulumi.Input[str]]):
646
+ def endpoint_ip(self, value: Optional[pulumi.Input[_builtins.str]]):
632
647
  pulumi.set(self, "endpoint_ip", value)
633
648
 
634
- @property
649
+ @_builtins.property
635
650
  @pulumi.getter(name="endpointPort")
636
651
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
637
- def endpoint_port(self) -> Optional[pulumi.Input[int]]:
652
+ def endpoint_port(self) -> Optional[pulumi.Input[_builtins.int]]:
638
653
  """
639
654
  (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
640
655
  """
641
656
  return pulumi.get(self, "endpoint_port")
642
657
 
643
658
  @endpoint_port.setter
644
- def endpoint_port(self, value: Optional[pulumi.Input[int]]):
659
+ def endpoint_port(self, value: Optional[pulumi.Input[_builtins.int]]):
645
660
  pulumi.set(self, "endpoint_port", value)
646
661
 
647
- @property
662
+ @_builtins.property
648
663
  @pulumi.getter
649
- def engine(self) -> Optional[pulumi.Input[str]]:
664
+ def engine(self) -> Optional[pulumi.Input[_builtins.str]]:
650
665
  """
651
- Database Instance's engine version (e.g. `PostgreSQL-11`).
652
-
653
- > **Important** Updates to `engine` will recreate the Database Instance.
666
+ Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
654
667
  """
655
668
  return pulumi.get(self, "engine")
656
669
 
657
670
  @engine.setter
658
- def engine(self, value: Optional[pulumi.Input[str]]):
671
+ def engine(self, value: Optional[pulumi.Input[_builtins.str]]):
659
672
  pulumi.set(self, "engine", value)
660
673
 
661
- @property
674
+ @_builtins.property
662
675
  @pulumi.getter(name="initSettings")
663
- def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
676
+ def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
664
677
  """
665
678
  Map of engine settings to be set at database initialisation.
666
679
  """
667
680
  return pulumi.get(self, "init_settings")
668
681
 
669
682
  @init_settings.setter
670
- def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
683
+ def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
671
684
  pulumi.set(self, "init_settings", value)
672
685
 
673
- @property
686
+ @_builtins.property
674
687
  @pulumi.getter(name="isHaCluster")
675
- def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]:
688
+ def is_ha_cluster(self) -> Optional[pulumi.Input[_builtins.bool]]:
676
689
  """
677
690
  Enable or disable high availability for the Database Instance.
678
691
 
@@ -681,22 +694,22 @@ class _DatabaseInstanceState:
681
694
  return pulumi.get(self, "is_ha_cluster")
682
695
 
683
696
  @is_ha_cluster.setter
684
- def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]):
697
+ def is_ha_cluster(self, value: Optional[pulumi.Input[_builtins.bool]]):
685
698
  pulumi.set(self, "is_ha_cluster", value)
686
699
 
687
- @property
688
- @pulumi.getter(name="loadBalancers")
689
- def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
700
+ @_builtins.property
701
+ @pulumi.getter(name="loadBalancer")
702
+ def load_balancer(self) -> Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]:
690
703
  """
691
704
  List of Load Balancer endpoints of the Database Instance.
692
705
  """
693
- return pulumi.get(self, "load_balancers")
706
+ return pulumi.get(self, "load_balancer")
694
707
 
695
- @load_balancers.setter
696
- def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
697
- pulumi.set(self, "load_balancers", value)
708
+ @load_balancer.setter
709
+ def load_balancer(self, value: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]):
710
+ pulumi.set(self, "load_balancer", value)
698
711
 
699
- @property
712
+ @_builtins.property
700
713
  @pulumi.getter(name="logsPolicy")
701
714
  def logs_policy(self) -> Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]:
702
715
  """
@@ -708,21 +721,21 @@ class _DatabaseInstanceState:
708
721
  def logs_policy(self, value: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]):
709
722
  pulumi.set(self, "logs_policy", value)
710
723
 
711
- @property
724
+ @_builtins.property
712
725
  @pulumi.getter
713
- def name(self) -> Optional[pulumi.Input[str]]:
726
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
714
727
  """
715
728
  The name of the Database Instance.
716
729
  """
717
730
  return pulumi.get(self, "name")
718
731
 
719
732
  @name.setter
720
- def name(self, value: Optional[pulumi.Input[str]]):
733
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
721
734
  pulumi.set(self, "name", value)
722
735
 
723
- @property
736
+ @_builtins.property
724
737
  @pulumi.getter(name="nodeType")
725
- def node_type(self) -> Optional[pulumi.Input[str]]:
738
+ def node_type(self) -> Optional[pulumi.Input[_builtins.str]]:
726
739
  """
727
740
  The type of Database Instance you want to create (e.g. `db-dev-s`).
728
741
 
@@ -734,34 +747,46 @@ class _DatabaseInstanceState:
734
747
  return pulumi.get(self, "node_type")
735
748
 
736
749
  @node_type.setter
737
- def node_type(self, value: Optional[pulumi.Input[str]]):
750
+ def node_type(self, value: Optional[pulumi.Input[_builtins.str]]):
738
751
  pulumi.set(self, "node_type", value)
739
752
 
740
- @property
753
+ @_builtins.property
741
754
  @pulumi.getter(name="organizationId")
742
- def organization_id(self) -> Optional[pulumi.Input[str]]:
755
+ def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
743
756
  """
744
757
  The organization ID the Database Instance is associated with.
745
758
  """
746
759
  return pulumi.get(self, "organization_id")
747
760
 
748
761
  @organization_id.setter
749
- def organization_id(self, value: Optional[pulumi.Input[str]]):
762
+ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
750
763
  pulumi.set(self, "organization_id", value)
751
764
 
752
- @property
765
+ @_builtins.property
753
766
  @pulumi.getter
754
- def password(self) -> Optional[pulumi.Input[str]]:
767
+ def password(self) -> Optional[pulumi.Input[_builtins.str]]:
755
768
  """
756
769
  Password for the first user of the Database Instance.
757
770
  """
758
771
  return pulumi.get(self, "password")
759
772
 
760
773
  @password.setter
761
- def password(self, value: Optional[pulumi.Input[str]]):
774
+ def password(self, value: Optional[pulumi.Input[_builtins.str]]):
762
775
  pulumi.set(self, "password", value)
763
776
 
764
- @property
777
+ @_builtins.property
778
+ @pulumi.getter(name="privateIps")
779
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]]:
780
+ """
781
+ The private IPv4 address associated with the resource.
782
+ """
783
+ return pulumi.get(self, "private_ips")
784
+
785
+ @private_ips.setter
786
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstancePrivateIpArgs']]]]):
787
+ pulumi.set(self, "private_ips", value)
788
+
789
+ @_builtins.property
765
790
  @pulumi.getter(name="privateNetwork")
766
791
  def private_network(self) -> Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]:
767
792
  """
@@ -773,9 +798,9 @@ class _DatabaseInstanceState:
773
798
  def private_network(self, value: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]):
774
799
  pulumi.set(self, "private_network", value)
775
800
 
776
- @property
801
+ @_builtins.property
777
802
  @pulumi.getter(name="projectId")
778
- def project_id(self) -> Optional[pulumi.Input[str]]:
803
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
779
804
  """
780
805
  `project_id`) The ID of the project the Database
781
806
  Instance is associated with.
@@ -783,10 +808,10 @@ class _DatabaseInstanceState:
783
808
  return pulumi.get(self, "project_id")
784
809
 
785
810
  @project_id.setter
786
- def project_id(self, value: Optional[pulumi.Input[str]]):
811
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
787
812
  pulumi.set(self, "project_id", value)
788
813
 
789
- @property
814
+ @_builtins.property
790
815
  @pulumi.getter(name="readReplicas")
791
816
  def read_replicas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]]:
792
817
  """
@@ -798,9 +823,9 @@ class _DatabaseInstanceState:
798
823
  def read_replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]]):
799
824
  pulumi.set(self, "read_replicas", value)
800
825
 
801
- @property
826
+ @_builtins.property
802
827
  @pulumi.getter
803
- def region(self) -> Optional[pulumi.Input[str]]:
828
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
804
829
  """
805
830
  `region`) The region
806
831
  in which the Database Instance should be created.
@@ -808,49 +833,60 @@ class _DatabaseInstanceState:
808
833
  return pulumi.get(self, "region")
809
834
 
810
835
  @region.setter
811
- def region(self, value: Optional[pulumi.Input[str]]):
836
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
812
837
  pulumi.set(self, "region", value)
813
838
 
814
- @property
839
+ @_builtins.property
815
840
  @pulumi.getter
816
- def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
841
+ def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
817
842
  """
818
843
  Map of engine settings to be set on a running instance.
819
844
  """
820
845
  return pulumi.get(self, "settings")
821
846
 
822
847
  @settings.setter
823
- def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
848
+ def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
824
849
  pulumi.set(self, "settings", value)
825
850
 
826
- @property
851
+ @_builtins.property
827
852
  @pulumi.getter(name="snapshotId")
828
- def snapshot_id(self) -> Optional[pulumi.Input[str]]:
853
+ def snapshot_id(self) -> Optional[pulumi.Input[_builtins.str]]:
829
854
  """
830
- ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
831
- captured in the specified snapshot. Conflicts with the `engine` attribute.
855
+ The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
832
856
  """
833
857
  return pulumi.get(self, "snapshot_id")
834
858
 
835
859
  @snapshot_id.setter
836
- def snapshot_id(self, value: Optional[pulumi.Input[str]]):
860
+ def snapshot_id(self, value: Optional[pulumi.Input[_builtins.str]]):
837
861
  pulumi.set(self, "snapshot_id", value)
838
862
 
839
- @property
863
+ @_builtins.property
840
864
  @pulumi.getter
841
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
865
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
842
866
  """
843
867
  The tags associated with the Database Instance.
844
868
  """
845
869
  return pulumi.get(self, "tags")
846
870
 
847
871
  @tags.setter
848
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
872
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
849
873
  pulumi.set(self, "tags", value)
850
874
 
851
- @property
875
+ @_builtins.property
876
+ @pulumi.getter(name="upgradableVersions")
877
+ def upgradable_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]]:
878
+ """
879
+ List of available engine versions for upgrade. Each version contains:
880
+ """
881
+ return pulumi.get(self, "upgradable_versions")
882
+
883
+ @upgradable_versions.setter
884
+ def upgradable_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]]):
885
+ pulumi.set(self, "upgradable_versions", value)
886
+
887
+ @_builtins.property
852
888
  @pulumi.getter(name="userName")
853
- def user_name(self) -> Optional[pulumi.Input[str]]:
889
+ def user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
854
890
  """
855
891
  Identifier for the first user of the Database Instance.
856
892
 
@@ -859,12 +895,12 @@ class _DatabaseInstanceState:
859
895
  return pulumi.get(self, "user_name")
860
896
 
861
897
  @user_name.setter
862
- def user_name(self, value: Optional[pulumi.Input[str]]):
898
+ def user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
863
899
  pulumi.set(self, "user_name", value)
864
900
 
865
- @property
901
+ @_builtins.property
866
902
  @pulumi.getter(name="volumeSizeInGb")
867
- def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]:
903
+ def volume_size_in_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
868
904
  """
869
905
  Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
870
906
 
@@ -873,25 +909,26 @@ class _DatabaseInstanceState:
873
909
  return pulumi.get(self, "volume_size_in_gb")
874
910
 
875
911
  @volume_size_in_gb.setter
876
- def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]):
912
+ def volume_size_in_gb(self, value: Optional[pulumi.Input[_builtins.int]]):
877
913
  pulumi.set(self, "volume_size_in_gb", value)
878
914
 
879
- @property
915
+ @_builtins.property
880
916
  @pulumi.getter(name="volumeType")
881
- def volume_type(self) -> Optional[pulumi.Input[str]]:
917
+ def volume_type(self) -> Optional[pulumi.Input[_builtins.str]]:
882
918
  """
883
- Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
919
+ Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
884
920
  """
885
921
  return pulumi.get(self, "volume_type")
886
922
 
887
923
  @volume_type.setter
888
- def volume_type(self, value: Optional[pulumi.Input[str]]):
924
+ def volume_type(self, value: Optional[pulumi.Input[_builtins.str]]):
889
925
  pulumi.set(self, "volume_type", value)
890
926
 
891
927
 
892
928
  warnings.warn("""scaleway.index/databaseinstance.DatabaseInstance has been deprecated in favor of scaleway.databases/instance.Instance""", DeprecationWarning)
893
929
 
894
930
 
931
+ @pulumi.type_token("scaleway:index/databaseInstance:DatabaseInstance")
895
932
  class DatabaseInstance(pulumi.CustomResource):
896
933
  warnings.warn("""scaleway.index/databaseinstance.DatabaseInstance has been deprecated in favor of scaleway.databases/instance.Instance""", DeprecationWarning)
897
934
 
@@ -899,28 +936,29 @@ class DatabaseInstance(pulumi.CustomResource):
899
936
  def __init__(__self__,
900
937
  resource_name: str,
901
938
  opts: Optional[pulumi.ResourceOptions] = None,
902
- backup_same_region: Optional[pulumi.Input[bool]] = None,
903
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
904
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
905
- disable_backup: Optional[pulumi.Input[bool]] = None,
906
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
907
- engine: Optional[pulumi.Input[str]] = None,
908
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
909
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
910
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
939
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
940
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
941
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
942
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
943
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
944
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
945
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
946
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
947
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
911
948
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
912
- name: Optional[pulumi.Input[str]] = None,
913
- node_type: Optional[pulumi.Input[str]] = None,
914
- password: Optional[pulumi.Input[str]] = None,
949
+ name: Optional[pulumi.Input[_builtins.str]] = None,
950
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
951
+ password: Optional[pulumi.Input[_builtins.str]] = None,
952
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstancePrivateIpArgs', 'DatabaseInstancePrivateIpArgsDict']]]]] = None,
915
953
  private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
916
- project_id: Optional[pulumi.Input[str]] = None,
917
- region: Optional[pulumi.Input[str]] = None,
918
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
919
- snapshot_id: Optional[pulumi.Input[str]] = None,
920
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
921
- user_name: Optional[pulumi.Input[str]] = None,
922
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
923
- volume_type: Optional[pulumi.Input[str]] = None,
954
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
955
+ region: Optional[pulumi.Input[_builtins.str]] = None,
956
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
957
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
958
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
959
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
960
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
961
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None,
924
962
  __props__=None):
925
963
  """
926
964
  Creates and manages Scaleway Database Instances.
@@ -1002,6 +1040,24 @@ class DatabaseInstance(pulumi.CustomResource):
1002
1040
  backup_schedule_retention=7)
1003
1041
  ```
1004
1042
 
1043
+ ### Example Engine Upgrade
1044
+
1045
+ ```python
1046
+ import pulumi
1047
+ import pulumiverse_scaleway as scaleway
1048
+
1049
+ # Initial creation with PostgreSQL 14
1050
+ main = scaleway.databases.Instance("main",
1051
+ name="my-database",
1052
+ node_type="DB-DEV-S",
1053
+ engine="PostgreSQL-14",
1054
+ is_ha_cluster=False,
1055
+ disable_backup=True,
1056
+ user_name="my_user",
1057
+ password="thiZ_is_v&ry_s3cret")
1058
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1059
+ ```
1060
+
1005
1061
  ### Examples of endpoint configuration
1006
1062
 
1007
1063
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1032,13 +1088,13 @@ class DatabaseInstance(pulumi.CustomResource):
1032
1088
 
1033
1089
  pn = scaleway.network.PrivateNetwork("pn")
1034
1090
  main = scaleway.databases.Instance("main",
1035
- load_balancers=[{}],
1036
1091
  node_type="DB-DEV-S",
1037
1092
  engine="PostgreSQL-15",
1038
1093
  private_network={
1039
1094
  "pn_id": pn.id,
1040
1095
  "enable_ipam": True,
1041
- })
1096
+ },
1097
+ load_balancer={})
1042
1098
  ```
1043
1099
 
1044
1100
  ### Default: 1 public endpoint
@@ -1054,6 +1110,8 @@ class DatabaseInstance(pulumi.CustomResource):
1054
1110
 
1055
1111
  > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1056
1112
 
1113
+ > **Note** Managed PostgreSQL and MySQL Database Instances are compatible with the [VPC routing](https://www.scaleway.com/en/docs/network/vpc/concepts/#routing) feature, which allows you to connect one or more Database Instances in a Private Network to resources in other Private Networks of the same VPC. This feature is automatically enabled when your Database Instance is connected to a Private Network within a VPC that has routing enabled. Refer to the [How to manage routing](https://www.scaleway.com/en/docs/network/vpc/how-to/manage-routing/) documentation page for more information about VPC routing.
1114
+
1057
1115
  ## Limitations
1058
1116
 
1059
1117
  The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
@@ -1072,44 +1130,42 @@ class DatabaseInstance(pulumi.CustomResource):
1072
1130
 
1073
1131
  :param str resource_name: The name of the resource.
1074
1132
  :param pulumi.ResourceOptions opts: Options for the resource.
1075
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1076
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1077
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1078
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1079
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1080
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1081
-
1082
- > **Important** Updates to `engine` will recreate the Database Instance.
1083
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1084
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1133
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1134
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
1135
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
1136
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
1137
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1138
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1139
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1140
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1085
1141
 
1086
1142
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1087
- :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1143
+ :param pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1088
1144
  :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1089
- :param pulumi.Input[str] name: The name of the Database Instance.
1090
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1145
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1146
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1091
1147
 
1092
1148
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1093
1149
  interruption.
1094
1150
 
1095
1151
  > **Important** Once your Database Instance reaches `disk_full` status, if you are using `lssd` storage, you should upgrade the `node_type`, and if you are using `bssd` storage, you should increase the volume size before making any other changes to your Database Instance.
1096
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1152
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
1153
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstancePrivateIpArgs', 'DatabaseInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
1097
1154
  :param pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1098
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1155
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
1099
1156
  Instance is associated with.
1100
- :param pulumi.Input[str] region: `region`) The region
1157
+ :param pulumi.Input[_builtins.str] region: `region`) The region
1101
1158
  in which the Database Instance should be created.
1102
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1103
- :param pulumi.Input[str] snapshot_id: ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
1104
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1105
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1106
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1159
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
1160
+ :param pulumi.Input[_builtins.str] snapshot_id: The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
1161
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
1162
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
1107
1163
 
1108
1164
  > **Important** Updates to `user_name` will recreate the Database Instance.
1109
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1165
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1110
1166
 
1111
1167
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1112
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1168
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1113
1169
  """
1114
1170
  ...
1115
1171
  @overload
@@ -1197,6 +1253,24 @@ class DatabaseInstance(pulumi.CustomResource):
1197
1253
  backup_schedule_retention=7)
1198
1254
  ```
1199
1255
 
1256
+ ### Example Engine Upgrade
1257
+
1258
+ ```python
1259
+ import pulumi
1260
+ import pulumiverse_scaleway as scaleway
1261
+
1262
+ # Initial creation with PostgreSQL 14
1263
+ main = scaleway.databases.Instance("main",
1264
+ name="my-database",
1265
+ node_type="DB-DEV-S",
1266
+ engine="PostgreSQL-14",
1267
+ is_ha_cluster=False,
1268
+ disable_backup=True,
1269
+ user_name="my_user",
1270
+ password="thiZ_is_v&ry_s3cret")
1271
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1272
+ ```
1273
+
1200
1274
  ### Examples of endpoint configuration
1201
1275
 
1202
1276
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1227,13 +1301,13 @@ class DatabaseInstance(pulumi.CustomResource):
1227
1301
 
1228
1302
  pn = scaleway.network.PrivateNetwork("pn")
1229
1303
  main = scaleway.databases.Instance("main",
1230
- load_balancers=[{}],
1231
1304
  node_type="DB-DEV-S",
1232
1305
  engine="PostgreSQL-15",
1233
1306
  private_network={
1234
1307
  "pn_id": pn.id,
1235
1308
  "enable_ipam": True,
1236
- })
1309
+ },
1310
+ load_balancer={})
1237
1311
  ```
1238
1312
 
1239
1313
  ### Default: 1 public endpoint
@@ -1249,6 +1323,8 @@ class DatabaseInstance(pulumi.CustomResource):
1249
1323
 
1250
1324
  > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1251
1325
 
1326
+ > **Note** Managed PostgreSQL and MySQL Database Instances are compatible with the [VPC routing](https://www.scaleway.com/en/docs/network/vpc/concepts/#routing) feature, which allows you to connect one or more Database Instances in a Private Network to resources in other Private Networks of the same VPC. This feature is automatically enabled when your Database Instance is connected to a Private Network within a VPC that has routing enabled. Refer to the [How to manage routing](https://www.scaleway.com/en/docs/network/vpc/how-to/manage-routing/) documentation page for more information about VPC routing.
1327
+
1252
1328
  ## Limitations
1253
1329
 
1254
1330
  The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
@@ -1280,28 +1356,29 @@ class DatabaseInstance(pulumi.CustomResource):
1280
1356
  def _internal_init(__self__,
1281
1357
  resource_name: str,
1282
1358
  opts: Optional[pulumi.ResourceOptions] = None,
1283
- backup_same_region: Optional[pulumi.Input[bool]] = None,
1284
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1285
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1286
- disable_backup: Optional[pulumi.Input[bool]] = None,
1287
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1288
- engine: Optional[pulumi.Input[str]] = None,
1289
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1290
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1291
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1359
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
1360
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
1361
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
1362
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
1363
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
1364
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
1365
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1366
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1367
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
1292
1368
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1293
- name: Optional[pulumi.Input[str]] = None,
1294
- node_type: Optional[pulumi.Input[str]] = None,
1295
- password: Optional[pulumi.Input[str]] = None,
1369
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1370
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
1371
+ password: Optional[pulumi.Input[_builtins.str]] = None,
1372
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstancePrivateIpArgs', 'DatabaseInstancePrivateIpArgsDict']]]]] = None,
1296
1373
  private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
1297
- project_id: Optional[pulumi.Input[str]] = None,
1298
- region: Optional[pulumi.Input[str]] = None,
1299
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1300
- snapshot_id: Optional[pulumi.Input[str]] = None,
1301
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1302
- user_name: Optional[pulumi.Input[str]] = None,
1303
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1304
- volume_type: Optional[pulumi.Input[str]] = None,
1374
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1375
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1376
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1377
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
1378
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1379
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
1380
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
1381
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None,
1305
1382
  __props__=None):
1306
1383
  pulumi.log.warn("""DatabaseInstance is deprecated: scaleway.index/databaseinstance.DatabaseInstance has been deprecated in favor of scaleway.databases/instance.Instance""")
1307
1384
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -1320,13 +1397,14 @@ class DatabaseInstance(pulumi.CustomResource):
1320
1397
  __props__.__dict__["engine"] = engine
1321
1398
  __props__.__dict__["init_settings"] = init_settings
1322
1399
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1323
- __props__.__dict__["load_balancers"] = load_balancers
1400
+ __props__.__dict__["load_balancer"] = load_balancer
1324
1401
  __props__.__dict__["logs_policy"] = logs_policy
1325
1402
  __props__.__dict__["name"] = name
1326
1403
  if node_type is None and not opts.urn:
1327
1404
  raise TypeError("Missing required property 'node_type'")
1328
1405
  __props__.__dict__["node_type"] = node_type
1329
1406
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
1407
+ __props__.__dict__["private_ips"] = private_ips
1330
1408
  __props__.__dict__["private_network"] = private_network
1331
1409
  __props__.__dict__["project_id"] = project_id
1332
1410
  __props__.__dict__["region"] = region
@@ -1341,6 +1419,7 @@ class DatabaseInstance(pulumi.CustomResource):
1341
1419
  __props__.__dict__["endpoint_port"] = None
1342
1420
  __props__.__dict__["organization_id"] = None
1343
1421
  __props__.__dict__["read_replicas"] = None
1422
+ __props__.__dict__["upgradable_versions"] = None
1344
1423
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
1345
1424
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1346
1425
  super(DatabaseInstance, __self__).__init__(
@@ -1353,33 +1432,35 @@ class DatabaseInstance(pulumi.CustomResource):
1353
1432
  def get(resource_name: str,
1354
1433
  id: pulumi.Input[str],
1355
1434
  opts: Optional[pulumi.ResourceOptions] = None,
1356
- backup_same_region: Optional[pulumi.Input[bool]] = None,
1357
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1358
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1359
- certificate: Optional[pulumi.Input[str]] = None,
1360
- disable_backup: Optional[pulumi.Input[bool]] = None,
1361
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1362
- endpoint_ip: Optional[pulumi.Input[str]] = None,
1363
- endpoint_port: Optional[pulumi.Input[int]] = None,
1364
- engine: Optional[pulumi.Input[str]] = None,
1365
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1366
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1367
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1435
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
1436
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
1437
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
1438
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
1439
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
1440
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
1441
+ endpoint_ip: Optional[pulumi.Input[_builtins.str]] = None,
1442
+ endpoint_port: Optional[pulumi.Input[_builtins.int]] = None,
1443
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
1444
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1445
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1446
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
1368
1447
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1369
- name: Optional[pulumi.Input[str]] = None,
1370
- node_type: Optional[pulumi.Input[str]] = None,
1371
- organization_id: Optional[pulumi.Input[str]] = None,
1372
- password: Optional[pulumi.Input[str]] = None,
1448
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1449
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
1450
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
1451
+ password: Optional[pulumi.Input[_builtins.str]] = None,
1452
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstancePrivateIpArgs', 'DatabaseInstancePrivateIpArgsDict']]]]] = None,
1373
1453
  private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
1374
- project_id: Optional[pulumi.Input[str]] = None,
1454
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1375
1455
  read_replicas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceReadReplicaArgs', 'DatabaseInstanceReadReplicaArgsDict']]]]] = None,
1376
- region: Optional[pulumi.Input[str]] = None,
1377
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1378
- snapshot_id: Optional[pulumi.Input[str]] = None,
1379
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1380
- user_name: Optional[pulumi.Input[str]] = None,
1381
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1382
- volume_type: Optional[pulumi.Input[str]] = None) -> 'DatabaseInstance':
1456
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1457
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1458
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
1459
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1460
+ upgradable_versions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceUpgradableVersionArgs', 'DatabaseInstanceUpgradableVersionArgsDict']]]]] = None,
1461
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
1462
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
1463
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'DatabaseInstance':
1383
1464
  """
1384
1465
  Get an existing DatabaseInstance resource's state with the given name, id, and optional extra
1385
1466
  properties used to qualify the lookup.
@@ -1387,49 +1468,48 @@ class DatabaseInstance(pulumi.CustomResource):
1387
1468
  :param str resource_name: The unique name of the resulting resource.
1388
1469
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1389
1470
  :param pulumi.ResourceOptions opts: Options for the resource.
1390
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1391
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1392
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1393
- :param pulumi.Input[str] certificate: Certificate of the Database Instance.
1394
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1395
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1396
- :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1397
- :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1398
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1399
-
1400
- > **Important** Updates to `engine` will recreate the Database Instance.
1401
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1402
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1471
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1472
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
1473
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
1474
+ :param pulumi.Input[_builtins.str] certificate: Certificate of the Database Instance.
1475
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
1476
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1477
+ :param pulumi.Input[_builtins.str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1478
+ :param pulumi.Input[_builtins.int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1479
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1480
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1481
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1403
1482
 
1404
1483
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1405
- :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1484
+ :param pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1406
1485
  :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1407
- :param pulumi.Input[str] name: The name of the Database Instance.
1408
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1486
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1487
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1409
1488
 
1410
1489
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1411
1490
  interruption.
1412
1491
 
1413
1492
  > **Important** Once your Database Instance reaches `disk_full` status, if you are using `lssd` storage, you should upgrade the `node_type`, and if you are using `bssd` storage, you should increase the volume size before making any other changes to your Database Instance.
1414
- :param pulumi.Input[str] organization_id: The organization ID the Database Instance is associated with.
1415
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1493
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the Database Instance is associated with.
1494
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
1495
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstancePrivateIpArgs', 'DatabaseInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
1416
1496
  :param pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1417
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1497
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
1418
1498
  Instance is associated with.
1419
1499
  :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceReadReplicaArgs', 'DatabaseInstanceReadReplicaArgsDict']]]] read_replicas: List of read replicas of the Database Instance.
1420
- :param pulumi.Input[str] region: `region`) The region
1500
+ :param pulumi.Input[_builtins.str] region: `region`) The region
1421
1501
  in which the Database Instance should be created.
1422
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1423
- :param pulumi.Input[str] snapshot_id: ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
1424
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1425
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1426
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1502
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
1503
+ :param pulumi.Input[_builtins.str] snapshot_id: The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
1504
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
1505
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceUpgradableVersionArgs', 'DatabaseInstanceUpgradableVersionArgsDict']]]] upgradable_versions: List of available engine versions for upgrade. Each version contains:
1506
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
1427
1507
 
1428
1508
  > **Important** Updates to `user_name` will recreate the Database Instance.
1429
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1509
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1430
1510
 
1431
1511
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1432
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1512
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1433
1513
  """
1434
1514
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1435
1515
 
@@ -1446,12 +1526,13 @@ class DatabaseInstance(pulumi.CustomResource):
1446
1526
  __props__.__dict__["engine"] = engine
1447
1527
  __props__.__dict__["init_settings"] = init_settings
1448
1528
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1449
- __props__.__dict__["load_balancers"] = load_balancers
1529
+ __props__.__dict__["load_balancer"] = load_balancer
1450
1530
  __props__.__dict__["logs_policy"] = logs_policy
1451
1531
  __props__.__dict__["name"] = name
1452
1532
  __props__.__dict__["node_type"] = node_type
1453
1533
  __props__.__dict__["organization_id"] = organization_id
1454
1534
  __props__.__dict__["password"] = password
1535
+ __props__.__dict__["private_ips"] = private_ips
1455
1536
  __props__.__dict__["private_network"] = private_network
1456
1537
  __props__.__dict__["project_id"] = project_id
1457
1538
  __props__.__dict__["read_replicas"] = read_replicas
@@ -1459,98 +1540,97 @@ class DatabaseInstance(pulumi.CustomResource):
1459
1540
  __props__.__dict__["settings"] = settings
1460
1541
  __props__.__dict__["snapshot_id"] = snapshot_id
1461
1542
  __props__.__dict__["tags"] = tags
1543
+ __props__.__dict__["upgradable_versions"] = upgradable_versions
1462
1544
  __props__.__dict__["user_name"] = user_name
1463
1545
  __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb
1464
1546
  __props__.__dict__["volume_type"] = volume_type
1465
1547
  return DatabaseInstance(resource_name, opts=opts, __props__=__props__)
1466
1548
 
1467
- @property
1549
+ @_builtins.property
1468
1550
  @pulumi.getter(name="backupSameRegion")
1469
- def backup_same_region(self) -> pulumi.Output[bool]:
1551
+ def backup_same_region(self) -> pulumi.Output[_builtins.bool]:
1470
1552
  """
1471
1553
  Boolean to store logical backups in the same region as the database instance
1472
1554
  """
1473
1555
  return pulumi.get(self, "backup_same_region")
1474
1556
 
1475
- @property
1557
+ @_builtins.property
1476
1558
  @pulumi.getter(name="backupScheduleFrequency")
1477
- def backup_schedule_frequency(self) -> pulumi.Output[int]:
1559
+ def backup_schedule_frequency(self) -> pulumi.Output[_builtins.int]:
1478
1560
  """
1479
1561
  Backup schedule frequency in hours
1480
1562
  """
1481
1563
  return pulumi.get(self, "backup_schedule_frequency")
1482
1564
 
1483
- @property
1565
+ @_builtins.property
1484
1566
  @pulumi.getter(name="backupScheduleRetention")
1485
- def backup_schedule_retention(self) -> pulumi.Output[int]:
1567
+ def backup_schedule_retention(self) -> pulumi.Output[_builtins.int]:
1486
1568
  """
1487
1569
  Backup schedule retention in days
1488
1570
  """
1489
1571
  return pulumi.get(self, "backup_schedule_retention")
1490
1572
 
1491
- @property
1573
+ @_builtins.property
1492
1574
  @pulumi.getter
1493
- def certificate(self) -> pulumi.Output[str]:
1575
+ def certificate(self) -> pulumi.Output[_builtins.str]:
1494
1576
  """
1495
1577
  Certificate of the Database Instance.
1496
1578
  """
1497
1579
  return pulumi.get(self, "certificate")
1498
1580
 
1499
- @property
1581
+ @_builtins.property
1500
1582
  @pulumi.getter(name="disableBackup")
1501
- def disable_backup(self) -> pulumi.Output[Optional[bool]]:
1583
+ def disable_backup(self) -> pulumi.Output[Optional[_builtins.bool]]:
1502
1584
  """
1503
1585
  Disable automated backup for the database instance
1504
1586
  """
1505
1587
  return pulumi.get(self, "disable_backup")
1506
1588
 
1507
- @property
1589
+ @_builtins.property
1508
1590
  @pulumi.getter(name="encryptionAtRest")
1509
- def encryption_at_rest(self) -> pulumi.Output[Optional[bool]]:
1591
+ def encryption_at_rest(self) -> pulumi.Output[Optional[_builtins.bool]]:
1510
1592
  """
1511
1593
  Enable or disable encryption at rest for the Database Instance.
1512
1594
  """
1513
1595
  return pulumi.get(self, "encryption_at_rest")
1514
1596
 
1515
- @property
1597
+ @_builtins.property
1516
1598
  @pulumi.getter(name="endpointIp")
1517
1599
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1518
- def endpoint_ip(self) -> pulumi.Output[str]:
1600
+ def endpoint_ip(self) -> pulumi.Output[_builtins.str]:
1519
1601
  """
1520
1602
  (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1521
1603
  """
1522
1604
  return pulumi.get(self, "endpoint_ip")
1523
1605
 
1524
- @property
1606
+ @_builtins.property
1525
1607
  @pulumi.getter(name="endpointPort")
1526
1608
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1527
- def endpoint_port(self) -> pulumi.Output[int]:
1609
+ def endpoint_port(self) -> pulumi.Output[_builtins.int]:
1528
1610
  """
1529
1611
  (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1530
1612
  """
1531
1613
  return pulumi.get(self, "endpoint_port")
1532
1614
 
1533
- @property
1615
+ @_builtins.property
1534
1616
  @pulumi.getter
1535
- def engine(self) -> pulumi.Output[str]:
1617
+ def engine(self) -> pulumi.Output[_builtins.str]:
1536
1618
  """
1537
- Database Instance's engine version (e.g. `PostgreSQL-11`).
1538
-
1539
- > **Important** Updates to `engine` will recreate the Database Instance.
1619
+ Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1540
1620
  """
1541
1621
  return pulumi.get(self, "engine")
1542
1622
 
1543
- @property
1623
+ @_builtins.property
1544
1624
  @pulumi.getter(name="initSettings")
1545
- def init_settings(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1625
+ def init_settings(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1546
1626
  """
1547
1627
  Map of engine settings to be set at database initialisation.
1548
1628
  """
1549
1629
  return pulumi.get(self, "init_settings")
1550
1630
 
1551
- @property
1631
+ @_builtins.property
1552
1632
  @pulumi.getter(name="isHaCluster")
1553
- def is_ha_cluster(self) -> pulumi.Output[Optional[bool]]:
1633
+ def is_ha_cluster(self) -> pulumi.Output[Optional[_builtins.bool]]:
1554
1634
  """
1555
1635
  Enable or disable high availability for the Database Instance.
1556
1636
 
@@ -1558,15 +1638,15 @@ class DatabaseInstance(pulumi.CustomResource):
1558
1638
  """
1559
1639
  return pulumi.get(self, "is_ha_cluster")
1560
1640
 
1561
- @property
1562
- @pulumi.getter(name="loadBalancers")
1563
- def load_balancers(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceLoadBalancer']]:
1641
+ @_builtins.property
1642
+ @pulumi.getter(name="loadBalancer")
1643
+ def load_balancer(self) -> pulumi.Output['outputs.DatabaseInstanceLoadBalancer']:
1564
1644
  """
1565
1645
  List of Load Balancer endpoints of the Database Instance.
1566
1646
  """
1567
- return pulumi.get(self, "load_balancers")
1647
+ return pulumi.get(self, "load_balancer")
1568
1648
 
1569
- @property
1649
+ @_builtins.property
1570
1650
  @pulumi.getter(name="logsPolicy")
1571
1651
  def logs_policy(self) -> pulumi.Output['outputs.DatabaseInstanceLogsPolicy']:
1572
1652
  """
@@ -1574,17 +1654,17 @@ class DatabaseInstance(pulumi.CustomResource):
1574
1654
  """
1575
1655
  return pulumi.get(self, "logs_policy")
1576
1656
 
1577
- @property
1657
+ @_builtins.property
1578
1658
  @pulumi.getter
1579
- def name(self) -> pulumi.Output[str]:
1659
+ def name(self) -> pulumi.Output[_builtins.str]:
1580
1660
  """
1581
1661
  The name of the Database Instance.
1582
1662
  """
1583
1663
  return pulumi.get(self, "name")
1584
1664
 
1585
- @property
1665
+ @_builtins.property
1586
1666
  @pulumi.getter(name="nodeType")
1587
- def node_type(self) -> pulumi.Output[str]:
1667
+ def node_type(self) -> pulumi.Output[_builtins.str]:
1588
1668
  """
1589
1669
  The type of Database Instance you want to create (e.g. `db-dev-s`).
1590
1670
 
@@ -1595,23 +1675,31 @@ class DatabaseInstance(pulumi.CustomResource):
1595
1675
  """
1596
1676
  return pulumi.get(self, "node_type")
1597
1677
 
1598
- @property
1678
+ @_builtins.property
1599
1679
  @pulumi.getter(name="organizationId")
1600
- def organization_id(self) -> pulumi.Output[str]:
1680
+ def organization_id(self) -> pulumi.Output[_builtins.str]:
1601
1681
  """
1602
1682
  The organization ID the Database Instance is associated with.
1603
1683
  """
1604
1684
  return pulumi.get(self, "organization_id")
1605
1685
 
1606
- @property
1686
+ @_builtins.property
1607
1687
  @pulumi.getter
1608
- def password(self) -> pulumi.Output[Optional[str]]:
1688
+ def password(self) -> pulumi.Output[Optional[_builtins.str]]:
1609
1689
  """
1610
1690
  Password for the first user of the Database Instance.
1611
1691
  """
1612
1692
  return pulumi.get(self, "password")
1613
1693
 
1614
- @property
1694
+ @_builtins.property
1695
+ @pulumi.getter(name="privateIps")
1696
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.DatabaseInstancePrivateIp']]:
1697
+ """
1698
+ The private IPv4 address associated with the resource.
1699
+ """
1700
+ return pulumi.get(self, "private_ips")
1701
+
1702
+ @_builtins.property
1615
1703
  @pulumi.getter(name="privateNetwork")
1616
1704
  def private_network(self) -> pulumi.Output[Optional['outputs.DatabaseInstancePrivateNetwork']]:
1617
1705
  """
@@ -1619,16 +1707,16 @@ class DatabaseInstance(pulumi.CustomResource):
1619
1707
  """
1620
1708
  return pulumi.get(self, "private_network")
1621
1709
 
1622
- @property
1710
+ @_builtins.property
1623
1711
  @pulumi.getter(name="projectId")
1624
- def project_id(self) -> pulumi.Output[str]:
1712
+ def project_id(self) -> pulumi.Output[_builtins.str]:
1625
1713
  """
1626
1714
  `project_id`) The ID of the project the Database
1627
1715
  Instance is associated with.
1628
1716
  """
1629
1717
  return pulumi.get(self, "project_id")
1630
1718
 
1631
- @property
1719
+ @_builtins.property
1632
1720
  @pulumi.getter(name="readReplicas")
1633
1721
  def read_replicas(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceReadReplica']]:
1634
1722
  """
@@ -1636,43 +1724,50 @@ class DatabaseInstance(pulumi.CustomResource):
1636
1724
  """
1637
1725
  return pulumi.get(self, "read_replicas")
1638
1726
 
1639
- @property
1727
+ @_builtins.property
1640
1728
  @pulumi.getter
1641
- def region(self) -> pulumi.Output[str]:
1729
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
1642
1730
  """
1643
1731
  `region`) The region
1644
1732
  in which the Database Instance should be created.
1645
1733
  """
1646
1734
  return pulumi.get(self, "region")
1647
1735
 
1648
- @property
1736
+ @_builtins.property
1649
1737
  @pulumi.getter
1650
- def settings(self) -> pulumi.Output[Mapping[str, str]]:
1738
+ def settings(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
1651
1739
  """
1652
1740
  Map of engine settings to be set on a running instance.
1653
1741
  """
1654
1742
  return pulumi.get(self, "settings")
1655
1743
 
1656
- @property
1744
+ @_builtins.property
1657
1745
  @pulumi.getter(name="snapshotId")
1658
- def snapshot_id(self) -> pulumi.Output[Optional[str]]:
1746
+ def snapshot_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1659
1747
  """
1660
- ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
1661
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1748
+ The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
1662
1749
  """
1663
1750
  return pulumi.get(self, "snapshot_id")
1664
1751
 
1665
- @property
1752
+ @_builtins.property
1666
1753
  @pulumi.getter
1667
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1754
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1668
1755
  """
1669
1756
  The tags associated with the Database Instance.
1670
1757
  """
1671
1758
  return pulumi.get(self, "tags")
1672
1759
 
1673
- @property
1760
+ @_builtins.property
1761
+ @pulumi.getter(name="upgradableVersions")
1762
+ def upgradable_versions(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceUpgradableVersion']]:
1763
+ """
1764
+ List of available engine versions for upgrade. Each version contains:
1765
+ """
1766
+ return pulumi.get(self, "upgradable_versions")
1767
+
1768
+ @_builtins.property
1674
1769
  @pulumi.getter(name="userName")
1675
- def user_name(self) -> pulumi.Output[str]:
1770
+ def user_name(self) -> pulumi.Output[_builtins.str]:
1676
1771
  """
1677
1772
  Identifier for the first user of the Database Instance.
1678
1773
 
@@ -1680,9 +1775,9 @@ class DatabaseInstance(pulumi.CustomResource):
1680
1775
  """
1681
1776
  return pulumi.get(self, "user_name")
1682
1777
 
1683
- @property
1778
+ @_builtins.property
1684
1779
  @pulumi.getter(name="volumeSizeInGb")
1685
- def volume_size_in_gb(self) -> pulumi.Output[int]:
1780
+ def volume_size_in_gb(self) -> pulumi.Output[_builtins.int]:
1686
1781
  """
1687
1782
  Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1688
1783
 
@@ -1690,11 +1785,11 @@ class DatabaseInstance(pulumi.CustomResource):
1690
1785
  """
1691
1786
  return pulumi.get(self, "volume_size_in_gb")
1692
1787
 
1693
- @property
1788
+ @_builtins.property
1694
1789
  @pulumi.getter(name="volumeType")
1695
- def volume_type(self) -> pulumi.Output[Optional[str]]:
1790
+ def volume_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1696
1791
  """
1697
- Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1792
+ Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1698
1793
  """
1699
1794
  return pulumi.get(self, "volume_type")
1700
1795