pulumiverse-scaleway 1.25.0a1742464679__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.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,831 @@
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__ = ['FrontendArgs', 'Frontend']
20
+
21
+ @pulumi.input_type
22
+ class FrontendArgs:
23
+ def __init__(__self__, *,
24
+ backend_id: pulumi.Input[str],
25
+ inbound_port: pulumi.Input[int],
26
+ lb_id: pulumi.Input[str],
27
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]] = None,
28
+ certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
29
+ enable_http3: Optional[pulumi.Input[bool]] = None,
30
+ external_acls: Optional[pulumi.Input[bool]] = None,
31
+ name: Optional[pulumi.Input[str]] = None,
32
+ timeout_client: Optional[pulumi.Input[str]] = None):
33
+ """
34
+ The set of arguments for constructing a Frontend resource.
35
+ :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to.
36
+
37
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
38
+ :param pulumi.Input[int] inbound_port: TCP port to listen to on the front side.
39
+ :param pulumi.Input[str] lb_id: The ID of the Load Balancer this frontend is attached to.
40
+ :param pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]] acls: A list of ACL rules to apply to the Load Balancer frontend. Defined below.
41
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
42
+
43
+ > **Important:** Certificates are not allowed on port 80.
44
+ :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
45
+ :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
46
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
47
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
48
+ :param pulumi.Input[str] timeout_client: Maximum inactivity time on the client side. (e.g. `1s`)
49
+ """
50
+ pulumi.set(__self__, "backend_id", backend_id)
51
+ pulumi.set(__self__, "inbound_port", inbound_port)
52
+ pulumi.set(__self__, "lb_id", lb_id)
53
+ if acls is not None:
54
+ pulumi.set(__self__, "acls", acls)
55
+ if certificate_ids is not None:
56
+ pulumi.set(__self__, "certificate_ids", certificate_ids)
57
+ if enable_http3 is not None:
58
+ pulumi.set(__self__, "enable_http3", enable_http3)
59
+ if external_acls is not None:
60
+ pulumi.set(__self__, "external_acls", external_acls)
61
+ if name is not None:
62
+ pulumi.set(__self__, "name", name)
63
+ if timeout_client is not None:
64
+ pulumi.set(__self__, "timeout_client", timeout_client)
65
+
66
+ @property
67
+ @pulumi.getter(name="backendId")
68
+ def backend_id(self) -> pulumi.Input[str]:
69
+ """
70
+ The ID of the Load Balancer backend this frontend is attached to.
71
+
72
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
73
+ """
74
+ return pulumi.get(self, "backend_id")
75
+
76
+ @backend_id.setter
77
+ def backend_id(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "backend_id", value)
79
+
80
+ @property
81
+ @pulumi.getter(name="inboundPort")
82
+ def inbound_port(self) -> pulumi.Input[int]:
83
+ """
84
+ TCP port to listen to on the front side.
85
+ """
86
+ return pulumi.get(self, "inbound_port")
87
+
88
+ @inbound_port.setter
89
+ def inbound_port(self, value: pulumi.Input[int]):
90
+ pulumi.set(self, "inbound_port", value)
91
+
92
+ @property
93
+ @pulumi.getter(name="lbId")
94
+ def lb_id(self) -> pulumi.Input[str]:
95
+ """
96
+ The ID of the Load Balancer this frontend is attached to.
97
+ """
98
+ return pulumi.get(self, "lb_id")
99
+
100
+ @lb_id.setter
101
+ def lb_id(self, value: pulumi.Input[str]):
102
+ pulumi.set(self, "lb_id", value)
103
+
104
+ @property
105
+ @pulumi.getter
106
+ def acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]]:
107
+ """
108
+ A list of ACL rules to apply to the Load Balancer frontend. Defined below.
109
+ """
110
+ return pulumi.get(self, "acls")
111
+
112
+ @acls.setter
113
+ def acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]]):
114
+ pulumi.set(self, "acls", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="certificateIds")
118
+ def certificate_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
119
+ """
120
+ List of certificate IDs that should be used by the frontend.
121
+
122
+ > **Important:** Certificates are not allowed on port 80.
123
+ """
124
+ return pulumi.get(self, "certificate_ids")
125
+
126
+ @certificate_ids.setter
127
+ def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
128
+ pulumi.set(self, "certificate_ids", value)
129
+
130
+ @property
131
+ @pulumi.getter(name="enableHttp3")
132
+ def enable_http3(self) -> Optional[pulumi.Input[bool]]:
133
+ """
134
+ Activates HTTP/3 protocol.
135
+ """
136
+ return pulumi.get(self, "enable_http3")
137
+
138
+ @enable_http3.setter
139
+ def enable_http3(self, value: Optional[pulumi.Input[bool]]):
140
+ pulumi.set(self, "enable_http3", value)
141
+
142
+ @property
143
+ @pulumi.getter(name="externalAcls")
144
+ def external_acls(self) -> Optional[pulumi.Input[bool]]:
145
+ """
146
+ A boolean to specify whether to use lb_acl.
147
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
148
+ """
149
+ return pulumi.get(self, "external_acls")
150
+
151
+ @external_acls.setter
152
+ def external_acls(self, value: Optional[pulumi.Input[bool]]):
153
+ pulumi.set(self, "external_acls", value)
154
+
155
+ @property
156
+ @pulumi.getter
157
+ def name(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ The ACL name. If not provided it will be randomly generated.
160
+ """
161
+ return pulumi.get(self, "name")
162
+
163
+ @name.setter
164
+ def name(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "name", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="timeoutClient")
169
+ def timeout_client(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ Maximum inactivity time on the client side. (e.g. `1s`)
172
+ """
173
+ return pulumi.get(self, "timeout_client")
174
+
175
+ @timeout_client.setter
176
+ def timeout_client(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "timeout_client", value)
178
+
179
+
180
+ @pulumi.input_type
181
+ class _FrontendState:
182
+ def __init__(__self__, *,
183
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]] = None,
184
+ backend_id: Optional[pulumi.Input[str]] = None,
185
+ certificate_id: Optional[pulumi.Input[str]] = None,
186
+ certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
187
+ enable_http3: Optional[pulumi.Input[bool]] = None,
188
+ external_acls: Optional[pulumi.Input[bool]] = None,
189
+ inbound_port: Optional[pulumi.Input[int]] = None,
190
+ lb_id: Optional[pulumi.Input[str]] = None,
191
+ name: Optional[pulumi.Input[str]] = None,
192
+ timeout_client: Optional[pulumi.Input[str]] = None):
193
+ """
194
+ Input properties used for looking up and filtering Frontend resources.
195
+ :param pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]] acls: A list of ACL rules to apply to the Load Balancer frontend. Defined below.
196
+ :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to.
197
+
198
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
199
+ :param pulumi.Input[str] certificate_id: (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.
200
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
201
+
202
+ > **Important:** Certificates are not allowed on port 80.
203
+ :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
204
+ :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
205
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
206
+ :param pulumi.Input[int] inbound_port: TCP port to listen to on the front side.
207
+ :param pulumi.Input[str] lb_id: The ID of the Load Balancer this frontend is attached to.
208
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
209
+ :param pulumi.Input[str] timeout_client: Maximum inactivity time on the client side. (e.g. `1s`)
210
+ """
211
+ if acls is not None:
212
+ pulumi.set(__self__, "acls", acls)
213
+ if backend_id is not None:
214
+ pulumi.set(__self__, "backend_id", backend_id)
215
+ if certificate_id is not None:
216
+ warnings.warn("""Please use certificate_ids""", DeprecationWarning)
217
+ pulumi.log.warn("""certificate_id is deprecated: Please use certificate_ids""")
218
+ if certificate_id is not None:
219
+ pulumi.set(__self__, "certificate_id", certificate_id)
220
+ if certificate_ids is not None:
221
+ pulumi.set(__self__, "certificate_ids", certificate_ids)
222
+ if enable_http3 is not None:
223
+ pulumi.set(__self__, "enable_http3", enable_http3)
224
+ if external_acls is not None:
225
+ pulumi.set(__self__, "external_acls", external_acls)
226
+ if inbound_port is not None:
227
+ pulumi.set(__self__, "inbound_port", inbound_port)
228
+ if lb_id is not None:
229
+ pulumi.set(__self__, "lb_id", lb_id)
230
+ if name is not None:
231
+ pulumi.set(__self__, "name", name)
232
+ if timeout_client is not None:
233
+ pulumi.set(__self__, "timeout_client", timeout_client)
234
+
235
+ @property
236
+ @pulumi.getter
237
+ def acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]]:
238
+ """
239
+ A list of ACL rules to apply to the Load Balancer frontend. Defined below.
240
+ """
241
+ return pulumi.get(self, "acls")
242
+
243
+ @acls.setter
244
+ def acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]]):
245
+ pulumi.set(self, "acls", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="backendId")
249
+ def backend_id(self) -> Optional[pulumi.Input[str]]:
250
+ """
251
+ The ID of the Load Balancer backend this frontend is attached to.
252
+
253
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
254
+ """
255
+ return pulumi.get(self, "backend_id")
256
+
257
+ @backend_id.setter
258
+ def backend_id(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "backend_id", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="certificateId")
263
+ @_utilities.deprecated("""Please use certificate_ids""")
264
+ def certificate_id(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.
267
+ """
268
+ return pulumi.get(self, "certificate_id")
269
+
270
+ @certificate_id.setter
271
+ def certificate_id(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "certificate_id", value)
273
+
274
+ @property
275
+ @pulumi.getter(name="certificateIds")
276
+ def certificate_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
277
+ """
278
+ List of certificate IDs that should be used by the frontend.
279
+
280
+ > **Important:** Certificates are not allowed on port 80.
281
+ """
282
+ return pulumi.get(self, "certificate_ids")
283
+
284
+ @certificate_ids.setter
285
+ def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
286
+ pulumi.set(self, "certificate_ids", value)
287
+
288
+ @property
289
+ @pulumi.getter(name="enableHttp3")
290
+ def enable_http3(self) -> Optional[pulumi.Input[bool]]:
291
+ """
292
+ Activates HTTP/3 protocol.
293
+ """
294
+ return pulumi.get(self, "enable_http3")
295
+
296
+ @enable_http3.setter
297
+ def enable_http3(self, value: Optional[pulumi.Input[bool]]):
298
+ pulumi.set(self, "enable_http3", value)
299
+
300
+ @property
301
+ @pulumi.getter(name="externalAcls")
302
+ def external_acls(self) -> Optional[pulumi.Input[bool]]:
303
+ """
304
+ A boolean to specify whether to use lb_acl.
305
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
306
+ """
307
+ return pulumi.get(self, "external_acls")
308
+
309
+ @external_acls.setter
310
+ def external_acls(self, value: Optional[pulumi.Input[bool]]):
311
+ pulumi.set(self, "external_acls", value)
312
+
313
+ @property
314
+ @pulumi.getter(name="inboundPort")
315
+ def inbound_port(self) -> Optional[pulumi.Input[int]]:
316
+ """
317
+ TCP port to listen to on the front side.
318
+ """
319
+ return pulumi.get(self, "inbound_port")
320
+
321
+ @inbound_port.setter
322
+ def inbound_port(self, value: Optional[pulumi.Input[int]]):
323
+ pulumi.set(self, "inbound_port", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="lbId")
327
+ def lb_id(self) -> Optional[pulumi.Input[str]]:
328
+ """
329
+ The ID of the Load Balancer this frontend is attached to.
330
+ """
331
+ return pulumi.get(self, "lb_id")
332
+
333
+ @lb_id.setter
334
+ def lb_id(self, value: Optional[pulumi.Input[str]]):
335
+ pulumi.set(self, "lb_id", value)
336
+
337
+ @property
338
+ @pulumi.getter
339
+ def name(self) -> Optional[pulumi.Input[str]]:
340
+ """
341
+ The ACL name. If not provided it will be randomly generated.
342
+ """
343
+ return pulumi.get(self, "name")
344
+
345
+ @name.setter
346
+ def name(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "name", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="timeoutClient")
351
+ def timeout_client(self) -> Optional[pulumi.Input[str]]:
352
+ """
353
+ Maximum inactivity time on the client side. (e.g. `1s`)
354
+ """
355
+ return pulumi.get(self, "timeout_client")
356
+
357
+ @timeout_client.setter
358
+ def timeout_client(self, value: Optional[pulumi.Input[str]]):
359
+ pulumi.set(self, "timeout_client", value)
360
+
361
+
362
+ class Frontend(pulumi.CustomResource):
363
+ @overload
364
+ def __init__(__self__,
365
+ resource_name: str,
366
+ opts: Optional[pulumi.ResourceOptions] = None,
367
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]]] = None,
368
+ backend_id: Optional[pulumi.Input[str]] = None,
369
+ certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
370
+ enable_http3: Optional[pulumi.Input[bool]] = None,
371
+ external_acls: Optional[pulumi.Input[bool]] = None,
372
+ inbound_port: Optional[pulumi.Input[int]] = None,
373
+ lb_id: Optional[pulumi.Input[str]] = None,
374
+ name: Optional[pulumi.Input[str]] = None,
375
+ timeout_client: Optional[pulumi.Input[str]] = None,
376
+ __props__=None):
377
+ """
378
+ Creates and manages Scaleway Load Balancer frontends.
379
+
380
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).
381
+
382
+ ## Example Usage
383
+
384
+ ### Basic
385
+
386
+ ```python
387
+ import pulumi
388
+ import pulumiverse_scaleway as scaleway
389
+
390
+ frontend01 = scaleway.loadbalancers.Frontend("frontend01",
391
+ lb_id=lb01["id"],
392
+ backend_id=backend01["id"],
393
+ name="frontend01",
394
+ inbound_port=80)
395
+ ```
396
+
397
+ ## With ACLs
398
+
399
+ ```python
400
+ import pulumi
401
+ import pulumiverse_scaleway as scaleway
402
+
403
+ frontend01 = scaleway.loadbalancers.Frontend("frontend01",
404
+ lb_id=lb01["id"],
405
+ backend_id=backend01["id"],
406
+ name="frontend01",
407
+ inbound_port=80,
408
+ acls=[
409
+ {
410
+ "name": "blacklist wellknwon IPs",
411
+ "action": {
412
+ "type": "allow",
413
+ },
414
+ "match": {
415
+ "ip_subnets": [
416
+ "192.168.0.1",
417
+ "192.168.0.2",
418
+ "192.168.10.0/24",
419
+ ],
420
+ },
421
+ },
422
+ {
423
+ "action": {
424
+ "type": "deny",
425
+ },
426
+ "match": {
427
+ "ip_subnets": ["51.51.51.51"],
428
+ "http_filter": "regex",
429
+ "http_filter_values": ["^foo*bar$"],
430
+ },
431
+ },
432
+ {
433
+ "action": {
434
+ "type": "allow",
435
+ },
436
+ "match": {
437
+ "http_filter": "path_begin",
438
+ "http_filter_values": [
439
+ "foo",
440
+ "bar",
441
+ ],
442
+ },
443
+ },
444
+ {
445
+ "action": {
446
+ "type": "allow",
447
+ },
448
+ "match": {
449
+ "http_filter": "path_begin",
450
+ "http_filter_values": ["hi"],
451
+ "invert": True,
452
+ },
453
+ },
454
+ {
455
+ "action": {
456
+ "type": "allow",
457
+ },
458
+ "match": {
459
+ "http_filter": "http_header_match",
460
+ "http_filter_values": "foo",
461
+ "http_filter_option": "bar",
462
+ },
463
+ },
464
+ {
465
+ "action": {
466
+ "type": "redirect",
467
+ "redirects": [{
468
+ "type": "location",
469
+ "target": "https://example.com",
470
+ "code": 307,
471
+ }],
472
+ },
473
+ "match": {
474
+ "ip_subnets": ["10.0.0.10"],
475
+ "http_filter": "path_begin",
476
+ "http_filter_values": [
477
+ "foo",
478
+ "bar",
479
+ ],
480
+ },
481
+ },
482
+ ])
483
+ ```
484
+
485
+ ## Import
486
+
487
+ Load Balancer frontends can be imported using `{zone}/{id}`, e.g.
488
+
489
+ bash
490
+
491
+ ```sh
492
+ $ pulumi import scaleway:loadbalancers/frontend:Frontend frontend01 fr-par-1/11111111-1111-1111-1111-111111111111
493
+ ```
494
+
495
+ :param str resource_name: The name of the resource.
496
+ :param pulumi.ResourceOptions opts: Options for the resource.
497
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]] acls: A list of ACL rules to apply to the Load Balancer frontend. Defined below.
498
+ :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to.
499
+
500
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
501
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
502
+
503
+ > **Important:** Certificates are not allowed on port 80.
504
+ :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
505
+ :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
506
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
507
+ :param pulumi.Input[int] inbound_port: TCP port to listen to on the front side.
508
+ :param pulumi.Input[str] lb_id: The ID of the Load Balancer this frontend is attached to.
509
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
510
+ :param pulumi.Input[str] timeout_client: Maximum inactivity time on the client side. (e.g. `1s`)
511
+ """
512
+ ...
513
+ @overload
514
+ def __init__(__self__,
515
+ resource_name: str,
516
+ args: FrontendArgs,
517
+ opts: Optional[pulumi.ResourceOptions] = None):
518
+ """
519
+ Creates and manages Scaleway Load Balancer frontends.
520
+
521
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).
522
+
523
+ ## Example Usage
524
+
525
+ ### Basic
526
+
527
+ ```python
528
+ import pulumi
529
+ import pulumiverse_scaleway as scaleway
530
+
531
+ frontend01 = scaleway.loadbalancers.Frontend("frontend01",
532
+ lb_id=lb01["id"],
533
+ backend_id=backend01["id"],
534
+ name="frontend01",
535
+ inbound_port=80)
536
+ ```
537
+
538
+ ## With ACLs
539
+
540
+ ```python
541
+ import pulumi
542
+ import pulumiverse_scaleway as scaleway
543
+
544
+ frontend01 = scaleway.loadbalancers.Frontend("frontend01",
545
+ lb_id=lb01["id"],
546
+ backend_id=backend01["id"],
547
+ name="frontend01",
548
+ inbound_port=80,
549
+ acls=[
550
+ {
551
+ "name": "blacklist wellknwon IPs",
552
+ "action": {
553
+ "type": "allow",
554
+ },
555
+ "match": {
556
+ "ip_subnets": [
557
+ "192.168.0.1",
558
+ "192.168.0.2",
559
+ "192.168.10.0/24",
560
+ ],
561
+ },
562
+ },
563
+ {
564
+ "action": {
565
+ "type": "deny",
566
+ },
567
+ "match": {
568
+ "ip_subnets": ["51.51.51.51"],
569
+ "http_filter": "regex",
570
+ "http_filter_values": ["^foo*bar$"],
571
+ },
572
+ },
573
+ {
574
+ "action": {
575
+ "type": "allow",
576
+ },
577
+ "match": {
578
+ "http_filter": "path_begin",
579
+ "http_filter_values": [
580
+ "foo",
581
+ "bar",
582
+ ],
583
+ },
584
+ },
585
+ {
586
+ "action": {
587
+ "type": "allow",
588
+ },
589
+ "match": {
590
+ "http_filter": "path_begin",
591
+ "http_filter_values": ["hi"],
592
+ "invert": True,
593
+ },
594
+ },
595
+ {
596
+ "action": {
597
+ "type": "allow",
598
+ },
599
+ "match": {
600
+ "http_filter": "http_header_match",
601
+ "http_filter_values": "foo",
602
+ "http_filter_option": "bar",
603
+ },
604
+ },
605
+ {
606
+ "action": {
607
+ "type": "redirect",
608
+ "redirects": [{
609
+ "type": "location",
610
+ "target": "https://example.com",
611
+ "code": 307,
612
+ }],
613
+ },
614
+ "match": {
615
+ "ip_subnets": ["10.0.0.10"],
616
+ "http_filter": "path_begin",
617
+ "http_filter_values": [
618
+ "foo",
619
+ "bar",
620
+ ],
621
+ },
622
+ },
623
+ ])
624
+ ```
625
+
626
+ ## Import
627
+
628
+ Load Balancer frontends can be imported using `{zone}/{id}`, e.g.
629
+
630
+ bash
631
+
632
+ ```sh
633
+ $ pulumi import scaleway:loadbalancers/frontend:Frontend frontend01 fr-par-1/11111111-1111-1111-1111-111111111111
634
+ ```
635
+
636
+ :param str resource_name: The name of the resource.
637
+ :param FrontendArgs args: The arguments to use to populate this resource's properties.
638
+ :param pulumi.ResourceOptions opts: Options for the resource.
639
+ """
640
+ ...
641
+ def __init__(__self__, resource_name: str, *args, **kwargs):
642
+ resource_args, opts = _utilities.get_resource_args_opts(FrontendArgs, pulumi.ResourceOptions, *args, **kwargs)
643
+ if resource_args is not None:
644
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
645
+ else:
646
+ __self__._internal_init(resource_name, *args, **kwargs)
647
+
648
+ def _internal_init(__self__,
649
+ resource_name: str,
650
+ opts: Optional[pulumi.ResourceOptions] = None,
651
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]]] = None,
652
+ backend_id: Optional[pulumi.Input[str]] = None,
653
+ certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
654
+ enable_http3: Optional[pulumi.Input[bool]] = None,
655
+ external_acls: Optional[pulumi.Input[bool]] = None,
656
+ inbound_port: Optional[pulumi.Input[int]] = None,
657
+ lb_id: Optional[pulumi.Input[str]] = None,
658
+ name: Optional[pulumi.Input[str]] = None,
659
+ timeout_client: Optional[pulumi.Input[str]] = None,
660
+ __props__=None):
661
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
662
+ if not isinstance(opts, pulumi.ResourceOptions):
663
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
664
+ if opts.id is None:
665
+ if __props__ is not None:
666
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
667
+ __props__ = FrontendArgs.__new__(FrontendArgs)
668
+
669
+ __props__.__dict__["acls"] = acls
670
+ if backend_id is None and not opts.urn:
671
+ raise TypeError("Missing required property 'backend_id'")
672
+ __props__.__dict__["backend_id"] = backend_id
673
+ __props__.__dict__["certificate_ids"] = certificate_ids
674
+ __props__.__dict__["enable_http3"] = enable_http3
675
+ __props__.__dict__["external_acls"] = external_acls
676
+ if inbound_port is None and not opts.urn:
677
+ raise TypeError("Missing required property 'inbound_port'")
678
+ __props__.__dict__["inbound_port"] = inbound_port
679
+ if lb_id is None and not opts.urn:
680
+ raise TypeError("Missing required property 'lb_id'")
681
+ __props__.__dict__["lb_id"] = lb_id
682
+ __props__.__dict__["name"] = name
683
+ __props__.__dict__["timeout_client"] = timeout_client
684
+ __props__.__dict__["certificate_id"] = None
685
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancerFrontend:LoadbalancerFrontend")])
686
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
687
+ super(Frontend, __self__).__init__(
688
+ 'scaleway:loadbalancers/frontend:Frontend',
689
+ resource_name,
690
+ __props__,
691
+ opts)
692
+
693
+ @staticmethod
694
+ def get(resource_name: str,
695
+ id: pulumi.Input[str],
696
+ opts: Optional[pulumi.ResourceOptions] = None,
697
+ acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]]] = None,
698
+ backend_id: Optional[pulumi.Input[str]] = None,
699
+ certificate_id: Optional[pulumi.Input[str]] = None,
700
+ certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
701
+ enable_http3: Optional[pulumi.Input[bool]] = None,
702
+ external_acls: Optional[pulumi.Input[bool]] = None,
703
+ inbound_port: Optional[pulumi.Input[int]] = None,
704
+ lb_id: Optional[pulumi.Input[str]] = None,
705
+ name: Optional[pulumi.Input[str]] = None,
706
+ timeout_client: Optional[pulumi.Input[str]] = None) -> 'Frontend':
707
+ """
708
+ Get an existing Frontend resource's state with the given name, id, and optional extra
709
+ properties used to qualify the lookup.
710
+
711
+ :param str resource_name: The unique name of the resulting resource.
712
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
713
+ :param pulumi.ResourceOptions opts: Options for the resource.
714
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]] acls: A list of ACL rules to apply to the Load Balancer frontend. Defined below.
715
+ :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to.
716
+
717
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
718
+ :param pulumi.Input[str] certificate_id: (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.
719
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
720
+
721
+ > **Important:** Certificates are not allowed on port 80.
722
+ :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
723
+ :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
724
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
725
+ :param pulumi.Input[int] inbound_port: TCP port to listen to on the front side.
726
+ :param pulumi.Input[str] lb_id: The ID of the Load Balancer this frontend is attached to.
727
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
728
+ :param pulumi.Input[str] timeout_client: Maximum inactivity time on the client side. (e.g. `1s`)
729
+ """
730
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
731
+
732
+ __props__ = _FrontendState.__new__(_FrontendState)
733
+
734
+ __props__.__dict__["acls"] = acls
735
+ __props__.__dict__["backend_id"] = backend_id
736
+ __props__.__dict__["certificate_id"] = certificate_id
737
+ __props__.__dict__["certificate_ids"] = certificate_ids
738
+ __props__.__dict__["enable_http3"] = enable_http3
739
+ __props__.__dict__["external_acls"] = external_acls
740
+ __props__.__dict__["inbound_port"] = inbound_port
741
+ __props__.__dict__["lb_id"] = lb_id
742
+ __props__.__dict__["name"] = name
743
+ __props__.__dict__["timeout_client"] = timeout_client
744
+ return Frontend(resource_name, opts=opts, __props__=__props__)
745
+
746
+ @property
747
+ @pulumi.getter
748
+ def acls(self) -> pulumi.Output[Optional[Sequence['outputs.FrontendAcl']]]:
749
+ """
750
+ A list of ACL rules to apply to the Load Balancer frontend. Defined below.
751
+ """
752
+ return pulumi.get(self, "acls")
753
+
754
+ @property
755
+ @pulumi.getter(name="backendId")
756
+ def backend_id(self) -> pulumi.Output[str]:
757
+ """
758
+ The ID of the Load Balancer backend this frontend is attached to.
759
+
760
+ > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend.
761
+ """
762
+ return pulumi.get(self, "backend_id")
763
+
764
+ @property
765
+ @pulumi.getter(name="certificateId")
766
+ @_utilities.deprecated("""Please use certificate_ids""")
767
+ def certificate_id(self) -> pulumi.Output[str]:
768
+ """
769
+ (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.
770
+ """
771
+ return pulumi.get(self, "certificate_id")
772
+
773
+ @property
774
+ @pulumi.getter(name="certificateIds")
775
+ def certificate_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
776
+ """
777
+ List of certificate IDs that should be used by the frontend.
778
+
779
+ > **Important:** Certificates are not allowed on port 80.
780
+ """
781
+ return pulumi.get(self, "certificate_ids")
782
+
783
+ @property
784
+ @pulumi.getter(name="enableHttp3")
785
+ def enable_http3(self) -> pulumi.Output[Optional[bool]]:
786
+ """
787
+ Activates HTTP/3 protocol.
788
+ """
789
+ return pulumi.get(self, "enable_http3")
790
+
791
+ @property
792
+ @pulumi.getter(name="externalAcls")
793
+ def external_acls(self) -> pulumi.Output[Optional[bool]]:
794
+ """
795
+ A boolean to specify whether to use lb_acl.
796
+ If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
797
+ """
798
+ return pulumi.get(self, "external_acls")
799
+
800
+ @property
801
+ @pulumi.getter(name="inboundPort")
802
+ def inbound_port(self) -> pulumi.Output[int]:
803
+ """
804
+ TCP port to listen to on the front side.
805
+ """
806
+ return pulumi.get(self, "inbound_port")
807
+
808
+ @property
809
+ @pulumi.getter(name="lbId")
810
+ def lb_id(self) -> pulumi.Output[str]:
811
+ """
812
+ The ID of the Load Balancer this frontend is attached to.
813
+ """
814
+ return pulumi.get(self, "lb_id")
815
+
816
+ @property
817
+ @pulumi.getter
818
+ def name(self) -> pulumi.Output[str]:
819
+ """
820
+ The ACL name. If not provided it will be randomly generated.
821
+ """
822
+ return pulumi.get(self, "name")
823
+
824
+ @property
825
+ @pulumi.getter(name="timeoutClient")
826
+ def timeout_client(self) -> pulumi.Output[Optional[str]]:
827
+ """
828
+ Maximum inactivity time on the client side. (e.g. `1s`)
829
+ """
830
+ return pulumi.get(self, "timeout_client")
831
+