pulumiverse-scaleway 1.25.0a1742288097__py3-none-any.whl → 1.25.0a1742668904__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 (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742288097.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1063 @@
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__ = ['LoadBalancerArgs', 'LoadBalancer']
20
+
21
+ @pulumi.input_type
22
+ class LoadBalancerArgs:
23
+ def __init__(__self__, *,
24
+ type: pulumi.Input[str],
25
+ assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
26
+ assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ ip_id: Optional[pulumi.Input[str]] = None,
29
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30
+ name: Optional[pulumi.Input[str]] = None,
31
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]] = None,
32
+ project_id: Optional[pulumi.Input[str]] = None,
33
+ release_ip: Optional[pulumi.Input[bool]] = None,
34
+ ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
35
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
36
+ zone: Optional[pulumi.Input[str]] = None):
37
+ """
38
+ The set of arguments for constructing a LoadBalancer resource.
39
+ :param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
40
+ :param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
41
+ :param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
42
+ :param pulumi.Input[str] description: The description of the Load Balancer.
43
+ :param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
44
+
45
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
46
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
47
+
48
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
49
+ :param pulumi.Input[str] name: The name of the Load Balancer.
50
+ :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]] private_networks: List of private network to connect with your load balancer.
51
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
52
+ :param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
53
+ :param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
54
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
55
+ :param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
56
+ """
57
+ pulumi.set(__self__, "type", type)
58
+ if assign_flexible_ip is not None:
59
+ pulumi.set(__self__, "assign_flexible_ip", assign_flexible_ip)
60
+ if assign_flexible_ipv6 is not None:
61
+ pulumi.set(__self__, "assign_flexible_ipv6", assign_flexible_ipv6)
62
+ if description is not None:
63
+ pulumi.set(__self__, "description", description)
64
+ if ip_id is not None:
65
+ warnings.warn("""Please use ip_ids""", DeprecationWarning)
66
+ pulumi.log.warn("""ip_id is deprecated: Please use ip_ids""")
67
+ if ip_id is not None:
68
+ pulumi.set(__self__, "ip_id", ip_id)
69
+ if ip_ids is not None:
70
+ pulumi.set(__self__, "ip_ids", ip_ids)
71
+ if name is not None:
72
+ pulumi.set(__self__, "name", name)
73
+ if private_networks is not None:
74
+ pulumi.set(__self__, "private_networks", private_networks)
75
+ if project_id is not None:
76
+ pulumi.set(__self__, "project_id", project_id)
77
+ if release_ip is not None:
78
+ warnings.warn("""The resource ip will be destroyed by it's own resource. Please set this to `false`""", DeprecationWarning)
79
+ pulumi.log.warn("""release_ip is deprecated: The resource ip will be destroyed by it's own resource. Please set this to `false`""")
80
+ if release_ip is not None:
81
+ pulumi.set(__self__, "release_ip", release_ip)
82
+ if ssl_compatibility_level is not None:
83
+ pulumi.set(__self__, "ssl_compatibility_level", ssl_compatibility_level)
84
+ if tags is not None:
85
+ pulumi.set(__self__, "tags", tags)
86
+ if zone is not None:
87
+ pulumi.set(__self__, "zone", zone)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def type(self) -> pulumi.Input[str]:
92
+ """
93
+ The type of the Load Balancer. Please check the migration section to upgrade the type.
94
+ """
95
+ return pulumi.get(self, "type")
96
+
97
+ @type.setter
98
+ def type(self, value: pulumi.Input[str]):
99
+ pulumi.set(self, "type", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="assignFlexibleIp")
103
+ def assign_flexible_ip(self) -> Optional[pulumi.Input[bool]]:
104
+ """
105
+ Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
106
+ """
107
+ return pulumi.get(self, "assign_flexible_ip")
108
+
109
+ @assign_flexible_ip.setter
110
+ def assign_flexible_ip(self, value: Optional[pulumi.Input[bool]]):
111
+ pulumi.set(self, "assign_flexible_ip", value)
112
+
113
+ @property
114
+ @pulumi.getter(name="assignFlexibleIpv6")
115
+ def assign_flexible_ipv6(self) -> Optional[pulumi.Input[bool]]:
116
+ """
117
+ Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
118
+ """
119
+ return pulumi.get(self, "assign_flexible_ipv6")
120
+
121
+ @assign_flexible_ipv6.setter
122
+ def assign_flexible_ipv6(self, value: Optional[pulumi.Input[bool]]):
123
+ pulumi.set(self, "assign_flexible_ipv6", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def description(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ The description of the Load Balancer.
130
+ """
131
+ return pulumi.get(self, "description")
132
+
133
+ @description.setter
134
+ def description(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "description", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="ipId")
139
+ @_utilities.deprecated("""Please use ip_ids""")
140
+ def ip_id(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
143
+
144
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
145
+ """
146
+ return pulumi.get(self, "ip_id")
147
+
148
+ @ip_id.setter
149
+ def ip_id(self, value: Optional[pulumi.Input[str]]):
150
+ pulumi.set(self, "ip_id", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="ipIds")
154
+ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
155
+ """
156
+ The List of IP IDs to attach to the Load Balancer.
157
+
158
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
159
+ """
160
+ return pulumi.get(self, "ip_ids")
161
+
162
+ @ip_ids.setter
163
+ def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
164
+ pulumi.set(self, "ip_ids", value)
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def name(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ The name of the Load Balancer.
171
+ """
172
+ return pulumi.get(self, "name")
173
+
174
+ @name.setter
175
+ def name(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "name", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="privateNetworks")
180
+ def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]:
181
+ """
182
+ List of private network to connect with your load balancer.
183
+ """
184
+ return pulumi.get(self, "private_networks")
185
+
186
+ @private_networks.setter
187
+ def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]):
188
+ pulumi.set(self, "private_networks", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="projectId")
192
+ def project_id(self) -> Optional[pulumi.Input[str]]:
193
+ """
194
+ `project_id`) The ID of the Project the Load Balancer is associated with.
195
+ """
196
+ return pulumi.get(self, "project_id")
197
+
198
+ @project_id.setter
199
+ def project_id(self, value: Optional[pulumi.Input[str]]):
200
+ pulumi.set(self, "project_id", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="releaseIp")
204
+ @_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
205
+ def release_ip(self) -> Optional[pulumi.Input[bool]]:
206
+ """
207
+ The `release_ip` allow the release of the IP address associated with the Load Balancer.
208
+ """
209
+ return pulumi.get(self, "release_ip")
210
+
211
+ @release_ip.setter
212
+ def release_ip(self, value: Optional[pulumi.Input[bool]]):
213
+ pulumi.set(self, "release_ip", value)
214
+
215
+ @property
216
+ @pulumi.getter(name="sslCompatibilityLevel")
217
+ def ssl_compatibility_level(self) -> Optional[pulumi.Input[str]]:
218
+ """
219
+ Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
220
+ """
221
+ return pulumi.get(self, "ssl_compatibility_level")
222
+
223
+ @ssl_compatibility_level.setter
224
+ def ssl_compatibility_level(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "ssl_compatibility_level", value)
226
+
227
+ @property
228
+ @pulumi.getter
229
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
230
+ """
231
+ The tags associated with the Load Balancer.
232
+ """
233
+ return pulumi.get(self, "tags")
234
+
235
+ @tags.setter
236
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
237
+ pulumi.set(self, "tags", value)
238
+
239
+ @property
240
+ @pulumi.getter
241
+ def zone(self) -> Optional[pulumi.Input[str]]:
242
+ """
243
+ `zone`) The zone of the Load Balancer.
244
+ """
245
+ return pulumi.get(self, "zone")
246
+
247
+ @zone.setter
248
+ def zone(self, value: Optional[pulumi.Input[str]]):
249
+ pulumi.set(self, "zone", value)
250
+
251
+
252
+ @pulumi.input_type
253
+ class _LoadBalancerState:
254
+ def __init__(__self__, *,
255
+ assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
256
+ assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
257
+ description: Optional[pulumi.Input[str]] = None,
258
+ ip_address: Optional[pulumi.Input[str]] = None,
259
+ ip_id: Optional[pulumi.Input[str]] = None,
260
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
261
+ ipv6_address: Optional[pulumi.Input[str]] = None,
262
+ name: Optional[pulumi.Input[str]] = None,
263
+ organization_id: Optional[pulumi.Input[str]] = None,
264
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]] = None,
265
+ project_id: Optional[pulumi.Input[str]] = None,
266
+ region: Optional[pulumi.Input[str]] = None,
267
+ release_ip: Optional[pulumi.Input[bool]] = None,
268
+ ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
269
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
270
+ type: Optional[pulumi.Input[str]] = None,
271
+ zone: Optional[pulumi.Input[str]] = None):
272
+ """
273
+ Input properties used for looking up and filtering LoadBalancer resources.
274
+ :param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
275
+ :param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
276
+ :param pulumi.Input[str] description: The description of the Load Balancer.
277
+ :param pulumi.Input[str] ip_address: The Load Balancer public IPv4 address.
278
+ :param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
279
+
280
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
281
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
282
+
283
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
284
+ :param pulumi.Input[str] ipv6_address: The Load Balancer public IPv6 address.
285
+ :param pulumi.Input[str] name: The name of the Load Balancer.
286
+ :param pulumi.Input[str] organization_id: The ID of the Organization ID the Load Balancer is associated with.
287
+ :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]] private_networks: List of private network to connect with your load balancer.
288
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
289
+ :param pulumi.Input[str] region: The region of the resource
290
+ :param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
291
+ :param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
292
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
293
+ :param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
294
+ :param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
295
+ """
296
+ if assign_flexible_ip is not None:
297
+ pulumi.set(__self__, "assign_flexible_ip", assign_flexible_ip)
298
+ if assign_flexible_ipv6 is not None:
299
+ pulumi.set(__self__, "assign_flexible_ipv6", assign_flexible_ipv6)
300
+ if description is not None:
301
+ pulumi.set(__self__, "description", description)
302
+ if ip_address is not None:
303
+ pulumi.set(__self__, "ip_address", ip_address)
304
+ if ip_id is not None:
305
+ warnings.warn("""Please use ip_ids""", DeprecationWarning)
306
+ pulumi.log.warn("""ip_id is deprecated: Please use ip_ids""")
307
+ if ip_id is not None:
308
+ pulumi.set(__self__, "ip_id", ip_id)
309
+ if ip_ids is not None:
310
+ pulumi.set(__self__, "ip_ids", ip_ids)
311
+ if ipv6_address is not None:
312
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
313
+ if name is not None:
314
+ pulumi.set(__self__, "name", name)
315
+ if organization_id is not None:
316
+ pulumi.set(__self__, "organization_id", organization_id)
317
+ if private_networks is not None:
318
+ pulumi.set(__self__, "private_networks", private_networks)
319
+ if project_id is not None:
320
+ pulumi.set(__self__, "project_id", project_id)
321
+ if region is not None:
322
+ pulumi.set(__self__, "region", region)
323
+ if release_ip is not None:
324
+ warnings.warn("""The resource ip will be destroyed by it's own resource. Please set this to `false`""", DeprecationWarning)
325
+ pulumi.log.warn("""release_ip is deprecated: The resource ip will be destroyed by it's own resource. Please set this to `false`""")
326
+ if release_ip is not None:
327
+ pulumi.set(__self__, "release_ip", release_ip)
328
+ if ssl_compatibility_level is not None:
329
+ pulumi.set(__self__, "ssl_compatibility_level", ssl_compatibility_level)
330
+ if tags is not None:
331
+ pulumi.set(__self__, "tags", tags)
332
+ if type is not None:
333
+ pulumi.set(__self__, "type", type)
334
+ if zone is not None:
335
+ pulumi.set(__self__, "zone", zone)
336
+
337
+ @property
338
+ @pulumi.getter(name="assignFlexibleIp")
339
+ def assign_flexible_ip(self) -> Optional[pulumi.Input[bool]]:
340
+ """
341
+ Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
342
+ """
343
+ return pulumi.get(self, "assign_flexible_ip")
344
+
345
+ @assign_flexible_ip.setter
346
+ def assign_flexible_ip(self, value: Optional[pulumi.Input[bool]]):
347
+ pulumi.set(self, "assign_flexible_ip", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="assignFlexibleIpv6")
351
+ def assign_flexible_ipv6(self) -> Optional[pulumi.Input[bool]]:
352
+ """
353
+ Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
354
+ """
355
+ return pulumi.get(self, "assign_flexible_ipv6")
356
+
357
+ @assign_flexible_ipv6.setter
358
+ def assign_flexible_ipv6(self, value: Optional[pulumi.Input[bool]]):
359
+ pulumi.set(self, "assign_flexible_ipv6", value)
360
+
361
+ @property
362
+ @pulumi.getter
363
+ def description(self) -> Optional[pulumi.Input[str]]:
364
+ """
365
+ The description of the Load Balancer.
366
+ """
367
+ return pulumi.get(self, "description")
368
+
369
+ @description.setter
370
+ def description(self, value: Optional[pulumi.Input[str]]):
371
+ pulumi.set(self, "description", value)
372
+
373
+ @property
374
+ @pulumi.getter(name="ipAddress")
375
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
376
+ """
377
+ The Load Balancer public IPv4 address.
378
+ """
379
+ return pulumi.get(self, "ip_address")
380
+
381
+ @ip_address.setter
382
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
383
+ pulumi.set(self, "ip_address", value)
384
+
385
+ @property
386
+ @pulumi.getter(name="ipId")
387
+ @_utilities.deprecated("""Please use ip_ids""")
388
+ def ip_id(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
391
+
392
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
393
+ """
394
+ return pulumi.get(self, "ip_id")
395
+
396
+ @ip_id.setter
397
+ def ip_id(self, value: Optional[pulumi.Input[str]]):
398
+ pulumi.set(self, "ip_id", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="ipIds")
402
+ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
403
+ """
404
+ The List of IP IDs to attach to the Load Balancer.
405
+
406
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
407
+ """
408
+ return pulumi.get(self, "ip_ids")
409
+
410
+ @ip_ids.setter
411
+ def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
412
+ pulumi.set(self, "ip_ids", value)
413
+
414
+ @property
415
+ @pulumi.getter(name="ipv6Address")
416
+ def ipv6_address(self) -> Optional[pulumi.Input[str]]:
417
+ """
418
+ The Load Balancer public IPv6 address.
419
+ """
420
+ return pulumi.get(self, "ipv6_address")
421
+
422
+ @ipv6_address.setter
423
+ def ipv6_address(self, value: Optional[pulumi.Input[str]]):
424
+ pulumi.set(self, "ipv6_address", value)
425
+
426
+ @property
427
+ @pulumi.getter
428
+ def name(self) -> Optional[pulumi.Input[str]]:
429
+ """
430
+ The name of the Load Balancer.
431
+ """
432
+ return pulumi.get(self, "name")
433
+
434
+ @name.setter
435
+ def name(self, value: Optional[pulumi.Input[str]]):
436
+ pulumi.set(self, "name", value)
437
+
438
+ @property
439
+ @pulumi.getter(name="organizationId")
440
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
441
+ """
442
+ The ID of the Organization ID the Load Balancer is associated with.
443
+ """
444
+ return pulumi.get(self, "organization_id")
445
+
446
+ @organization_id.setter
447
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
448
+ pulumi.set(self, "organization_id", value)
449
+
450
+ @property
451
+ @pulumi.getter(name="privateNetworks")
452
+ def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]:
453
+ """
454
+ List of private network to connect with your load balancer.
455
+ """
456
+ return pulumi.get(self, "private_networks")
457
+
458
+ @private_networks.setter
459
+ def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]):
460
+ pulumi.set(self, "private_networks", value)
461
+
462
+ @property
463
+ @pulumi.getter(name="projectId")
464
+ def project_id(self) -> Optional[pulumi.Input[str]]:
465
+ """
466
+ `project_id`) The ID of the Project the Load Balancer is associated with.
467
+ """
468
+ return pulumi.get(self, "project_id")
469
+
470
+ @project_id.setter
471
+ def project_id(self, value: Optional[pulumi.Input[str]]):
472
+ pulumi.set(self, "project_id", value)
473
+
474
+ @property
475
+ @pulumi.getter
476
+ def region(self) -> Optional[pulumi.Input[str]]:
477
+ """
478
+ The region of the resource
479
+ """
480
+ return pulumi.get(self, "region")
481
+
482
+ @region.setter
483
+ def region(self, value: Optional[pulumi.Input[str]]):
484
+ pulumi.set(self, "region", value)
485
+
486
+ @property
487
+ @pulumi.getter(name="releaseIp")
488
+ @_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
489
+ def release_ip(self) -> Optional[pulumi.Input[bool]]:
490
+ """
491
+ The `release_ip` allow the release of the IP address associated with the Load Balancer.
492
+ """
493
+ return pulumi.get(self, "release_ip")
494
+
495
+ @release_ip.setter
496
+ def release_ip(self, value: Optional[pulumi.Input[bool]]):
497
+ pulumi.set(self, "release_ip", value)
498
+
499
+ @property
500
+ @pulumi.getter(name="sslCompatibilityLevel")
501
+ def ssl_compatibility_level(self) -> Optional[pulumi.Input[str]]:
502
+ """
503
+ Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
504
+ """
505
+ return pulumi.get(self, "ssl_compatibility_level")
506
+
507
+ @ssl_compatibility_level.setter
508
+ def ssl_compatibility_level(self, value: Optional[pulumi.Input[str]]):
509
+ pulumi.set(self, "ssl_compatibility_level", value)
510
+
511
+ @property
512
+ @pulumi.getter
513
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
514
+ """
515
+ The tags associated with the Load Balancer.
516
+ """
517
+ return pulumi.get(self, "tags")
518
+
519
+ @tags.setter
520
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
521
+ pulumi.set(self, "tags", value)
522
+
523
+ @property
524
+ @pulumi.getter
525
+ def type(self) -> Optional[pulumi.Input[str]]:
526
+ """
527
+ The type of the Load Balancer. Please check the migration section to upgrade the type.
528
+ """
529
+ return pulumi.get(self, "type")
530
+
531
+ @type.setter
532
+ def type(self, value: Optional[pulumi.Input[str]]):
533
+ pulumi.set(self, "type", value)
534
+
535
+ @property
536
+ @pulumi.getter
537
+ def zone(self) -> Optional[pulumi.Input[str]]:
538
+ """
539
+ `zone`) The zone of the Load Balancer.
540
+ """
541
+ return pulumi.get(self, "zone")
542
+
543
+ @zone.setter
544
+ def zone(self, value: Optional[pulumi.Input[str]]):
545
+ pulumi.set(self, "zone", value)
546
+
547
+
548
+ class LoadBalancer(pulumi.CustomResource):
549
+ @overload
550
+ def __init__(__self__,
551
+ resource_name: str,
552
+ opts: Optional[pulumi.ResourceOptions] = None,
553
+ assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
554
+ assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
555
+ description: Optional[pulumi.Input[str]] = None,
556
+ ip_id: Optional[pulumi.Input[str]] = None,
557
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
558
+ name: Optional[pulumi.Input[str]] = None,
559
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
560
+ project_id: Optional[pulumi.Input[str]] = None,
561
+ release_ip: Optional[pulumi.Input[bool]] = None,
562
+ ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
563
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
564
+ type: Optional[pulumi.Input[str]] = None,
565
+ zone: Optional[pulumi.Input[str]] = None,
566
+ __props__=None):
567
+ """
568
+ Creates and manages Scaleway Load Balancers.
569
+
570
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).
571
+
572
+ ## Example Usage
573
+
574
+ ### Basic
575
+
576
+ ```python
577
+ import pulumi
578
+ import pulumiverse_scaleway as scaleway
579
+
580
+ main = scaleway.loadbalancers.Ip("main", zone="fr-par-1")
581
+ base = scaleway.loadbalancers.LoadBalancer("base",
582
+ ip_ids=[main.id],
583
+ zone=main.zone,
584
+ type="LB-S")
585
+ ```
586
+
587
+ ### Private LB
588
+
589
+ ```python
590
+ import pulumi
591
+ import pulumiverse_scaleway as scaleway
592
+
593
+ base = scaleway.loadbalancers.LoadBalancer("base",
594
+ name="private-lb",
595
+ type="LB-S",
596
+ assign_flexible_ip=False)
597
+ ```
598
+
599
+ ### With IPv6
600
+
601
+ ```python
602
+ import pulumi
603
+ import pulumiverse_scaleway as scaleway
604
+
605
+ v4 = scaleway.loadbalancers.Ip("v4")
606
+ v6 = scaleway.loadbalancers.Ip("v6", is_ipv6=True)
607
+ main = scaleway.loadbalancers.LoadBalancer("main",
608
+ ip_ids=[
609
+ v4.id,
610
+ v6.id,
611
+ ],
612
+ name="ipv6-lb",
613
+ type="LB-S")
614
+ ```
615
+
616
+ ### With IPAM IDs
617
+
618
+ ```python
619
+ import pulumi
620
+ import pulumiverse_scaleway as scaleway
621
+
622
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
623
+ pn01 = scaleway.network.PrivateNetwork("pn01",
624
+ vpc_id=vpc01.id,
625
+ ipv4_subnet={
626
+ "subnet": "172.16.32.0/22",
627
+ })
628
+ ip01 = scaleway.ipam.Ip("ip01",
629
+ address="172.16.32.7",
630
+ sources=[{
631
+ "private_network_id": pn01.id,
632
+ }])
633
+ v4 = scaleway.loadbalancers.Ip("v4")
634
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
635
+ ip_ids=[v4.id],
636
+ name="my-lb",
637
+ type="LB-S",
638
+ private_networks=[{
639
+ "private_network_id": pn01.id,
640
+ "ipam_ids": ip01.id,
641
+ }])
642
+ ```
643
+
644
+ ## Migration
645
+
646
+ In order to migrate to other Load Balancer types, you can check upwards or downwards migration via our CLI `scw lb lb-types list`.
647
+ This change will not recreate your Load Balancer.
648
+
649
+ Please check our [documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-migrate-a-load-balancer) for further details.
650
+
651
+ ## Import
652
+
653
+ Load Balancers can be imported using `{zone}/{id}`, e.g.
654
+
655
+ bash
656
+
657
+ ```sh
658
+ $ pulumi import scaleway:loadbalancers/loadBalancer:LoadBalancer main fr-par-1/11111111-1111-1111-1111-111111111111
659
+ ```
660
+
661
+ Be aware that you will also need to import the `scaleway_lb_ip` resource.
662
+
663
+ :param str resource_name: The name of the resource.
664
+ :param pulumi.ResourceOptions opts: Options for the resource.
665
+ :param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
666
+ :param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
667
+ :param pulumi.Input[str] description: The description of the Load Balancer.
668
+ :param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
669
+
670
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
671
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
672
+
673
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
674
+ :param pulumi.Input[str] name: The name of the Load Balancer.
675
+ :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]] private_networks: List of private network to connect with your load balancer.
676
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
677
+ :param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
678
+ :param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
679
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
680
+ :param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
681
+ :param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
682
+ """
683
+ ...
684
+ @overload
685
+ def __init__(__self__,
686
+ resource_name: str,
687
+ args: LoadBalancerArgs,
688
+ opts: Optional[pulumi.ResourceOptions] = None):
689
+ """
690
+ Creates and manages Scaleway Load Balancers.
691
+
692
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).
693
+
694
+ ## Example Usage
695
+
696
+ ### Basic
697
+
698
+ ```python
699
+ import pulumi
700
+ import pulumiverse_scaleway as scaleway
701
+
702
+ main = scaleway.loadbalancers.Ip("main", zone="fr-par-1")
703
+ base = scaleway.loadbalancers.LoadBalancer("base",
704
+ ip_ids=[main.id],
705
+ zone=main.zone,
706
+ type="LB-S")
707
+ ```
708
+
709
+ ### Private LB
710
+
711
+ ```python
712
+ import pulumi
713
+ import pulumiverse_scaleway as scaleway
714
+
715
+ base = scaleway.loadbalancers.LoadBalancer("base",
716
+ name="private-lb",
717
+ type="LB-S",
718
+ assign_flexible_ip=False)
719
+ ```
720
+
721
+ ### With IPv6
722
+
723
+ ```python
724
+ import pulumi
725
+ import pulumiverse_scaleway as scaleway
726
+
727
+ v4 = scaleway.loadbalancers.Ip("v4")
728
+ v6 = scaleway.loadbalancers.Ip("v6", is_ipv6=True)
729
+ main = scaleway.loadbalancers.LoadBalancer("main",
730
+ ip_ids=[
731
+ v4.id,
732
+ v6.id,
733
+ ],
734
+ name="ipv6-lb",
735
+ type="LB-S")
736
+ ```
737
+
738
+ ### With IPAM IDs
739
+
740
+ ```python
741
+ import pulumi
742
+ import pulumiverse_scaleway as scaleway
743
+
744
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
745
+ pn01 = scaleway.network.PrivateNetwork("pn01",
746
+ vpc_id=vpc01.id,
747
+ ipv4_subnet={
748
+ "subnet": "172.16.32.0/22",
749
+ })
750
+ ip01 = scaleway.ipam.Ip("ip01",
751
+ address="172.16.32.7",
752
+ sources=[{
753
+ "private_network_id": pn01.id,
754
+ }])
755
+ v4 = scaleway.loadbalancers.Ip("v4")
756
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
757
+ ip_ids=[v4.id],
758
+ name="my-lb",
759
+ type="LB-S",
760
+ private_networks=[{
761
+ "private_network_id": pn01.id,
762
+ "ipam_ids": ip01.id,
763
+ }])
764
+ ```
765
+
766
+ ## Migration
767
+
768
+ In order to migrate to other Load Balancer types, you can check upwards or downwards migration via our CLI `scw lb lb-types list`.
769
+ This change will not recreate your Load Balancer.
770
+
771
+ Please check our [documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-migrate-a-load-balancer) for further details.
772
+
773
+ ## Import
774
+
775
+ Load Balancers can be imported using `{zone}/{id}`, e.g.
776
+
777
+ bash
778
+
779
+ ```sh
780
+ $ pulumi import scaleway:loadbalancers/loadBalancer:LoadBalancer main fr-par-1/11111111-1111-1111-1111-111111111111
781
+ ```
782
+
783
+ Be aware that you will also need to import the `scaleway_lb_ip` resource.
784
+
785
+ :param str resource_name: The name of the resource.
786
+ :param LoadBalancerArgs args: The arguments to use to populate this resource's properties.
787
+ :param pulumi.ResourceOptions opts: Options for the resource.
788
+ """
789
+ ...
790
+ def __init__(__self__, resource_name: str, *args, **kwargs):
791
+ resource_args, opts = _utilities.get_resource_args_opts(LoadBalancerArgs, pulumi.ResourceOptions, *args, **kwargs)
792
+ if resource_args is not None:
793
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
794
+ else:
795
+ __self__._internal_init(resource_name, *args, **kwargs)
796
+
797
+ def _internal_init(__self__,
798
+ resource_name: str,
799
+ opts: Optional[pulumi.ResourceOptions] = None,
800
+ assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
801
+ assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
802
+ description: Optional[pulumi.Input[str]] = None,
803
+ ip_id: Optional[pulumi.Input[str]] = None,
804
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
805
+ name: Optional[pulumi.Input[str]] = None,
806
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
807
+ project_id: Optional[pulumi.Input[str]] = None,
808
+ release_ip: Optional[pulumi.Input[bool]] = None,
809
+ ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
810
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
811
+ type: Optional[pulumi.Input[str]] = None,
812
+ zone: Optional[pulumi.Input[str]] = None,
813
+ __props__=None):
814
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
815
+ if not isinstance(opts, pulumi.ResourceOptions):
816
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
817
+ if opts.id is None:
818
+ if __props__ is not None:
819
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
820
+ __props__ = LoadBalancerArgs.__new__(LoadBalancerArgs)
821
+
822
+ __props__.__dict__["assign_flexible_ip"] = assign_flexible_ip
823
+ __props__.__dict__["assign_flexible_ipv6"] = assign_flexible_ipv6
824
+ __props__.__dict__["description"] = description
825
+ __props__.__dict__["ip_id"] = ip_id
826
+ __props__.__dict__["ip_ids"] = ip_ids
827
+ __props__.__dict__["name"] = name
828
+ __props__.__dict__["private_networks"] = private_networks
829
+ __props__.__dict__["project_id"] = project_id
830
+ __props__.__dict__["release_ip"] = release_ip
831
+ __props__.__dict__["ssl_compatibility_level"] = ssl_compatibility_level
832
+ __props__.__dict__["tags"] = tags
833
+ if type is None and not opts.urn:
834
+ raise TypeError("Missing required property 'type'")
835
+ __props__.__dict__["type"] = type
836
+ __props__.__dict__["zone"] = zone
837
+ __props__.__dict__["ip_address"] = None
838
+ __props__.__dict__["ipv6_address"] = None
839
+ __props__.__dict__["organization_id"] = None
840
+ __props__.__dict__["region"] = None
841
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancer:Loadbalancer")])
842
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
843
+ super(LoadBalancer, __self__).__init__(
844
+ 'scaleway:loadbalancers/loadBalancer:LoadBalancer',
845
+ resource_name,
846
+ __props__,
847
+ opts)
848
+
849
+ @staticmethod
850
+ def get(resource_name: str,
851
+ id: pulumi.Input[str],
852
+ opts: Optional[pulumi.ResourceOptions] = None,
853
+ assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
854
+ assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
855
+ description: Optional[pulumi.Input[str]] = None,
856
+ ip_address: Optional[pulumi.Input[str]] = None,
857
+ ip_id: Optional[pulumi.Input[str]] = None,
858
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
859
+ ipv6_address: Optional[pulumi.Input[str]] = None,
860
+ name: Optional[pulumi.Input[str]] = None,
861
+ organization_id: Optional[pulumi.Input[str]] = None,
862
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
863
+ project_id: Optional[pulumi.Input[str]] = None,
864
+ region: Optional[pulumi.Input[str]] = None,
865
+ release_ip: Optional[pulumi.Input[bool]] = None,
866
+ ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
867
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
868
+ type: Optional[pulumi.Input[str]] = None,
869
+ zone: Optional[pulumi.Input[str]] = None) -> 'LoadBalancer':
870
+ """
871
+ Get an existing LoadBalancer resource's state with the given name, id, and optional extra
872
+ properties used to qualify the lookup.
873
+
874
+ :param str resource_name: The unique name of the resulting resource.
875
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
876
+ :param pulumi.ResourceOptions opts: Options for the resource.
877
+ :param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
878
+ :param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
879
+ :param pulumi.Input[str] description: The description of the Load Balancer.
880
+ :param pulumi.Input[str] ip_address: The Load Balancer public IPv4 address.
881
+ :param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
882
+
883
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
884
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
885
+
886
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
887
+ :param pulumi.Input[str] ipv6_address: The Load Balancer public IPv6 address.
888
+ :param pulumi.Input[str] name: The name of the Load Balancer.
889
+ :param pulumi.Input[str] organization_id: The ID of the Organization ID the Load Balancer is associated with.
890
+ :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]] private_networks: List of private network to connect with your load balancer.
891
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
892
+ :param pulumi.Input[str] region: The region of the resource
893
+ :param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
894
+ :param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
895
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
896
+ :param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
897
+ :param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
898
+ """
899
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
900
+
901
+ __props__ = _LoadBalancerState.__new__(_LoadBalancerState)
902
+
903
+ __props__.__dict__["assign_flexible_ip"] = assign_flexible_ip
904
+ __props__.__dict__["assign_flexible_ipv6"] = assign_flexible_ipv6
905
+ __props__.__dict__["description"] = description
906
+ __props__.__dict__["ip_address"] = ip_address
907
+ __props__.__dict__["ip_id"] = ip_id
908
+ __props__.__dict__["ip_ids"] = ip_ids
909
+ __props__.__dict__["ipv6_address"] = ipv6_address
910
+ __props__.__dict__["name"] = name
911
+ __props__.__dict__["organization_id"] = organization_id
912
+ __props__.__dict__["private_networks"] = private_networks
913
+ __props__.__dict__["project_id"] = project_id
914
+ __props__.__dict__["region"] = region
915
+ __props__.__dict__["release_ip"] = release_ip
916
+ __props__.__dict__["ssl_compatibility_level"] = ssl_compatibility_level
917
+ __props__.__dict__["tags"] = tags
918
+ __props__.__dict__["type"] = type
919
+ __props__.__dict__["zone"] = zone
920
+ return LoadBalancer(resource_name, opts=opts, __props__=__props__)
921
+
922
+ @property
923
+ @pulumi.getter(name="assignFlexibleIp")
924
+ def assign_flexible_ip(self) -> pulumi.Output[Optional[bool]]:
925
+ """
926
+ Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
927
+ """
928
+ return pulumi.get(self, "assign_flexible_ip")
929
+
930
+ @property
931
+ @pulumi.getter(name="assignFlexibleIpv6")
932
+ def assign_flexible_ipv6(self) -> pulumi.Output[Optional[bool]]:
933
+ """
934
+ Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
935
+ """
936
+ return pulumi.get(self, "assign_flexible_ipv6")
937
+
938
+ @property
939
+ @pulumi.getter
940
+ def description(self) -> pulumi.Output[Optional[str]]:
941
+ """
942
+ The description of the Load Balancer.
943
+ """
944
+ return pulumi.get(self, "description")
945
+
946
+ @property
947
+ @pulumi.getter(name="ipAddress")
948
+ def ip_address(self) -> pulumi.Output[str]:
949
+ """
950
+ The Load Balancer public IPv4 address.
951
+ """
952
+ return pulumi.get(self, "ip_address")
953
+
954
+ @property
955
+ @pulumi.getter(name="ipId")
956
+ @_utilities.deprecated("""Please use ip_ids""")
957
+ def ip_id(self) -> pulumi.Output[str]:
958
+ """
959
+ Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
960
+
961
+ > **Important:** Updates to `ip_id` will recreate the Load Balancer.
962
+ """
963
+ return pulumi.get(self, "ip_id")
964
+
965
+ @property
966
+ @pulumi.getter(name="ipIds")
967
+ def ip_ids(self) -> pulumi.Output[Sequence[str]]:
968
+ """
969
+ The List of IP IDs to attach to the Load Balancer.
970
+
971
+ > **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
972
+ """
973
+ return pulumi.get(self, "ip_ids")
974
+
975
+ @property
976
+ @pulumi.getter(name="ipv6Address")
977
+ def ipv6_address(self) -> pulumi.Output[str]:
978
+ """
979
+ The Load Balancer public IPv6 address.
980
+ """
981
+ return pulumi.get(self, "ipv6_address")
982
+
983
+ @property
984
+ @pulumi.getter
985
+ def name(self) -> pulumi.Output[str]:
986
+ """
987
+ The name of the Load Balancer.
988
+ """
989
+ return pulumi.get(self, "name")
990
+
991
+ @property
992
+ @pulumi.getter(name="organizationId")
993
+ def organization_id(self) -> pulumi.Output[str]:
994
+ """
995
+ The ID of the Organization ID the Load Balancer is associated with.
996
+ """
997
+ return pulumi.get(self, "organization_id")
998
+
999
+ @property
1000
+ @pulumi.getter(name="privateNetworks")
1001
+ def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.LoadBalancerPrivateNetwork']]]:
1002
+ """
1003
+ List of private network to connect with your load balancer.
1004
+ """
1005
+ return pulumi.get(self, "private_networks")
1006
+
1007
+ @property
1008
+ @pulumi.getter(name="projectId")
1009
+ def project_id(self) -> pulumi.Output[str]:
1010
+ """
1011
+ `project_id`) The ID of the Project the Load Balancer is associated with.
1012
+ """
1013
+ return pulumi.get(self, "project_id")
1014
+
1015
+ @property
1016
+ @pulumi.getter
1017
+ def region(self) -> pulumi.Output[str]:
1018
+ """
1019
+ The region of the resource
1020
+ """
1021
+ return pulumi.get(self, "region")
1022
+
1023
+ @property
1024
+ @pulumi.getter(name="releaseIp")
1025
+ @_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
1026
+ def release_ip(self) -> pulumi.Output[Optional[bool]]:
1027
+ """
1028
+ The `release_ip` allow the release of the IP address associated with the Load Balancer.
1029
+ """
1030
+ return pulumi.get(self, "release_ip")
1031
+
1032
+ @property
1033
+ @pulumi.getter(name="sslCompatibilityLevel")
1034
+ def ssl_compatibility_level(self) -> pulumi.Output[Optional[str]]:
1035
+ """
1036
+ Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
1037
+ """
1038
+ return pulumi.get(self, "ssl_compatibility_level")
1039
+
1040
+ @property
1041
+ @pulumi.getter
1042
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1043
+ """
1044
+ The tags associated with the Load Balancer.
1045
+ """
1046
+ return pulumi.get(self, "tags")
1047
+
1048
+ @property
1049
+ @pulumi.getter
1050
+ def type(self) -> pulumi.Output[str]:
1051
+ """
1052
+ The type of the Load Balancer. Please check the migration section to upgrade the type.
1053
+ """
1054
+ return pulumi.get(self, "type")
1055
+
1056
+ @property
1057
+ @pulumi.getter
1058
+ def zone(self) -> pulumi.Output[str]:
1059
+ """
1060
+ `zone`) The zone of the Load Balancer.
1061
+ """
1062
+ return pulumi.get(self, "zone")
1063
+