pulumiverse-scaleway 1.35.0a1761031391__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 (109) hide show
  1. pulumiverse_scaleway/__init__.py +38 -0
  2. pulumiverse_scaleway/_inputs.py +271 -166
  3. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  4. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  5. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  6. pulumiverse_scaleway/baremetal_server.py +159 -0
  7. pulumiverse_scaleway/billing/get_consumptions.py +4 -0
  8. pulumiverse_scaleway/block/snapshot.py +78 -0
  9. pulumiverse_scaleway/block_snapshot.py +78 -0
  10. pulumiverse_scaleway/cockpit_grafana_user.py +0 -42
  11. pulumiverse_scaleway/database_instance.py +105 -55
  12. pulumiverse_scaleway/database_user.py +6 -6
  13. pulumiverse_scaleway/databases/_inputs.py +97 -3
  14. pulumiverse_scaleway/databases/get_instance.py +12 -1
  15. pulumiverse_scaleway/databases/instance.py +105 -55
  16. pulumiverse_scaleway/databases/outputs.py +127 -2
  17. pulumiverse_scaleway/databases/user.py +6 -6
  18. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  19. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  20. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  21. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  22. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  23. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  24. pulumiverse_scaleway/domain/record.py +4 -4
  25. pulumiverse_scaleway/domain_record.py +4 -4
  26. pulumiverse_scaleway/edge_services_cache_stage.py +30 -0
  27. pulumiverse_scaleway/edge_services_dns_stage.py +28 -0
  28. pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
  29. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  30. pulumiverse_scaleway/elasticmetal/server.py +159 -0
  31. pulumiverse_scaleway/file_filesystem.py +39 -35
  32. pulumiverse_scaleway/get_baremetal_offer.py +2 -0
  33. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  34. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  35. pulumiverse_scaleway/get_database_instance.py +12 -1
  36. pulumiverse_scaleway/get_instance_ip.py +14 -2
  37. pulumiverse_scaleway/get_instance_server.py +13 -83
  38. pulumiverse_scaleway/get_k8s_version.py +12 -1
  39. pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
  40. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  41. pulumiverse_scaleway/get_loadbalancer_certificate.py +60 -0
  42. pulumiverse_scaleway/iam/__init__.py +1 -0
  43. pulumiverse_scaleway/iam/get_policy.py +293 -0
  44. pulumiverse_scaleway/iam/outputs.py +52 -0
  45. pulumiverse_scaleway/inference/deployment.py +36 -0
  46. pulumiverse_scaleway/inference/model.py +7 -7
  47. pulumiverse_scaleway/inference_deployment.py +36 -0
  48. pulumiverse_scaleway/instance/_inputs.py +155 -144
  49. pulumiverse_scaleway/instance/get_ip.py +14 -2
  50. pulumiverse_scaleway/instance/get_server.py +13 -83
  51. pulumiverse_scaleway/instance/image.py +94 -40
  52. pulumiverse_scaleway/instance/outputs.py +164 -167
  53. pulumiverse_scaleway/instance/server.py +116 -244
  54. pulumiverse_scaleway/instance/user_data.py +4 -4
  55. pulumiverse_scaleway/instance/volume.py +14 -0
  56. pulumiverse_scaleway/instance_image.py +94 -40
  57. pulumiverse_scaleway/instance_server.py +116 -244
  58. pulumiverse_scaleway/instance_user_data.py +4 -4
  59. pulumiverse_scaleway/instance_volume.py +14 -0
  60. pulumiverse_scaleway/iot/device.py +0 -38
  61. pulumiverse_scaleway/iot/hub.py +11 -11
  62. pulumiverse_scaleway/iot/route.py +20 -20
  63. pulumiverse_scaleway/iot_device.py +0 -38
  64. pulumiverse_scaleway/iot_hub.py +11 -11
  65. pulumiverse_scaleway/iot_route.py +20 -20
  66. pulumiverse_scaleway/ipam/_inputs.py +6 -6
  67. pulumiverse_scaleway/ipam/ip.py +35 -7
  68. pulumiverse_scaleway/ipam/ip_reverse_dns.py +70 -0
  69. pulumiverse_scaleway/ipam/outputs.py +4 -4
  70. pulumiverse_scaleway/ipam_ip.py +35 -7
  71. pulumiverse_scaleway/ipam_ip_reverse_dns.py +70 -0
  72. pulumiverse_scaleway/key_manager_key.py +134 -25
  73. pulumiverse_scaleway/kubernetes/cluster.py +290 -4
  74. pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
  75. pulumiverse_scaleway/kubernetes/get_version.py +12 -1
  76. pulumiverse_scaleway/kubernetes/pool.py +7 -7
  77. pulumiverse_scaleway/kubernetes_cluster.py +290 -4
  78. pulumiverse_scaleway/kubernetes_node_pool.py +7 -7
  79. pulumiverse_scaleway/loadbalancer.py +55 -1
  80. pulumiverse_scaleway/loadbalancers/__init__.py +1 -0
  81. pulumiverse_scaleway/loadbalancers/_inputs.py +13 -13
  82. pulumiverse_scaleway/loadbalancers/get_certificate.py +60 -0
  83. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  84. pulumiverse_scaleway/loadbalancers/load_balancer.py +55 -1
  85. pulumiverse_scaleway/loadbalancers/outputs.py +9 -9
  86. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  87. pulumiverse_scaleway/mongo_db_instance.py +14 -14
  88. pulumiverse_scaleway/mongodb/instance.py +14 -14
  89. pulumiverse_scaleway/network/gateway_network.py +7 -7
  90. pulumiverse_scaleway/object/__init__.py +1 -0
  91. pulumiverse_scaleway/object/bucket_policy.py +0 -64
  92. pulumiverse_scaleway/object/get.py +290 -0
  93. pulumiverse_scaleway/object/item.py +37 -7
  94. pulumiverse_scaleway/object_bucket_policy.py +0 -64
  95. pulumiverse_scaleway/object_item.py +37 -7
  96. pulumiverse_scaleway/observability/__init__.py +1 -0
  97. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  98. pulumiverse_scaleway/observability/get_sources.py +6 -6
  99. pulumiverse_scaleway/observability/grafana_user.py +0 -42
  100. pulumiverse_scaleway/observability/outputs.py +2 -2
  101. pulumiverse_scaleway/outputs.py +304 -182
  102. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  103. pulumiverse_scaleway/tem/domain.py +42 -0
  104. pulumiverse_scaleway/tem_domain.py +42 -0
  105. pulumiverse_scaleway/vpc_gateway_network.py +7 -7
  106. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +1 -1
  107. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/RECORD +109 -96
  108. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +0 -0
  109. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -30,7 +30,7 @@ class DatabaseInstanceArgs:
