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__ = ['InstanceArgs', 'Instance']
21
21
  @pulumi.input_type
22
22
  class InstanceArgs:
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['InstanceLoadBalancerArgs']]]] = 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['InstanceLoadBalancerArgs']] = None,
34
34
  logs_policy: Optional[pulumi.Input['InstanceLogsPolicyArgs']] = 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['InstancePrivateIpArgs']]]] = None,
37
38
  private_network: Optional[pulumi.Input['InstancePrivateNetworkArgs']] = 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 Instance 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['InstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
65
+ :param pulumi.Input['InstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
67
66
  :param pulumi.Input['InstanceLogsPolicyArgs'] 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['InstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
70
70
  :param pulumi.Input['InstancePrivateNetworkArgs'] 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 InstanceArgs:
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 InstanceArgs:
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 InstanceArgs:
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 InstanceArgs:
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['InstanceLoadBalancerArgs']]]]:
247
+ @_builtins.property
248
+ @pulumi.getter(name="loadBalancer")
249
+ def load_balancer(self) -> Optional[pulumi.Input['InstanceLoadBalancerArgs']]:
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['InstanceLoadBalancerArgs']]]]):
258
- pulumi.set(self, "load_balancers", value)
255
+ @load_balancer.setter
256
+ def load_balancer(self, value: Optional[pulumi.Input['InstanceLoadBalancerArgs']]):
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['InstanceLogsPolicyArgs']]:
263
262
  """
@@ -269,31 +268,43 @@ class InstanceArgs:
269
268
  def logs_policy(self, value: Optional[pulumi.Input['InstanceLogsPolicyArgs']]):
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['InstancePrivateIpArgs']]]]:
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['InstancePrivateIpArgs']]]]):
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['InstancePrivateNetworkArgs']]:
299
310
  """
@@ -305,9 +316,9 @@ class InstanceArgs:
305
316
  def private_network(self, value: Optional[pulumi.Input['InstancePrivateNetworkArgs']]):
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 InstanceArgs:
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 InstanceArgs:
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 InstanceArgs:
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 InstanceArgs:
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 _InstanceState:
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['InstanceLoadBalancerArgs']]]] = 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['InstanceLoadBalancerArgs']] = None,
427
437
  logs_policy: Optional[pulumi.Input['InstanceLogsPolicyArgs']] = 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['InstancePrivateIpArgs']]]] = None,
432
443
  private_network: Optional[pulumi.Input['InstancePrivateNetworkArgs']] = 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['InstanceReadReplicaArgs']]]] = 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['InstanceUpgradableVersionArgs']]]] = 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 Instance 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['InstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
469
+ :param pulumi.Input['InstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
460
470
  :param pulumi.Input['InstanceLogsPolicyArgs'] 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['InstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
470
481
  :param pulumi.Input['InstancePrivateNetworkArgs'] 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['InstanceReadReplicaArgs']]] 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['InstanceUpgradableVersionArgs']]] 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 _InstanceState:
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 _InstanceState:
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 _InstanceState:
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 _InstanceState:
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 _InstanceState:
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['InstanceLoadBalancerArgs']]]]:
700
+ @_builtins.property
701
+ @pulumi.getter(name="loadBalancer")
702
+ def load_balancer(self) -> Optional[pulumi.Input['InstanceLoadBalancerArgs']]:
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['InstanceLoadBalancerArgs']]]]):
697
- pulumi.set(self, "load_balancers", value)
708
+ @load_balancer.setter
709
+ def load_balancer(self, value: Optional[pulumi.Input['InstanceLoadBalancerArgs']]):
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['InstanceLogsPolicyArgs']]:
702
715
  """
@@ -708,21 +721,21 @@ class _InstanceState:
708
721
  def logs_policy(self, value: Optional[pulumi.Input['InstanceLogsPolicyArgs']]):
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 _InstanceState:
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['InstancePrivateIpArgs']]]]:
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['InstancePrivateIpArgs']]]]):
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['InstancePrivateNetworkArgs']]:
767
792
  """
