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,390 @@
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__ = [
18
+ 'GetPublicGatewayDhcpReservationResult',
19
+ 'AwaitableGetPublicGatewayDhcpReservationResult',
20
+ 'get_public_gateway_dhcp_reservation',
21
+ 'get_public_gateway_dhcp_reservation_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetPublicGatewayDhcpReservationResult:
26
+ """
27
+ A collection of values returned by getPublicGatewayDhcpReservation.
28
+ """
29
+ def __init__(__self__, created_at=None, gateway_network_id=None, hostname=None, id=None, ip_address=None, mac_address=None, reservation_id=None, type=None, updated_at=None, wait_for_dhcp=None, zone=None):
30
+ if created_at and not isinstance(created_at, str):
31
+ raise TypeError("Expected argument 'created_at' to be a str")
32
+ pulumi.set(__self__, "created_at", created_at)
33
+ if gateway_network_id and not isinstance(gateway_network_id, str):
34
+ raise TypeError("Expected argument 'gateway_network_id' to be a str")
35
+ pulumi.set(__self__, "gateway_network_id", gateway_network_id)
36
+ if hostname and not isinstance(hostname, str):
37
+ raise TypeError("Expected argument 'hostname' to be a str")
38
+ pulumi.set(__self__, "hostname", hostname)
39
+ if id and not isinstance(id, str):
40
+ raise TypeError("Expected argument 'id' to be a str")
41
+ pulumi.set(__self__, "id", id)
42
+ if ip_address and not isinstance(ip_address, str):
43
+ raise TypeError("Expected argument 'ip_address' to be a str")
44
+ pulumi.set(__self__, "ip_address", ip_address)
45
+ if mac_address and not isinstance(mac_address, str):
46
+ raise TypeError("Expected argument 'mac_address' to be a str")
47
+ pulumi.set(__self__, "mac_address", mac_address)
48
+ if reservation_id and not isinstance(reservation_id, str):
49
+ raise TypeError("Expected argument 'reservation_id' to be a str")
50
+ pulumi.set(__self__, "reservation_id", reservation_id)
51
+ if type and not isinstance(type, str):
52
+ raise TypeError("Expected argument 'type' to be a str")
53
+ pulumi.set(__self__, "type", type)
54
+ if updated_at and not isinstance(updated_at, str):
55
+ raise TypeError("Expected argument 'updated_at' to be a str")
56
+ pulumi.set(__self__, "updated_at", updated_at)
57
+ if wait_for_dhcp and not isinstance(wait_for_dhcp, bool):
58
+ raise TypeError("Expected argument 'wait_for_dhcp' to be a bool")
59
+ pulumi.set(__self__, "wait_for_dhcp", wait_for_dhcp)
60
+ if zone and not isinstance(zone, str):
61
+ raise TypeError("Expected argument 'zone' to be a str")
62
+ pulumi.set(__self__, "zone", zone)
63
+
64
+ @property
65
+ @pulumi.getter(name="createdAt")
66
+ def created_at(self) -> str:
67
+ return pulumi.get(self, "created_at")
68
+
69
+ @property
70
+ @pulumi.getter(name="gatewayNetworkId")
71
+ def gateway_network_id(self) -> Optional[str]:
72
+ return pulumi.get(self, "gateway_network_id")
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def hostname(self) -> str:
77
+ return pulumi.get(self, "hostname")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def id(self) -> str:
82
+ """
83
+ The provider-assigned unique ID for this managed resource.
84
+ """
85
+ return pulumi.get(self, "id")
86
+
87
+ @property
88
+ @pulumi.getter(name="ipAddress")
89
+ def ip_address(self) -> str:
90
+ return pulumi.get(self, "ip_address")
91
+
92
+ @property
93
+ @pulumi.getter(name="macAddress")
94
+ def mac_address(self) -> Optional[str]:
95
+ return pulumi.get(self, "mac_address")
96
+
97
+ @property
98
+ @pulumi.getter(name="reservationId")
99
+ def reservation_id(self) -> Optional[str]:
100
+ return pulumi.get(self, "reservation_id")
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def type(self) -> str:
105
+ return pulumi.get(self, "type")
106
+
107
+ @property
108
+ @pulumi.getter(name="updatedAt")
109
+ def updated_at(self) -> str:
110
+ return pulumi.get(self, "updated_at")
111
+
112
+ @property
113
+ @pulumi.getter(name="waitForDhcp")
114
+ def wait_for_dhcp(self) -> Optional[bool]:
115
+ return pulumi.get(self, "wait_for_dhcp")
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def zone(self) -> Optional[str]:
120
+ return pulumi.get(self, "zone")
121
+
122
+
123
+ class AwaitableGetPublicGatewayDhcpReservationResult(GetPublicGatewayDhcpReservationResult):
124
+ # pylint: disable=using-constant-test
125
+ def __await__(self):
126
+ if False:
127
+ yield self
128
+ return GetPublicGatewayDhcpReservationResult(
129
+ created_at=self.created_at,
130
+ gateway_network_id=self.gateway_network_id,
131
+ hostname=self.hostname,
132
+ id=self.id,
133
+ ip_address=self.ip_address,
134
+ mac_address=self.mac_address,
135
+ reservation_id=self.reservation_id,
136
+ type=self.type,
137
+ updated_at=self.updated_at,
138
+ wait_for_dhcp=self.wait_for_dhcp,
139
+ zone=self.zone)
140
+
141
+
142
+ def get_public_gateway_dhcp_reservation(gateway_network_id: Optional[str] = None,
143
+ mac_address: Optional[str] = None,
144
+ reservation_id: Optional[str] = None,
145
+ wait_for_dhcp: Optional[bool] = None,
146
+ zone: Optional[str] = None,
147
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPublicGatewayDhcpReservationResult:
148
+ """
149
+ > **Important:** The data source `network.PublicGatewayDhcpReservation` has been deprecated and will no longer be supported.
150
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
151
+ You can use IPAM to manage your IPs. For more information, please refer to the dedicated guide.
152
+
153
+ Gets information about a DHCP entry. For further information, please see the
154
+ [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries).
155
+
156
+ ## Example Dynamic
157
+
158
+ ```python
159
+ import pulumi
160
+ import pulumi_scaleway as scaleway
161
+ import pulumiverse_scaleway as scaleway
162
+
163
+ main = scaleway.network.PrivateNetwork("main")
164
+ main_server = scaleway.instance.Server("main",
165
+ image="ubuntu_jammy",
166
+ type="DEV1-S",
167
+ zone="fr-par-1")
168
+ main_private_nic = scaleway.instance.PrivateNic("main",
169
+ server_id=main_server.id,
170
+ private_network_id=main.id)
171
+ main_public_gateway_ip = scaleway.network.PublicGatewayIp("main")
172
+ main_public_gateway_dhcp = scaleway.network.PublicGatewayDhcp("main", subnet="192.168.1.0/24")
173
+ main_public_gateway = scaleway.network.PublicGateway("main",
174
+ name="foobar",
175
+ type="VPC-GW-S",
176
+ ip_id=main_public_gateway_ip.id)
177
+ main_gateway_network = scaleway.network.GatewayNetwork("main",
178
+ gateway_id=main_public_gateway.id,
179
+ private_network_id=main.id,
180
+ dhcp_id=main_public_gateway_dhcp.id,
181
+ cleanup_dhcp=True,
182
+ enable_masquerade=True)
183
+ ## Retrieve the dynamic entries generated by mac address & gateway network
184
+ by_mac_address_and_gw_network = scaleway.network.get_public_gateway_dhcp_reservation_output(mac_address=main_private_nic.mac_address,
185
+ gateway_network_id=main_gateway_network.id)
186
+ ```
187
+
188
+ ## Example Static and PAT Rule
189
+
190
+ ```python
191
+ import pulumi
192
+ import pulumi_scaleway as scaleway
193
+ import pulumiverse_scaleway as scaleway
194
+
195
+ main = scaleway.network.PrivateNetwork("main")
196
+ main_security_group = scaleway.instance.SecurityGroup("main",
197
+ inbound_default_policy="drop",
198
+ outbound_default_policy="accept",
199
+ inbound_rules=[{
200
+ "action": "accept",
201
+ "port": 22,
202
+ }])
203
+ main_server = scaleway.instance.Server("main",
204
+ image="ubuntu_jammy",
205
+ type="DEV1-S",
206
+ zone="fr-par-1",
207
+ security_group_id=main_security_group.id)
208
+ main_private_nic = scaleway.instance.PrivateNic("main",
209
+ server_id=main_server.id,
210
+ private_network_id=main.id)
211
+ main_public_gateway_ip = scaleway.network.PublicGatewayIp("main")
212
+ main_public_gateway_dhcp = scaleway.network.PublicGatewayDhcp("main", subnet="192.168.1.0/24")
213
+ main_public_gateway = scaleway.network.PublicGateway("main",
214
+ name="foobar",
215
+ type="VPC-GW-S",
216
+ ip_id=main_public_gateway_ip.id)
217
+ main_gateway_network = scaleway.network.GatewayNetwork("main",
218
+ gateway_id=main_public_gateway.id,
219
+ private_network_id=main.id,
220
+ dhcp_id=main_public_gateway_dhcp.id,
221
+ cleanup_dhcp=True,
222
+ enable_masquerade=True)
223
+ main_public_gateway_dhcp_reservation = scaleway.network.PublicGatewayDhcpReservation("main",
224
+ gateway_network_id=main_gateway_network.id,
225
+ mac_address=main_private_nic.mac_address,
226
+ ip_address="192.168.1.4")
227
+ ### VPC PAT RULE
228
+ main_public_gateway_pat_rule = scaleway.network.PublicGatewayPatRule("main",
229
+ gateway_id=main_public_gateway.id,
230
+ private_ip=main_public_gateway_dhcp_reservation.ip_address,
231
+ private_port=22,
232
+ public_port=2222,
233
+ protocol="tcp")
234
+ by_id = scaleway.network.get_public_gateway_dhcp_reservation_output(reservation_id=main_public_gateway_dhcp_reservation.id)
235
+ ```
236
+
237
+
238
+ :param str gateway_network_id: The ID of the owning GatewayNetwork.
239
+
240
+ > Only one of `reservation_id` or `mac_address` with `gateway_network_id` should be specified.
241
+ :param str mac_address: The MAC address of the reservation to retrieve.
242
+ :param str reservation_id: The ID of the reservation (DHCP entry) to retrieve.
243
+ :param bool wait_for_dhcp: Whether to wait for `mac_address` to exist in DHCP.
244
+ :param str zone: `zone`). The zone in which the reservation exists.
245
+ """
246
+ __args__ = dict()
247
+ __args__['gatewayNetworkId'] = gateway_network_id
248
+ __args__['macAddress'] = mac_address
249
+ __args__['reservationId'] = reservation_id
250
+ __args__['waitForDhcp'] = wait_for_dhcp
251
+ __args__['zone'] = zone
252
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
253
+ __ret__ = pulumi.runtime.invoke('scaleway:network/getPublicGatewayDhcpReservation:getPublicGatewayDhcpReservation', __args__, opts=opts, typ=GetPublicGatewayDhcpReservationResult).value
254
+
255
+ return AwaitableGetPublicGatewayDhcpReservationResult(
256
+ created_at=pulumi.get(__ret__, 'created_at'),
257
+ gateway_network_id=pulumi.get(__ret__, 'gateway_network_id'),
258
+ hostname=pulumi.get(__ret__, 'hostname'),
259
+ id=pulumi.get(__ret__, 'id'),
260
+ ip_address=pulumi.get(__ret__, 'ip_address'),
261
+ mac_address=pulumi.get(__ret__, 'mac_address'),
262
+ reservation_id=pulumi.get(__ret__, 'reservation_id'),
263
+ type=pulumi.get(__ret__, 'type'),
264
+ updated_at=pulumi.get(__ret__, 'updated_at'),
265
+ wait_for_dhcp=pulumi.get(__ret__, 'wait_for_dhcp'),
266
+ zone=pulumi.get(__ret__, 'zone'))
267
+ def get_public_gateway_dhcp_reservation_output(gateway_network_id: Optional[pulumi.Input[Optional[str]]] = None,
268
+ mac_address: Optional[pulumi.Input[Optional[str]]] = None,
269
+ reservation_id: Optional[pulumi.Input[Optional[str]]] = None,
270
+ wait_for_dhcp: Optional[pulumi.Input[Optional[bool]]] = None,
271
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
272
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicGatewayDhcpReservationResult]:
273
+ """
274
+ > **Important:** The data source `network.PublicGatewayDhcpReservation` has been deprecated and will no longer be supported.
275
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
276
+ You can use IPAM to manage your IPs. For more information, please refer to the dedicated guide.
277
+
278
+ Gets information about a DHCP entry. For further information, please see the
279
+ [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries).
280
+
281
+ ## Example Dynamic
282
+
283
+ ```python
284
+ import pulumi
285
+ import pulumi_scaleway as scaleway
286
+ import pulumiverse_scaleway as scaleway
287
+
288
+ main = scaleway.network.PrivateNetwork("main")
289
+ main_server = scaleway.instance.Server("main",
290
+ image="ubuntu_jammy",
291
+ type="DEV1-S",
292
+ zone="fr-par-1")
293
+ main_private_nic = scaleway.instance.PrivateNic("main",
294
+ server_id=main_server.id,
295
+ private_network_id=main.id)
296
+ main_public_gateway_ip = scaleway.network.PublicGatewayIp("main")
297
+ main_public_gateway_dhcp = scaleway.network.PublicGatewayDhcp("main", subnet="192.168.1.0/24")
298
+ main_public_gateway = scaleway.network.PublicGateway("main",
299
+ name="foobar",
300
+ type="VPC-GW-S",
301
+ ip_id=main_public_gateway_ip.id)
302
+ main_gateway_network = scaleway.network.GatewayNetwork("main",
303
+ gateway_id=main_public_gateway.id,
304
+ private_network_id=main.id,
305
+ dhcp_id=main_public_gateway_dhcp.id,
306
+ cleanup_dhcp=True,
307
+ enable_masquerade=True)
308
+ ## Retrieve the dynamic entries generated by mac address & gateway network
309
+ by_mac_address_and_gw_network = scaleway.network.get_public_gateway_dhcp_reservation_output(mac_address=main_private_nic.mac_address,
310
+ gateway_network_id=main_gateway_network.id)
311
+ ```
312
+
313
+ ## Example Static and PAT Rule
314
+
315
+ ```python
316
+ import pulumi
317
+ import pulumi_scaleway as scaleway
318
+ import pulumiverse_scaleway as scaleway
319
+
320
+ main = scaleway.network.PrivateNetwork("main")
321
+ main_security_group = scaleway.instance.SecurityGroup("main",
322
+ inbound_default_policy="drop",
323
+ outbound_default_policy="accept",
324
+ inbound_rules=[{
325
+ "action": "accept",
326
+ "port": 22,
327
+ }])
328
+ main_server = scaleway.instance.Server("main",
329
+ image="ubuntu_jammy",
330
+ type="DEV1-S",
331
+ zone="fr-par-1",
332
+ security_group_id=main_security_group.id)
333
+ main_private_nic = scaleway.instance.PrivateNic("main",
334
+ server_id=main_server.id,
335
+ private_network_id=main.id)
336
+ main_public_gateway_ip = scaleway.network.PublicGatewayIp("main")
337
+ main_public_gateway_dhcp = scaleway.network.PublicGatewayDhcp("main", subnet="192.168.1.0/24")
338
+ main_public_gateway = scaleway.network.PublicGateway("main",
339
+ name="foobar",
340
+ type="VPC-GW-S",
341
+ ip_id=main_public_gateway_ip.id)
342
+ main_gateway_network = scaleway.network.GatewayNetwork("main",
343
+ gateway_id=main_public_gateway.id,
344
+ private_network_id=main.id,
345
+ dhcp_id=main_public_gateway_dhcp.id,
346
+ cleanup_dhcp=True,
347
+ enable_masquerade=True)
348
+ main_public_gateway_dhcp_reservation = scaleway.network.PublicGatewayDhcpReservation("main",
349
+ gateway_network_id=main_gateway_network.id,
350
+ mac_address=main_private_nic.mac_address,
351
+ ip_address="192.168.1.4")
352
+ ### VPC PAT RULE
353
+ main_public_gateway_pat_rule = scaleway.network.PublicGatewayPatRule("main",
354
+ gateway_id=main_public_gateway.id,
355
+ private_ip=main_public_gateway_dhcp_reservation.ip_address,
356
+ private_port=22,
357
+ public_port=2222,
358
+ protocol="tcp")
359
+ by_id = scaleway.network.get_public_gateway_dhcp_reservation_output(reservation_id=main_public_gateway_dhcp_reservation.id)
360
+ ```
361
+
362
+
363
+ :param str gateway_network_id: The ID of the owning GatewayNetwork.
364
+
365
+ > Only one of `reservation_id` or `mac_address` with `gateway_network_id` should be specified.
366
+ :param str mac_address: The MAC address of the reservation to retrieve.
367
+ :param str reservation_id: The ID of the reservation (DHCP entry) to retrieve.
368
+ :param bool wait_for_dhcp: Whether to wait for `mac_address` to exist in DHCP.
369
+ :param str zone: `zone`). The zone in which the reservation exists.
370
+ """
371
+ __args__ = dict()
372
+ __args__['gatewayNetworkId'] = gateway_network_id
373
+ __args__['macAddress'] = mac_address
374
+ __args__['reservationId'] = reservation_id
375
+ __args__['waitForDhcp'] = wait_for_dhcp
376
+ __args__['zone'] = zone
377
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
378
+ __ret__ = pulumi.runtime.invoke_output('scaleway:network/getPublicGatewayDhcpReservation:getPublicGatewayDhcpReservation', __args__, opts=opts, typ=GetPublicGatewayDhcpReservationResult)
379
+ return __ret__.apply(lambda __response__: GetPublicGatewayDhcpReservationResult(
380
+ created_at=pulumi.get(__response__, 'created_at'),
381
+ gateway_network_id=pulumi.get(__response__, 'gateway_network_id'),
382
+ hostname=pulumi.get(__response__, 'hostname'),
383
+ id=pulumi.get(__response__, 'id'),
384
+ ip_address=pulumi.get(__response__, 'ip_address'),
385
+ mac_address=pulumi.get(__response__, 'mac_address'),
386
+ reservation_id=pulumi.get(__response__, 'reservation_id'),
387
+ type=pulumi.get(__response__, 'type'),
388
+ updated_at=pulumi.get(__response__, 'updated_at'),
389
+ wait_for_dhcp=pulumi.get(__response__, 'wait_for_dhcp'),
390
+ zone=pulumi.get(__response__, 'zone')))
@@ -0,0 +1,199 @@
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__ = [
18
+ 'GetPublicGatewayIpResult',
19
+ 'AwaitableGetPublicGatewayIpResult',
20
+ 'get_public_gateway_ip',
21
+ 'get_public_gateway_ip_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetPublicGatewayIpResult:
26
+ """
27
+ A collection of values returned by getPublicGatewayIp.
28
+ """
29
+ def __init__(__self__, address=None, created_at=None, id=None, ip_id=None, organization_id=None, project_id=None, reverse=None, tags=None, updated_at=None, zone=None):
30
+ if address and not isinstance(address, str):
31
+ raise TypeError("Expected argument 'address' to be a str")
32
+ pulumi.set(__self__, "address", address)
33
+ if created_at and not isinstance(created_at, str):
34
+ raise TypeError("Expected argument 'created_at' to be a str")
35
+ pulumi.set(__self__, "created_at", created_at)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
39
+ if ip_id and not isinstance(ip_id, str):
40
+ raise TypeError("Expected argument 'ip_id' to be a str")
41
+ pulumi.set(__self__, "ip_id", ip_id)
42
+ if organization_id and not isinstance(organization_id, str):
43
+ raise TypeError("Expected argument 'organization_id' to be a str")
44
+ pulumi.set(__self__, "organization_id", organization_id)
45
+ if project_id and not isinstance(project_id, str):
46
+ raise TypeError("Expected argument 'project_id' to be a str")
47
+ pulumi.set(__self__, "project_id", project_id)
48
+ if reverse and not isinstance(reverse, str):
49
+ raise TypeError("Expected argument 'reverse' to be a str")
50
+ pulumi.set(__self__, "reverse", reverse)
51
+ if tags and not isinstance(tags, list):
52
+ raise TypeError("Expected argument 'tags' to be a list")
53
+ pulumi.set(__self__, "tags", tags)
54
+ if updated_at and not isinstance(updated_at, str):
55
+ raise TypeError("Expected argument 'updated_at' to be a str")
56
+ pulumi.set(__self__, "updated_at", updated_at)
57
+ if zone and not isinstance(zone, str):
58
+ raise TypeError("Expected argument 'zone' to be a str")
59
+ pulumi.set(__self__, "zone", zone)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def address(self) -> str:
64
+ return pulumi.get(self, "address")
65
+
66
+ @property
67
+ @pulumi.getter(name="createdAt")
68
+ def created_at(self) -> str:
69
+ return pulumi.get(self, "created_at")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def id(self) -> str:
74
+ """
75
+ The provider-assigned unique ID for this managed resource.
76
+ """
77
+ return pulumi.get(self, "id")
78
+
79
+ @property
80
+ @pulumi.getter(name="ipId")
81
+ def ip_id(self) -> Optional[str]:
82
+ return pulumi.get(self, "ip_id")
83
+
84
+ @property
85
+ @pulumi.getter(name="organizationId")
86
+ def organization_id(self) -> str:
87
+ return pulumi.get(self, "organization_id")
88
+
89
+ @property
90
+ @pulumi.getter(name="projectId")
91
+ def project_id(self) -> str:
92
+ return pulumi.get(self, "project_id")
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def reverse(self) -> str:
97
+ return pulumi.get(self, "reverse")
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def tags(self) -> Sequence[str]:
102
+ return pulumi.get(self, "tags")
103
+
104
+ @property
105
+ @pulumi.getter(name="updatedAt")
106
+ def updated_at(self) -> str:
107
+ return pulumi.get(self, "updated_at")
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def zone(self) -> str:
112
+ return pulumi.get(self, "zone")
113
+
114
+
115
+ class AwaitableGetPublicGatewayIpResult(GetPublicGatewayIpResult):
116
+ # pylint: disable=using-constant-test
117
+ def __await__(self):
118
+ if False:
119
+ yield self
120
+ return GetPublicGatewayIpResult(
121
+ address=self.address,
122
+ created_at=self.created_at,
123
+ id=self.id,
124
+ ip_id=self.ip_id,
125
+ organization_id=self.organization_id,
126
+ project_id=self.project_id,
127
+ reverse=self.reverse,
128
+ tags=self.tags,
129
+ updated_at=self.updated_at,
130
+ zone=self.zone)
131
+
132
+
133
+ def get_public_gateway_ip(ip_id: Optional[str] = None,
134
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPublicGatewayIpResult:
135
+ """
136
+ Gets information about a Public Gateway public flexible IP address.
137
+
138
+ For further information, please see the [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).
139
+
140
+ ## Example Usage
141
+
142
+ ```python
143
+ import pulumi
144
+ import pulumi_scaleway as scaleway
145
+ import pulumiverse_scaleway as scaleway
146
+
147
+ main = scaleway.network.PublicGatewayIp("main")
148
+ ip_by_id = scaleway.network.get_public_gateway_ip_output(ip_id=main.id)
149
+ ```
150
+ """
151
+ __args__ = dict()
152
+ __args__['ipId'] = ip_id
153
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
154
+ __ret__ = pulumi.runtime.invoke('scaleway:network/getPublicGatewayIp:getPublicGatewayIp', __args__, opts=opts, typ=GetPublicGatewayIpResult).value
155
+
156
+ return AwaitableGetPublicGatewayIpResult(
157
+ address=pulumi.get(__ret__, 'address'),
158
+ created_at=pulumi.get(__ret__, 'created_at'),
159
+ id=pulumi.get(__ret__, 'id'),
160
+ ip_id=pulumi.get(__ret__, 'ip_id'),
161
+ organization_id=pulumi.get(__ret__, 'organization_id'),
162
+ project_id=pulumi.get(__ret__, 'project_id'),
163
+ reverse=pulumi.get(__ret__, 'reverse'),
164
+ tags=pulumi.get(__ret__, 'tags'),
165
+ updated_at=pulumi.get(__ret__, 'updated_at'),
166
+ zone=pulumi.get(__ret__, 'zone'))
167
+ def get_public_gateway_ip_output(ip_id: Optional[pulumi.Input[Optional[str]]] = None,
168
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicGatewayIpResult]:
169
+ """
170
+ Gets information about a Public Gateway public flexible IP address.
171
+
172
+ For further information, please see the [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).
173
+
174
+ ## Example Usage
175
+
176
+ ```python
177
+ import pulumi
178
+ import pulumi_scaleway as scaleway
179
+ import pulumiverse_scaleway as scaleway
180
+
181
+ main = scaleway.network.PublicGatewayIp("main")
182
+ ip_by_id = scaleway.network.get_public_gateway_ip_output(ip_id=main.id)
183
+ ```
184
+ """
185
+ __args__ = dict()
186
+ __args__['ipId'] = ip_id
187
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
188
+ __ret__ = pulumi.runtime.invoke_output('scaleway:network/getPublicGatewayIp:getPublicGatewayIp', __args__, opts=opts, typ=GetPublicGatewayIpResult)
189
+ return __ret__.apply(lambda __response__: GetPublicGatewayIpResult(
190
+ address=pulumi.get(__response__, 'address'),
191
+ created_at=pulumi.get(__response__, 'created_at'),
192
+ id=pulumi.get(__response__, 'id'),
193
+ ip_id=pulumi.get(__response__, 'ip_id'),
194
+ organization_id=pulumi.get(__response__, 'organization_id'),
195
+ project_id=pulumi.get(__response__, 'project_id'),
196
+ reverse=pulumi.get(__response__, 'reverse'),
197
+ tags=pulumi.get(__response__, 'tags'),
198
+ updated_at=pulumi.get(__response__, 'updated_at'),
199
+ zone=pulumi.get(__response__, 'zone')))