30
30
  engine: Optional[pulumi.Input[_builtins.str]] = None,
31
31
  init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
32
32
  is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
33
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
33
+ load_balancer: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']] = None,
34
34
  logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
35
35
  name: Optional[pulumi.Input[_builtins.str]] = None,
36
36
  password: Optional[pulumi.Input[_builtins.str]] = None,
@@ -57,14 +57,12 @@ class DatabaseInstanceArgs:
57
57
  :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
58
58
  :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
59
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 Instance's engine version (e.g. `PostgreSQL-11`).
61
-
62
- > **Important** Updates to `engine` will recreate 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
63
61
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
64
62
  :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
65
63
 
66
64
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
67
- :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
65
+ :param pulumi.Input['DatabaseInstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
68
66
  :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
69
67
  :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
70
68
  :param pulumi.Input[_builtins.str] password: Password for the first user of the Database Instance.
@@ -102,8 +100,8 @@ class DatabaseInstanceArgs:
102
100
  pulumi.set(__self__, "init_settings", init_settings)
103
101
  if is_ha_cluster is not None:
104
102
  pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
105
- if load_balancers is not None:
106
- pulumi.set(__self__, "load_balancers", load_balancers)
103
+ if load_balancer is not None:
104
+ pulumi.set(__self__, "load_balancer", load_balancer)
107
105
  if logs_policy is not None:
108
106
  pulumi.set(__self__, "logs_policy", logs_policy)
109
107
  if name is not None:
@@ -212,9 +210,7 @@ class DatabaseInstanceArgs:
212
210
  @pulumi.getter
213
211
  def engine(self) -> Optional[pulumi.Input[_builtins.str]]:
214
212
  """
215
- Database Instance's engine version (e.g. `PostgreSQL-11`).
216
-
217
- > **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
218
214
  """
219
215
  return pulumi.get(self, "engine")
220
216
 
@@ -249,16 +245,16 @@ class DatabaseInstanceArgs:
249
245
  pulumi.set(self, "is_ha_cluster", value)
250
246
 
251
247
  @_builtins.property
252
- @pulumi.getter(name="loadBalancers")
253
- def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
248
+ @pulumi.getter(name="loadBalancer")
249
+ def load_balancer(self) -> Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]:
254
250
  """
255
251
  List of Load Balancer endpoints of the Database Instance.
256
252
  """
257
- return pulumi.get(self, "load_balancers")
253
+ return pulumi.get(self, "load_balancer")
258
254
 
259
- @load_balancers.setter
260
- def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
261
- pulumi.set(self, "load_balancers", value)
255
+ @load_balancer.setter
256
+ def load_balancer(self, value: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]):
257
+ pulumi.set(self, "load_balancer", value)
262
258
 