@@ -773,9 +798,9 @@ class _InstanceState:
773
798
  def private_network(self, value: Optional[pulumi.Input['InstancePrivateNetworkArgs']]):
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 _InstanceState:
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['InstanceReadReplicaArgs']]]]:
792
817
  """
@@ -798,9 +823,9 @@ class _InstanceState:
798
823
  def read_replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceReadReplicaArgs']]]]):
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 _InstanceState:
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['InstanceUpgradableVersionArgs']]]]:
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['InstanceUpgradableVersionArgs']]]]):
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 _InstanceState:
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,49 +909,51 @@ class _InstanceState:
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
 
928
+ @pulumi.type_token("scaleway:databases/instance:Instance")
892
929
  class Instance(pulumi.CustomResource):
893
930
  @overload
894
931
  def __init__(__self__,
895
932
  resource_name: str,
896
933
  opts: Optional[pulumi.ResourceOptions] = None,
897
- backup_same_region: Optional[pulumi.Input[bool]] = None,
898
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
899
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
900
- disable_backup: Optional[pulumi.Input[bool]] = None,
901
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
902
- engine: Optional[pulumi.Input[str]] = None,
903
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
904
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
905
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]]]] = None,
934
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
935
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
936
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
937
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
938
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
939
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
940
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
941
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
942
+ load_balancer: Optional[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]] = None,
906
943
  logs_policy: Optional[pulumi.Input[Union['InstanceLogsPolicyArgs', 'InstanceLogsPolicyArgsDict']]] = None,
907
- name: Optional[pulumi.Input[str]] = None,
908
- node_type: Optional[pulumi.Input[str]] = None,
909
- password: Optional[pulumi.Input[str]] = None,
944
+ name: Optional[pulumi.Input[_builtins.str]] = None,
945
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
946
+ password: Optional[pulumi.Input[_builtins.str]] = None,
947
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
910
948
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
911
- project_id: Optional[pulumi.Input[str]] = None,
912
- region: Optional[pulumi.Input[str]] = None,
913
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
914
- snapshot_id: Optional[pulumi.Input[str]] = None,
915
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
916
- user_name: Optional[pulumi.Input[str]] = None,
917
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
918
- volume_type: Optional[pulumi.Input[str]] = None,
949
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
950
+ region: Optional[pulumi.Input[_builtins.str]] = None,
951
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
952
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
953
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
954
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
955
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
956
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None,
919
957
  __props__=None):
920
958
  """
921
959
  Creates and manages Scaleway Database Instances.
@@ -997,6 +1035,24 @@ class Instance(pulumi.CustomResource):
997
1035
  backup_schedule_retention=7)
998
1036
  ```
999
1037
 
1038
+ ### Example Engine Upgrade
1039
+
1040
+ ```python
1041
+ import pulumi
1042
+ import pulumiverse_scaleway as scaleway
1043
+
1044
+ # Initial creation with PostgreSQL 14
1045
+ main = scaleway.databases.Instance("main",
1046
+ name="my-database",
1047
+ node_type="DB-DEV-S",
1048
+ engine="PostgreSQL-14",
1049
+ is_ha_cluster=False,
1050
+ disable_backup=True,
1051
+ user_name="my_user",
1052
+ password="thiZ_is_v&ry_s3cret")
1053
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1054
+ ```
1055
+
1000
1056
  ### Examples of endpoint configuration
1001
1057
 
1002
1058
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1027,13 +1083,13 @@ class Instance(pulumi.CustomResource):
1027
1083
 
1028
1084
  pn = scaleway.network.PrivateNetwork("pn")
1029
1085
  main = scaleway.databases.Instance("main",
1030
- load_balancers=[{}],
1031
1086
  node_type="DB-DEV-S",
1032
1087
  engine="PostgreSQL-15",
1033
1088
  private_network={
1034
1089
  "pn_id": pn.id,
1035
1090
  "enable_ipam": True,
1036
- })
1091
+ },
1092
+ load_balancer={})
1037
1093
  ```
1038
1094
 
1039
1095
  ### Default: 1 public endpoint
@@ -1049,6 +1105,8 @@ class Instance(pulumi.CustomResource):
1049
1105
 
1050
1106
  > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1051
1107
 
1108
+ > **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.
1109
+
1052
1110
  ## Limitations
1053
1111
 
1054
1112
  The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
@@ -1067,44 +1125,42 @@ class Instance(pulumi.CustomResource):
1067
1125
 
1068
1126
  :param str resource_name: The name of the resource.
1069
1127
  :param pulumi.ResourceOptions opts: Options for the resource.
1070
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1071
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1072
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1073
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1074
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1075
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1076
-
1077
- > **Important** Updates to `engine` will recreate the Database Instance.
1078
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1079
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1128
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1129
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
1130
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
1131
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
1132
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1133
+ :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
1134
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1135
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1080
1136
 
