pulumiverse-scaleway 1.23.0a1736837529__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.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1641 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1641 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['DatabaseInstanceArgs', 'DatabaseInstance']
20
+
21
+ @pulumi.input_type
22
+ class DatabaseInstanceArgs:
23
+ def __init__(__self__, *,
24
+ engine: pulumi.Input[str],
25
+ node_type: pulumi.Input[str],
26
+ backup_same_region: Optional[pulumi.Input[bool]] = None,
27
+ backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
28
+ backup_schedule_retention: Optional[pulumi.Input[int]] = None,
29
+ disable_backup: Optional[pulumi.Input[bool]] = None,
30
+ encryption_at_rest: Optional[pulumi.Input[bool]] = None,
31
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
32
+ is_ha_cluster: Optional[pulumi.Input[bool]] = None,
33
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
34
+ logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
35
+ name: Optional[pulumi.Input[str]] = None,
36
+ password: Optional[pulumi.Input[str]] = None,
37
+ private_network: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']] = None,
38
+ project_id: Optional[pulumi.Input[str]] = None,
39
+ region: Optional[pulumi.Input[str]] = None,
40
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
41
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
42
+ user_name: Optional[pulumi.Input[str]] = None,
43
+ volume_size_in_gb: Optional[pulumi.Input[int]] = None,
44
+ volume_type: Optional[pulumi.Input[str]] = None):
45
+ """
46
+ The set of arguments for constructing a DatabaseInstance resource.
47
+ :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
48
+
49
+ > **Important** Updates to `engine` will recreate the Database Instance.
50
+ :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
51
+
52
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
53
+ interruption.
54
+
55
+ > **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.
56
+ :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
57
+ :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
58
+ :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
59
+ :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
60
+ :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
61
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
62
+ :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
63
+
64
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
65
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
66
+ :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
67
+ :param pulumi.Input[str] name: The name of the Database Instance.
68
+ :param pulumi.Input[str] password: Password for the first user of the Database Instance.
69
+ :param pulumi.Input['DatabaseInstancePrivateNetworkArgs'] private_network: List of Private Networks endpoints of the Database Instance.
70
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
71
+ Instance is associated with.
72
+ :param pulumi.Input[str] region: `region`) The region
73
+ in which the Database Instance should be created.
74
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
75
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
76
+ :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
77
+
78
+ > **Important** Updates to `user_name` will recreate the Database Instance.
79
+ :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
80
+
81
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
82
+ :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
83
+ """
84
+ pulumi.set(__self__, "engine", engine)
85
+ pulumi.set(__self__, "node_type", node_type)
86
+ if backup_same_region is not None:
87
+ pulumi.set(__self__, "backup_same_region", backup_same_region)
88
+ if backup_schedule_frequency is not None:
89
+ pulumi.set(__self__, "backup_schedule_frequency", backup_schedule_frequency)
90
+ if backup_schedule_retention is not None:
91
+ pulumi.set(__self__, "backup_schedule_retention", backup_schedule_retention)
92
+ if disable_backup is not None:
93
+ pulumi.set(__self__, "disable_backup", disable_backup)
94
+ if encryption_at_rest is not None:
95
+ pulumi.set(__self__, "encryption_at_rest", encryption_at_rest)
96
+ if init_settings is not None:
97
+ pulumi.set(__self__, "init_settings", init_settings)
98
+ if is_ha_cluster is not None:
99
+ pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
100
+ if load_balancers is not None:
101
+ pulumi.set(__self__, "load_balancers", load_balancers)
102
+ if logs_policy is not None:
103
+ pulumi.set(__self__, "logs_policy", logs_policy)
104
+ if name is not None:
105
+ pulumi.set(__self__, "name", name)
106
+ if password is not None:
107
+ pulumi.set(__self__, "password", password)
108
+ if private_network is not None:
109
+ pulumi.set(__self__, "private_network", private_network)
110
+ if project_id is not None:
111
+ pulumi.set(__self__, "project_id", project_id)
112
+ if region is not None:
113
+ pulumi.set(__self__, "region", region)
114
+ if settings is not None:
115
+ pulumi.set(__self__, "settings", settings)
116
+ if tags is not None:
117
+ pulumi.set(__self__, "tags", tags)
118
+ if user_name is not None:
119
+ pulumi.set(__self__, "user_name", user_name)
120
+ if volume_size_in_gb is not None:
121
+ pulumi.set(__self__, "volume_size_in_gb", volume_size_in_gb)
122
+ if volume_type is not None:
123
+ pulumi.set(__self__, "volume_type", volume_type)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def engine(self) -> pulumi.Input[str]:
128
+ """
129
+ Database Instance's engine version (e.g. `PostgreSQL-11`).
130
+
131
+ > **Important** Updates to `engine` will recreate the Database Instance.
132
+ """
133
+ return pulumi.get(self, "engine")
134
+
135
+ @engine.setter
136
+ def engine(self, value: pulumi.Input[str]):
137
+ pulumi.set(self, "engine", value)
138
+
139
+ @property
140
+ @pulumi.getter(name="nodeType")
141
+ def node_type(self) -> pulumi.Input[str]:
142
+ """
143
+ The type of Database Instance you want to create (e.g. `db-dev-s`).
144
+
145
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
146
+ interruption.
147
+
148
+ > **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.
149
+ """
150
+ return pulumi.get(self, "node_type")
151
+
152
+ @node_type.setter
153
+ def node_type(self, value: pulumi.Input[str]):
154
+ pulumi.set(self, "node_type", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="backupSameRegion")
158
+ def backup_same_region(self) -> Optional[pulumi.Input[bool]]:
159
+ """
160
+ Boolean to store logical backups in the same region as the database instance
161
+ """
162
+ return pulumi.get(self, "backup_same_region")
163
+
164
+ @backup_same_region.setter
165
+ def backup_same_region(self, value: Optional[pulumi.Input[bool]]):
166
+ pulumi.set(self, "backup_same_region", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="backupScheduleFrequency")
170
+ def backup_schedule_frequency(self) -> Optional[pulumi.Input[int]]:
171
+ """
172
+ Backup schedule frequency in hours
173
+ """
174
+ return pulumi.get(self, "backup_schedule_frequency")
175
+
176
+ @backup_schedule_frequency.setter
177
+ def backup_schedule_frequency(self, value: Optional[pulumi.Input[int]]):
178
+ pulumi.set(self, "backup_schedule_frequency", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="backupScheduleRetention")
182
+ def backup_schedule_retention(self) -> Optional[pulumi.Input[int]]:
183
+ """
184
+ Backup schedule retention in days
185
+ """
186
+ return pulumi.get(self, "backup_schedule_retention")
187
+
188
+ @backup_schedule_retention.setter
189
+ def backup_schedule_retention(self, value: Optional[pulumi.Input[int]]):
190
+ pulumi.set(self, "backup_schedule_retention", value)
191
+
192
+ @property
193
+ @pulumi.getter(name="disableBackup")
194
+ def disable_backup(self) -> Optional[pulumi.Input[bool]]:
195
+ """
196
+ Disable automated backup for the database instance
197
+ """
198
+ return pulumi.get(self, "disable_backup")
199
+
200
+ @disable_backup.setter
201
+ def disable_backup(self, value: Optional[pulumi.Input[bool]]):
202
+ pulumi.set(self, "disable_backup", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="encryptionAtRest")
206
+ def encryption_at_rest(self) -> Optional[pulumi.Input[bool]]:
207
+ """
208
+ Enable or disable encryption at rest for the Database Instance.
209
+ """
210
+ return pulumi.get(self, "encryption_at_rest")
211
+
212
+ @encryption_at_rest.setter
213
+ def encryption_at_rest(self, value: Optional[pulumi.Input[bool]]):
214
+ pulumi.set(self, "encryption_at_rest", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="initSettings")
218
+ def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
219
+ """
220
+ Map of engine settings to be set at database initialisation.
221
+ """
222
+ return pulumi.get(self, "init_settings")
223
+
224
+ @init_settings.setter
225
+ def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
226
+ pulumi.set(self, "init_settings", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="isHaCluster")
230
+ def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]:
231
+ """
232
+ Enable or disable high availability for the Database Instance.
233
+
234
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
235
+ """
236
+ return pulumi.get(self, "is_ha_cluster")
237
+
238
+ @is_ha_cluster.setter
239
+ def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]):
240
+ pulumi.set(self, "is_ha_cluster", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="loadBalancers")
244
+ def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
245
+ """
246
+ List of Load Balancer endpoints of the Database Instance.
247
+ """
248
+ return pulumi.get(self, "load_balancers")
249
+
250
+ @load_balancers.setter
251
+ def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
252
+ pulumi.set(self, "load_balancers", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="logsPolicy")
256
+ def logs_policy(self) -> Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]:
257
+ """
258
+ Logs policy configuration
259
+ """
260
+ return pulumi.get(self, "logs_policy")
261
+
262
+ @logs_policy.setter
263
+ def logs_policy(self, value: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]):
264
+ pulumi.set(self, "logs_policy", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def name(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The name of the Database Instance.
271
+ """
272
+ return pulumi.get(self, "name")
273
+
274
+ @name.setter
275
+ def name(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "name", value)
277
+
278
+ @property
279
+ @pulumi.getter
280
+ def password(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ Password for the first user of the Database Instance.
283
+ """
284
+ return pulumi.get(self, "password")
285
+
286
+ @password.setter
287
+ def password(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "password", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="privateNetwork")
292
+ def private_network(self) -> Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]:
293
+ """
294
+ List of Private Networks endpoints of the Database Instance.
295
+ """
296
+ return pulumi.get(self, "private_network")
297
+
298
+ @private_network.setter
299
+ def private_network(self, value: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]):
300
+ pulumi.set(self, "private_network", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="projectId")
304
+ def project_id(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ `project_id`) The ID of the project the Database
307
+ Instance is associated with.
308
+ """
309
+ return pulumi.get(self, "project_id")
310
+
311
+ @project_id.setter
312
+ def project_id(self, value: Optional[pulumi.Input[str]]):
313
+ pulumi.set(self, "project_id", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def region(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ `region`) The region
320
+ in which the Database Instance should be created.
321
+ """
322
+ return pulumi.get(self, "region")
323
+
324
+ @region.setter
325
+ def region(self, value: Optional[pulumi.Input[str]]):
326
+ pulumi.set(self, "region", value)
327
+
328
+ @property
329
+ @pulumi.getter
330
+ def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
331
+ """
332
+ Map of engine settings to be set on a running instance.
333
+ """
334
+ return pulumi.get(self, "settings")
335
+
336
+ @settings.setter
337
+ def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
338
+ pulumi.set(self, "settings", value)
339
+
340
+ @property
341
+ @pulumi.getter
342
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
343
+ """
344
+ The tags associated with the Database Instance.
345
+ """
346
+ return pulumi.get(self, "tags")
347
+
348
+ @tags.setter
349
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
350
+ pulumi.set(self, "tags", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="userName")
354
+ def user_name(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ Identifier for the first user of the Database Instance.
357
+
358
+ > **Important** Updates to `user_name` will recreate the Database Instance.
359
+ """
360
+ return pulumi.get(self, "user_name")
361
+
362
+ @user_name.setter
363
+ def user_name(self, value: Optional[pulumi.Input[str]]):
364
+ pulumi.set(self, "user_name", value)
365
+
366
+ @property
367
+ @pulumi.getter(name="volumeSizeInGb")
368
+ def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]:
369
+ """
370
+ Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
371
+
372
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
373
+ """
374
+ return pulumi.get(self, "volume_size_in_gb")
375
+
376
+ @volume_size_in_gb.setter
377
+ def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]):
378
+ pulumi.set(self, "volume_size_in_gb", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="volumeType")
382
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
383
+ """
384
+ Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
385
+ """
386
+ return pulumi.get(self, "volume_type")
387
+
388
+ @volume_type.setter
389
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
390
+ pulumi.set(self, "volume_type", value)
391
+
392
+
393
+ @pulumi.input_type
394
+ class _DatabaseInstanceState:
395
+ def __init__(__self__, *,
396
+ backup_same_region: Optional[pulumi.Input[bool]] = None,
397
+ backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
398
+ backup_schedule_retention: Optional[pulumi.Input[int]] = None,
399
+ certificate: Optional[pulumi.Input[str]] = None,
400
+ disable_backup: Optional[pulumi.Input[bool]] = None,
401
+ encryption_at_rest: Optional[pulumi.Input[bool]] = None,
402
+ endpoint_ip: Optional[pulumi.Input[str]] = None,
403
+ endpoint_port: Optional[pulumi.Input[int]] = None,
404
+ engine: Optional[pulumi.Input[str]] = None,
405
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
406
+ is_ha_cluster: Optional[pulumi.Input[bool]] = None,
407
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]] = None,
408
+ logs_policy: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']] = None,
409
+ name: Optional[pulumi.Input[str]] = None,
410
+ node_type: Optional[pulumi.Input[str]] = None,
411
+ organization_id: Optional[pulumi.Input[str]] = None,
412
+ password: Optional[pulumi.Input[str]] = None,
413
+ private_network: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']] = None,
414
+ project_id: Optional[pulumi.Input[str]] = None,
415
+ read_replicas: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]] = None,
416
+ region: Optional[pulumi.Input[str]] = None,
417
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
418
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
419
+ user_name: Optional[pulumi.Input[str]] = None,
420
+ volume_size_in_gb: Optional[pulumi.Input[int]] = None,
421
+ volume_type: Optional[pulumi.Input[str]] = None):
422
+ """
423
+ Input properties used for looking up and filtering DatabaseInstance resources.
424
+ :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
425
+ :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
426
+ :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
427
+ :param pulumi.Input[str] certificate: Certificate of the Database Instance.
428
+ :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
429
+ :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
430
+ :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
431
+ :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
432
+ :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
433
+
434
+ > **Important** Updates to `engine` will recreate the Database Instance.
435
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
436
+ :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
437
+
438
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
439
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]] load_balancers: List of Load Balancer endpoints of the Database Instance.
440
+ :param pulumi.Input['DatabaseInstanceLogsPolicyArgs'] logs_policy: Logs policy configuration
441
+ :param pulumi.Input[str] name: The name of the Database Instance.
442
+ :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
443
+
444
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
445
+ interruption.
446
+
447
+ > **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.
448
+ :param pulumi.Input[str] organization_id: The organization ID the Database Instance is associated with.
449
+ :param pulumi.Input[str] password: Password for the first user of the Database Instance.
450
+ :param pulumi.Input['DatabaseInstancePrivateNetworkArgs'] private_network: List of Private Networks endpoints of the Database Instance.
451
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
452
+ Instance is associated with.
453
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]] read_replicas: List of read replicas of the Database Instance.
454
+ :param pulumi.Input[str] region: `region`) The region
455
+ in which the Database Instance should be created.
456
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
457
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
458
+ :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
459
+
460
+ > **Important** Updates to `user_name` will recreate the Database Instance.
461
+ :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
462
+
463
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
464
+ :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
465
+ """
466
+ if backup_same_region is not None:
467
+ pulumi.set(__self__, "backup_same_region", backup_same_region)
468
+ if backup_schedule_frequency is not None:
469
+ pulumi.set(__self__, "backup_schedule_frequency", backup_schedule_frequency)
470
+ if backup_schedule_retention is not None:
471
+ pulumi.set(__self__, "backup_schedule_retention", backup_schedule_retention)
472
+ if certificate is not None:
473
+ pulumi.set(__self__, "certificate", certificate)
474
+ if disable_backup is not None:
475
+ pulumi.set(__self__, "disable_backup", disable_backup)
476
+ if encryption_at_rest is not None:
477
+ pulumi.set(__self__, "encryption_at_rest", encryption_at_rest)
478
+ if endpoint_ip is not None:
479
+ warnings.warn("""Please use the private_network or the load_balancer attribute""", DeprecationWarning)
480
+ pulumi.log.warn("""endpoint_ip is deprecated: Please use the private_network or the load_balancer attribute""")
481
+ if endpoint_ip is not None:
482
+ pulumi.set(__self__, "endpoint_ip", endpoint_ip)
483
+ if endpoint_port is not None:
484
+ warnings.warn("""Please use the private_network or the load_balancer attribute""", DeprecationWarning)
485
+ pulumi.log.warn("""endpoint_port is deprecated: Please use the private_network or the load_balancer attribute""")
486
+ if endpoint_port is not None:
487
+ pulumi.set(__self__, "endpoint_port", endpoint_port)
488
+ if engine is not None:
489
+ pulumi.set(__self__, "engine", engine)
490
+ if init_settings is not None:
491
+ pulumi.set(__self__, "init_settings", init_settings)
492
+ if is_ha_cluster is not None:
493
+ pulumi.set(__self__, "is_ha_cluster", is_ha_cluster)
494
+ if load_balancers is not None:
495
+ pulumi.set(__self__, "load_balancers", load_balancers)
496
+ if logs_policy is not None:
497
+ pulumi.set(__self__, "logs_policy", logs_policy)
498
+ if name is not None:
499
+ pulumi.set(__self__, "name", name)
500
+ if node_type is not None:
501
+ pulumi.set(__self__, "node_type", node_type)
502
+ if organization_id is not None:
503
+ pulumi.set(__self__, "organization_id", organization_id)
504
+ if password is not None:
505
+ pulumi.set(__self__, "password", password)
506
+ if private_network is not None:
507
+ pulumi.set(__self__, "private_network", private_network)
508
+ if project_id is not None:
509
+ pulumi.set(__self__, "project_id", project_id)
510
+ if read_replicas is not None:
511
+ pulumi.set(__self__, "read_replicas", read_replicas)
512
+ if region is not None:
513
+ pulumi.set(__self__, "region", region)
514
+ if settings is not None:
515
+ pulumi.set(__self__, "settings", settings)
516
+ if tags is not None:
517
+ pulumi.set(__self__, "tags", tags)
518
+ if user_name is not None:
519
+ pulumi.set(__self__, "user_name", user_name)
520
+ if volume_size_in_gb is not None:
521
+ pulumi.set(__self__, "volume_size_in_gb", volume_size_in_gb)
522
+ if volume_type is not None:
523
+ pulumi.set(__self__, "volume_type", volume_type)
524
+
525
+ @property
526
+ @pulumi.getter(name="backupSameRegion")
527
+ def backup_same_region(self) -> Optional[pulumi.Input[bool]]:
528
+ """
529
+ Boolean to store logical backups in the same region as the database instance
530
+ """
531
+ return pulumi.get(self, "backup_same_region")
532
+
533
+ @backup_same_region.setter
534
+ def backup_same_region(self, value: Optional[pulumi.Input[bool]]):
535
+ pulumi.set(self, "backup_same_region", value)
536
+
537
+ @property
538
+ @pulumi.getter(name="backupScheduleFrequency")
539
+ def backup_schedule_frequency(self) -> Optional[pulumi.Input[int]]:
540
+ """
541
+ Backup schedule frequency in hours
542
+ """
543
+ return pulumi.get(self, "backup_schedule_frequency")
544
+
545
+ @backup_schedule_frequency.setter
546
+ def backup_schedule_frequency(self, value: Optional[pulumi.Input[int]]):
547
+ pulumi.set(self, "backup_schedule_frequency", value)
548
+
549
+ @property
550
+ @pulumi.getter(name="backupScheduleRetention")
551
+ def backup_schedule_retention(self) -> Optional[pulumi.Input[int]]:
552
+ """
553
+ Backup schedule retention in days
554
+ """
555
+ return pulumi.get(self, "backup_schedule_retention")
556
+
557
+ @backup_schedule_retention.setter
558
+ def backup_schedule_retention(self, value: Optional[pulumi.Input[int]]):
559
+ pulumi.set(self, "backup_schedule_retention", value)
560
+
561
+ @property
562
+ @pulumi.getter
563
+ def certificate(self) -> Optional[pulumi.Input[str]]:
564
+ """
565
+ Certificate of the Database Instance.
566
+ """
567
+ return pulumi.get(self, "certificate")
568
+
569
+ @certificate.setter
570
+ def certificate(self, value: Optional[pulumi.Input[str]]):
571
+ pulumi.set(self, "certificate", value)
572
+
573
+ @property
574
+ @pulumi.getter(name="disableBackup")
575
+ def disable_backup(self) -> Optional[pulumi.Input[bool]]:
576
+ """
577
+ Disable automated backup for the database instance
578
+ """
579
+ return pulumi.get(self, "disable_backup")
580
+
581
+ @disable_backup.setter
582
+ def disable_backup(self, value: Optional[pulumi.Input[bool]]):
583
+ pulumi.set(self, "disable_backup", value)
584
+
585
+ @property
586
+ @pulumi.getter(name="encryptionAtRest")
587
+ def encryption_at_rest(self) -> Optional[pulumi.Input[bool]]:
588
+ """
589
+ Enable or disable encryption at rest for the Database Instance.
590
+ """
591
+ return pulumi.get(self, "encryption_at_rest")
592
+
593
+ @encryption_at_rest.setter
594
+ def encryption_at_rest(self, value: Optional[pulumi.Input[bool]]):
595
+ pulumi.set(self, "encryption_at_rest", value)
596
+
597
+ @property
598
+ @pulumi.getter(name="endpointIp")
599
+ @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
600
+ def endpoint_ip(self) -> Optional[pulumi.Input[str]]:
601
+ """
602
+ (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
603
+ """
604
+ return pulumi.get(self, "endpoint_ip")
605
+
606
+ @endpoint_ip.setter
607
+ def endpoint_ip(self, value: Optional[pulumi.Input[str]]):
608
+ pulumi.set(self, "endpoint_ip", value)
609
+
610
+ @property
611
+ @pulumi.getter(name="endpointPort")
612
+ @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
613
+ def endpoint_port(self) -> Optional[pulumi.Input[int]]:
614
+ """
615
+ (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
616
+ """
617
+ return pulumi.get(self, "endpoint_port")
618
+
619
+ @endpoint_port.setter
620
+ def endpoint_port(self, value: Optional[pulumi.Input[int]]):
621
+ pulumi.set(self, "endpoint_port", value)
622
+
623
+ @property
624
+ @pulumi.getter
625
+ def engine(self) -> Optional[pulumi.Input[str]]:
626
+ """
627
+ Database Instance's engine version (e.g. `PostgreSQL-11`).
628
+
629
+ > **Important** Updates to `engine` will recreate the Database Instance.
630
+ """
631
+ return pulumi.get(self, "engine")
632
+
633
+ @engine.setter
634
+ def engine(self, value: Optional[pulumi.Input[str]]):
635
+ pulumi.set(self, "engine", value)
636
+
637
+ @property
638
+ @pulumi.getter(name="initSettings")
639
+ def init_settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
640
+ """
641
+ Map of engine settings to be set at database initialisation.
642
+ """
643
+ return pulumi.get(self, "init_settings")
644
+
645
+ @init_settings.setter
646
+ def init_settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
647
+ pulumi.set(self, "init_settings", value)
648
+
649
+ @property
650
+ @pulumi.getter(name="isHaCluster")
651
+ def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]:
652
+ """
653
+ Enable or disable high availability for the Database Instance.
654
+
655
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
656
+ """
657
+ return pulumi.get(self, "is_ha_cluster")
658
+
659
+ @is_ha_cluster.setter
660
+ def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]):
661
+ pulumi.set(self, "is_ha_cluster", value)
662
+
663
+ @property
664
+ @pulumi.getter(name="loadBalancers")
665
+ def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]:
666
+ """
667
+ List of Load Balancer endpoints of the Database Instance.
668
+ """
669
+ return pulumi.get(self, "load_balancers")
670
+
671
+ @load_balancers.setter
672
+ def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceLoadBalancerArgs']]]]):
673
+ pulumi.set(self, "load_balancers", value)
674
+
675
+ @property
676
+ @pulumi.getter(name="logsPolicy")
677
+ def logs_policy(self) -> Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]:
678
+ """
679
+ Logs policy configuration
680
+ """
681
+ return pulumi.get(self, "logs_policy")
682
+
683
+ @logs_policy.setter
684
+ def logs_policy(self, value: Optional[pulumi.Input['DatabaseInstanceLogsPolicyArgs']]):
685
+ pulumi.set(self, "logs_policy", value)
686
+
687
+ @property
688
+ @pulumi.getter
689
+ def name(self) -> Optional[pulumi.Input[str]]:
690
+ """
691
+ The name of the Database Instance.
692
+ """
693
+ return pulumi.get(self, "name")
694
+
695
+ @name.setter
696
+ def name(self, value: Optional[pulumi.Input[str]]):
697
+ pulumi.set(self, "name", value)
698
+
699
+ @property
700
+ @pulumi.getter(name="nodeType")
701
+ def node_type(self) -> Optional[pulumi.Input[str]]:
702
+ """
703
+ The type of Database Instance you want to create (e.g. `db-dev-s`).
704
+
705
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
706
+ interruption.
707
+
708
+ > **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.
709
+ """
710
+ return pulumi.get(self, "node_type")
711
+
712
+ @node_type.setter
713
+ def node_type(self, value: Optional[pulumi.Input[str]]):
714
+ pulumi.set(self, "node_type", value)
715
+
716
+ @property
717
+ @pulumi.getter(name="organizationId")
718
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
719
+ """
720
+ The organization ID the Database Instance is associated with.
721
+ """
722
+ return pulumi.get(self, "organization_id")
723
+
724
+ @organization_id.setter
725
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
726
+ pulumi.set(self, "organization_id", value)
727
+
728
+ @property
729
+ @pulumi.getter
730
+ def password(self) -> Optional[pulumi.Input[str]]:
731
+ """
732
+ Password for the first user of the Database Instance.
733
+ """
734
+ return pulumi.get(self, "password")
735
+
736
+ @password.setter
737
+ def password(self, value: Optional[pulumi.Input[str]]):
738
+ pulumi.set(self, "password", value)
739
+
740
+ @property
741
+ @pulumi.getter(name="privateNetwork")
742
+ def private_network(self) -> Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]:
743
+ """
744
+ List of Private Networks endpoints of the Database Instance.
745
+ """
746
+ return pulumi.get(self, "private_network")
747
+
748
+ @private_network.setter
749
+ def private_network(self, value: Optional[pulumi.Input['DatabaseInstancePrivateNetworkArgs']]):
750
+ pulumi.set(self, "private_network", value)
751
+
752
+ @property
753
+ @pulumi.getter(name="projectId")
754
+ def project_id(self) -> Optional[pulumi.Input[str]]:
755
+ """
756
+ `project_id`) The ID of the project the Database
757
+ Instance is associated with.
758
+ """
759
+ return pulumi.get(self, "project_id")
760
+
761
+ @project_id.setter
762
+ def project_id(self, value: Optional[pulumi.Input[str]]):
763
+ pulumi.set(self, "project_id", value)
764
+
765
+ @property
766
+ @pulumi.getter(name="readReplicas")
767
+ def read_replicas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]]:
768
+ """
769
+ List of read replicas of the Database Instance.
770
+ """
771
+ return pulumi.get(self, "read_replicas")
772
+
773
+ @read_replicas.setter
774
+ def read_replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceReadReplicaArgs']]]]):
775
+ pulumi.set(self, "read_replicas", value)
776
+
777
+ @property
778
+ @pulumi.getter
779
+ def region(self) -> Optional[pulumi.Input[str]]:
780
+ """
781
+ `region`) The region
782
+ in which the Database Instance should be created.
783
+ """
784
+ return pulumi.get(self, "region")
785
+
786
+ @region.setter
787
+ def region(self, value: Optional[pulumi.Input[str]]):
788
+ pulumi.set(self, "region", value)
789
+
790
+ @property
791
+ @pulumi.getter
792
+ def settings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
793
+ """
794
+ Map of engine settings to be set on a running instance.
795
+ """
796
+ return pulumi.get(self, "settings")
797
+
798
+ @settings.setter
799
+ def settings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
800
+ pulumi.set(self, "settings", value)
801
+
802
+ @property
803
+ @pulumi.getter
804
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
805
+ """
806
+ The tags associated with the Database Instance.
807
+ """
808
+ return pulumi.get(self, "tags")
809
+
810
+ @tags.setter
811
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
812
+ pulumi.set(self, "tags", value)
813
+
814
+ @property
815
+ @pulumi.getter(name="userName")
816
+ def user_name(self) -> Optional[pulumi.Input[str]]:
817
+ """
818
+ Identifier for the first user of the Database Instance.
819
+
820
+ > **Important** Updates to `user_name` will recreate the Database Instance.
821
+ """
822
+ return pulumi.get(self, "user_name")
823
+
824
+ @user_name.setter
825
+ def user_name(self, value: Optional[pulumi.Input[str]]):
826
+ pulumi.set(self, "user_name", value)
827
+
828
+ @property
829
+ @pulumi.getter(name="volumeSizeInGb")
830
+ def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]:
831
+ """
832
+ Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
833
+
834
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
835
+ """
836
+ return pulumi.get(self, "volume_size_in_gb")
837
+
838
+ @volume_size_in_gb.setter
839
+ def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]):
840
+ pulumi.set(self, "volume_size_in_gb", value)
841
+
842
+ @property
843
+ @pulumi.getter(name="volumeType")
844
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
845
+ """
846
+ Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
847
+ """
848
+ return pulumi.get(self, "volume_type")
849
+
850
+ @volume_type.setter
851
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
852
+ pulumi.set(self, "volume_type", value)
853
+
854
+
855
+ class DatabaseInstance(pulumi.CustomResource):
856
+ @overload
857
+ def __init__(__self__,
858
+ resource_name: str,
859
+ opts: Optional[pulumi.ResourceOptions] = None,
860
+ backup_same_region: Optional[pulumi.Input[bool]] = None,
861
+ backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
862
+ backup_schedule_retention: Optional[pulumi.Input[int]] = None,
863
+ disable_backup: Optional[pulumi.Input[bool]] = None,
864
+ encryption_at_rest: Optional[pulumi.Input[bool]] = None,
865
+ engine: Optional[pulumi.Input[str]] = None,
866
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
867
+ is_ha_cluster: Optional[pulumi.Input[bool]] = None,
868
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
869
+ logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
870
+ name: Optional[pulumi.Input[str]] = None,
871
+ node_type: Optional[pulumi.Input[str]] = None,
872
+ password: Optional[pulumi.Input[str]] = None,
873
+ private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
874
+ project_id: Optional[pulumi.Input[str]] = None,
875
+ region: Optional[pulumi.Input[str]] = None,
876
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
877
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
878
+ user_name: Optional[pulumi.Input[str]] = None,
879
+ volume_size_in_gb: Optional[pulumi.Input[int]] = None,
880
+ volume_type: Optional[pulumi.Input[str]] = None,
881
+ __props__=None):
882
+ """
883
+ Creates and manages Scaleway Database Instances.
884
+ For more information, see refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
885
+
886
+ ## Example Usage
887
+
888
+ ### Example Basic
889
+
890
+ ```python
891
+ import pulumi
892
+ import pulumiverse_scaleway as scaleway
893
+
894
+ main = scaleway.DatabaseInstance("main",
895
+ name="test-rdb",
896
+ node_type="DB-DEV-S",
897
+ engine="PostgreSQL-15",
898
+ is_ha_cluster=True,
899
+ disable_backup=True,
900
+ user_name="my_initial_user",
901
+ password="thiZ_is_v&ry_s3cret",
902
+ encryption_at_rest=True)
903
+ ```
904
+
905
+ ### Example Block Storage Low Latency
906
+
907
+ ```python
908
+ import pulumi
909
+ import pulumiverse_scaleway as scaleway
910
+
911
+ main = scaleway.DatabaseInstance("main",
912
+ name="test-rdb-sbs",
913
+ node_type="db-play2-pico",
914
+ engine="PostgreSQL-15",
915
+ is_ha_cluster=True,
916
+ disable_backup=True,
917
+ user_name="my_initial_user",
918
+ password="thiZ_is_v&ry_s3cret",
919
+ volume_type="sbs_15k",
920
+ volume_size_in_gb=10)
921
+ ```
922
+
923
+ ### Example with Settings
924
+
925
+ ```python
926
+ import pulumi
927
+ import pulumiverse_scaleway as scaleway
928
+
929
+ main = scaleway.DatabaseInstance("main",
930
+ name="test-rdb",
931
+ node_type="db-dev-s",
932
+ disable_backup=True,
933
+ engine="MySQL-8",
934
+ user_name="my_initial_user",
935
+ password="thiZ_is_v&ry_s3cret",
936
+ init_settings={
937
+ "lower_case_table_names": "1",
938
+ },
939
+ settings={
940
+ "max_connections": "350",
941
+ })
942
+ ```
943
+
944
+ ### Example with backup schedule
945
+
946
+ ```python
947
+ import pulumi
948
+ import pulumiverse_scaleway as scaleway
949
+
950
+ main = scaleway.DatabaseInstance("main",
951
+ name="test-rdb",
952
+ node_type="DB-DEV-S",
953
+ engine="PostgreSQL-15",
954
+ is_ha_cluster=True,
955
+ user_name="my_initial_user",
956
+ password="thiZ_is_v&ry_s3cret",
957
+ disable_backup=False,
958
+ backup_schedule_frequency=24,
959
+ backup_schedule_retention=7)
960
+ ```
961
+
962
+ ### Examples of endpoint configuration
963
+
964
+ Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
965
+
966
+ ### 1 static Private Network endpoint
967
+
968
+ ```python
969
+ import pulumi
970
+ import pulumiverse_scaleway as scaleway
971
+
972
+ pn = scaleway.VpcPrivateNetwork("pn", ipv4_subnet={
973
+ "subnet": "172.16.20.0/22",
974
+ })
975
+ main = scaleway.DatabaseInstance("main",
976
+ node_type="db-dev-s",
977
+ engine="PostgreSQL-15",
978
+ private_network={
979
+ "pn_id": pn.id,
980
+ "ip_net": "172.16.20.4/22",
981
+ })
982
+ ```
983
+
984
+ ### 1 IPAM Private Network endpoint + 1 public endpoint
985
+
986
+ ```python
987
+ import pulumi
988
+ import pulumiverse_scaleway as scaleway
989
+
990
+ pn = scaleway.VpcPrivateNetwork("pn")
991
+ main = scaleway.DatabaseInstance("main",
992
+ load_balancers=[{}],
993
+ node_type="DB-DEV-S",
994
+ engine="PostgreSQL-15",
995
+ private_network={
996
+ "pn_id": pn.id,
997
+ "enable_ipam": True,
998
+ })
999
+ ```
1000
+
1001
+ ### Default: 1 public endpoint
1002
+
1003
+ ```python
1004
+ import pulumi
1005
+ import pulumiverse_scaleway as scaleway
1006
+
1007
+ main = scaleway.DatabaseInstance("main",
1008
+ node_type="db-dev-s",
1009
+ engine="PostgreSQL-15")
1010
+ ```
1011
+
1012
+ > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1013
+
1014
+ ## Limitations
1015
+
1016
+ The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
1017
+ i.e. `fr-par-1`, `nl-ams-1`, `pl-waw-1`. To learn more, read our
1018
+ section [How to connect a PostgreSQL and MySQL Database Instance to a Private Network](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/how-to/connect-database-private-network/)
1019
+
1020
+ ## Import
1021
+
1022
+ Database Instance can be imported using the `{region}/{id}`, e.g.
1023
+
1024
+ bash
1025
+
1026
+ ```sh
1027
+ $ pulumi import scaleway:index/databaseInstance:DatabaseInstance rdb01 fr-par/11111111-1111-1111-1111-111111111111
1028
+ ```
1029
+
1030
+ :param str resource_name: The name of the resource.
1031
+ :param pulumi.ResourceOptions opts: Options for the resource.
1032
+ :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1033
+ :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1034
+ :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1035
+ :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1036
+ :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1037
+ :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1038
+
1039
+ > **Important** Updates to `engine` will recreate the Database Instance.
1040
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1041
+ :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1042
+
1043
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1044
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1045
+ :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1046
+ :param pulumi.Input[str] name: The name of the Database Instance.
1047
+ :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1048
+
1049
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1050
+ interruption.
1051
+
1052
+ > **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.
1053
+ :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1054
+ :param pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1055
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1056
+ Instance is associated with.
1057
+ :param pulumi.Input[str] region: `region`) The region
1058
+ in which the Database Instance should be created.
1059
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1060
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1061
+ :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1062
+
1063
+ > **Important** Updates to `user_name` will recreate the Database Instance.
1064
+ :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1065
+
1066
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1067
+ :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1068
+ """
1069
+ ...
1070
+ @overload
1071
+ def __init__(__self__,
1072
+ resource_name: str,
1073
+ args: DatabaseInstanceArgs,
1074
+ opts: Optional[pulumi.ResourceOptions] = None):
1075
+ """
1076
+ Creates and manages Scaleway Database Instances.
1077
+ For more information, see refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
1078
+
1079
+ ## Example Usage
1080
+
1081
+ ### Example Basic
1082
+
1083
+ ```python
1084
+ import pulumi
1085
+ import pulumiverse_scaleway as scaleway
1086
+
1087
+ main = scaleway.DatabaseInstance("main",
1088
+ name="test-rdb",
1089
+ node_type="DB-DEV-S",
1090
+ engine="PostgreSQL-15",
1091
+ is_ha_cluster=True,
1092
+ disable_backup=True,
1093
+ user_name="my_initial_user",
1094
+ password="thiZ_is_v&ry_s3cret",
1095
+ encryption_at_rest=True)
1096
+ ```
1097
+
1098
+ ### Example Block Storage Low Latency
1099
+
1100
+ ```python
1101
+ import pulumi
1102
+ import pulumiverse_scaleway as scaleway
1103
+
1104
+ main = scaleway.DatabaseInstance("main",
1105
+ name="test-rdb-sbs",
1106
+ node_type="db-play2-pico",
1107
+ engine="PostgreSQL-15",
1108
+ is_ha_cluster=True,
1109
+ disable_backup=True,
1110
+ user_name="my_initial_user",
1111
+ password="thiZ_is_v&ry_s3cret",
1112
+ volume_type="sbs_15k",
1113
+ volume_size_in_gb=10)
1114
+ ```
1115
+
1116
+ ### Example with Settings
1117
+
1118
+ ```python
1119
+ import pulumi
1120
+ import pulumiverse_scaleway as scaleway
1121
+
1122
+ main = scaleway.DatabaseInstance("main",
1123
+ name="test-rdb",
1124
+ node_type="db-dev-s",
1125
+ disable_backup=True,
1126
+ engine="MySQL-8",
1127
+ user_name="my_initial_user",
1128
+ password="thiZ_is_v&ry_s3cret",
1129
+ init_settings={
1130
+ "lower_case_table_names": "1",
1131
+ },
1132
+ settings={
1133
+ "max_connections": "350",
1134
+ })
1135
+ ```
1136
+
1137
+ ### Example with backup schedule
1138
+
1139
+ ```python
1140
+ import pulumi
1141
+ import pulumiverse_scaleway as scaleway
1142
+
1143
+ main = scaleway.DatabaseInstance("main",
1144
+ name="test-rdb",
1145
+ node_type="DB-DEV-S",
1146
+ engine="PostgreSQL-15",
1147
+ is_ha_cluster=True,
1148
+ user_name="my_initial_user",
1149
+ password="thiZ_is_v&ry_s3cret",
1150
+ disable_backup=False,
1151
+ backup_schedule_frequency=24,
1152
+ backup_schedule_retention=7)
1153
+ ```
1154
+
1155
+ ### Examples of endpoint configuration
1156
+
1157
+ Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
1158
+
1159
+ ### 1 static Private Network endpoint
1160
+
1161
+ ```python
1162
+ import pulumi
1163
+ import pulumiverse_scaleway as scaleway
1164
+
1165
+ pn = scaleway.VpcPrivateNetwork("pn", ipv4_subnet={
1166
+ "subnet": "172.16.20.0/22",
1167
+ })
1168
+ main = scaleway.DatabaseInstance("main",
1169
+ node_type="db-dev-s",
1170
+ engine="PostgreSQL-15",
1171
+ private_network={
1172
+ "pn_id": pn.id,
1173
+ "ip_net": "172.16.20.4/22",
1174
+ })
1175
+ ```
1176
+
1177
+ ### 1 IPAM Private Network endpoint + 1 public endpoint
1178
+
1179
+ ```python
1180
+ import pulumi
1181
+ import pulumiverse_scaleway as scaleway
1182
+
1183
+ pn = scaleway.VpcPrivateNetwork("pn")
1184
+ main = scaleway.DatabaseInstance("main",
1185
+ load_balancers=[{}],
1186
+ node_type="DB-DEV-S",
1187
+ engine="PostgreSQL-15",
1188
+ private_network={
1189
+ "pn_id": pn.id,
1190
+ "enable_ipam": True,
1191
+ })
1192
+ ```
1193
+
1194
+ ### Default: 1 public endpoint
1195
+
1196
+ ```python
1197
+ import pulumi
1198
+ import pulumiverse_scaleway as scaleway
1199
+
1200
+ main = scaleway.DatabaseInstance("main",
1201
+ node_type="db-dev-s",
1202
+ engine="PostgreSQL-15")
1203
+ ```
1204
+
1205
+ > **Note** If nothing is defined, your Database Instance will have a default public load-balancer endpoint.
1206
+
1207
+ ## Limitations
1208
+
1209
+ The Managed Database product is only compliant with the Private Network in the default availability zone (AZ).
1210
+ i.e. `fr-par-1`, `nl-ams-1`, `pl-waw-1`. To learn more, read our
1211
+ section [How to connect a PostgreSQL and MySQL Database Instance to a Private Network](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/how-to/connect-database-private-network/)
1212
+
1213
+ ## Import
1214
+
1215
+ Database Instance can be imported using the `{region}/{id}`, e.g.
1216
+
1217
+ bash
1218
+
1219
+ ```sh
1220
+ $ pulumi import scaleway:index/databaseInstance:DatabaseInstance rdb01 fr-par/11111111-1111-1111-1111-111111111111
1221
+ ```
1222
+
1223
+ :param str resource_name: The name of the resource.
1224
+ :param DatabaseInstanceArgs args: The arguments to use to populate this resource's properties.
1225
+ :param pulumi.ResourceOptions opts: Options for the resource.
1226
+ """
1227
+ ...
1228
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1229
+ resource_args, opts = _utilities.get_resource_args_opts(DatabaseInstanceArgs, pulumi.ResourceOptions, *args, **kwargs)
1230
+ if resource_args is not None:
1231
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1232
+ else:
1233
+ __self__._internal_init(resource_name, *args, **kwargs)
1234
+
1235
+ def _internal_init(__self__,
1236
+ resource_name: str,
1237
+ opts: Optional[pulumi.ResourceOptions] = None,
1238
+ backup_same_region: Optional[pulumi.Input[bool]] = None,
1239
+ backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1240
+ backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1241
+ disable_backup: Optional[pulumi.Input[bool]] = None,
1242
+ encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1243
+ engine: Optional[pulumi.Input[str]] = None,
1244
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1245
+ is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1246
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1247
+ logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1248
+ name: Optional[pulumi.Input[str]] = None,
1249
+ node_type: Optional[pulumi.Input[str]] = None,
1250
+ password: Optional[pulumi.Input[str]] = None,
1251
+ private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
1252
+ project_id: Optional[pulumi.Input[str]] = None,
1253
+ region: Optional[pulumi.Input[str]] = None,
1254
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1255
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1256
+ user_name: Optional[pulumi.Input[str]] = None,
1257
+ volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1258
+ volume_type: Optional[pulumi.Input[str]] = None,
1259
+ __props__=None):
1260
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1261
+ if not isinstance(opts, pulumi.ResourceOptions):
1262
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1263
+ if opts.id is None:
1264
+ if __props__ is not None:
1265
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1266
+ __props__ = DatabaseInstanceArgs.__new__(DatabaseInstanceArgs)
1267
+
1268
+ __props__.__dict__["backup_same_region"] = backup_same_region
1269
+ __props__.__dict__["backup_schedule_frequency"] = backup_schedule_frequency
1270
+ __props__.__dict__["backup_schedule_retention"] = backup_schedule_retention
1271
+ __props__.__dict__["disable_backup"] = disable_backup
1272
+ __props__.__dict__["encryption_at_rest"] = encryption_at_rest
1273
+ if engine is None and not opts.urn:
1274
+ raise TypeError("Missing required property 'engine'")
1275
+ __props__.__dict__["engine"] = engine
1276
+ __props__.__dict__["init_settings"] = init_settings
1277
+ __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1278
+ __props__.__dict__["load_balancers"] = load_balancers
1279
+ __props__.__dict__["logs_policy"] = logs_policy
1280
+ __props__.__dict__["name"] = name
1281
+ if node_type is None and not opts.urn:
1282
+ raise TypeError("Missing required property 'node_type'")
1283
+ __props__.__dict__["node_type"] = node_type
1284
+ __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
1285
+ __props__.__dict__["private_network"] = private_network
1286
+ __props__.__dict__["project_id"] = project_id
1287
+ __props__.__dict__["region"] = region
1288
+ __props__.__dict__["settings"] = settings
1289
+ __props__.__dict__["tags"] = tags
1290
+ __props__.__dict__["user_name"] = user_name
1291
+ __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb
1292
+ __props__.__dict__["volume_type"] = volume_type
1293
+ __props__.__dict__["certificate"] = None
1294
+ __props__.__dict__["endpoint_ip"] = None
1295
+ __props__.__dict__["endpoint_port"] = None
1296
+ __props__.__dict__["organization_id"] = None
1297
+ __props__.__dict__["read_replicas"] = None
1298
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
1299
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1300
+ super(DatabaseInstance, __self__).__init__(
1301
+ 'scaleway:index/databaseInstance:DatabaseInstance',
1302
+ resource_name,
1303
+ __props__,
1304
+ opts)
1305
+
1306
+ @staticmethod
1307
+ def get(resource_name: str,
1308
+ id: pulumi.Input[str],
1309
+ opts: Optional[pulumi.ResourceOptions] = None,
1310
+ backup_same_region: Optional[pulumi.Input[bool]] = None,
1311
+ backup_schedule_frequency: Optional[pulumi.Input[int]] = None,
1312
+ backup_schedule_retention: Optional[pulumi.Input[int]] = None,
1313
+ certificate: Optional[pulumi.Input[str]] = None,
1314
+ disable_backup: Optional[pulumi.Input[bool]] = None,
1315
+ encryption_at_rest: Optional[pulumi.Input[bool]] = None,
1316
+ endpoint_ip: Optional[pulumi.Input[str]] = None,
1317
+ endpoint_port: Optional[pulumi.Input[int]] = None,
1318
+ engine: Optional[pulumi.Input[str]] = None,
1319
+ init_settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1320
+ is_ha_cluster: Optional[pulumi.Input[bool]] = None,
1321
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]]] = None,
1322
+ logs_policy: Optional[pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']]] = None,
1323
+ name: Optional[pulumi.Input[str]] = None,
1324
+ node_type: Optional[pulumi.Input[str]] = None,
1325
+ organization_id: Optional[pulumi.Input[str]] = None,
1326
+ password: Optional[pulumi.Input[str]] = None,
1327
+ private_network: Optional[pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']]] = None,
1328
+ project_id: Optional[pulumi.Input[str]] = None,
1329
+ read_replicas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceReadReplicaArgs', 'DatabaseInstanceReadReplicaArgsDict']]]]] = None,
1330
+ region: Optional[pulumi.Input[str]] = None,
1331
+ settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1332
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1333
+ user_name: Optional[pulumi.Input[str]] = None,
1334
+ volume_size_in_gb: Optional[pulumi.Input[int]] = None,
1335
+ volume_type: Optional[pulumi.Input[str]] = None) -> 'DatabaseInstance':
1336
+ """
1337
+ Get an existing DatabaseInstance resource's state with the given name, id, and optional extra
1338
+ properties used to qualify the lookup.
1339
+
1340
+ :param str resource_name: The unique name of the resulting resource.
1341
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1342
+ :param pulumi.ResourceOptions opts: Options for the resource.
1343
+ :param pulumi.Input[bool] backup_same_region: Boolean to store logical backups in the same region as the database instance
1344
+ :param pulumi.Input[int] backup_schedule_frequency: Backup schedule frequency in hours
1345
+ :param pulumi.Input[int] backup_schedule_retention: Backup schedule retention in days
1346
+ :param pulumi.Input[str] certificate: Certificate of the Database Instance.
1347
+ :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance
1348
+ :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance.
1349
+ :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1350
+ :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1351
+ :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`).
1352
+
1353
+ > **Important** Updates to `engine` will recreate the Database Instance.
1354
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] init_settings: Map of engine settings to be set at database initialisation.
1355
+ :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the Database Instance.
1356
+
1357
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1358
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceLoadBalancerArgs', 'DatabaseInstanceLoadBalancerArgsDict']]]] load_balancers: List of Load Balancer endpoints of the Database Instance.
1359
+ :param pulumi.Input[Union['DatabaseInstanceLogsPolicyArgs', 'DatabaseInstanceLogsPolicyArgsDict']] logs_policy: Logs policy configuration
1360
+ :param pulumi.Input[str] name: The name of the Database Instance.
1361
+ :param pulumi.Input[str] node_type: The type of Database Instance you want to create (e.g. `db-dev-s`).
1362
+
1363
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1364
+ interruption.
1365
+
1366
+ > **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.
1367
+ :param pulumi.Input[str] organization_id: The organization ID the Database Instance is associated with.
1368
+ :param pulumi.Input[str] password: Password for the first user of the Database Instance.
1369
+ :param pulumi.Input[Union['DatabaseInstancePrivateNetworkArgs', 'DatabaseInstancePrivateNetworkArgsDict']] private_network: List of Private Networks endpoints of the Database Instance.
1370
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database
1371
+ Instance is associated with.
1372
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceReadReplicaArgs', 'DatabaseInstanceReadReplicaArgsDict']]]] read_replicas: List of read replicas of the Database Instance.
1373
+ :param pulumi.Input[str] region: `region`) The region
1374
+ in which the Database Instance should be created.
1375
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of engine settings to be set on a running instance.
1376
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance.
1377
+ :param pulumi.Input[str] user_name: Identifier for the first user of the Database Instance.
1378
+
1379
+ > **Important** Updates to `user_name` will recreate the Database Instance.
1380
+ :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1381
+
1382
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1383
+ :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1384
+ """
1385
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1386
+
1387
+ __props__ = _DatabaseInstanceState.__new__(_DatabaseInstanceState)
1388
+
1389
+ __props__.__dict__["backup_same_region"] = backup_same_region
1390
+ __props__.__dict__["backup_schedule_frequency"] = backup_schedule_frequency
1391
+ __props__.__dict__["backup_schedule_retention"] = backup_schedule_retention
1392
+ __props__.__dict__["certificate"] = certificate
1393
+ __props__.__dict__["disable_backup"] = disable_backup
1394
+ __props__.__dict__["encryption_at_rest"] = encryption_at_rest
1395
+ __props__.__dict__["endpoint_ip"] = endpoint_ip
1396
+ __props__.__dict__["endpoint_port"] = endpoint_port
1397
+ __props__.__dict__["engine"] = engine
1398
+ __props__.__dict__["init_settings"] = init_settings
1399
+ __props__.__dict__["is_ha_cluster"] = is_ha_cluster
1400
+ __props__.__dict__["load_balancers"] = load_balancers
1401
+ __props__.__dict__["logs_policy"] = logs_policy
1402
+ __props__.__dict__["name"] = name
1403
+ __props__.__dict__["node_type"] = node_type
1404
+ __props__.__dict__["organization_id"] = organization_id
1405
+ __props__.__dict__["password"] = password
1406
+ __props__.__dict__["private_network"] = private_network
1407
+ __props__.__dict__["project_id"] = project_id
1408
+ __props__.__dict__["read_replicas"] = read_replicas
1409
+ __props__.__dict__["region"] = region
1410
+ __props__.__dict__["settings"] = settings
1411
+ __props__.__dict__["tags"] = tags
1412
+ __props__.__dict__["user_name"] = user_name
1413
+ __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb
1414
+ __props__.__dict__["volume_type"] = volume_type
1415
+ return DatabaseInstance(resource_name, opts=opts, __props__=__props__)
1416
+
1417
+ @property
1418
+ @pulumi.getter(name="backupSameRegion")
1419
+ def backup_same_region(self) -> pulumi.Output[bool]:
1420
+ """
1421
+ Boolean to store logical backups in the same region as the database instance
1422
+ """
1423
+ return pulumi.get(self, "backup_same_region")
1424
+
1425
+ @property
1426
+ @pulumi.getter(name="backupScheduleFrequency")
1427
+ def backup_schedule_frequency(self) -> pulumi.Output[int]:
1428
+ """
1429
+ Backup schedule frequency in hours
1430
+ """
1431
+ return pulumi.get(self, "backup_schedule_frequency")
1432
+
1433
+ @property
1434
+ @pulumi.getter(name="backupScheduleRetention")
1435
+ def backup_schedule_retention(self) -> pulumi.Output[int]:
1436
+ """
1437
+ Backup schedule retention in days
1438
+ """
1439
+ return pulumi.get(self, "backup_schedule_retention")
1440
+
1441
+ @property
1442
+ @pulumi.getter
1443
+ def certificate(self) -> pulumi.Output[str]:
1444
+ """
1445
+ Certificate of the Database Instance.
1446
+ """
1447
+ return pulumi.get(self, "certificate")
1448
+
1449
+ @property
1450
+ @pulumi.getter(name="disableBackup")
1451
+ def disable_backup(self) -> pulumi.Output[Optional[bool]]:
1452
+ """
1453
+ Disable automated backup for the database instance
1454
+ """
1455
+ return pulumi.get(self, "disable_backup")
1456
+
1457
+ @property
1458
+ @pulumi.getter(name="encryptionAtRest")
1459
+ def encryption_at_rest(self) -> pulumi.Output[Optional[bool]]:
1460
+ """
1461
+ Enable or disable encryption at rest for the Database Instance.
1462
+ """
1463
+ return pulumi.get(self, "encryption_at_rest")
1464
+
1465
+ @property
1466
+ @pulumi.getter(name="endpointIp")
1467
+ @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1468
+ def endpoint_ip(self) -> pulumi.Output[str]:
1469
+ """
1470
+ (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.
1471
+ """
1472
+ return pulumi.get(self, "endpoint_ip")
1473
+
1474
+ @property
1475
+ @pulumi.getter(name="endpointPort")
1476
+ @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""")
1477
+ def endpoint_port(self) -> pulumi.Output[int]:
1478
+ """
1479
+ (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.
1480
+ """
1481
+ return pulumi.get(self, "endpoint_port")
1482
+
1483
+ @property
1484
+ @pulumi.getter
1485
+ def engine(self) -> pulumi.Output[str]:
1486
+ """
1487
+ Database Instance's engine version (e.g. `PostgreSQL-11`).
1488
+
1489
+ > **Important** Updates to `engine` will recreate the Database Instance.
1490
+ """
1491
+ return pulumi.get(self, "engine")
1492
+
1493
+ @property
1494
+ @pulumi.getter(name="initSettings")
1495
+ def init_settings(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1496
+ """
1497
+ Map of engine settings to be set at database initialisation.
1498
+ """
1499
+ return pulumi.get(self, "init_settings")
1500
+
1501
+ @property
1502
+ @pulumi.getter(name="isHaCluster")
1503
+ def is_ha_cluster(self) -> pulumi.Output[Optional[bool]]:
1504
+ """
1505
+ Enable or disable high availability for the Database Instance.
1506
+
1507
+ > **Important** Updates to `is_ha_cluster` will recreate the Database Instance.
1508
+ """
1509
+ return pulumi.get(self, "is_ha_cluster")
1510
+
1511
+ @property
1512
+ @pulumi.getter(name="loadBalancers")
1513
+ def load_balancers(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceLoadBalancer']]:
1514
+ """
1515
+ List of Load Balancer endpoints of the Database Instance.
1516
+ """
1517
+ return pulumi.get(self, "load_balancers")
1518
+
1519
+ @property
1520
+ @pulumi.getter(name="logsPolicy")
1521
+ def logs_policy(self) -> pulumi.Output['outputs.DatabaseInstanceLogsPolicy']:
1522
+ """
1523
+ Logs policy configuration
1524
+ """
1525
+ return pulumi.get(self, "logs_policy")
1526
+
1527
+ @property
1528
+ @pulumi.getter
1529
+ def name(self) -> pulumi.Output[str]:
1530
+ """
1531
+ The name of the Database Instance.
1532
+ """
1533
+ return pulumi.get(self, "name")
1534
+
1535
+ @property
1536
+ @pulumi.getter(name="nodeType")
1537
+ def node_type(self) -> pulumi.Output[str]:
1538
+ """
1539
+ The type of Database Instance you want to create (e.g. `db-dev-s`).
1540
+
1541
+ > **Important** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any
1542
+ interruption.
1543
+
1544
+ > **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.
1545
+ """
1546
+ return pulumi.get(self, "node_type")
1547
+
1548
+ @property
1549
+ @pulumi.getter(name="organizationId")
1550
+ def organization_id(self) -> pulumi.Output[str]:
1551
+ """
1552
+ The organization ID the Database Instance is associated with.
1553
+ """
1554
+ return pulumi.get(self, "organization_id")
1555
+
1556
+ @property
1557
+ @pulumi.getter
1558
+ def password(self) -> pulumi.Output[Optional[str]]:
1559
+ """
1560
+ Password for the first user of the Database Instance.
1561
+ """
1562
+ return pulumi.get(self, "password")
1563
+
1564
+ @property
1565
+ @pulumi.getter(name="privateNetwork")
1566
+ def private_network(self) -> pulumi.Output[Optional['outputs.DatabaseInstancePrivateNetwork']]:
1567
+ """
1568
+ List of Private Networks endpoints of the Database Instance.
1569
+ """
1570
+ return pulumi.get(self, "private_network")
1571
+
1572
+ @property
1573
+ @pulumi.getter(name="projectId")
1574
+ def project_id(self) -> pulumi.Output[str]:
1575
+ """
1576
+ `project_id`) The ID of the project the Database
1577
+ Instance is associated with.
1578
+ """
1579
+ return pulumi.get(self, "project_id")
1580
+
1581
+ @property
1582
+ @pulumi.getter(name="readReplicas")
1583
+ def read_replicas(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceReadReplica']]:
1584
+ """
1585
+ List of read replicas of the Database Instance.
1586
+ """
1587
+ return pulumi.get(self, "read_replicas")
1588
+
1589
+ @property
1590
+ @pulumi.getter
1591
+ def region(self) -> pulumi.Output[str]:
1592
+ """
1593
+ `region`) The region
1594
+ in which the Database Instance should be created.
1595
+ """
1596
+ return pulumi.get(self, "region")
1597
+
1598
+ @property
1599
+ @pulumi.getter
1600
+ def settings(self) -> pulumi.Output[Mapping[str, str]]:
1601
+ """
1602
+ Map of engine settings to be set on a running instance.
1603
+ """
1604
+ return pulumi.get(self, "settings")
1605
+
1606
+ @property
1607
+ @pulumi.getter
1608
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1609
+ """
1610
+ The tags associated with the Database Instance.
1611
+ """
1612
+ return pulumi.get(self, "tags")
1613
+
1614
+ @property
1615
+ @pulumi.getter(name="userName")
1616
+ def user_name(self) -> pulumi.Output[str]:
1617
+ """
1618
+ Identifier for the first user of the Database Instance.
1619
+
1620
+ > **Important** Updates to `user_name` will recreate the Database Instance.
1621
+ """
1622
+ return pulumi.get(self, "user_name")
1623
+
1624
+ @property
1625
+ @pulumi.getter(name="volumeSizeInGb")
1626
+ def volume_size_in_gb(self) -> pulumi.Output[int]:
1627
+ """
1628
+ Volume size (in GB). Cannot be used when `volume_type` is set to `lssd`.
1629
+
1630
+ > **Important** Once your Database Instance reaches `disk_full` status, you should increase the volume size before making any other change to your Database Instance.
1631
+ """
1632
+ return pulumi.get(self, "volume_size_in_gb")
1633
+
1634
+ @property
1635
+ @pulumi.getter(name="volumeType")
1636
+ def volume_type(self) -> pulumi.Output[Optional[str]]:
1637
+ """
1638
+ Type of volume where data are stored (`bssd`, `lssd`, `sbs_5k` or `sbs_15k`).
1639
+ """
1640
+ return pulumi.get(self, "volume_type")
1641
+