263
259
  @_builtins.property
264
260
  @pulumi.getter(name="logsPolicy")
@@ -437,7 +433,7 @@ class _DatabaseInstanceState:
437
433
  engine: Optional[pulumi.Input[_builtins.str]] = None,
438
434
  init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
439
435
  is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
440
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
436
+ load_balancer: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']] = None,
441
437
  logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
442
438
  name: Optional[pulumi.Input[_builtins.str]] = None,
443
439
  node_type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -451,6 +447,7 @@ class _DatabaseInstanceState:
451
447
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
452
448
  snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
453
449
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
450
+ upgradable_versions: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]] = None,
454
451
  user_name: Optional[pulumi.Input[_builtins.str]] = None,
455
452
  volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
456
453
  volume_type: Optional[pulumi.Input[_builtins.str]] = None):
@@ -464,14 +461,12 @@ class _DatabaseInstanceState:
464
461
  :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
465
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.
466
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.
467
- :param pulumi.Input[_builtins.str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
468
-
469
- > **Important** Updates to `engine` will recreate the Database Instance.
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
470
465
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
471
466
  :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
472
467
 
473
468
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
474
- :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
469
+ :param pulumi.Input['DatabaseInstanceLoadBalancerArgs'] load_balancer: List of Load Balancer endpoints of the Database Instance.
475
470
  :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
476
471
  :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
477
472
  :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
@@ -492,6 +487,7 @@ class _DatabaseInstanceState:
492
487
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
493
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.
494
489
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
490
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]] upgradable_versions: List of available engine versions for upgrade. Each version contains:
495
491
  :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
496
492
 
497
493
  > **Important** Updates to `user_name` will recreate the Database Instance.
@@ -528,8 +524,8 @@ class _DatabaseInstanceState:
528
524
  pulumi.set(__self__, "init_settings", init_settings)
529
525
  if is_ha_cluster is not None:
530
526
  pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
531
- if load_balancers is not None:
532
- pulumi.set(__self__, "load_balancers", load_balancers)
527
+ if load_balancer is not None:
528
+ pulumi.set(__self__, "load_balancer", load_balancer)
533
529
  if logs_policy is not None:
534
530
  pulumi.set(__self__, "logs_policy", logs_policy)
535
531
  if name is not None:
@@ -556,6 +552,8 @@ class _DatabaseInstanceState:
556
552
  pulumi.set(__self__, "snapshot_id", snapshot_id)
557
553
  if tags is not None:
558
554
  pulumi.set(__self__, "tags", tags)
555
+ if upgradable_versions is not None:
556
+ pulumi.set(__self__, "upgradable_versions", upgradable_versions)
559
557
  if user_name is not None:
560
558
  pulumi.set(__self__, "user_name", user_name)
561
559
  if volume_size_in_gb is not None:
@@ -665,9 +663,7 @@ class _DatabaseInstanceState:
665
663
  @pulumi.getter
666
664
  def engine(self) -> Optional[pulumi.Input[_builtins.str]]:
667
665
  """
668
- Database Instance's engine version (e.g. `PostgreSQL-11`).
669
-
670
- > **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
671
667
  """
672
668
  return pulumi.get(self, "engine")
673
669
 
@@ -702,16 +698,16 @@ class _DatabaseInstanceState:
702
698
  pulumi.set(self, "is_ha_cluster", value)
703
699
 
704
700
  @_builtins.property
705
- @pulumi.getter(name="loadBalancers")
706
- def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
701
+ @pulumi.getter(name="loadBalancer")
702
+ def load_balancer(self) -> Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]:
707
703
  """
708
704
  List of Load Balancer endpoints of the Database Instance.
709
705
  """
710
- return pulumi.get(self, "load_balancers")
706
+ return pulumi.get(self, "load_balancer")
711
707
 
712
- @load_balancers.setter
713
- def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
714
- pulumi.set(self, "load_balancers", value)
708
+ @load_balancer.setter
709
+ def load_balancer(self, value: Optional[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]):
710
+ pulumi.set(self, "load_balancer", value)
715
711
 
716
712
  @_builtins.property
717
713
  @pulumi.getter(name="logsPolicy")
@@ -876,6 +872,18 @@ class _DatabaseInstanceState:
876
872
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
877
873
  pulumi.set(self, "tags", value)
878
874
 
875
+ @_builtins.property
876
+ @pulumi.getter(name="upgradableVersions")
877
+ def upgradable_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]]:
878
+ """
879
+ List of available engine versions for upgrade. Each version contains:
880
+ """
881
+ return pulumi.get(self, "upgradable_versions")
882
+
883
+ @upgradable_versions.setter
884
+ def upgradable_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceUpgradableVersionArgs']]]]):
885
+ pulumi.set(self, "upgradable_versions", value)
886
+
879
887
  @_builtins.property
