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