1081
1137
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1082
- :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1138
+ :param pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1083
1139
  :param pulumi.Input[Union['InstanceLogsPolicyArgs', 'InstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1084
- :param pulumi.Input[str] name: The name of the Database Instance.
1085
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1140
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1141
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1086
1142
 
1087
1143
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1088
1144
  interruption.
1089
1145
 
1090
1146
  > **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.
1091
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1147
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
1148
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
1092
1149
  :param pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1093
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1150
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
1094
1151
  Instance is associated with.
1095
- :param pulumi.Input[str] region: `region`) The region
1152
+ :param pulumi.Input[_builtins.str] region: `region`) The region
1096
1153
  in which the Database Instance should be created.
1097
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1098
- :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
1099
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1100
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1101
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1154
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
1155
+ :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.
1156
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
1157
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
1102
1158
 
1103
1159
  > **Important** Updates to `user_name` will recreate the Database Instance.
1104
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1160
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1105
1161
 
1106
1162
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1107
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1163
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1108
1164
  """
1109
1165
  ...
1110
1166
  @overload
@@ -1192,6 +1248,24 @@ class Instance(pulumi.CustomResource):
1192
1248
  backup_schedule_retention=7)
1193
1249
  ```
1194
1250
 
1251
+ ### Example Engine Upgrade
1252
+
1253
+ ```python
1254
+ import pulumi
1255
+ import pulumiverse_scaleway as scaleway
1256
+
1257
+ # Initial creation with PostgreSQL 14
1258
+ main = scaleway.databases.Instance("main",
1259
+ name="my-database",
1260
+ node_type="DB-DEV-S",
1261
+ engine="PostgreSQL-14",
1262
+ is_ha_cluster=False,
1263
+ disable_backup=True,
1264
+ user_name="my_user",
1265
+ password="thiZ_is_v&ry_s3cret")
1266
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1267
+ ```
1268
+
1195
1269
  ### Examples of endpoint configuration
1196
1270
 
1197
1271
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1222,13 +1296,13 @@ class Instance(pulumi.CustomResource):
1222
1296
 
1223
1297
  pn = scaleway.network.PrivateNetwork("pn")
1224
1298
  main = scaleway.databases.Instance("main",
1225
- load_balancers=[{}],
1226
1299
  node_type="DB-DEV-S",
1227
1300
  engine="PostgreSQL-15",
1228
1301
  private_network={
1229
1302
  "pn_id": pn.id,
1230
1303
  "enable_ipam": True,
1231
- })
1304
+ },
1305
+ load_balancer={})
1232
1306
  ```
1233
1307
 
1234
1308
  ### Default: 1 public endpoint
@@ -1244,6 +1318,8 @@ class Instance(pulumi.CustomResource):
1244
1318
 
1245
1319
  > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1246
1320
 
1321
+ > **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.
1322
+
1247
1323
  ## Limitations
1248
1324
 
1249
1325
  The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
@@ -1275,28 +1351,29 @@ class Instance(pulumi.CustomResource):
1275
1351
  def _internal_init(__self__,
1276
1352
  resource_name: str,
1277
1353
  opts: Optional[pulumi.ResourceOptions] = None,
1278
- backup_same_region: Optional[pulumi.Input[bool]] = None,
1279
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1280
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1281
- disable_backup: Optional[pulumi.Input[bool]] = None,
1282
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1283
- engine: Optional[pulumi.Input[str]] = None,
1284
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1285
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1286
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]]]] = None,
1354
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
1355
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
1356
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
1357
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
1358
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
1359
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
1360
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1361
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1362
+ load_balancer: Optional[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]] = None,
1287
1363
  logs_policy: Optional[pulumi.Input[Union['InstanceLogsPolicyArgs', 'InstanceLogsPolicyArgsDict']]] = None,
1288
- name: Optional[pulumi.Input[str]] = None,
1289
- node_type: Optional[pulumi.Input[str]] = None,
1290
- password: Optional[pulumi.Input[str]] = None,
1364
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1365
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
1366
+ password: Optional[pulumi.Input[_builtins.str]] = None,
1367
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
1291
1368
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
1292
- project_id: Optional[pulumi.Input[str]] = None,
1293
- region: Optional[pulumi.Input[str]] = None,
1294
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1295
- snapshot_id: Optional[pulumi.Input[str]] = None,
1296
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1297
- user_name: Optional[pulumi.Input[str]] = None,
1298
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1299
- volume_type: Optional[pulumi.Input[str]] = None,
1369
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1370
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1371
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1372
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
1373
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1374
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
1375
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
1376
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None,
1300
1377
  __props__=None):
1301
1378
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1302
1379
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1314,13 +1391,14 @@ class Instance(pulumi.CustomResource):
1314
1391
  __props__.__dict__["engine"] = engine
1315
1392
  __props__.__dict__["init_settings"] = init_settings
1316
1393
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1317
- __props__.__dict__["load_balancers"] = load_balancers
1394
+ __props__.__dict__["load_balancer"] = load_balancer
1318
1395
  __props__.__dict__["logs_policy"] = logs_policy
1319
1396
  __props__.__dict__["name"] = name
1320
1397
  if node_type is None and not opts.urn:
1321
1398
  raise TypeError("Missing required property 'node_type'")
1322
1399
  __props__.__dict__["node_type"] = node_type
1323
1400
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
1401
+ __props__.__dict__["private_ips"] = private_ips
1324
1402
  __props__.__dict__["private_network"] = private_network
1325
1403
  __props__.__dict__["project_id"] = project_id
1326
1404
  __props__.__dict__["region"] = region
@@ -1335,6 +1413,7 @@ class Instance(pulumi.CustomResource):
1335
1413
  __props__.__dict__["endpoint_port"] = None
1336
1414
  __props__.__dict__["organization_id"] = None
1337
1415
  __props__.__dict__["read_replicas"] = None
1416
+ __props__.__dict__["upgradable_versions"] = None
1338
1417
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/databaseInstance:DatabaseInstance")])
1339
1418
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
1340
1419
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
@@ -1349,33 +1428,35 @@ class Instance(pulumi.CustomResource):
1349
1428
  def get(resource_name: str,
1350
1429
  id: pulumi.Input[str],
1351
1430
  opts: Optional[pulumi.ResourceOptions] = None,
1352
- backup_same_region: Optional[pulumi.Input[bool]] = None,
1353
- backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1354
- backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1355
- certificate: Optional[pulumi.Input[str]] = None,
1356
- disable_backup: Optional[pulumi.Input[bool]] = None,
1357
- encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1358
- endpoint_ip: Optional[pulumi.Input[str]] = None,
1359
- endpoint_port: Optional[pulumi.Input[int]] = None,
1360
- engine: Optional[pulumi.Input[str]] = None,
1361
- init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1362
- is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1363
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]]]] = None,
1431
+ backup_same_region: Optional[pulumi.Input[_builtins.bool]] = None,
1432
+ backup_schedule_frequency: Optional[pulumi.Input[_builtins.int]] = None,
1433
+ backup_schedule_retention: Optional[pulumi.Input[_builtins.int]] = None,
1434
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
1435
+ disable_backup: Optional[pulumi.Input[_builtins.bool]] = None,
1436
+ encryption_at_rest: Optional[pulumi.Input[_builtins.bool]] = None,
1437
+ endpoint_ip: Optional[pulumi.Input[_builtins.str]] = None,
1438
+ endpoint_port: Optional[pulumi.Input[_builtins.int]] = None,
1439
+ engine: Optional[pulumi.Input[_builtins.str]] = None,
1440
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1441
+ is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1442
+ load_balancer: Optional[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]] = None,
1364
1443
  logs_policy: Optional[pulumi.Input[Union['InstanceLogsPolicyArgs', 'InstanceLogsPolicyArgsDict']]] = None,
1365
- name: Optional[pulumi.Input[str]] = None,
1366
- node_type: Optional[pulumi.Input[str]] = None,
1367
- organization_id: Optional[pulumi.Input[str]] = None,
1368
- password: Optional[pulumi.Input[str]] = None,
1444
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1445
+ node_type: Optional[pulumi.Input[_builtins.str]] = None,
1446
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
1447
+ password: Optional[pulumi.Input[_builtins.str]] = None,
1448
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
1369
1449
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
1370
- project_id: Optional[pulumi.Input[str]] = None,
1450
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1371
1451
  read_replicas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceReadReplicaArgs', 'InstanceReadReplicaArgsDict']]]]] = None,
1372
- region: Optional[pulumi.Input[str]] = None,
1373
- settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1374
- snapshot_id: Optional[pulumi.Input[str]] = None,
1375
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1376
- user_name: Optional[pulumi.Input[str]] = None,
1377
- volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1378
- volume_type: Optional[pulumi.Input[str]] = None) -> 'Instance':
1452
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1453
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1454
+ snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
1455
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1456
+ upgradable_versions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceUpgradableVersionArgs', 'InstanceUpgradableVersionArgsDict']]]]] = None,
1457
+ user_name: Optional[pulumi.Input[_builtins.str]] = None,
1458
+ volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
1459
+ volume_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'Instance':
1379
1460
  """