880
888
  @pulumi.getter(name="userName")
881
889
  def user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -936,7 +944,7 @@ class DatabaseInstance(pulumi.CustomResource):
936
944
  engine: Optional[pulumi.Input[_builtins.str]] = None,
937
945
  init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
938
946
  is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
939
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
947
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
940
948
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
941
949
  name: Optional[pulumi.Input[_builtins.str]] = None,
942
950
  node_type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1032,6 +1040,24 @@ class DatabaseInstance(pulumi.CustomResource):
1032
1040
  backup_schedule_retention=7)
1033
1041
  ```
1034
1042
 
1043
+ ### Example Engine Upgrade
1044
+
1045
+ ```python
1046
+ import pulumi
1047
+ import pulumiverse_scaleway as scaleway
1048
+
1049
+ # Initial creation with PostgreSQL 14
1050
+ main = scaleway.databases.Instance("main",
1051
+ name="my-database",
1052
+ node_type="DB-DEV-S",
1053
+ engine="PostgreSQL-14",
1054
+ is_ha_cluster=False,
1055
+ disable_backup=True,
1056
+ user_name="my_user",
1057
+ password="thiZ_is_v&ry_s3cret")
1058
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1059
+ ```
1060
+
1035
1061
  ### Examples of endpoint configuration
1036
1062
 
1037
1063
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1062,13 +1088,13 @@ class DatabaseInstance(pulumi.CustomResource):
1062
1088
 
1063
1089
  pn = scaleway.network.PrivateNetwork("pn")
1064
1090
  main = scaleway.databases.Instance("main",
1065
- load_balancers=[{}],
1066
1091
  node_type="DB-DEV-S",
1067
1092
  engine="PostgreSQL-15",
1068
1093
  private_network={
1069
1094
  "pn_id": pn.id,
1070
1095
  "enable_ipam": True,
1071
- })
1096
+ },
1097
+ load_balancer={})
1072
1098
  ```
1073
1099
 
1074
1100
  ### Default: 1 public endpoint
@@ -1109,14 +1135,12 @@ class DatabaseInstance(pulumi.CustomResource):
1109
1135
  :param pulumi.Input[_builtins.int] backup_schedule_retention: Backup schedule retention in days
1110
1136
  :param pulumi.Input[_builtins.bool] disable_backup: Disable automated backup for the database instance
1111
1137
  :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1112
- :param pulumi.Input[_builtins.str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1113
-
1114
- > **Important** Updates to `engine` will recreate the Database Instance.
1138
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1115
1139
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1116
1140
  :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1117
1141
 
1118
1142
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1119
- :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1143
+ :param pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1120
1144
  :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1121
1145
  :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1122
1146
  :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
@@ -1229,6 +1253,24 @@ class DatabaseInstance(pulumi.CustomResource):
1229
1253
  backup_schedule_retention=7)
1230
1254
  ```
1231
1255
 
1256
+ ### Example Engine Upgrade
1257
+
1258
+ ```python
1259
+ import pulumi
1260
+ import pulumiverse_scaleway as scaleway
1261
+
1262
+ # Initial creation with PostgreSQL 14
1263
+ main = scaleway.databases.Instance("main",
1264
+ name="my-database",
1265
+ node_type="DB-DEV-S",
1266
+ engine="PostgreSQL-14",
1267
+ is_ha_cluster=False,
1268
+ disable_backup=True,
1269
+ user_name="my_user",
1270
+ password="thiZ_is_v&ry_s3cret")
1271
+ pulumi.export("upgradableVersions", main.upgradable_versions)
1272
+ ```
1273
+
1232
1274
  ### Examples of endpoint configuration
1233
1275
 
1234
1276
  Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -1259,13 +1301,13 @@ class DatabaseInstance(pulumi.CustomResource):
1259
1301
 
1260
1302
  pn = scaleway.network.PrivateNetwork("pn")
1261
1303
  main = scaleway.databases.Instance("main",
1262
- load_balancers=[{}],
1263
1304
  node_type="DB-DEV-S",
1264
1305
  engine="PostgreSQL-15",
1265
1306
  private_network={
1266
1307
  "pn_id": pn.id,
1267
1308
  "enable_ipam": True,
1268
- })
1309
+ },
1310
+ load_balancer={})
1269
1311
  ```
1270
1312
 
1271
1313
  ### Default: 1 public endpoint
@@ -1322,7 +1364,7 @@ class DatabaseInstance(pulumi.CustomResource):
1322
1364
  engine: Optional[pulumi.Input[_builtins.str]] = None,
1323
1365
  init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1324
1366
  is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1325
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1367
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
1326
1368
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1327
1369
  name: Optional[pulumi.Input[_builtins.str]] = None,
