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,522 @@
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__ = ['AclArgs', 'Acl']
20
+
21
+ @pulumi.input_type
22
+ class AclArgs:
23
+ def __init__(__self__, *,
24
+ action: pulumi.Input['AclActionArgs'],
25
+ frontend_id: pulumi.Input[str],
26
+ index: pulumi.Input[int],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ match: Optional[pulumi.Input['AclMatchArgs']] = None,
29
+ name: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a Acl resource.
32
+ :param pulumi.Input['AclActionArgs'] action: Action to undertake when an ACL filter matches.
33
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
34
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
35
+ :param pulumi.Input[str] description: The ACL description.
36
+ :param pulumi.Input['AclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
37
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
38
+ """
39
+ pulumi.set(__self__, "action", action)
40
+ pulumi.set(__self__, "frontend_id", frontend_id)
41
+ pulumi.set(__self__, "index", index)
42
+ if description is not None:
43
+ pulumi.set(__self__, "description", description)
44
+ if match is not None:
45
+ pulumi.set(__self__, "match", match)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def action(self) -> pulumi.Input['AclActionArgs']:
52
+ """
53
+ Action to undertake when an ACL filter matches.
54
+ """
55
+ return pulumi.get(self, "action")
56
+
57
+ @action.setter
58
+ def action(self, value: pulumi.Input['AclActionArgs']):
59
+ pulumi.set(self, "action", value)
60
+
61
+ @property
62
+ @pulumi.getter(name="frontendId")
63
+ def frontend_id(self) -> pulumi.Input[str]:
64
+ """
65
+ The ID of the Load Balancer frontend to attach the ACL to.
66
+ """
67
+ return pulumi.get(self, "frontend_id")
68
+
69
+ @frontend_id.setter
70
+ def frontend_id(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "frontend_id", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def index(self) -> pulumi.Input[int]:
76
+ """
77
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
78
+ """
79
+ return pulumi.get(self, "index")
80
+
81
+ @index.setter
82
+ def index(self, value: pulumi.Input[int]):
83
+ pulumi.set(self, "index", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def description(self) -> Optional[pulumi.Input[str]]:
88
+ """
89
+ The ACL description.
90
+ """
91
+ return pulumi.get(self, "description")
92
+
93
+ @description.setter
94
+ def description(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "description", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def match(self) -> Optional[pulumi.Input['AclMatchArgs']]:
100
+ """
101
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
102
+ """
103
+ return pulumi.get(self, "match")
104
+
105
+ @match.setter
106
+ def match(self, value: Optional[pulumi.Input['AclMatchArgs']]):
107
+ pulumi.set(self, "match", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ The ACL name. If not provided it will be randomly generated.
114
+ """
115
+ return pulumi.get(self, "name")
116
+
117
+ @name.setter
118
+ def name(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "name", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _AclState:
124
+ def __init__(__self__, *,
125
+ action: Optional[pulumi.Input['AclActionArgs']] = None,
126
+ created_at: Optional[pulumi.Input[str]] = None,
127
+ description: Optional[pulumi.Input[str]] = None,
128
+ frontend_id: Optional[pulumi.Input[str]] = None,
129
+ index: Optional[pulumi.Input[int]] = None,
130
+ match: Optional[pulumi.Input['AclMatchArgs']] = None,
131
+ name: Optional[pulumi.Input[str]] = None,
132
+ updated_at: Optional[pulumi.Input[str]] = None):
133
+ """
134
+ Input properties used for looking up and filtering Acl resources.
135
+ :param pulumi.Input['AclActionArgs'] action: Action to undertake when an ACL filter matches.
136
+ :param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
137
+ :param pulumi.Input[str] description: The ACL description.
138
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
139
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
140
+ :param pulumi.Input['AclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
141
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
142
+ :param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
143
+ """
144
+ if action is not None:
145
+ pulumi.set(__self__, "action", action)
146
+ if created_at is not None:
147
+ pulumi.set(__self__, "created_at", created_at)
148
+ if description is not None:
149
+ pulumi.set(__self__, "description", description)
150
+ if frontend_id is not None:
151
+ pulumi.set(__self__, "frontend_id", frontend_id)
152
+ if index is not None:
153
+ pulumi.set(__self__, "index", index)
154
+ if match is not None:
155
+ pulumi.set(__self__, "match", match)
156
+ if name is not None:
157
+ pulumi.set(__self__, "name", name)
158
+ if updated_at is not None:
159
+ pulumi.set(__self__, "updated_at", updated_at)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def action(self) -> Optional[pulumi.Input['AclActionArgs']]:
164
+ """
165
+ Action to undertake when an ACL filter matches.
166
+ """
167
+ return pulumi.get(self, "action")
168
+
169
+ @action.setter
170
+ def action(self, value: Optional[pulumi.Input['AclActionArgs']]):
171
+ pulumi.set(self, "action", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="createdAt")
175
+ def created_at(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ IsDate and time of ACL's creation (RFC 3339 format)
178
+ """
179
+ return pulumi.get(self, "created_at")
180
+
181
+ @created_at.setter
182
+ def created_at(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "created_at", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def description(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The ACL description.
190
+ """
191
+ return pulumi.get(self, "description")
192
+
193
+ @description.setter
194
+ def description(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "description", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="frontendId")
199
+ def frontend_id(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The ID of the Load Balancer frontend to attach the ACL to.
202
+ """
203
+ return pulumi.get(self, "frontend_id")
204
+
205
+ @frontend_id.setter
206
+ def frontend_id(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "frontend_id", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def index(self) -> Optional[pulumi.Input[int]]:
212
+ """
213
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
214
+ """
215
+ return pulumi.get(self, "index")
216
+
217
+ @index.setter
218
+ def index(self, value: Optional[pulumi.Input[int]]):
219
+ pulumi.set(self, "index", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def match(self) -> Optional[pulumi.Input['AclMatchArgs']]:
224
+ """
225
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
226
+ """
227
+ return pulumi.get(self, "match")
228
+
229
+ @match.setter
230
+ def match(self, value: Optional[pulumi.Input['AclMatchArgs']]):
231
+ pulumi.set(self, "match", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def name(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The ACL name. If not provided it will be randomly generated.
238
+ """
239
+ return pulumi.get(self, "name")
240
+
241
+ @name.setter
242
+ def name(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "name", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="updatedAt")
247
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ IsDate and time of ACL's update (RFC 3339 format)
250
+ """
251
+ return pulumi.get(self, "updated_at")
252
+
253
+ @updated_at.setter
254
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "updated_at", value)
256
+
257
+
258
+ class Acl(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
264
+ description: Optional[pulumi.Input[str]] = None,
265
+ frontend_id: Optional[pulumi.Input[str]] = None,
266
+ index: Optional[pulumi.Input[int]] = None,
267
+ match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
268
+ name: Optional[pulumi.Input[str]] = None,
269
+ __props__=None):
270
+ """
271
+ Creates and manages Scaleway Load Balancer ACLs.
272
+
273
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/acls/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
274
+
275
+ ## Example Usage
276
+
277
+ ### Basic
278
+
279
+ ```python
280
+ import pulumi
281
+ import pulumiverse_scaleway as scaleway
282
+
283
+ acl01 = scaleway.loadbalancers.Acl("acl01",
284
+ frontend_id=frt01["id"],
285
+ name="acl01",
286
+ description="Exclude well-known IPs",
287
+ index=0,
288
+ action={
289
+ "type": "allow",
290
+ },
291
+ match={
292
+ "ip_subnets": [
293
+ "192.168.0.1",
294
+ "192.168.0.2",
295
+ "192.168.10.0/24",
296
+ ],
297
+ })
298
+ ```
299
+
300
+ ## Import
301
+
302
+ Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
303
+
304
+ bash
305
+
306
+ ```sh
307
+ $ pulumi import scaleway:loadbalancers/acl:Acl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
308
+ ```
309
+
310
+ :param str resource_name: The name of the resource.
311
+ :param pulumi.ResourceOptions opts: Options for the resource.
312
+ :param pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']] action: Action to undertake when an ACL filter matches.
313
+ :param pulumi.Input[str] description: The ACL description.
314
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
315
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
316
+ :param pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
317
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
318
+ """
319
+ ...
320
+ @overload
321
+ def __init__(__self__,
322
+ resource_name: str,
323
+ args: AclArgs,
324
+ opts: Optional[pulumi.ResourceOptions] = None):
325
+ """
326
+ Creates and manages Scaleway Load Balancer ACLs.
327
+
328
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/acls/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
329
+
330
+ ## Example Usage
331
+
332
+ ### Basic
333
+
334
+ ```python
335
+ import pulumi
336
+ import pulumiverse_scaleway as scaleway
337
+
338
+ acl01 = scaleway.loadbalancers.Acl("acl01",
339
+ frontend_id=frt01["id"],
340
+ name="acl01",
341
+ description="Exclude well-known IPs",
342
+ index=0,
343
+ action={
344
+ "type": "allow",
345
+ },
346
+ match={
347
+ "ip_subnets": [
348
+ "192.168.0.1",
349
+ "192.168.0.2",
350
+ "192.168.10.0/24",
351
+ ],
352
+ })
353
+ ```
354
+
355
+ ## Import
356
+
357
+ Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
358
+
359
+ bash
360
+
361
+ ```sh
362
+ $ pulumi import scaleway:loadbalancers/acl:Acl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
363
+ ```
364
+
365
+ :param str resource_name: The name of the resource.
366
+ :param AclArgs args: The arguments to use to populate this resource's properties.
367
+ :param pulumi.ResourceOptions opts: Options for the resource.
368
+ """
369
+ ...
370
+ def __init__(__self__, resource_name: str, *args, **kwargs):
371
+ resource_args, opts = _utilities.get_resource_args_opts(AclArgs, pulumi.ResourceOptions, *args, **kwargs)
372
+ if resource_args is not None:
373
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
374
+ else:
375
+ __self__._internal_init(resource_name, *args, **kwargs)
376
+
377
+ def _internal_init(__self__,
378
+ resource_name: str,
379
+ opts: Optional[pulumi.ResourceOptions] = None,
380
+ action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
381
+ description: Optional[pulumi.Input[str]] = None,
382
+ frontend_id: Optional[pulumi.Input[str]] = None,
383
+ index: Optional[pulumi.Input[int]] = None,
384
+ match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
385
+ name: Optional[pulumi.Input[str]] = None,
386
+ __props__=None):
387
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
388
+ if not isinstance(opts, pulumi.ResourceOptions):
389
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
390
+ if opts.id is None:
391
+ if __props__ is not None:
392
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
393
+ __props__ = AclArgs.__new__(AclArgs)
394
+
395
+ if action is None and not opts.urn:
396
+ raise TypeError("Missing required property 'action'")
397
+ __props__.__dict__["action"] = action
398
+ __props__.__dict__["description"] = description
399
+ if frontend_id is None and not opts.urn:
400
+ raise TypeError("Missing required property 'frontend_id'")
401
+ __props__.__dict__["frontend_id"] = frontend_id
402
+ if index is None and not opts.urn:
403
+ raise TypeError("Missing required property 'index'")
404
+ __props__.__dict__["index"] = index
405
+ __props__.__dict__["match"] = match
406
+ __props__.__dict__["name"] = name
407
+ __props__.__dict__["created_at"] = None
408
+ __props__.__dict__["updated_at"] = None
409
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancerAcl:LoadbalancerAcl")])
410
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
411
+ super(Acl, __self__).__init__(
412
+ 'scaleway:loadbalancers/acl:Acl',
413
+ resource_name,
414
+ __props__,
415
+ opts)
416
+
417
+ @staticmethod
418
+ def get(resource_name: str,
419
+ id: pulumi.Input[str],
420
+ opts: Optional[pulumi.ResourceOptions] = None,
421
+ action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
422
+ created_at: Optional[pulumi.Input[str]] = None,
423
+ description: Optional[pulumi.Input[str]] = None,
424
+ frontend_id: Optional[pulumi.Input[str]] = None,
425
+ index: Optional[pulumi.Input[int]] = None,
426
+ match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
427
+ name: Optional[pulumi.Input[str]] = None,
428
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'Acl':
429
+ """
430
+ Get an existing Acl resource's state with the given name, id, and optional extra
431
+ properties used to qualify the lookup.
432
+
433
+ :param str resource_name: The unique name of the resulting resource.
434
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
435
+ :param pulumi.ResourceOptions opts: Options for the resource.
436
+ :param pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']] action: Action to undertake when an ACL filter matches.
437
+ :param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
438
+ :param pulumi.Input[str] description: The ACL description.
439
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
440
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
441
+ :param pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
442
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
443
+ :param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
444
+ """
445
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
446
+
447
+ __props__ = _AclState.__new__(_AclState)
448
+
449
+ __props__.__dict__["action"] = action
450
+ __props__.__dict__["created_at"] = created_at
451
+ __props__.__dict__["description"] = description
452
+ __props__.__dict__["frontend_id"] = frontend_id
453
+ __props__.__dict__["index"] = index
454
+ __props__.__dict__["match"] = match
455
+ __props__.__dict__["name"] = name
456
+ __props__.__dict__["updated_at"] = updated_at
457
+ return Acl(resource_name, opts=opts, __props__=__props__)
458
+
459
+ @property
460
+ @pulumi.getter
461
+ def action(self) -> pulumi.Output['outputs.AclAction']:
462
+ """
463
+ Action to undertake when an ACL filter matches.
464
+ """
465
+ return pulumi.get(self, "action")
466
+
467
+ @property
468
+ @pulumi.getter(name="createdAt")
469
+ def created_at(self) -> pulumi.Output[str]:
470
+ """
471
+ IsDate and time of ACL's creation (RFC 3339 format)
472
+ """
473
+ return pulumi.get(self, "created_at")
474
+
475
+ @property
476
+ @pulumi.getter
477
+ def description(self) -> pulumi.Output[Optional[str]]:
478
+ """
479
+ The ACL description.
480
+ """
481
+ return pulumi.get(self, "description")
482
+
483
+ @property
484
+ @pulumi.getter(name="frontendId")
485
+ def frontend_id(self) -> pulumi.Output[str]:
486
+ """
487
+ The ID of the Load Balancer frontend to attach the ACL to.
488
+ """
489
+ return pulumi.get(self, "frontend_id")
490
+
491
+ @property
492
+ @pulumi.getter
493
+ def index(self) -> pulumi.Output[int]:
494
+ """
495
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
496
+ """
497
+ return pulumi.get(self, "index")
498
+
499
+ @property
500
+ @pulumi.getter
501
+ def match(self) -> pulumi.Output[Optional['outputs.AclMatch']]:
502
+ """
503
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
504
+ """
505
+ return pulumi.get(self, "match")
506
+
507
+ @property
508
+ @pulumi.getter
509
+ def name(self) -> pulumi.Output[str]:
510
+ """
511
+ The ACL name. If not provided it will be randomly generated.
512
+ """
513
+ return pulumi.get(self, "name")
514
+
515
+ @property
516
+ @pulumi.getter(name="updatedAt")
517
+ def updated_at(self) -> pulumi.Output[str]:
518
+ """
519
+ IsDate and time of ACL's update (RFC 3339 format)
520
+ """
521
+ return pulumi.get(self, "updated_at")
522
+