pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. pulumiverse_scaleway/__init__.py +1034 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/account/__init__.py +12 -0
  4. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  5. pulumiverse_scaleway/account/get_project.py +170 -0
  6. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  7. pulumiverse_scaleway/account/project.py +318 -0
  8. pulumiverse_scaleway/account/ssh_key.py +456 -0
  9. pulumiverse_scaleway/account_project.py +6 -0
  10. pulumiverse_scaleway/account_ssh_key.py +12 -6
  11. pulumiverse_scaleway/apple_silicon_server.py +113 -2
  12. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  13. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  14. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  15. pulumiverse_scaleway/applesilicon/server.py +795 -0
  16. pulumiverse_scaleway/baremetal_server.py +64 -58
  17. pulumiverse_scaleway/billing/__init__.py +10 -0
  18. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  19. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  20. pulumiverse_scaleway/billing/outputs.py +288 -0
  21. pulumiverse_scaleway/block/__init__.py +11 -0
  22. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  23. pulumiverse_scaleway/block/get_volume.py +199 -0
  24. pulumiverse_scaleway/block/snapshot.py +403 -0
  25. pulumiverse_scaleway/block/volume.py +576 -0
  26. pulumiverse_scaleway/block_snapshot.py +12 -6
  27. pulumiverse_scaleway/block_volume.py +16 -10
  28. pulumiverse_scaleway/cockpit.py +10 -4
  29. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  30. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  31. pulumiverse_scaleway/cockpit_source.py +12 -6
  32. pulumiverse_scaleway/cockpit_token.py +16 -10
  33. pulumiverse_scaleway/container.py +16 -10
  34. pulumiverse_scaleway/container_cron.py +14 -8
  35. pulumiverse_scaleway/container_domain.py +24 -18
  36. pulumiverse_scaleway/container_namespace.py +10 -4
  37. pulumiverse_scaleway/container_token.py +32 -26
  38. pulumiverse_scaleway/container_trigger.py +12 -6
  39. pulumiverse_scaleway/containers/__init__.py +17 -0
  40. pulumiverse_scaleway/containers/_inputs.py +389 -0
  41. pulumiverse_scaleway/containers/container.py +1635 -0
  42. pulumiverse_scaleway/containers/cron.py +460 -0
  43. pulumiverse_scaleway/containers/domain.py +408 -0
  44. pulumiverse_scaleway/containers/get_container.py +562 -0
  45. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  46. pulumiverse_scaleway/containers/namespace.py +638 -0
  47. pulumiverse_scaleway/containers/outputs.py +412 -0
  48. pulumiverse_scaleway/containers/token.py +454 -0
  49. pulumiverse_scaleway/containers/trigger.py +482 -0
  50. pulumiverse_scaleway/database.py +10 -4
  51. pulumiverse_scaleway/database_acl.py +10 -4
  52. pulumiverse_scaleway/database_backup.py +14 -8
  53. pulumiverse_scaleway/database_instance.py +24 -18
  54. pulumiverse_scaleway/database_privilege.py +16 -10
  55. pulumiverse_scaleway/database_read_replica.py +22 -16
  56. pulumiverse_scaleway/database_user.py +10 -4
  57. pulumiverse_scaleway/databases/__init__.py +23 -0
  58. pulumiverse_scaleway/databases/_inputs.py +822 -0
  59. pulumiverse_scaleway/databases/acl.py +334 -0
  60. pulumiverse_scaleway/databases/database.py +409 -0
  61. pulumiverse_scaleway/databases/database_backup.py +576 -0
  62. pulumiverse_scaleway/databases/get_acl.py +143 -0
  63. pulumiverse_scaleway/databases/get_database.py +187 -0
  64. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  65. pulumiverse_scaleway/databases/get_instance.py +415 -0
  66. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  67. pulumiverse_scaleway/databases/instance.py +1696 -0
  68. pulumiverse_scaleway/databases/outputs.py +866 -0
  69. pulumiverse_scaleway/databases/privilege.py +424 -0
  70. pulumiverse_scaleway/databases/read_replica.py +530 -0
  71. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  72. pulumiverse_scaleway/databases/snapshot.py +610 -0
  73. pulumiverse_scaleway/databases/user.py +448 -0
  74. pulumiverse_scaleway/domain/__init__.py +14 -0
  75. pulumiverse_scaleway/domain/_inputs.py +3038 -0
  76. pulumiverse_scaleway/domain/get_record.py +340 -0
  77. pulumiverse_scaleway/domain/get_zone.py +201 -0
  78. pulumiverse_scaleway/domain/outputs.py +2553 -0
  79. pulumiverse_scaleway/domain/record.py +1118 -0
  80. pulumiverse_scaleway/domain/registration.py +777 -0
  81. pulumiverse_scaleway/domain/zone.py +432 -0
  82. pulumiverse_scaleway/domain_record.py +36 -30
  83. pulumiverse_scaleway/domain_zone.py +6 -0
  84. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  85. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  86. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  87. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  88. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  89. pulumiverse_scaleway/edge_services_plan.py +239 -0
  90. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  91. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  92. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  93. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  94. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  95. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  96. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  97. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  98. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  99. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  100. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  101. pulumiverse_scaleway/elasticmetal/ip.py +710 -0
  102. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  103. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  104. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  105. pulumiverse_scaleway/flexible_ip.py +35 -23
  106. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  107. pulumiverse_scaleway/function.py +6 -0
  108. pulumiverse_scaleway/function_cron.py +16 -10
  109. pulumiverse_scaleway/function_domain.py +16 -10
  110. pulumiverse_scaleway/function_namespace.py +10 -4
  111. pulumiverse_scaleway/function_token.py +32 -26
  112. pulumiverse_scaleway/function_trigger.py +12 -6
  113. pulumiverse_scaleway/functions/__init__.py +17 -0
  114. pulumiverse_scaleway/functions/_inputs.py +211 -0
  115. pulumiverse_scaleway/functions/cron.py +464 -0
  116. pulumiverse_scaleway/functions/domain.py +372 -0
  117. pulumiverse_scaleway/functions/function.py +1105 -0
  118. pulumiverse_scaleway/functions/get_function.py +365 -0
  119. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  120. pulumiverse_scaleway/functions/namespace.py +582 -0
  121. pulumiverse_scaleway/functions/outputs.py +168 -0
  122. pulumiverse_scaleway/functions/token.py +462 -0
  123. pulumiverse_scaleway/functions/trigger.py +482 -0
  124. pulumiverse_scaleway/get_account_project.py +6 -2
  125. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  126. pulumiverse_scaleway/get_availability_zones.py +8 -4
  127. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  128. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  129. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  130. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  131. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  132. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  133. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  134. pulumiverse_scaleway/get_block_volume.py +6 -2
  135. pulumiverse_scaleway/get_cockpit.py +12 -8
  136. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  137. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  138. pulumiverse_scaleway/get_container.py +16 -12
  139. pulumiverse_scaleway/get_container_namespace.py +10 -6
  140. pulumiverse_scaleway/get_database.py +6 -2
  141. pulumiverse_scaleway/get_database_acl.py +6 -2
  142. pulumiverse_scaleway/get_database_backup.py +10 -6
  143. pulumiverse_scaleway/get_database_instance.py +4 -0
  144. pulumiverse_scaleway/get_database_privilege.py +6 -2
  145. pulumiverse_scaleway/get_domain_record.py +10 -6
  146. pulumiverse_scaleway/get_domain_zone.py +4 -0
  147. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  148. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  149. pulumiverse_scaleway/get_function.py +6 -2
  150. pulumiverse_scaleway/get_function_namespace.py +6 -2
  151. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  152. pulumiverse_scaleway/get_iam_application.py +8 -4
  153. pulumiverse_scaleway/get_iam_group.py +8 -4
  154. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  155. pulumiverse_scaleway/get_iam_user.py +8 -4
  156. pulumiverse_scaleway/get_instance_image.py +4 -0
  157. pulumiverse_scaleway/get_instance_ip.py +4 -0
  158. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  159. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  160. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  161. pulumiverse_scaleway/get_instance_server.py +4 -0
  162. pulumiverse_scaleway/get_instance_servers.py +4 -0
  163. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  164. pulumiverse_scaleway/get_instance_volume.py +4 -0
  165. pulumiverse_scaleway/get_iot_device.py +4 -0
  166. pulumiverse_scaleway/get_iot_hub.py +4 -0
  167. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  168. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  169. pulumiverse_scaleway/get_k8s_version.py +8 -4
  170. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  171. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  172. pulumiverse_scaleway/get_lb_acls.py +8 -4
  173. pulumiverse_scaleway/get_lb_backend.py +18 -14
  174. pulumiverse_scaleway/get_lb_backends.py +8 -4
  175. pulumiverse_scaleway/get_lb_frontend.py +28 -13
  176. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  177. pulumiverse_scaleway/get_lb_ips.py +4 -0
  178. pulumiverse_scaleway/get_lb_route.py +28 -13
  179. pulumiverse_scaleway/get_lb_routes.py +8 -4
  180. pulumiverse_scaleway/get_lbs.py +4 -0
  181. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  182. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  183. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  184. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  185. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  186. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  187. pulumiverse_scaleway/get_object_bucket.py +12 -8
  188. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  189. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  190. pulumiverse_scaleway/get_registry_image.py +4 -0
  191. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  192. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  193. pulumiverse_scaleway/get_secret.py +27 -12
  194. pulumiverse_scaleway/get_secret_version.py +14 -10
  195. pulumiverse_scaleway/get_tem_domain.py +4 -0
  196. pulumiverse_scaleway/get_vpc.py +10 -6
  197. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  198. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  199. pulumiverse_scaleway/get_vpc_public_gateway.py +44 -7
  200. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +16 -4
  201. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +78 -66
  202. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  203. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  204. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  205. pulumiverse_scaleway/get_vpcs.py +4 -0
  206. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  207. pulumiverse_scaleway/get_webhosting.py +8 -4
  208. pulumiverse_scaleway/hosting/__init__.py +12 -0
  209. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  210. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  211. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  212. pulumiverse_scaleway/hosting/hosting.py +870 -0
  213. pulumiverse_scaleway/hosting/outputs.py +626 -0
  214. pulumiverse_scaleway/iam/__init__.py +21 -0
  215. pulumiverse_scaleway/iam/_inputs.py +138 -0
  216. pulumiverse_scaleway/iam/api_key.py +622 -0
  217. pulumiverse_scaleway/iam/application.py +419 -0
  218. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  219. pulumiverse_scaleway/iam/get_application.py +210 -0
  220. pulumiverse_scaleway/iam/get_group.py +236 -0
  221. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  222. pulumiverse_scaleway/iam/get_user.py +177 -0
  223. pulumiverse_scaleway/iam/group.py +568 -0
  224. pulumiverse_scaleway/iam/group_membership.py +325 -0
  225. pulumiverse_scaleway/iam/outputs.py +111 -0
  226. pulumiverse_scaleway/iam/policy.py +775 -0
  227. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  228. pulumiverse_scaleway/iam/user.py +515 -0
  229. pulumiverse_scaleway/iam_api_key.py +16 -10
  230. pulumiverse_scaleway/iam_application.py +8 -2
  231. pulumiverse_scaleway/iam_group.py +12 -6
  232. pulumiverse_scaleway/iam_group_membership.py +12 -6
  233. pulumiverse_scaleway/iam_policy.py +18 -12
  234. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  235. pulumiverse_scaleway/iam_user.py +8 -2
  236. pulumiverse_scaleway/inference/__init__.py +10 -0
  237. pulumiverse_scaleway/inference/_inputs.py +209 -0
  238. pulumiverse_scaleway/inference/deployment.py +824 -0
  239. pulumiverse_scaleway/inference/outputs.py +169 -0
  240. pulumiverse_scaleway/inference_deployment.py +8 -2
  241. pulumiverse_scaleway/instance/__init__.py +29 -0
  242. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  243. pulumiverse_scaleway/instance/get_image.py +305 -0
  244. pulumiverse_scaleway/instance/get_ip.py +204 -0
  245. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  246. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  247. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  248. pulumiverse_scaleway/instance/get_server.py +488 -0
  249. pulumiverse_scaleway/instance/get_servers.py +187 -0
  250. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  251. pulumiverse_scaleway/instance/get_volume.py +226 -0
  252. pulumiverse_scaleway/instance/image.py +752 -0
  253. pulumiverse_scaleway/instance/ip.py +471 -0
  254. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  255. pulumiverse_scaleway/instance/outputs.py +1533 -0
  256. pulumiverse_scaleway/instance/placement_group.py +481 -0
  257. pulumiverse_scaleway/instance/private_nic.py +557 -0
  258. pulumiverse_scaleway/instance/security_group.py +722 -0
  259. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  260. pulumiverse_scaleway/instance/server.py +1938 -0
  261. pulumiverse_scaleway/instance/snapshot.py +671 -0
  262. pulumiverse_scaleway/instance/user_data.py +437 -0
  263. pulumiverse_scaleway/instance/volume.py +584 -0
  264. pulumiverse_scaleway/instance_image.py +18 -12
  265. pulumiverse_scaleway/instance_ip.py +8 -2
  266. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  267. pulumiverse_scaleway/instance_placement_group.py +8 -2
  268. pulumiverse_scaleway/instance_private_nic.py +24 -18
  269. pulumiverse_scaleway/instance_security_group.py +6 -0
  270. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  271. pulumiverse_scaleway/instance_server.py +74 -68
  272. pulumiverse_scaleway/instance_snapshot.py +22 -16
  273. pulumiverse_scaleway/instance_user_data.py +16 -10
  274. pulumiverse_scaleway/instance_volume.py +8 -2
  275. pulumiverse_scaleway/iot/__init__.py +15 -0
  276. pulumiverse_scaleway/iot/_inputs.py +539 -0
  277. pulumiverse_scaleway/iot/device.py +752 -0
  278. pulumiverse_scaleway/iot/get_device.py +257 -0
  279. pulumiverse_scaleway/iot/get_hub.py +322 -0
  280. pulumiverse_scaleway/iot/hub.py +898 -0
  281. pulumiverse_scaleway/iot/network.py +474 -0
  282. pulumiverse_scaleway/iot/outputs.py +465 -0
  283. pulumiverse_scaleway/iot/route.py +662 -0
  284. pulumiverse_scaleway/iot_device.py +14 -8
  285. pulumiverse_scaleway/iot_hub.py +8 -2
  286. pulumiverse_scaleway/iot_network.py +12 -6
  287. pulumiverse_scaleway/iot_route.py +32 -26
  288. pulumiverse_scaleway/ipam/__init__.py +13 -0
  289. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  290. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  291. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  292. pulumiverse_scaleway/ipam/ip.py +759 -0
  293. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  294. pulumiverse_scaleway/ipam/outputs.py +481 -0
  295. pulumiverse_scaleway/ipam_ip.py +30 -24
  296. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  297. pulumiverse_scaleway/job/__init__.py +10 -0
  298. pulumiverse_scaleway/job/_inputs.py +73 -0
  299. pulumiverse_scaleway/job/definition.py +694 -0
  300. pulumiverse_scaleway/job/outputs.py +49 -0
  301. pulumiverse_scaleway/job_definition.py +8 -2
  302. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  303. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  304. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  305. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  306. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  307. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  308. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  309. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  310. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  311. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  312. pulumiverse_scaleway/loadbalancer.py +35 -29
  313. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  314. pulumiverse_scaleway/loadbalancer_backend.py +12 -6
  315. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  316. pulumiverse_scaleway/loadbalancer_frontend.py +57 -4
  317. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  318. pulumiverse_scaleway/loadbalancer_route.py +74 -21
  319. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  320. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  321. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  322. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  323. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  324. pulumiverse_scaleway/loadbalancers/frontend.py +878 -0
  325. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  326. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  327. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  328. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  329. pulumiverse_scaleway/loadbalancers/get_frontend.py +285 -0
  330. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  331. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  332. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  333. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  334. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  335. pulumiverse_scaleway/loadbalancers/get_route.py +228 -0
  336. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  337. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  338. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  339. pulumiverse_scaleway/loadbalancers/outputs.py +2502 -0
  340. pulumiverse_scaleway/loadbalancers/route.py +572 -0
  341. pulumiverse_scaleway/mnq/__init__.py +20 -0
  342. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  343. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  344. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  345. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  346. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  347. pulumiverse_scaleway/mnq/outputs.py +149 -0
  348. pulumiverse_scaleway/mnq/sns.py +308 -0
  349. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  350. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  351. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  352. pulumiverse_scaleway/mnq/sqs.py +306 -0
  353. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  354. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  355. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  356. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  357. pulumiverse_scaleway/mnq_sns.py +12 -6
  358. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  359. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  360. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  361. pulumiverse_scaleway/mnq_sqs.py +12 -6
  362. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  363. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  364. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  365. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  366. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  367. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  368. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  369. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  370. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  371. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  372. pulumiverse_scaleway/network/__init__.py +30 -0
  373. pulumiverse_scaleway/network/_inputs.py +577 -0
  374. pulumiverse_scaleway/network/acl.py +415 -0
  375. pulumiverse_scaleway/network/gateway_network.py +850 -0
  376. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  377. pulumiverse_scaleway/network/get_private_network.py +282 -0
  378. pulumiverse_scaleway/network/get_public_gateway.py +337 -0
  379. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +313 -0
  380. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +390 -0
  381. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  382. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  383. pulumiverse_scaleway/network/get_routes.py +208 -0
  384. pulumiverse_scaleway/network/get_vpc.py +246 -0
  385. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  386. pulumiverse_scaleway/network/outputs.py +886 -0
  387. pulumiverse_scaleway/network/private_network.py +736 -0
  388. pulumiverse_scaleway/network/public_gateway.py +894 -0
  389. pulumiverse_scaleway/network/public_gateway_dhcp.py +957 -0
  390. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +524 -0
  391. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  392. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  393. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  394. pulumiverse_scaleway/network/route.py +579 -0
  395. pulumiverse_scaleway/network/vpc.py +538 -0
  396. pulumiverse_scaleway/object/__init__.py +17 -0
  397. pulumiverse_scaleway/object/_inputs.py +831 -0
  398. pulumiverse_scaleway/object/bucket.py +876 -0
  399. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  400. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  401. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  402. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  403. pulumiverse_scaleway/object/get_bucket.py +290 -0
  404. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  405. pulumiverse_scaleway/object/item.py +778 -0
  406. pulumiverse_scaleway/object/outputs.py +802 -0
  407. pulumiverse_scaleway/object_bucket.py +28 -22
  408. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  409. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  410. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  411. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  412. pulumiverse_scaleway/object_item.py +8 -2
  413. pulumiverse_scaleway/observability/__init__.py +17 -0
  414. pulumiverse_scaleway/observability/_inputs.py +417 -0
  415. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  416. pulumiverse_scaleway/observability/cockpit.py +325 -0
  417. pulumiverse_scaleway/observability/get_instance.py +205 -0
  418. pulumiverse_scaleway/observability/get_plan.py +125 -0
  419. pulumiverse_scaleway/observability/get_source.py +262 -0
  420. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  421. pulumiverse_scaleway/observability/outputs.py +425 -0
  422. pulumiverse_scaleway/observability/source.py +569 -0
  423. pulumiverse_scaleway/observability/token.py +481 -0
  424. pulumiverse_scaleway/outputs.py +662 -2
  425. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  426. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  427. pulumiverse_scaleway/redis/__init__.py +11 -0
  428. pulumiverse_scaleway/redis/_inputs.py +330 -0
  429. pulumiverse_scaleway/redis/cluster.py +1203 -0
  430. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  431. pulumiverse_scaleway/redis/outputs.py +356 -0
  432. pulumiverse_scaleway/redis_cluster.py +14 -8
  433. pulumiverse_scaleway/registry/__init__.py +11 -0
  434. pulumiverse_scaleway/registry/get_image.py +239 -0
  435. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  436. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  437. pulumiverse_scaleway/registry/namespace.py +460 -0
  438. pulumiverse_scaleway/registry_namespace.py +8 -2
  439. pulumiverse_scaleway/sdb_database.py +10 -4
  440. pulumiverse_scaleway/secret.py +28 -2
  441. pulumiverse_scaleway/secret_version.py +18 -12
  442. pulumiverse_scaleway/secrets/__init__.py +13 -0
  443. pulumiverse_scaleway/secrets/_inputs.py +248 -0
  444. pulumiverse_scaleway/secrets/get_secret.py +349 -0
  445. pulumiverse_scaleway/secrets/get_version.py +340 -0
  446. pulumiverse_scaleway/secrets/outputs.py +320 -0
  447. pulumiverse_scaleway/secrets/secret.py +685 -0
  448. pulumiverse_scaleway/secrets/version.py +489 -0
  449. pulumiverse_scaleway/tem/__init__.py +15 -0
  450. pulumiverse_scaleway/tem/_inputs.py +135 -0
  451. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  452. pulumiverse_scaleway/tem/domain.py +1039 -0
  453. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  454. pulumiverse_scaleway/tem/get_domain.py +378 -0
  455. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  456. pulumiverse_scaleway/tem/outputs.py +171 -0
  457. pulumiverse_scaleway/tem/webhook.py +642 -0
  458. pulumiverse_scaleway/tem_domain.py +27 -14
  459. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  460. pulumiverse_scaleway/tem_webhook.py +28 -22
  461. pulumiverse_scaleway/vpc.py +10 -4
  462. pulumiverse_scaleway/vpc_gateway_network.py +128 -140
  463. pulumiverse_scaleway/vpc_private_network.py +10 -4
  464. pulumiverse_scaleway/vpc_public_gateway.py +132 -23
  465. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +23 -9
  466. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +40 -26
  467. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  468. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  469. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  470. pulumiverse_scaleway/vpc_route.py +16 -10
  471. pulumiverse_scaleway/webhosting.py +10 -4
  472. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/METADATA +1 -1
  473. pulumiverse_scaleway-1.26.0.dist-info/RECORD +483 -0
  474. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/WHEEL +1 -1
  475. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  476. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,572 @@
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
+
17
+ __all__ = ['RouteArgs', 'Route']
18
+
19
+ @pulumi.input_type
20
+ class RouteArgs:
21
+ def __init__(__self__, *,
22
+ backend_id: pulumi.Input[str],
23
+ frontend_id: pulumi.Input[str],
24
+ match_host_header: Optional[pulumi.Input[str]] = None,
25
+ match_sni: Optional[pulumi.Input[str]] = None,
26
+ match_subdomains: Optional[pulumi.Input[bool]] = None):
27
+ """
28
+ The set of arguments for constructing a Route resource.
29
+ :param pulumi.Input[str] backend_id: The ID of the backend the route is associated with.
30
+ :param pulumi.Input[str] frontend_id: The ID of the frontend the route is associated with.
31
+ :param pulumi.Input[str] match_host_header: The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
32
+ Only one of `match_sni` and `match_host_header` should be specified.
33
+
34
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
35
+ :param pulumi.Input[str] match_sni: The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
36
+ Only one of `match_sni` and `match_host_header` should be specified.
37
+
38
+ > **Important:** This field should be set for routes on TCP Load Balancers.
39
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
40
+ """
41
+ pulumi.set(__self__, "backend_id", backend_id)
42
+ pulumi.set(__self__, "frontend_id", frontend_id)
43
+ if match_host_header is not None:
44
+ pulumi.set(__self__, "match_host_header", match_host_header)
45
+ if match_sni is not None:
46
+ pulumi.set(__self__, "match_sni", match_sni)
47
+ if match_subdomains is not None:
48
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
49
+
50
+ @property
51
+ @pulumi.getter(name="backendId")
52
+ def backend_id(self) -> pulumi.Input[str]:
53
+ """
54
+ The ID of the backend the route is associated with.
55
+ """
56
+ return pulumi.get(self, "backend_id")
57
+
58
+ @backend_id.setter
59
+ def backend_id(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "backend_id", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="frontendId")
64
+ def frontend_id(self) -> pulumi.Input[str]:
65
+ """
66
+ The ID of the frontend the route is associated with.
67
+ """
68
+ return pulumi.get(self, "frontend_id")
69
+
70
+ @frontend_id.setter
71
+ def frontend_id(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "frontend_id", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="matchHostHeader")
76
+ def match_host_header(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
79
+ Only one of `match_sni` and `match_host_header` should be specified.
80
+
81
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
82
+ """
83
+ return pulumi.get(self, "match_host_header")
84
+
85
+ @match_host_header.setter
86
+ def match_host_header(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "match_host_header", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="matchSni")
91
+ def match_sni(self) -> Optional[pulumi.Input[str]]:
92
+ """
93
+ The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
94
+ Only one of `match_sni` and `match_host_header` should be specified.
95
+
96
+ > **Important:** This field should be set for routes on TCP Load Balancers.
97
+ """
98
+ return pulumi.get(self, "match_sni")
99
+
100
+ @match_sni.setter
101
+ def match_sni(self, value: Optional[pulumi.Input[str]]):
102
+ pulumi.set(self, "match_sni", value)
103
+
104
+ @property
105
+ @pulumi.getter(name="matchSubdomains")
106
+ def match_subdomains(self) -> Optional[pulumi.Input[bool]]:
107
+ """
108
+ If true, all subdomains will match.
109
+ """
110
+ return pulumi.get(self, "match_subdomains")
111
+
112
+ @match_subdomains.setter
113
+ def match_subdomains(self, value: Optional[pulumi.Input[bool]]):
114
+ pulumi.set(self, "match_subdomains", value)
115
+
116
+
117
+ @pulumi.input_type
118
+ class _RouteState:
119
+ def __init__(__self__, *,
120
+ backend_id: Optional[pulumi.Input[str]] = None,
121
+ created_at: Optional[pulumi.Input[str]] = None,
122
+ frontend_id: Optional[pulumi.Input[str]] = None,
123
+ match_host_header: Optional[pulumi.Input[str]] = None,
124
+ match_sni: Optional[pulumi.Input[str]] = None,
125
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
126
+ updated_at: Optional[pulumi.Input[str]] = None):
127
+ """
128
+ Input properties used for looking up and filtering Route resources.
129
+ :param pulumi.Input[str] backend_id: The ID of the backend the route is associated with.
130
+ :param pulumi.Input[str] created_at: The date on which the route was created.
131
+ :param pulumi.Input[str] frontend_id: The ID of the frontend the route is associated with.
132
+ :param pulumi.Input[str] match_host_header: The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
133
+ Only one of `match_sni` and `match_host_header` should be specified.
134
+
135
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
136
+ :param pulumi.Input[str] match_sni: The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
137
+ Only one of `match_sni` and `match_host_header` should be specified.
138
+
139
+ > **Important:** This field should be set for routes on TCP Load Balancers.
140
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
141
+ :param pulumi.Input[str] updated_at: The date on which the route was last updated.
142
+ """
143
+ if backend_id is not None:
144
+ pulumi.set(__self__, "backend_id", backend_id)
145
+ if created_at is not None:
146
+ pulumi.set(__self__, "created_at", created_at)
147
+ if frontend_id is not None:
148
+ pulumi.set(__self__, "frontend_id", frontend_id)
149
+ if match_host_header is not None:
150
+ pulumi.set(__self__, "match_host_header", match_host_header)
151
+ if match_sni is not None:
152
+ pulumi.set(__self__, "match_sni", match_sni)
153
+ if match_subdomains is not None:
154
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
155
+ if updated_at is not None:
156
+ pulumi.set(__self__, "updated_at", updated_at)
157
+
158
+ @property
159
+ @pulumi.getter(name="backendId")
160
+ def backend_id(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ The ID of the backend the route is associated with.
163
+ """
164
+ return pulumi.get(self, "backend_id")
165
+
166
+ @backend_id.setter
167
+ def backend_id(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "backend_id", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="createdAt")
172
+ def created_at(self) -> Optional[pulumi.Input[str]]:
173
+ """
174
+ The date on which the route was created.
175
+ """
176
+ return pulumi.get(self, "created_at")
177
+
178
+ @created_at.setter
179
+ def created_at(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "created_at", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="frontendId")
184
+ def frontend_id(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ The ID of the frontend the route is associated with.
187
+ """
188
+ return pulumi.get(self, "frontend_id")
189
+
190
+ @frontend_id.setter
191
+ def frontend_id(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "frontend_id", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="matchHostHeader")
196
+ def match_host_header(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
199
+ Only one of `match_sni` and `match_host_header` should be specified.
200
+
201
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
202
+ """
203
+ return pulumi.get(self, "match_host_header")
204
+
205
+ @match_host_header.setter
206
+ def match_host_header(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "match_host_header", value)
208
+
209
+ @property
210
+ @pulumi.getter(name="matchSni")
211
+ def match_sni(self) -> Optional[pulumi.Input[str]]:
212
+ """
213
+ The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
214
+ Only one of `match_sni` and `match_host_header` should be specified.
215
+
216
+ > **Important:** This field should be set for routes on TCP Load Balancers.
217
+ """
218
+ return pulumi.get(self, "match_sni")
219
+
220
+ @match_sni.setter
221
+ def match_sni(self, value: Optional[pulumi.Input[str]]):
222
+ pulumi.set(self, "match_sni", value)
223
+
224
+ @property
225
+ @pulumi.getter(name="matchSubdomains")
226
+ def match_subdomains(self) -> Optional[pulumi.Input[bool]]:
227
+ """
228
+ If true, all subdomains will match.
229
+ """
230
+ return pulumi.get(self, "match_subdomains")
231
+
232
+ @match_subdomains.setter
233
+ def match_subdomains(self, value: Optional[pulumi.Input[bool]]):
234
+ pulumi.set(self, "match_subdomains", value)
235
+
236
+ @property
237
+ @pulumi.getter(name="updatedAt")
238
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
239
+ """
240
+ The date on which the route was last updated.
241
+ """
242
+ return pulumi.get(self, "updated_at")
243
+
244
+ @updated_at.setter
245
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
246
+ pulumi.set(self, "updated_at", value)
247
+
248
+
249
+ class Route(pulumi.CustomResource):
250
+ @overload
251
+ def __init__(__self__,
252
+ resource_name: str,
253
+ opts: Optional[pulumi.ResourceOptions] = None,
254
+ backend_id: Optional[pulumi.Input[str]] = None,
255
+ frontend_id: Optional[pulumi.Input[str]] = None,
256
+ match_host_header: Optional[pulumi.Input[str]] = None,
257
+ match_sni: Optional[pulumi.Input[str]] = None,
258
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
259
+ __props__=None):
260
+ """
261
+ Creates and manages Scaleway Load Balancer routes.
262
+
263
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).
264
+
265
+ ## Example Usage
266
+
267
+ ### With SNI for direction to TCP backends
268
+
269
+ ```python
270
+ import pulumi
271
+ import pulumiverse_scaleway as scaleway
272
+
273
+ ip01 = scaleway.loadbalancers.Ip("ip01")
274
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
275
+ ip_id=ip01.id,
276
+ name="test-lb",
277
+ type="lb-s")
278
+ bkd01 = scaleway.loadbalancers.Backend("bkd01",
279
+ lb_id=lb01.id,
280
+ forward_protocol="tcp",
281
+ forward_port=80,
282
+ proxy_protocol="none")
283
+ frt01 = scaleway.loadbalancers.Frontend("frt01",
284
+ lb_id=lb01.id,
285
+ backend_id=bkd01.id,
286
+ inbound_port=80)
287
+ rt01 = scaleway.loadbalancers.Route("rt01",
288
+ frontend_id=frt01.id,
289
+ backend_id=bkd01.id,
290
+ match_sni="sni.scaleway.com")
291
+ ```
292
+
293
+ ### With host-header for direction to HTTP backends
294
+
295
+ ```python
296
+ import pulumi
297
+ import pulumiverse_scaleway as scaleway
298
+
299
+ ip01 = scaleway.loadbalancers.Ip("ip01")
300
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
301
+ ip_id=ip01.id,
302
+ name="test-lb",
303
+ type="lb-s")
304
+ bkd01 = scaleway.loadbalancers.Backend("bkd01",
305
+ lb_id=lb01.id,
306
+ forward_protocol="http",
307
+ forward_port=80,
308
+ proxy_protocol="none")
309
+ frt01 = scaleway.loadbalancers.Frontend("frt01",
310
+ lb_id=lb01.id,
311
+ backend_id=bkd01.id,
312
+ inbound_port=80)
313
+ rt01 = scaleway.loadbalancers.Route("rt01",
314
+ frontend_id=frt01.id,
315
+ backend_id=bkd01.id,
316
+ match_host_header="host.scaleway.com")
317
+ ```
318
+
319
+ ## Import
320
+
321
+ Load Balancer frontends can be imported using `{zone}/{id}`, e.g.
322
+
323
+ bash
324
+
325
+ ```sh
326
+ $ pulumi import scaleway:loadbalancers/route:Route main fr-par-1/11111111-1111-1111-1111-111111111111
327
+ ```
328
+
329
+ :param str resource_name: The name of the resource.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ :param pulumi.Input[str] backend_id: The ID of the backend the route is associated with.
332
+ :param pulumi.Input[str] frontend_id: The ID of the frontend the route is associated with.
333
+ :param pulumi.Input[str] match_host_header: The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
334
+ Only one of `match_sni` and `match_host_header` should be specified.
335
+
336
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
337
+ :param pulumi.Input[str] match_sni: The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
338
+ Only one of `match_sni` and `match_host_header` should be specified.
339
+
340
+ > **Important:** This field should be set for routes on TCP Load Balancers.
341
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
342
+ """
343
+ ...
344
+ @overload
345
+ def __init__(__self__,
346
+ resource_name: str,
347
+ args: RouteArgs,
348
+ opts: Optional[pulumi.ResourceOptions] = None):
349
+ """
350
+ Creates and manages Scaleway Load Balancer routes.
351
+
352
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).
353
+
354
+ ## Example Usage
355
+
356
+ ### With SNI for direction to TCP backends
357
+
358
+ ```python
359
+ import pulumi
360
+ import pulumiverse_scaleway as scaleway
361
+
362
+ ip01 = scaleway.loadbalancers.Ip("ip01")
363
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
364
+ ip_id=ip01.id,
365
+ name="test-lb",
366
+ type="lb-s")
367
+ bkd01 = scaleway.loadbalancers.Backend("bkd01",
368
+ lb_id=lb01.id,
369
+ forward_protocol="tcp",
370
+ forward_port=80,
371
+ proxy_protocol="none")
372
+ frt01 = scaleway.loadbalancers.Frontend("frt01",
373
+ lb_id=lb01.id,
374
+ backend_id=bkd01.id,
375
+ inbound_port=80)
376
+ rt01 = scaleway.loadbalancers.Route("rt01",
377
+ frontend_id=frt01.id,
378
+ backend_id=bkd01.id,
379
+ match_sni="sni.scaleway.com")
380
+ ```
381
+
382
+ ### With host-header for direction to HTTP backends
383
+
384
+ ```python
385
+ import pulumi
386
+ import pulumiverse_scaleway as scaleway
387
+
388
+ ip01 = scaleway.loadbalancers.Ip("ip01")
389
+ lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
390
+ ip_id=ip01.id,
391
+ name="test-lb",
392
+ type="lb-s")
393
+ bkd01 = scaleway.loadbalancers.Backend("bkd01",
394
+ lb_id=lb01.id,
395
+ forward_protocol="http",
396
+ forward_port=80,
397
+ proxy_protocol="none")
398
+ frt01 = scaleway.loadbalancers.Frontend("frt01",
399
+ lb_id=lb01.id,
400
+ backend_id=bkd01.id,
401
+ inbound_port=80)
402
+ rt01 = scaleway.loadbalancers.Route("rt01",
403
+ frontend_id=frt01.id,
404
+ backend_id=bkd01.id,
405
+ match_host_header="host.scaleway.com")
406
+ ```
407
+
408
+ ## Import
409
+
410
+ Load Balancer frontends can be imported using `{zone}/{id}`, e.g.
411
+
412
+ bash
413
+
414
+ ```sh
415
+ $ pulumi import scaleway:loadbalancers/route:Route main fr-par-1/11111111-1111-1111-1111-111111111111
416
+ ```
417
+
418
+ :param str resource_name: The name of the resource.
419
+ :param RouteArgs args: The arguments to use to populate this resource's properties.
420
+ :param pulumi.ResourceOptions opts: Options for the resource.
421
+ """
422
+ ...
423
+ def __init__(__self__, resource_name: str, *args, **kwargs):
424
+ resource_args, opts = _utilities.get_resource_args_opts(RouteArgs, pulumi.ResourceOptions, *args, **kwargs)
425
+ if resource_args is not None:
426
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
427
+ else:
428
+ __self__._internal_init(resource_name, *args, **kwargs)
429
+
430
+ def _internal_init(__self__,
431
+ resource_name: str,
432
+ opts: Optional[pulumi.ResourceOptions] = None,
433
+ backend_id: Optional[pulumi.Input[str]] = None,
434
+ frontend_id: Optional[pulumi.Input[str]] = None,
435
+ match_host_header: Optional[pulumi.Input[str]] = None,
436
+ match_sni: Optional[pulumi.Input[str]] = None,
437
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
438
+ __props__=None):
439
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
440
+ if not isinstance(opts, pulumi.ResourceOptions):
441
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
442
+ if opts.id is None:
443
+ if __props__ is not None:
444
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
445
+ __props__ = RouteArgs.__new__(RouteArgs)
446
+
447
+ if backend_id is None and not opts.urn:
448
+ raise TypeError("Missing required property 'backend_id'")
449
+ __props__.__dict__["backend_id"] = backend_id
450
+ if frontend_id is None and not opts.urn:
451
+ raise TypeError("Missing required property 'frontend_id'")
452
+ __props__.__dict__["frontend_id"] = frontend_id
453
+ __props__.__dict__["match_host_header"] = match_host_header
454
+ __props__.__dict__["match_sni"] = match_sni
455
+ __props__.__dict__["match_subdomains"] = match_subdomains
456
+ __props__.__dict__["created_at"] = None
457
+ __props__.__dict__["updated_at"] = None
458
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancerRoute:LoadbalancerRoute")])
459
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
460
+ super(Route, __self__).__init__(
461
+ 'scaleway:loadbalancers/route:Route',
462
+ resource_name,
463
+ __props__,
464
+ opts)
465
+
466
+ @staticmethod
467
+ def get(resource_name: str,
468
+ id: pulumi.Input[str],
469
+ opts: Optional[pulumi.ResourceOptions] = None,
470
+ backend_id: Optional[pulumi.Input[str]] = None,
471
+ created_at: Optional[pulumi.Input[str]] = None,
472
+ frontend_id: Optional[pulumi.Input[str]] = None,
473
+ match_host_header: Optional[pulumi.Input[str]] = None,
474
+ match_sni: Optional[pulumi.Input[str]] = None,
475
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
476
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'Route':
477
+ """
478
+ Get an existing Route resource's state with the given name, id, and optional extra
479
+ properties used to qualify the lookup.
480
+
481
+ :param str resource_name: The unique name of the resulting resource.
482
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
483
+ :param pulumi.ResourceOptions opts: Options for the resource.
484
+ :param pulumi.Input[str] backend_id: The ID of the backend the route is associated with.
485
+ :param pulumi.Input[str] created_at: The date on which the route was created.
486
+ :param pulumi.Input[str] frontend_id: The ID of the frontend the route is associated with.
487
+ :param pulumi.Input[str] match_host_header: The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
488
+ Only one of `match_sni` and `match_host_header` should be specified.
489
+
490
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
491
+ :param pulumi.Input[str] match_sni: The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
492
+ Only one of `match_sni` and `match_host_header` should be specified.
493
+
494
+ > **Important:** This field should be set for routes on TCP Load Balancers.
495
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
496
+ :param pulumi.Input[str] updated_at: The date on which the route was last updated.
497
+ """
498
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
499
+
500
+ __props__ = _RouteState.__new__(_RouteState)
501
+
502
+ __props__.__dict__["backend_id"] = backend_id
503
+ __props__.__dict__["created_at"] = created_at
504
+ __props__.__dict__["frontend_id"] = frontend_id
505
+ __props__.__dict__["match_host_header"] = match_host_header
506
+ __props__.__dict__["match_sni"] = match_sni
507
+ __props__.__dict__["match_subdomains"] = match_subdomains
508
+ __props__.__dict__["updated_at"] = updated_at
509
+ return Route(resource_name, opts=opts, __props__=__props__)
510
+
511
+ @property
512
+ @pulumi.getter(name="backendId")
513
+ def backend_id(self) -> pulumi.Output[str]:
514
+ """
515
+ The ID of the backend the route is associated with.
516
+ """
517
+ return pulumi.get(self, "backend_id")
518
+
519
+ @property
520
+ @pulumi.getter(name="createdAt")
521
+ def created_at(self) -> pulumi.Output[str]:
522
+ """
523
+ The date on which the route was created.
524
+ """
525
+ return pulumi.get(self, "created_at")
526
+
527
+ @property
528
+ @pulumi.getter(name="frontendId")
529
+ def frontend_id(self) -> pulumi.Output[str]:
530
+ """
531
+ The ID of the frontend the route is associated with.
532
+ """
533
+ return pulumi.get(self, "frontend_id")
534
+
535
+ @property
536
+ @pulumi.getter(name="matchHostHeader")
537
+ def match_host_header(self) -> pulumi.Output[Optional[str]]:
538
+ """
539
+ The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection.
540
+ Only one of `match_sni` and `match_host_header` should be specified.
541
+
542
+ > **Important:** This field should be set for routes on HTTP Load Balancers.
543
+ """
544
+ return pulumi.get(self, "match_host_header")
545
+
546
+ @property
547
+ @pulumi.getter(name="matchSni")
548
+ def match_sni(self) -> pulumi.Output[Optional[str]]:
549
+ """
550
+ The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer.
551
+ Only one of `match_sni` and `match_host_header` should be specified.
552
+
553
+ > **Important:** This field should be set for routes on TCP Load Balancers.
554
+ """
555
+ return pulumi.get(self, "match_sni")
556
+
557
+ @property
558
+ @pulumi.getter(name="matchSubdomains")
559
+ def match_subdomains(self) -> pulumi.Output[Optional[bool]]:
560
+ """
561
+ If true, all subdomains will match.
562
+ """
563
+ return pulumi.get(self, "match_subdomains")
564
+
565
+ @property
566
+ @pulumi.getter(name="updatedAt")
567
+ def updated_at(self) -> pulumi.Output[str]:
568
+ """
569
+ The date on which the route was last updated.
570
+ """
571
+ return pulumi.get(self, "updated_at")
572
+
@@ -0,0 +1,20 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .get_sns import *
9
+ from .get_sqs import *
10
+ from .nats_account import *
11
+ from .nats_credentials import *
12
+ from .sns import *
13
+ from .sns_credentials import *
14
+ from .sns_topic import *
15
+ from .sns_topic_subscription import *
16
+ from .sqs import *
17
+ from .sqs_credentials import *
18
+ from .sqs_queue import *
19
+ from ._inputs import *
20
+ from . import outputs