1328
1370
  node_type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1355,7 +1397,7 @@ class DatabaseInstance(pulumi.CustomResource):
1355
1397
  __props__.__dict__["engine"] = engine
1356
1398
  __props__.__dict__["init_settings"] = init_settings
1357
1399
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1358
- __props__.__dict__["load_balancers"] = load_balancers
1400
+ __props__.__dict__["load_balancer"] = load_balancer
1359
1401
  __props__.__dict__["logs_policy"] = logs_policy
1360
1402
  __props__.__dict__["name"] = name
1361
1403
  if node_type is None and not opts.urn:
@@ -1377,6 +1419,7 @@ class DatabaseInstance(pulumi.CustomResource):
1377
1419
  __props__.__dict__["endpoint_port"] = None
1378
1420
  __props__.__dict__["organization_id"] = None
1379
1421
  __props__.__dict__["read_replicas"] = None
1422
+ __props__.__dict__["upgradable_versions"] = None
1380
1423
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
1381
1424
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1382
1425
  super(DatabaseInstance, __self__).__init__(
@@ -1400,7 +1443,7 @@ class DatabaseInstance(pulumi.CustomResource):
1400
1443
  engine: Optional[pulumi.Input[_builtins.str]] = None,
1401
1444
  init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1402
1445
  is_ha_cluster: Optional[pulumi.Input[_builtins.bool]] = None,
1403
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1446
+ load_balancer: Optional[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]] = None,
1404
1447
  logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1405
1448
  name: Optional[pulumi.Input[_builtins.str]] = None,
1406
1449
  node_type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1414,6 +1457,7 @@ class DatabaseInstance(pulumi.CustomResource):
1414
1457
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1415
1458
  snapshot_id: Optional[pulumi.Input[_builtins.str]] = None,
1416
1459
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1460
+ upgradable_versions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceUpgradableVersionArgs', 'DatabaseInstanceUpgradableVersionArgsDict']]]]] = None,
1417
1461
  user_name: Optional[pulumi.Input[_builtins.str]] = None,
1418
1462
  volume_size_in_gb: Optional[pulumi.Input[_builtins.int]] = None,
1419
1463
  volume_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'DatabaseInstance':