1380
1461
  Get an existing Instance resource's state with the given name, id, and optional extra
1381
1462
  properties used to qualify the lookup.
@@ -1383,49 +1464,48 @@ class Instance(pulumi.CustomResource):
1383
1464
  :param str resource_name: The unique name of the resulting resource.
1384
1465
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1385
1466
  :param pulumi.ResourceOptions opts: Options for the resource.
1386
- :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1387
- :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1388
- :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1389
- :param pulumi.Input[str] certificate: Certificate of the Database Instance.
1390
- :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1391
- :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1392
- :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1393
- :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1394
- :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1395
-
1396
- > **Important** Updates to `engine` will recreate the Database Instance.
1397
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1398
- :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1467
+ :param pulumi.Input[_builtins.bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1468
+ :param pulumi.Input[_builtins.int] backup_schedule_frequency: Backup schedule frequency in hours
1469
+ :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
1470
+ :param pulumi.Input[_builtins.str] certificate: Certificate of the Database Instance.
1471
+ :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
1472
+ :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1473
+ :param pulumi.Input[_builtins.str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1474
+ :param pulumi.Input[_builtins.int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1475
+ :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
1476
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1477
+ :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1399
1478
 
1400
1479
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1401
- :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1480
+ :param pulumi.Input[Union['InstanceLoadBalancerArgs', 'InstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1402
1481
  :param pulumi.Input[Union['InstanceLogsPolicyArgs', 'InstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1403
- :param pulumi.Input[str] name: The name of the Database Instance.
1404
- :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1482
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1483
+ :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1405
1484
 
1406
1485
  > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1407
1486
  interruption.
1408
1487
 
1409
1488
  > **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.
1410
- :param pulumi.Input[str] organization_id: The organization ID the Database Instance is associated with.
1411
- :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1489
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the Database Instance is associated with.
1490
+ :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
1491
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
1412
1492
  :param pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1413
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1493
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the Database
1414
1494
  Instance is associated with.
1415
1495
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceReadReplicaArgs', 'InstanceReadReplicaArgsDict']]]] read_replicas: List of read replicas of the Database Instance.
1416
- :param pulumi.Input[str] region: `region`) The region
1496
+ :param pulumi.Input[_builtins.str] region: `region`) The region
1417
1497
  in which the Database Instance should be created.
1418
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1419
- :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
1420
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1421
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1422
- :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1498
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
1499
+ :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.
1500
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
1501
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceUpgradableVersionArgs', 'InstanceUpgradableVersionArgsDict']]]] upgradable_versions: List of available engine versions for upgrade. Each version contains:
1502
+ :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
1423
1503
 
1424
1504
  > **Important** Updates to `user_name` will recreate the Database Instance.
1425
- :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1505
+ :param pulumi.Input[_builtins.int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1426
1506
 
1427
1507
  > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1428
- :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1508
+ :param pulumi.Input[_builtins.str] volume_type: Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1429
1509
  """
1430
1510
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1431
1511
 
@@ -1442,12 +1522,13 @@ class Instance(pulumi.CustomResource):
1442
1522
  __props__.__dict__["engine"] = engine
1443
1523
  __props__.__dict__["init_settings"] = init_settings
1444
1524
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1445
- __props__.__dict__["load_balancers"] = load_balancers
1525
+ __props__.__dict__["load_balancer"] = load_balancer
1446
1526
  __props__.__dict__["logs_policy"] = logs_policy
1447
1527
  __props__.__dict__["name"] = name
1448
1528
  __props__.__dict__["node_type"] = node_type
1449
1529
  __props__.__dict__["organization_id"] = organization_id
1450
1530
  __props__.__dict__["password"] = password
1531
+ __props__.__dict__["private_ips"] = private_ips
1451
1532
  __props__.__dict__["private_network"] = private_network
1452
1533
  __props__.__dict__["project_id"] = project_id
1453
1534
  __props__.__dict__["read_replicas"] = read_replicas
@@ -1455,98 +1536,97 @@ class Instance(pulumi.CustomResource):
1455
1536
  __props__.__dict__["settings"] = settings
1456
1537
  __props__.__dict__["snapshot_id"] = snapshot_id
1457
1538
  __props__.__dict__["tags"] = tags
1539
+ __props__.__dict__["upgradable_versions"] = upgradable_versions
1458
1540
  __props__.__dict__["user_name"] = user_name
1459
1541
  __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb
1460
1542
  __props__.__dict__["volume_type"] = volume_type
1461
1543
  return Instance(resource_name, opts=opts, __props__=__props__)
1462
1544
 
1463
- @property
1545
+ @_builtins.property
1464
1546
  @pulumi.getter(name="backupSameRegion")
1465
- def backup_same_region(self) -> pulumi.Output[bool]:
1547
+ def backup_same_region(self) -> pulumi.Output[_builtins.bool]:
1466
1548
  """
1467
1549
  Boolean to store logical backups in the same region as the database instance
1468
1550
  """
1469
1551
  return pulumi.get(self, "backup_same_region")
1470
1552
 
1471
- @property
1553
+ @_builtins.property
1472
1554
  @pulumi.getter(name="backupScheduleFrequency")
1473
- def backup_schedule_frequency(self) -> pulumi.Output[int]:
1555
+ def backup_schedule_frequency(self) -> pulumi.Output[_builtins.int]:
1474
1556
  """
1475
1557
  Backup schedule frequency in hours
1476
1558
  """
1477
1559
  return pulumi.get(self, "backup_schedule_frequency")
1478
1560
 
1479
- @property
1561
+ @_builtins.property
1480
1562
  @pulumi.getter(name="backupScheduleRetention")
1481
- def backup_schedule_retention(self) -> pulumi.Output[int]:
1563
+ def backup_schedule_retention(self) -> pulumi.Output[_builtins.int]:
1482
1564
  """
1483
1565
  Backup schedule retention in days
1484
1566
  """
1485
1567
  return pulumi.get(self, "backup_schedule_retention")
1486
1568
 
1487
- @property
1569
+ @_builtins.property
1488
1570
  @pulumi.getter
1489
- def certificate(self) -> pulumi.Output[str]:
1571
+ def certificate(self) -> pulumi.Output[_builtins.str]:
1490
1572
  """
1491
1573
  Certificate of the Database Instance.
1492
1574
  """
1493
1575
  return pulumi.get(self, "certificate")
1494
1576
 
1495
- @property
1577
+ @_builtins.property
1496
1578
  @pulumi.getter(name="disableBackup")
1497
- def disable_backup(self) -> pulumi.Output[Optional[bool]]:
1579
+ def disable_backup(self) -> pulumi.Output[Optional[_builtins.bool]]:
1498
1580
  """
1499
1581
  Disable automated backup for the database instance
1500
1582
  """
1501
1583
  return pulumi.get(self, "disable_backup")
1502
1584
 
1503
- @property
1585
+ @_builtins.property
1504
1586
  @pulumi.getter(name="encryptionAtRest")
1505
- def encryption_at_rest(self) -> pulumi.Output[Optional[bool]]:
1587
+ def encryption_at_rest(self) -> pulumi.Output[Optional[_builtins.bool]]:
1506
1588
  """
1507
1589
  Enable or disable encryption at rest for the Database Instance.
1508
1590
  """
1509
1591
  return pulumi.get(self, "encryption_at_rest")
1510
1592
 
1511
- @property
1593
+ @_builtins.property
1512
1594
  @pulumi.getter(name="endpointIp")
1513
1595
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1514
- def endpoint_ip(self) -> pulumi.Output[str]:
1596
+ def endpoint_ip(self) -> pulumi.Output[_builtins.str]:
1515
1597
  """
1516
1598
  (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1517
1599
  """
1518
1600
  return pulumi.get(self, "endpoint_ip")
1519
1601
 
1520
- @property
1602
+ @_builtins.property
1521
1603
  @pulumi.getter(name="endpointPort")
1522
1604
  @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1523
- def endpoint_port(self) -> pulumi.Output[int]:
1605
+ def endpoint_port(self) -> pulumi.Output[_builtins.int]:
1524
1606
  """
1525
1607
  (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1526
1608
  """
1527
1609
  return pulumi.get(self, "endpoint_port")
1528
1610
 
1529
- @property
1611
+ @_builtins.property
1530
1612
  @pulumi.getter
1531
- def engine(self) -> pulumi.Output[str]:
1613
+ def engine(self) -> pulumi.Output[_builtins.str]:
1532
1614
  """
1533
- Database Instance's engine version (e.g. `PostgreSQL-11`).
1534
-
1535
- > **Important** Updates to `engine` will recreate the Database Instance.
1615
+ 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
1536
1616
  """
1537
1617
  return pulumi.get(self, "engine")
1538
1618
 
1539
- @property
1619
+ @_builtins.property
1540
1620
  @pulumi.getter(name="initSettings")
1541
- def init_settings(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1621
+ def init_settings(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1542
1622
  """
1543
1623
  Map of engine settings to be set at database initialisation.
1544
1624
  """
1545
1625
  return pulumi.get(self, "init_settings")
1546
1626
 
1547
- @property
1627
+ @_builtins.property
1548
1628
  @pulumi.getter(name="isHaCluster")
1549
- def is_ha_cluster(self) -> pulumi.Output[Optional[bool]]:
1629
+ def is_ha_cluster(self) -> pulumi.Output[Optional[_builtins.bool]]:
1550
1630
  """
1551
1631
  Enable or disable high availability for the Database Instance.
1552
1632
 
@@ -1554,15 +1634,15 @@ class Instance(pulumi.CustomResource):
1554
1634
  """
1555
1635
  return pulumi.get(self, "is_ha_cluster")
1556
1636
 
1557
- @property
1558
- @pulumi.getter(name="loadBalancers")
1559
- def load_balancers(self) -> pulumi.Output[Sequence['outputs.InstanceLoadBalancer']]:
1637
+ @_builtins.property
1638
+ @pulumi.getter(name="loadBalancer")
1639
+ def load_balancer(self) -> pulumi.Output['outputs.InstanceLoadBalancer']:
1560
1640
  """
1561
1641
  List of Load Balancer endpoints of the Database Instance.
1562
1642
  """
1563
- return pulumi.get(self, "load_balancers")
1643
+ return pulumi.get(self, "load_balancer")
1564
1644
 
1565
- @property
1645
+ @_builtins.property
1566
1646
  @pulumi.getter(name="logsPolicy")
1567
1647
  def logs_policy(self) -> pulumi.Output['outputs.InstanceLogsPolicy']:
1568
1648
  """
@@ -1570,17 +1650,17 @@ class Instance(pulumi.CustomResource):
1570
1650
  """
1571
1651
  return pulumi.get(self, "logs_policy")
1572
1652
 
1573
- @property
1653
+ @_builtins.property
1574
1654
  @pulumi.getter
1575
- def name(self) -> pulumi.Output[str]:
1655
+ def name(self) -> pulumi.Output[_builtins.str]:
1576
1656
  """
1577
1657
  The name of the Database Instance.
1578
1658
  """
1579
1659
  return pulumi.get(self, "name")
1580
1660
 
1581
- @property
1661
+ @_builtins.property
1582
1662
  @pulumi.getter(name="nodeType")
1583
- def node_type(self) -> pulumi.Output[str]:
1663
+ def node_type(self) -> pulumi.Output[_builtins.str]:
1584
1664
  """
1585
1665
  The type of Database Instance you want to create (e.g. `db-dev-s`).
1586
1666
 
@@ -1591,23 +1671,31 @@ class Instance(pulumi.CustomResource):
1591
1671
  """
1592
1672
  return pulumi.get(self, "node_type")
1593
1673
 
1594
- @property
1674
+ @_builtins.property
1595
1675
  @pulumi.getter(name="organizationId")
1596
- def organization_id(self) -> pulumi.Output[str]:
1676
+ def organization_id(self) -> pulumi.Output[_builtins.str]:
1597
1677
  """
1598
1678
  The organization ID the Database Instance is associated with.
1599
1679
  """
1600
1680
  return pulumi.get(self, "organization_id")
1601
1681
 
1602
- @property
1682
+ @_builtins.property
1603
1683
  @pulumi.getter
1604
- def password(self) -> pulumi.Output[Optional[str]]:
1684
+ def password(self) -> pulumi.Output[Optional[_builtins.str]]:
1605
1685
  """
1606
1686
  Password for the first user of the Database Instance.
1607
1687
  """
1608
1688
  return pulumi.get(self, "password")
1609
1689
 
1610
- @property
1690
+ @_builtins.property
1691
+ @pulumi.getter(name="privateIps")
1692
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.InstancePrivateIp']]:
1693
+ """
1694
+ The private IPv4 address associated with the resource.
1695
+ """
1696
+ return pulumi.get(self, "private_ips")
1697
+
1698
+ @_builtins.property
1611
1699
  @pulumi.getter(name="privateNetwork")
1612
1700
  def private_network(self) -> pulumi.Output[Optional['outputs.InstancePrivateNetwork']]:
1613
1701
  """
@@ -1615,16 +1703,16 @@ class Instance(pulumi.CustomResource):
1615
1703
  """
1616
1704
  return pulumi.get(self, "private_network")
1617
1705
 
1618
- @property
1706
+ @_builtins.property
1619
1707
  @pulumi.getter(name="projectId")
1620
- def project_id(self) -> pulumi.Output[str]:
1708
+ def project_id(self) -> pulumi.Output[_builtins.str]:
1621
1709
  """
1622
1710
  `project_id`) The ID of the project the Database
1623
1711
  Instance is associated with.
1624
1712
  """
1625
1713
  return pulumi.get(self, "project_id")
1626
1714
 
1627
- @property
1715
+ @_builtins.property
1628
1716
  @pulumi.getter(name="readReplicas")
1629
1717
  def read_replicas(self) -> pulumi.Output[Sequence['outputs.InstanceReadReplica']]:
1630
1718
  """
@@ -1632,43 +1720,50 @@ class Instance(pulumi.CustomResource):
1632
1720
  """
1633
1721
  return pulumi.get(self, "read_replicas")
1634
1722
 
1635
- @property
1723
+ @_builtins.property
1636
1724
  @pulumi.getter
1637
- def region(self) -> pulumi.Output[str]:
1725
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
1638
1726
  """
1639
1727
  `region`) The region
1640
1728
  in which the Database Instance should be created.
1641
1729
  """
1642
1730
  return pulumi.get(self, "region")
1643
1731
 
1644
- @property
1732
+ @_builtins.property
1645
1733
  @pulumi.getter
1646
- def settings(self) -> pulumi.Output[Mapping[str, str]]:
1734
+ def settings(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
1647
1735
  """
1648
1736
  Map of engine settings to be set on a running instance.
1649
1737
  """
1650
1738
  return pulumi.get(self, "settings")
1651
1739
 
1652
- @property
1740
+ @_builtins.property
1653
1741
  @pulumi.getter(name="snapshotId")
1654
- def snapshot_id(self) -> pulumi.Output[Optional[str]]:
1742
+ def snapshot_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1655
1743
  """
1656
- ID of an existing snapshot to create a new instance from. This allows restoring a database instance to the state
1657
- captured in the specified snapshot. Conflicts with the `engine` attribute.
1744
+ The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
1658
1745
  """
1659
1746
  return pulumi.get(self, "snapshot_id")
1660
1747
 
1661
- @property
1748
+ @_builtins.property
1662
1749
  @pulumi.getter
1663
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1750
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1664
1751
  """
1665
1752
  The tags associated with the Database Instance.
1666
1753
  """
1667
1754
  return pulumi.get(self, "tags")
1668
1755
 
1669
- @property
1756
+ @_builtins.property
1757
+ @pulumi.getter(name="upgradableVersions")
1758
+ def upgradable_versions(self) -> pulumi.Output[Sequence['outputs.InstanceUpgradableVersion']]:
1759
+ """
1760
+ List of available engine versions for upgrade. Each version contains:
1761
+ """
1762
+ return pulumi.get(self, "upgradable_versions")
1763
+
1764
+ @_builtins.property
1670
1765
  @pulumi.getter(name="userName")
1671
- def user_name(self) -> pulumi.Output[str]:
1766
+ def user_name(self) -> pulumi.Output[_builtins.str]:
1672
1767
  """
1673
1768
  Identifier for the first user of the Database Instance.
1674
1769
 
@@ -1676,9 +1771,9 @@ class Instance(pulumi.CustomResource):
1676
1771
  """
1677
1772
  return pulumi.get(self, "user_name")
1678
1773
 
1679
- @property
1774
+ @_builtins.property
1680
1775
  @pulumi.getter(name="volumeSizeInGb")
1681
- def volume_size_in_gb(self) -> pulumi.Output[int]:
1776
+ def volume_size_in_gb(self) -> pulumi.Output[_builtins.int]:
1682
1777
  """
1683
1778
  Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1684
1779
 
@@ -1686,11 +1781,11 @@ class Instance(pulumi.CustomResource):
1686
1781
  """
1687
1782
  return pulumi.get(self, "volume_size_in_gb")
1688
1783
 
1689
- @property
1784
+ @_builtins.property
1690
1785
  @pulumi.getter(name="volumeType")
1691
- def volume_type(self) -> pulumi.Output[Optional[str]]:
1786
+ def volume_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1692
1787
  """
1693
- Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1788
+ Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
1694
1789
  """
1695
1790
  return pulumi.get(self, "volume_type")
1696
1791