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,850 @@
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__ = ['GatewayNetworkArgs', 'GatewayNetwork']
20
+
21
+ @pulumi.input_type
22
+ class GatewayNetworkArgs:
23
+ def __init__(__self__, *,
24
+ gateway_id: pulumi.Input[str],
25
+ private_network_id: pulumi.Input[str],
26
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
27
+ dhcp_id: Optional[pulumi.Input[str]] = None,
28
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
29
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
30
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
31
+ static_address: Optional[pulumi.Input[str]] = None,
32
+ zone: Optional[pulumi.Input[str]] = None):
33
+ """
34
+ The set of arguments for constructing a GatewayNetwork resource.
35
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
36
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
37
+ :param pulumi.Input[bool] cleanup_dhcp: Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
38
+ :param pulumi.Input[str] dhcp_id: Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
39
+ :param pulumi.Input[bool] enable_dhcp: Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
40
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
41
+ :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
42
+ :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
43
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
44
+
45
+ > **Important:**
46
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
47
+ For more information, please refer to the dedicated guide.
48
+ """
49
+ pulumi.set(__self__, "gateway_id", gateway_id)
50
+ pulumi.set(__self__, "private_network_id", private_network_id)
51
+ if cleanup_dhcp is not None:
52
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
53
+ pulumi.log.warn("""cleanup_dhcp is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
54
+ if cleanup_dhcp is not None:
55
+ pulumi.set(__self__, "cleanup_dhcp", cleanup_dhcp)
56
+ if dhcp_id is not None:
57
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
58
+ pulumi.log.warn("""dhcp_id is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
59
+ if dhcp_id is not None:
60
+ pulumi.set(__self__, "dhcp_id", dhcp_id)
61
+ if enable_dhcp is not None:
62
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
63
+ pulumi.log.warn("""enable_dhcp is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
64
+ if enable_dhcp is not None:
65
+ pulumi.set(__self__, "enable_dhcp", enable_dhcp)
66
+ if enable_masquerade is not None:
67
+ pulumi.set(__self__, "enable_masquerade", enable_masquerade)
68
+ if ipam_configs is not None:
69
+ pulumi.set(__self__, "ipam_configs", ipam_configs)
70
+ if static_address is not None:
71
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
72
+ pulumi.log.warn("""static_address is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
73
+ if static_address is not None:
74
+ pulumi.set(__self__, "static_address", static_address)
75
+ if zone is not None:
76
+ pulumi.set(__self__, "zone", zone)
77
+
78
+ @property
79
+ @pulumi.getter(name="gatewayId")
80
+ def gateway_id(self) -> pulumi.Input[str]:
81
+ """
82
+ The ID of the Public Gateway.
83
+ """
84
+ return pulumi.get(self, "gateway_id")
85
+
86
+ @gateway_id.setter
87
+ def gateway_id(self, value: pulumi.Input[str]):
88
+ pulumi.set(self, "gateway_id", value)
89
+
90
+ @property
91
+ @pulumi.getter(name="privateNetworkId")
92
+ def private_network_id(self) -> pulumi.Input[str]:
93
+ """
94
+ The ID of the Private Network.
95
+ """
96
+ return pulumi.get(self, "private_network_id")
97
+
98
+ @private_network_id.setter
99
+ def private_network_id(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "private_network_id", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="cleanupDhcp")
104
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
105
+ def cleanup_dhcp(self) -> Optional[pulumi.Input[bool]]:
106
+ """
107
+ Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
108
+ """
109
+ return pulumi.get(self, "cleanup_dhcp")
110
+
111
+ @cleanup_dhcp.setter
112
+ def cleanup_dhcp(self, value: Optional[pulumi.Input[bool]]):
113
+ pulumi.set(self, "cleanup_dhcp", value)
114
+
115
+ @property
116
+ @pulumi.getter(name="dhcpId")
117
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
118
+ def dhcp_id(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
121
+ """
122
+ return pulumi.get(self, "dhcp_id")
123
+
124
+ @dhcp_id.setter
125
+ def dhcp_id(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "dhcp_id", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="enableDhcp")
130
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
131
+ def enable_dhcp(self) -> Optional[pulumi.Input[bool]]:
132
+ """
133
+ Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
134
+ """
135
+ return pulumi.get(self, "enable_dhcp")
136
+
137
+ @enable_dhcp.setter
138
+ def enable_dhcp(self, value: Optional[pulumi.Input[bool]]):
139
+ pulumi.set(self, "enable_dhcp", value)
140
+
141
+ @property
142
+ @pulumi.getter(name="enableMasquerade")
143
+ def enable_masquerade(self) -> Optional[pulumi.Input[bool]]:
144
+ """
145
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
146
+ """
147
+ return pulumi.get(self, "enable_masquerade")
148
+
149
+ @enable_masquerade.setter
150
+ def enable_masquerade(self, value: Optional[pulumi.Input[bool]]):
151
+ pulumi.set(self, "enable_masquerade", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="ipamConfigs")
155
+ def ipam_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]:
156
+ """
157
+ Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
158
+ """
159
+ return pulumi.get(self, "ipam_configs")
160
+
161
+ @ipam_configs.setter
162
+ def ipam_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]):
163
+ pulumi.set(self, "ipam_configs", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="staticAddress")
167
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
168
+ def static_address(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
171
+ """
172
+ return pulumi.get(self, "static_address")
173
+
174
+ @static_address.setter
175
+ def static_address(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "static_address", value)
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def zone(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ `zone`) The zone in which the gateway network should be created.
183
+
184
+ > **Important:**
185
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
186
+ For more information, please refer to the dedicated guide.
187
+ """
188
+ return pulumi.get(self, "zone")
189
+
190
+ @zone.setter
191
+ def zone(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "zone", value)
193
+
194
+
195
+ @pulumi.input_type
196
+ class _GatewayNetworkState:
197
+ def __init__(__self__, *,
198
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
199
+ created_at: Optional[pulumi.Input[str]] = None,
200
+ dhcp_id: Optional[pulumi.Input[str]] = None,
201
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
202
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
203
+ gateway_id: Optional[pulumi.Input[str]] = None,
204
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
205
+ mac_address: Optional[pulumi.Input[str]] = None,
206
+ private_network_id: Optional[pulumi.Input[str]] = None,
207
+ static_address: Optional[pulumi.Input[str]] = None,
208
+ status: Optional[pulumi.Input[str]] = None,
209
+ updated_at: Optional[pulumi.Input[str]] = None,
210
+ zone: Optional[pulumi.Input[str]] = None):
211
+ """
212
+ Input properties used for looking up and filtering GatewayNetwork resources.
213
+ :param pulumi.Input[bool] cleanup_dhcp: Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
214
+ :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork.
215
+ :param pulumi.Input[str] dhcp_id: Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
216
+ :param pulumi.Input[bool] enable_dhcp: Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
217
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
218
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
219
+ :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
220
+ :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
221
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
222
+ :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
223
+ :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
224
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the GatewayNetwork.
225
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
226
+
227
+ > **Important:**
228
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
229
+ For more information, please refer to the dedicated guide.
230
+ """
231
+ if cleanup_dhcp is not None:
232
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
233
+ pulumi.log.warn("""cleanup_dhcp is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
234
+ if cleanup_dhcp is not None:
235
+ pulumi.set(__self__, "cleanup_dhcp", cleanup_dhcp)
236
+ if created_at is not None:
237
+ pulumi.set(__self__, "created_at", created_at)
238
+ if dhcp_id is not None:
239
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
240
+ pulumi.log.warn("""dhcp_id is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
241
+ if dhcp_id is not None:
242
+ pulumi.set(__self__, "dhcp_id", dhcp_id)
243
+ if enable_dhcp is not None:
244
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
245
+ pulumi.log.warn("""enable_dhcp is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
246
+ if enable_dhcp is not None:
247
+ pulumi.set(__self__, "enable_dhcp", enable_dhcp)
248
+ if enable_masquerade is not None:
249
+ pulumi.set(__self__, "enable_masquerade", enable_masquerade)
250
+ if gateway_id is not None:
251
+ pulumi.set(__self__, "gateway_id", gateway_id)
252
+ if ipam_configs is not None:
253
+ pulumi.set(__self__, "ipam_configs", ipam_configs)
254
+ if mac_address is not None:
255
+ pulumi.set(__self__, "mac_address", mac_address)
256
+ if private_network_id is not None:
257
+ pulumi.set(__self__, "private_network_id", private_network_id)
258
+ if static_address is not None:
259
+ warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
260
+ pulumi.log.warn("""static_address is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
261
+ if static_address is not None:
262
+ pulumi.set(__self__, "static_address", static_address)
263
+ if status is not None:
264
+ pulumi.set(__self__, "status", status)
265
+ if updated_at is not None:
266
+ pulumi.set(__self__, "updated_at", updated_at)
267
+ if zone is not None:
268
+ pulumi.set(__self__, "zone", zone)
269
+
270
+ @property
271
+ @pulumi.getter(name="cleanupDhcp")
272
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
273
+ def cleanup_dhcp(self) -> Optional[pulumi.Input[bool]]:
274
+ """
275
+ Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
276
+ """
277
+ return pulumi.get(self, "cleanup_dhcp")
278
+
279
+ @cleanup_dhcp.setter
280
+ def cleanup_dhcp(self, value: Optional[pulumi.Input[bool]]):
281
+ pulumi.set(self, "cleanup_dhcp", value)
282
+
283
+ @property
284
+ @pulumi.getter(name="createdAt")
285
+ def created_at(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ The date and time of the creation of the GatewayNetwork.
288
+ """
289
+ return pulumi.get(self, "created_at")
290
+
291
+ @created_at.setter
292
+ def created_at(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "created_at", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="dhcpId")
297
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
298
+ def dhcp_id(self) -> Optional[pulumi.Input[str]]:
299
+ """
300
+ Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
301
+ """
302
+ return pulumi.get(self, "dhcp_id")
303
+
304
+ @dhcp_id.setter
305
+ def dhcp_id(self, value: Optional[pulumi.Input[str]]):
306
+ pulumi.set(self, "dhcp_id", value)
307
+
308
+ @property
309
+ @pulumi.getter(name="enableDhcp")
310
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
311
+ def enable_dhcp(self) -> Optional[pulumi.Input[bool]]:
312
+ """
313
+ Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
314
+ """
315
+ return pulumi.get(self, "enable_dhcp")
316
+
317
+ @enable_dhcp.setter
318
+ def enable_dhcp(self, value: Optional[pulumi.Input[bool]]):
319
+ pulumi.set(self, "enable_dhcp", value)
320
+
321
+ @property
322
+ @pulumi.getter(name="enableMasquerade")
323
+ def enable_masquerade(self) -> Optional[pulumi.Input[bool]]:
324
+ """
325
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
326
+ """
327
+ return pulumi.get(self, "enable_masquerade")
328
+
329
+ @enable_masquerade.setter
330
+ def enable_masquerade(self, value: Optional[pulumi.Input[bool]]):
331
+ pulumi.set(self, "enable_masquerade", value)
332
+
333
+ @property
334
+ @pulumi.getter(name="gatewayId")
335
+ def gateway_id(self) -> Optional[pulumi.Input[str]]:
336
+ """
337
+ The ID of the Public Gateway.
338
+ """
339
+ return pulumi.get(self, "gateway_id")
340
+
341
+ @gateway_id.setter
342
+ def gateway_id(self, value: Optional[pulumi.Input[str]]):
343
+ pulumi.set(self, "gateway_id", value)
344
+
345
+ @property
346
+ @pulumi.getter(name="ipamConfigs")
347
+ def ipam_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]:
348
+ """
349
+ Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
350
+ """
351
+ return pulumi.get(self, "ipam_configs")
352
+
353
+ @ipam_configs.setter
354
+ def ipam_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]):
355
+ pulumi.set(self, "ipam_configs", value)
356
+
357
+ @property
358
+ @pulumi.getter(name="macAddress")
359
+ def mac_address(self) -> Optional[pulumi.Input[str]]:
360
+ """
361
+ The MAC address of the GatewayNetwork.
362
+ """
363
+ return pulumi.get(self, "mac_address")
364
+
365
+ @mac_address.setter
366
+ def mac_address(self, value: Optional[pulumi.Input[str]]):
367
+ pulumi.set(self, "mac_address", value)
368
+
369
+ @property
370
+ @pulumi.getter(name="privateNetworkId")
371
+ def private_network_id(self) -> Optional[pulumi.Input[str]]:
372
+ """
373
+ The ID of the Private Network.
374
+ """
375
+ return pulumi.get(self, "private_network_id")
376
+
377
+ @private_network_id.setter
378
+ def private_network_id(self, value: Optional[pulumi.Input[str]]):
379
+ pulumi.set(self, "private_network_id", value)
380
+
381
+ @property
382
+ @pulumi.getter(name="staticAddress")
383
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
384
+ def static_address(self) -> Optional[pulumi.Input[str]]:
385
+ """
386
+ Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
387
+ """
388
+ return pulumi.get(self, "static_address")
389
+
390
+ @static_address.setter
391
+ def static_address(self, value: Optional[pulumi.Input[str]]):
392
+ pulumi.set(self, "static_address", value)
393
+
394
+ @property
395
+ @pulumi.getter
396
+ def status(self) -> Optional[pulumi.Input[str]]:
397
+ """
398
+ The status of the Public Gateway's connection to the Private Network.
399
+ """
400
+ return pulumi.get(self, "status")
401
+
402
+ @status.setter
403
+ def status(self, value: Optional[pulumi.Input[str]]):
404
+ pulumi.set(self, "status", value)
405
+
406
+ @property
407
+ @pulumi.getter(name="updatedAt")
408
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
409
+ """
410
+ The date and time of the last update of the GatewayNetwork.
411
+ """
412
+ return pulumi.get(self, "updated_at")
413
+
414
+ @updated_at.setter
415
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
416
+ pulumi.set(self, "updated_at", value)
417
+
418
+ @property
419
+ @pulumi.getter
420
+ def zone(self) -> Optional[pulumi.Input[str]]:
421
+ """
422
+ `zone`) The zone in which the gateway network should be created.
423
+
424
+ > **Important:**
425
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
426
+ For more information, please refer to the dedicated guide.
427
+ """
428
+ return pulumi.get(self, "zone")
429
+
430
+ @zone.setter
431
+ def zone(self, value: Optional[pulumi.Input[str]]):
432
+ pulumi.set(self, "zone", value)
433
+
434
+
435
+ class GatewayNetwork(pulumi.CustomResource):
436
+ @overload
437
+ def __init__(__self__,
438
+ resource_name: str,
439
+ opts: Optional[pulumi.ResourceOptions] = None,
440
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
441
+ dhcp_id: Optional[pulumi.Input[str]] = None,
442
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
443
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
444
+ gateway_id: Optional[pulumi.Input[str]] = None,
445
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
446
+ private_network_id: Optional[pulumi.Input[str]] = None,
447
+ static_address: Optional[pulumi.Input[str]] = None,
448
+ zone: Optional[pulumi.Input[str]] = None,
449
+ __props__=None):
450
+ """
451
+ Creates and manages GatewayNetworks (connections between a Public Gateway and a Private Network).
452
+
453
+ It allows the attachment of Private Networks to Public Gateways.
454
+ For more information, see [the API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#step-3-attach-private-networks-to-the-vpc-public-gateway).
455
+
456
+ ## Example Usage
457
+
458
+ ### Create a GatewayNetwork with IPAM configuration
459
+
460
+ ```python
461
+ import pulumi
462
+ import pulumiverse_scaleway as scaleway
463
+
464
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
465
+ pn01 = scaleway.network.PrivateNetwork("pn01",
466
+ name="pn_test_network",
467
+ ipv4_subnet={
468
+ "subnet": "172.16.64.0/22",
469
+ },
470
+ vpc_id=vpc01.id)
471
+ pg01 = scaleway.network.PublicGateway("pg01",
472
+ name="foobar",
473
+ type="VPC-GW-S")
474
+ main = scaleway.network.GatewayNetwork("main",
475
+ gateway_id=pg01.id,
476
+ private_network_id=pn01.id,
477
+ enable_masquerade=True,
478
+ ipam_configs=[{
479
+ "push_default_route": True,
480
+ }])
481
+ ```
482
+
483
+ ### Create a GatewayNetwork with a booked IPAM IP
484
+
485
+ ```python
486
+ import pulumi
487
+ import pulumiverse_scaleway as scaleway
488
+
489
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
490
+ pn01 = scaleway.network.PrivateNetwork("pn01",
491
+ name="pn_test_network",
492
+ ipv4_subnet={
493
+ "subnet": "172.16.64.0/22",
494
+ },
495
+ vpc_id=vpc01.id)
496
+ ip01 = scaleway.ipam.Ip("ip01",
497
+ address="172.16.64.7",
498
+ sources=[{
499
+ "private_network_id": pn01.id,
500
+ }])
501
+ pg01 = scaleway.network.PublicGateway("pg01",
502
+ name="foobar",
503
+ type="VPC-GW-S")
504
+ main = scaleway.network.GatewayNetwork("main",
505
+ gateway_id=pg01.id,
506
+ private_network_id=pn01.id,
507
+ enable_masquerade=True,
508
+ ipam_configs=[{
509
+ "push_default_route": True,
510
+ "ipam_ip_id": ip01.id,
511
+ }])
512
+ ```
513
+
514
+ ## Import
515
+
516
+ GatewayNetwork can be imported using `{zone}/{id}`, e.g.
517
+
518
+ bash
519
+
520
+ ```sh
521
+ $ pulumi import scaleway:network/gatewayNetwork:GatewayNetwork main fr-par-1/11111111-1111-1111-1111-111111111111
522
+ ```
523
+
524
+ :param str resource_name: The name of the resource.
525
+ :param pulumi.ResourceOptions opts: Options for the resource.
526
+ :param pulumi.Input[bool] cleanup_dhcp: Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
527
+ :param pulumi.Input[str] dhcp_id: Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
528
+ :param pulumi.Input[bool] enable_dhcp: Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
529
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
530
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
531
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
532
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
533
+ :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
534
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
535
+
536
+ > **Important:**
537
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
538
+ For more information, please refer to the dedicated guide.
539
+ """
540
+ ...
541
+ @overload
542
+ def __init__(__self__,
543
+ resource_name: str,
544
+ args: GatewayNetworkArgs,
545
+ opts: Optional[pulumi.ResourceOptions] = None):
546
+ """
547
+ Creates and manages GatewayNetworks (connections between a Public Gateway and a Private Network).
548
+
549
+ It allows the attachment of Private Networks to Public Gateways.
550
+ For more information, see [the API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#step-3-attach-private-networks-to-the-vpc-public-gateway).
551
+
552
+ ## Example Usage
553
+
554
+ ### Create a GatewayNetwork with IPAM configuration
555
+
556
+ ```python
557
+ import pulumi
558
+ import pulumiverse_scaleway as scaleway
559
+
560
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
561
+ pn01 = scaleway.network.PrivateNetwork("pn01",
562
+ name="pn_test_network",
563
+ ipv4_subnet={
564
+ "subnet": "172.16.64.0/22",
565
+ },
566
+ vpc_id=vpc01.id)
567
+ pg01 = scaleway.network.PublicGateway("pg01",
568
+ name="foobar",
569
+ type="VPC-GW-S")
570
+ main = scaleway.network.GatewayNetwork("main",
571
+ gateway_id=pg01.id,
572
+ private_network_id=pn01.id,
573
+ enable_masquerade=True,
574
+ ipam_configs=[{
575
+ "push_default_route": True,
576
+ }])
577
+ ```
578
+
579
+ ### Create a GatewayNetwork with a booked IPAM IP
580
+
581
+ ```python
582
+ import pulumi
583
+ import pulumiverse_scaleway as scaleway
584
+
585
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
586
+ pn01 = scaleway.network.PrivateNetwork("pn01",
587
+ name="pn_test_network",
588
+ ipv4_subnet={
589
+ "subnet": "172.16.64.0/22",
590
+ },
591
+ vpc_id=vpc01.id)
592
+ ip01 = scaleway.ipam.Ip("ip01",
593
+ address="172.16.64.7",
594
+ sources=[{
595
+ "private_network_id": pn01.id,
596
+ }])
597
+ pg01 = scaleway.network.PublicGateway("pg01",
598
+ name="foobar",
599
+ type="VPC-GW-S")
600
+ main = scaleway.network.GatewayNetwork("main",
601
+ gateway_id=pg01.id,
602
+ private_network_id=pn01.id,
603
+ enable_masquerade=True,
604
+ ipam_configs=[{
605
+ "push_default_route": True,
606
+ "ipam_ip_id": ip01.id,
607
+ }])
608
+ ```
609
+
610
+ ## Import
611
+
612
+ GatewayNetwork can be imported using `{zone}/{id}`, e.g.
613
+
614
+ bash
615
+
616
+ ```sh
617
+ $ pulumi import scaleway:network/gatewayNetwork:GatewayNetwork main fr-par-1/11111111-1111-1111-1111-111111111111
618
+ ```
619
+
620
+ :param str resource_name: The name of the resource.
621
+ :param GatewayNetworkArgs args: The arguments to use to populate this resource's properties.
622
+ :param pulumi.ResourceOptions opts: Options for the resource.
623
+ """
624
+ ...
625
+ def __init__(__self__, resource_name: str, *args, **kwargs):
626
+ resource_args, opts = _utilities.get_resource_args_opts(GatewayNetworkArgs, pulumi.ResourceOptions, *args, **kwargs)
627
+ if resource_args is not None:
628
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
629
+ else:
630
+ __self__._internal_init(resource_name, *args, **kwargs)
631
+
632
+ def _internal_init(__self__,
633
+ resource_name: str,
634
+ opts: Optional[pulumi.ResourceOptions] = None,
635
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
636
+ dhcp_id: Optional[pulumi.Input[str]] = None,
637
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
638
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
639
+ gateway_id: Optional[pulumi.Input[str]] = None,
640
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
641
+ private_network_id: Optional[pulumi.Input[str]] = None,
642
+ static_address: Optional[pulumi.Input[str]] = None,
643
+ zone: Optional[pulumi.Input[str]] = None,
644
+ __props__=None):
645
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
646
+ if not isinstance(opts, pulumi.ResourceOptions):
647
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
648
+ if opts.id is None:
649
+ if __props__ is not None:
650
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
651
+ __props__ = GatewayNetworkArgs.__new__(GatewayNetworkArgs)
652
+
653
+ __props__.__dict__["cleanup_dhcp"] = cleanup_dhcp
654
+ __props__.__dict__["dhcp_id"] = dhcp_id
655
+ __props__.__dict__["enable_dhcp"] = enable_dhcp
656
+ __props__.__dict__["enable_masquerade"] = enable_masquerade
657
+ if gateway_id is None and not opts.urn:
658
+ raise TypeError("Missing required property 'gateway_id'")
659
+ __props__.__dict__["gateway_id"] = gateway_id
660
+ __props__.__dict__["ipam_configs"] = ipam_configs
661
+ if private_network_id is None and not opts.urn:
662
+ raise TypeError("Missing required property 'private_network_id'")
663
+ __props__.__dict__["private_network_id"] = private_network_id
664
+ __props__.__dict__["static_address"] = static_address
665
+ __props__.__dict__["zone"] = zone
666
+ __props__.__dict__["created_at"] = None
667
+ __props__.__dict__["mac_address"] = None
668
+ __props__.__dict__["status"] = None
669
+ __props__.__dict__["updated_at"] = None
670
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork")])
671
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
672
+ super(GatewayNetwork, __self__).__init__(
673
+ 'scaleway:network/gatewayNetwork:GatewayNetwork',
674
+ resource_name,
675
+ __props__,
676
+ opts)
677
+
678
+ @staticmethod
679
+ def get(resource_name: str,
680
+ id: pulumi.Input[str],
681
+ opts: Optional[pulumi.ResourceOptions] = None,
682
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
683
+ created_at: Optional[pulumi.Input[str]] = None,
684
+ dhcp_id: Optional[pulumi.Input[str]] = None,
685
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
686
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
687
+ gateway_id: Optional[pulumi.Input[str]] = None,
688
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
689
+ mac_address: Optional[pulumi.Input[str]] = None,
690
+ private_network_id: Optional[pulumi.Input[str]] = None,
691
+ static_address: Optional[pulumi.Input[str]] = None,
692
+ status: Optional[pulumi.Input[str]] = None,
693
+ updated_at: Optional[pulumi.Input[str]] = None,
694
+ zone: Optional[pulumi.Input[str]] = None) -> 'GatewayNetwork':
695
+ """
696
+ Get an existing GatewayNetwork resource's state with the given name, id, and optional extra
697
+ properties used to qualify the lookup.
698
+
699
+ :param str resource_name: The unique name of the resulting resource.
700
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
701
+ :param pulumi.ResourceOptions opts: Options for the resource.
702
+ :param pulumi.Input[bool] cleanup_dhcp: Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
703
+ :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork.
704
+ :param pulumi.Input[str] dhcp_id: Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
705
+ :param pulumi.Input[bool] enable_dhcp: Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
706
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
707
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
708
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
709
+ :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
710
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
711
+ :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
712
+ :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
713
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the GatewayNetwork.
714
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
715
+
716
+ > **Important:**
717
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
718
+ For more information, please refer to the dedicated guide.
719
+ """
720
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
721
+
722
+ __props__ = _GatewayNetworkState.__new__(_GatewayNetworkState)
723
+
724
+ __props__.__dict__["cleanup_dhcp"] = cleanup_dhcp
725
+ __props__.__dict__["created_at"] = created_at
726
+ __props__.__dict__["dhcp_id"] = dhcp_id
727
+ __props__.__dict__["enable_dhcp"] = enable_dhcp
728
+ __props__.__dict__["enable_masquerade"] = enable_masquerade
729
+ __props__.__dict__["gateway_id"] = gateway_id
730
+ __props__.__dict__["ipam_configs"] = ipam_configs
731
+ __props__.__dict__["mac_address"] = mac_address
732
+ __props__.__dict__["private_network_id"] = private_network_id
733
+ __props__.__dict__["static_address"] = static_address
734
+ __props__.__dict__["status"] = status
735
+ __props__.__dict__["updated_at"] = updated_at
736
+ __props__.__dict__["zone"] = zone
737
+ return GatewayNetwork(resource_name, opts=opts, __props__=__props__)
738
+
739
+ @property
740
+ @pulumi.getter(name="cleanupDhcp")
741
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
742
+ def cleanup_dhcp(self) -> pulumi.Output[bool]:
743
+ """
744
+ Please use `ipam_config`. Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
745
+ """
746
+ return pulumi.get(self, "cleanup_dhcp")
747
+
748
+ @property
749
+ @pulumi.getter(name="createdAt")
750
+ def created_at(self) -> pulumi.Output[str]:
751
+ """
752
+ The date and time of the creation of the GatewayNetwork.
753
+ """
754
+ return pulumi.get(self, "created_at")
755
+
756
+ @property
757
+ @pulumi.getter(name="dhcpId")
758
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
759
+ def dhcp_id(self) -> pulumi.Output[Optional[str]]:
760
+ """
761
+ Please use `ipam_config`. The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
762
+ """
763
+ return pulumi.get(self, "dhcp_id")
764
+
765
+ @property
766
+ @pulumi.getter(name="enableDhcp")
767
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
768
+ def enable_dhcp(self) -> pulumi.Output[Optional[bool]]:
769
+ """
770
+ Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
771
+ """
772
+ return pulumi.get(self, "enable_dhcp")
773
+
774
+ @property
775
+ @pulumi.getter(name="enableMasquerade")
776
+ def enable_masquerade(self) -> pulumi.Output[Optional[bool]]:
777
+ """
778
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
779
+ """
780
+ return pulumi.get(self, "enable_masquerade")
781
+
782
+ @property
783
+ @pulumi.getter(name="gatewayId")
784
+ def gateway_id(self) -> pulumi.Output[str]:
785
+ """
786
+ The ID of the Public Gateway.
787
+ """
788
+ return pulumi.get(self, "gateway_id")
789
+
790
+ @property
791
+ @pulumi.getter(name="ipamConfigs")
792
+ def ipam_configs(self) -> pulumi.Output[Sequence['outputs.GatewayNetworkIpamConfig']]:
793
+ """
794
+ Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
795
+ """
796
+ return pulumi.get(self, "ipam_configs")
797
+
798
+ @property
799
+ @pulumi.getter(name="macAddress")
800
+ def mac_address(self) -> pulumi.Output[str]:
801
+ """
802
+ The MAC address of the GatewayNetwork.
803
+ """
804
+ return pulumi.get(self, "mac_address")
805
+
806
+ @property
807
+ @pulumi.getter(name="privateNetworkId")
808
+ def private_network_id(self) -> pulumi.Output[str]:
809
+ """
810
+ The ID of the Private Network.
811
+ """
812
+ return pulumi.get(self, "private_network_id")
813
+
814
+ @property
815
+ @pulumi.getter(name="staticAddress")
816
+ @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
817
+ def static_address(self) -> pulumi.Output[str]:
818
+ """
819
+ Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
820
+ """
821
+ return pulumi.get(self, "static_address")
822
+
823
+ @property
824
+ @pulumi.getter
825
+ def status(self) -> pulumi.Output[str]:
826
+ """
827
+ The status of the Public Gateway's connection to the Private Network.
828
+ """
829
+ return pulumi.get(self, "status")
830
+
831
+ @property
832
+ @pulumi.getter(name="updatedAt")
833
+ def updated_at(self) -> pulumi.Output[str]:
834
+ """
835
+ The date and time of the last update of the GatewayNetwork.
836
+ """
837
+ return pulumi.get(self, "updated_at")
838
+
839
+ @property
840
+ @pulumi.getter
841
+ def zone(self) -> pulumi.Output[str]:
842
+ """
843
+ `zone`) The zone in which the gateway network should be created.
844
+
845
+ > **Important:**
846
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP fields are now deprecated.
847
+ For more information, please refer to the dedicated guide.
848
+ """
849
+ return pulumi.get(self, "zone")
850
+