@@ -1432,14 +1476,12 @@ class DatabaseInstance(pulumi.CustomResource):
1432
1476
  :param pulumi.Input[_builtins.bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1433
1477
  :param pulumi.Input[_builtins.str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1434
1478
  :param pulumi.Input[_builtins.int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1435
- :param pulumi.Input[_builtins.str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1436
-
1437
- > **Important** Updates to `engine` will recreate the Database Instance.
1479
+ :param pulumi.Input[_builtins.str] engine: Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1438
1480
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] init_settings: Map of engine settings to be set at database initialisation.
1439
1481
  :param pulumi.Input[_builtins.bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1440
1482
 
1441
1483
  > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1442
- :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1484
+ :param pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']] load_balancer: List of Load Balancer endpoints of the Database Instance.
1443
1485
  :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1444
1486
  :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
1445
1487
  :param pulumi.Input[_builtins.str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
@@ -1460,6 +1502,7 @@ class DatabaseInstance(pulumi.CustomResource):
1460
1502
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] settings: Map of engine settings to be set on a running instance.
1461
1503
  :param pulumi.Input[_builtins.str] snapshot_id: The ID of an existing snapshot to restore or create the Database Instance from. Conflicts with the `engine` parameter and backup settings.
1462
1504
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Database Instance.
1505
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceUpgradableVersionArgs', 'DatabaseInstanceUpgradableVersionArgsDict']]]] upgradable_versions: List of available engine versions for upgrade. Each version contains:
1463
1506
  :param pulumi.Input[_builtins.str] user_name: Identifier for the first user of the Database Instance.
1464
1507
 
1465
1508
  > **Important** Updates to `user_name` will recreate the Database Instance.
@@ -1483,7 +1526,7 @@ class DatabaseInstance(pulumi.CustomResource):
1483
1526
  __props__.__dict__["engine"] = engine
1484
1527
  __props__.__dict__["init_settings"] = init_settings
1485
1528
  __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1486
- __props__.__dict__["load_balancers"] = load_balancers
1529
+ __props__.__dict__["load_balancer"] = load_balancer
1487
1530
  __props__.__dict__["logs_policy"] = logs_policy
1488
1531
  __props__.__dict__["name"] = name
1489
1532
  __props__.__dict__["node_type"] = node_type
@@ -1497,6 +1540,7 @@ class DatabaseInstance(pulumi.CustomResource):
1497
1540
  __props__.__dict__["settings"] = settings
1498
1541
  __props__.__dict__["snapshot_id"] = snapshot_id
1499
1542
  __props__.__dict__["tags"] = tags
1543
+ __props__.__dict__["upgradable_versions"] = upgradable_versions
1500
1544
  __props__.__dict__["user_name"] = user_name
1501
1545
  __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb
1502
1546
  __props__.__dict__["volume_type"] = volume_type
@@ -1572,9 +1616,7 @@ class DatabaseInstance(pulumi.CustomResource):
1572
1616
  @pulumi.getter
1573
1617
  def engine(self) -> pulumi.Output[_builtins.str]:
1574
1618
  """
1575
- Database Instance's engine version (e.g. `PostgreSQL-11`).
1576
-
1577
- > **Important** Updates to `engine` will recreate the Database Instance.
1619
+ Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration
1578
1620
  """
1579
1621
  return pulumi.get(self, "engine")
1580
1622
 
@@ -1597,12 +1639,12 @@ class DatabaseInstance(pulumi.CustomResource):
1597
1639
  return pulumi.get(self, "is_ha_cluster")
1598
1640
 
1599
1641
  @_builtins.property
1600
- @pulumi.getter(name="loadBalancers")
1601
- def load_balancers(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceLoadBalancer']]:
1642
+ @pulumi.getter(name="loadBalancer")
1643
+ def load_balancer(self) -> pulumi.Output['outputs.DatabaseInstanceLoadBalancer']:
1602
1644
  """
1603
1645
  List of Load Balancer endpoints of the Database Instance.
1604
1646
  """
1605
- return pulumi.get(self, "load_balancers")
1647
+ return pulumi.get(self, "load_balancer")
1606
1648
 
1607
1649
  @_builtins.property
1608
1650
  @pulumi.getter(name="logsPolicy")
@@ -1715,6 +1757,14 @@ class DatabaseInstance(pulumi.CustomResource):
1715
1757
  """
1716
1758
  return pulumi.get(self, "tags")
1717
1759
 
1760
+ @_builtins.property
1761
+ @pulumi.getter(name="upgradableVersions")
1762
+ def upgradable_versions(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceUpgradableVersion']]:
1763
+ """
1764
+ List of available engine versions for upgrade. Each version contains:
1765
+ """
1766
+ return pulumi.get(self, "upgradable_versions")
1767
+
1718
1768
  @_builtins.property
1719
1769
  @pulumi.getter(name="userName")
1720
1770
  def user_name(self) -> pulumi.Output[_builtins.str]:
@@ -276,7 +276,7 @@ class DatabaseUser(pulumi.CustomResource):
276
276
  disable_backup=True,
277
277
  user_name="my_initial_user",
278
278
  password="thiZ_is_v&ry_s3cret")
279
- db_password = random.RandomPassword("db_password",
279
+ db_password = random.index.Password("db_password",
280
280
  length=20,
281
281
  special=True,
282
282
  upper=True,
@@ -286,11 +286,11 @@ class DatabaseUser(pulumi.CustomResource):
286
286
  min_lower=1,
287
287
  min_numeric=1,
288
288
  min_special=1,
289
- override_special="!@#$%^&*()_+-=[]{}|;:,.<>?")
289
+ override_special=!@#$%^&*()_+-=[]{}|;:,.<>?)
290
290
  db_admin = scaleway.databases.User("db_admin",
291
291
  instance_id=main.id,
292
292
  name="devtools",
293
- password=db_password.result,
293
+ password=db_password["result"],
294
294
  is_admin=True)
295
295
  ```
296
296
 
@@ -351,7 +351,7 @@ class DatabaseUser(pulumi.CustomResource):
351
351
  disable_backup=True,
352
352
  user_name="my_initial_user",
353
353
  password="thiZ_is_v&ry_s3cret")
354
- db_password = random.RandomPassword("db_password",
354
+ db_password = random.index.Password("db_password",
355
355
  length=20,
356
356
  special=True,
357
357
  upper=True,
@@ -361,11 +361,11 @@ class DatabaseUser(pulumi.CustomResource):
361
361
  min_lower=1,
362
362
  min_numeric=1,
363
363
  min_special=1,
364
- override_special="!@#$%^&*()_+-=[]{}|;:,.<>?")
364
+ override_special=!@#$%^&*()_+-=[]{}|;:,.<>?)
365
365
  db_admin = scaleway.databases.User("db_admin",
366
366
  instance_id=main.id,
367
367
  name="devtools",
368
- password=db_password.result,
368
+ password=db_password["result"],
369
369
  is_admin=True)
370
370
  ```
371
371
 
@@ -27,6 +27,8 @@ __all__ = [
27
27
  'InstancePrivateNetworkArgsDict',
28
28
  'InstanceReadReplicaArgs',
29
29
  'InstanceReadReplicaArgsDict',
30
+ 'InstanceUpgradableVersionArgs',
31
+ 'InstanceUpgradableVersionArgsDict',
30
32
  'ReadReplicaDirectAccessArgs',
31
33
  'ReadReplicaDirectAccessArgsDict',
32
34
  'ReadReplicaPrivateNetworkArgs',
@@ -258,7 +260,7 @@ if not MYPY:
258
260
  """
259
261
  id: NotRequired[pulumi.Input[_builtins.str]]
260
262
  """
261
- The ID of the IPv4 address resource.
263
+ Version ID to use in upgrade requests.
262
264
  """
263
265
  elif False:
264
266
  InstancePrivateIpArgsDict: TypeAlias = Mapping[str, Any]
@@ -270,7 +272,7 @@ class InstancePrivateIpArgs:
270
272
  id: Optional[pulumi.Input[_builtins.str]] = None):
271
273
  """
272
274
  :param pulumi.Input[_builtins.str] address: The private IPv4 address.
273
- :param pulumi.Input[_builtins.str] id: The ID of the IPv4 address resource.
275
+ :param pulumi.Input[_builtins.str] id: Version ID to use in upgrade requests.
274
276
  """
275
277
  if address is not None:
276
278
  pulumi.set(__self__, "address", address)
@@ -293,7 +295,7 @@ class InstancePrivateIpArgs:
293
295
  @pulumi.getter
294
296
  def id(self) -> Optional[pulumi.Input[_builtins.str]]:
295
297
  """
296
- The ID of the IPv4 address resource.
298
+ Version ID to use in upgrade requests.
297
299
  """
298
300
  return pulumi.get(self, "id")
299
301
 
@@ -565,6 +567,98 @@ class InstanceReadReplicaArgs:
565
567
  pulumi.set(self, "port", value)
566
568
 
567
569
 
570
+ if not MYPY:
571
+ class InstanceUpgradableVersionArgsDict(TypedDict):
572
+ id: NotRequired[pulumi.Input[_builtins.str]]
573
+ """
574
+ Version ID to use in upgrade requests.
575
+ """
576
+ minor_version: NotRequired[pulumi.Input[_builtins.str]]
577
+ """
578
+ Minor version string (e.g., `15.5.0`).
579
+ """
580
+ name: NotRequired[pulumi.Input[_builtins.str]]
581
+ """
582
+ The name of the Database Instance.
583
+ """
584
+ version: NotRequired[pulumi.Input[_builtins.str]]
585
+ """
586
+ Version string (e.g., `15.5`).
587
+ """
588
+ elif False:
589
+ InstanceUpgradableVersionArgsDict: TypeAlias = Mapping[str, Any]
590
+
591
+ @pulumi.input_type
592
+ class InstanceUpgradableVersionArgs:
593
+ def __init__(__self__, *,
594
+ id: Optional[pulumi.Input[_builtins.str]] = None,
595
+ minor_version: Optional[pulumi.Input[_builtins.str]] = None,
596
+ name: Optional[pulumi.Input[_builtins.str]] = None,
597
+ version: Optional[pulumi.Input[_builtins.str]] = None):
598
+ """
599
+ :param pulumi.Input[_builtins.str] id: Version ID to use in upgrade requests.
600
+ :param pulumi.Input[_builtins.str] minor_version: Minor version string (e.g., `15.5.0`).
601
+ :param pulumi.Input[_builtins.str] name: The name of the Database Instance.
602
+ :param pulumi.Input[_builtins.str] version: Version string (e.g., `15.5`).
603
+ """
604
+ if id is not None:
605
+ pulumi.set(__self__, "id", id)
606
+ if minor_version is not None:
607
+ pulumi.set(__self__, "minor_version", minor_version)
608
+ if name is not None:
609
+ pulumi.set(__self__, "name", name)
610
+ if version is not None:
611
+ pulumi.set(__self__, "version", version)
612
+
613
+ @_builtins.property
614
+ @pulumi.getter
615
+ def id(self) -> Optional[pulumi.Input[_builtins.str]]:
616
+ """
617
+ Version ID to use in upgrade requests.
618
+ """
619
+ return pulumi.get(self, "id")
620
+
621
+ @id.setter
622
+ def id(self, value: Optional[pulumi.Input[_builtins.str]]):
623
+ pulumi.set(self, "id", value)
624
+
625
+ @_builtins.property
626
+ @pulumi.getter(name="minorVersion")
627
+ def minor_version(self) -> Optional[pulumi.Input[_builtins.str]]:
628
+ """
629
+ Minor version string (e.g., `15.5.0`).
630
+ """
631
+ return pulumi.get(self, "minor_version")
632
+
633
+ @minor_version.setter
634
+ def minor_version(self, value: Optional[pulumi.Input[_builtins.str]]):
635
+ pulumi.set(self, "minor_version", value)
636
+
637
+ @_builtins.property
638
+ @pulumi.getter
639
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
640
+ """
641
+ The name of the Database Instance.
642
+ """
643
+ return pulumi.get(self, "name")
644
+
645
+ @name.setter
646
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
647
+ pulumi.set(self, "name", value)
648
+
649
+ @_builtins.property
650
+ @pulumi.getter
651
+ def version(self) -> Optional[pulumi.Input[_builtins.str]]:
652
+ """
653
+ Version string (e.g., `15.5`).
654
+ """
655
+ return pulumi.get(self, "version")
656
+
657
+ @version.setter
658
+ def version(self, value: Optional[pulumi.Input[_builtins.str]]):
659
+ pulumi.set(self, "version", value)
660
+
661
+
568
662
  if not MYPY:
569
663
  class ReadReplicaDirectAccessArgsDict(TypedDict):
570
664
  endpoint_id: NotRequired[pulumi.Input[_builtins.str]]
@@ -27,7 +27,7 @@ class GetInstanceResult:
27
27
  """
28
28
  A collection of values returned by getInstance.
29
29
  """
30
- def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_ips=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, user_name=None, volume_size_in_gb=None, volume_type=None):
30
+ def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_ips=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, upgradable_versions=None, user_name=None, volume_size_in_gb=None, volume_type=None):
31
31
  if backup_same_region and not isinstance(backup_same_region, bool):
32
32
  raise TypeError("Expected argument 'backup_same_region' to be a bool")
33
33
  pulumi.set(__self__, "backup_same_region", backup_same_region)
@@ -109,6 +109,9 @@ class GetInstanceResult:
109
109
  if tags and not isinstance(tags, list):
110
110
  raise TypeError("Expected argument 'tags' to be a list")
111
111
  pulumi.set(__self__, "tags", tags)
112
+ if upgradable_versions and not isinstance(upgradable_versions, list):
113
+ raise TypeError("Expected argument 'upgradable_versions' to be a list")
114
+ pulumi.set(__self__, "upgradable_versions", upgradable_versions)
112
115
  if user_name and not isinstance(user_name, str):
113
116
  raise TypeError("Expected argument 'user_name' to be a str")
114
117
  pulumi.set(__self__, "user_name", user_name)
@@ -257,6 +260,11 @@ class GetInstanceResult:
257
260
  def tags(self) -> Sequence[_builtins.str]:
258
261
  return pulumi.get(self, "tags")
259
262
 
263
+ @_builtins.property
264
+ @pulumi.getter(name="upgradableVersions")
265
+ def upgradable_versions(self) -> Sequence['outputs.GetInstanceUpgradableVersionResult']:
266
+ return pulumi.get(self, "upgradable_versions")
267
+
260
268
  @_builtins.property
261
269
  @pulumi.getter(name="userName")
262
270
  def user_name(self) -> _builtins.str:
@@ -306,6 +314,7 @@ class AwaitableGetInstanceResult(GetInstanceResult):
306
314
  settings=self.settings,
307
315
  snapshot_id=self.snapshot_id,
308
316
  tags=self.tags,
317
+ upgradable_versions=self.upgradable_versions,
309
318
  user_name=self.user_name,
310
319
  volume_size_in_gb=self.volume_size_in_gb,
311
320
  volume_type=self.volume_type)
@@ -365,6 +374,7 @@ def get_instance(instance_id: Optional[_builtins.str] = None,
365
374
  settings=pulumi.get(__ret__, 'settings'),
366
375
  snapshot_id=pulumi.get(__ret__, 'snapshot_id'),
367
376
  tags=pulumi.get(__ret__, 'tags'),
377
+ upgradable_versions=pulumi.get(__ret__, 'upgradable_versions'),
368
378
  user_name=pulumi.get(__ret__, 'user_name'),
369
379
  volume_size_in_gb=pulumi.get(__ret__, 'volume_size_in_gb'),
370
380
  volume_type=pulumi.get(__ret__, 'volume_type'))
@@ -421,6 +431,7 @@ def get_instance_output(instance_id: Optional[pulumi.Input[Optional[_builtins.st
421
431
  settings=pulumi.get(__response__, 'settings'),
422
432
  snapshot_id=pulumi.get(__response__, 'snapshot_id'),
423
433
  tags=pulumi.get(__response__, 'tags'),
434
+ upgradable_versions=pulumi.get(__response__, 'upgradable_versions'),
424
435
  user_name=pulumi.get(__response__, 'user_name'),
425
436
  volume_size_in_gb=pulumi.get(__response__, 'volume_size_in_gb'),
426
437
  volume_type=pulumi.get(__response__, 'volume_type')))