pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,868 @@
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: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
38
+ :param pulumi.Input[str] dhcp_id: 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: 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: 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
+ pulumi.set(__self__, "gateway_id", gateway_id)
46
+ pulumi.set(__self__, "private_network_id", private_network_id)
47
+ if cleanup_dhcp is not None:
48
+ pulumi.set(__self__, "cleanup_dhcp", cleanup_dhcp)
49
+ if dhcp_id is not None:
50
+ pulumi.set(__self__, "dhcp_id", dhcp_id)
51
+ if enable_dhcp is not None:
52
+ pulumi.set(__self__, "enable_dhcp", enable_dhcp)
53
+ if enable_masquerade is not None:
54
+ pulumi.set(__self__, "enable_masquerade", enable_masquerade)
55
+ if ipam_configs is not None:
56
+ pulumi.set(__self__, "ipam_configs", ipam_configs)
57
+ if static_address is not None:
58
+ pulumi.set(__self__, "static_address", static_address)
59
+ if zone is not None:
60
+ pulumi.set(__self__, "zone", zone)
61
+
62
+ @property
63
+ @pulumi.getter(name="gatewayId")
64
+ def gateway_id(self) -> pulumi.Input[str]:
65
+ """
66
+ The ID of the Public Gateway.
67
+ """
68
+ return pulumi.get(self, "gateway_id")
69
+
70
+ @gateway_id.setter
71
+ def gateway_id(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "gateway_id", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="privateNetworkId")
76
+ def private_network_id(self) -> pulumi.Input[str]:
77
+ """
78
+ The ID of the Private Network.
79
+ """
80
+ return pulumi.get(self, "private_network_id")
81
+
82
+ @private_network_id.setter
83
+ def private_network_id(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "private_network_id", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="cleanupDhcp")
88
+ def cleanup_dhcp(self) -> Optional[pulumi.Input[bool]]:
89
+ """
90
+ Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
91
+ """
92
+ return pulumi.get(self, "cleanup_dhcp")
93
+
94
+ @cleanup_dhcp.setter
95
+ def cleanup_dhcp(self, value: Optional[pulumi.Input[bool]]):
96
+ pulumi.set(self, "cleanup_dhcp", value)
97
+
98
+ @property
99
+ @pulumi.getter(name="dhcpId")
100
+ def dhcp_id(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
103
+ """
104
+ return pulumi.get(self, "dhcp_id")
105
+
106
+ @dhcp_id.setter
107
+ def dhcp_id(self, value: Optional[pulumi.Input[str]]):
108
+ pulumi.set(self, "dhcp_id", value)
109
+
110
+ @property
111
+ @pulumi.getter(name="enableDhcp")
112
+ def enable_dhcp(self) -> Optional[pulumi.Input[bool]]:
113
+ """
114
+ Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
115
+ """
116
+ return pulumi.get(self, "enable_dhcp")
117
+
118
+ @enable_dhcp.setter
119
+ def enable_dhcp(self, value: Optional[pulumi.Input[bool]]):
120
+ pulumi.set(self, "enable_dhcp", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="enableMasquerade")
124
+ def enable_masquerade(self) -> Optional[pulumi.Input[bool]]:
125
+ """
126
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
127
+ """
128
+ return pulumi.get(self, "enable_masquerade")
129
+
130
+ @enable_masquerade.setter
131
+ def enable_masquerade(self, value: Optional[pulumi.Input[bool]]):
132
+ pulumi.set(self, "enable_masquerade", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="ipamConfigs")
136
+ def ipam_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]:
137
+ """
138
+ 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.
139
+ """
140
+ return pulumi.get(self, "ipam_configs")
141
+
142
+ @ipam_configs.setter
143
+ def ipam_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]):
144
+ pulumi.set(self, "ipam_configs", value)
145
+
146
+ @property
147
+ @pulumi.getter(name="staticAddress")
148
+ def static_address(self) -> Optional[pulumi.Input[str]]:
149
+ """
150
+ Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
151
+ """
152
+ return pulumi.get(self, "static_address")
153
+
154
+ @static_address.setter
155
+ def static_address(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "static_address", value)
157
+
158
+ @property
159
+ @pulumi.getter
160
+ def zone(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ `zone`) The zone in which the gateway network should be created.
163
+ """
164
+ return pulumi.get(self, "zone")
165
+
166
+ @zone.setter
167
+ def zone(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "zone", value)
169
+
170
+
171
+ @pulumi.input_type
172
+ class _GatewayNetworkState:
173
+ def __init__(__self__, *,
174
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
175
+ created_at: Optional[pulumi.Input[str]] = None,
176
+ dhcp_id: Optional[pulumi.Input[str]] = None,
177
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
178
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
179
+ gateway_id: Optional[pulumi.Input[str]] = None,
180
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
181
+ mac_address: Optional[pulumi.Input[str]] = None,
182
+ private_network_id: Optional[pulumi.Input[str]] = None,
183
+ static_address: Optional[pulumi.Input[str]] = None,
184
+ status: Optional[pulumi.Input[str]] = None,
185
+ updated_at: Optional[pulumi.Input[str]] = None,
186
+ zone: Optional[pulumi.Input[str]] = None):
187
+ """
188
+ Input properties used for looking up and filtering GatewayNetwork resources.
189
+ :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
190
+ :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork.
191
+ :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
192
+ :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
193
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
194
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
195
+ :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.
196
+ :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
197
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
198
+ :param pulumi.Input[str] static_address: Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
199
+ :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
200
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the GatewayNetwork.
201
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
202
+ """
203
+ if cleanup_dhcp is not None:
204
+ pulumi.set(__self__, "cleanup_dhcp", cleanup_dhcp)
205
+ if created_at is not None:
206
+ pulumi.set(__self__, "created_at", created_at)
207
+ if dhcp_id is not None:
208
+ pulumi.set(__self__, "dhcp_id", dhcp_id)
209
+ if enable_dhcp is not None:
210
+ pulumi.set(__self__, "enable_dhcp", enable_dhcp)
211
+ if enable_masquerade is not None:
212
+ pulumi.set(__self__, "enable_masquerade", enable_masquerade)
213
+ if gateway_id is not None:
214
+ pulumi.set(__self__, "gateway_id", gateway_id)
215
+ if ipam_configs is not None:
216
+ pulumi.set(__self__, "ipam_configs", ipam_configs)
217
+ if mac_address is not None:
218
+ pulumi.set(__self__, "mac_address", mac_address)
219
+ if private_network_id is not None:
220
+ pulumi.set(__self__, "private_network_id", private_network_id)
221
+ if static_address is not None:
222
+ pulumi.set(__self__, "static_address", static_address)
223
+ if status is not None:
224
+ pulumi.set(__self__, "status", status)
225
+ if updated_at is not None:
226
+ pulumi.set(__self__, "updated_at", updated_at)
227
+ if zone is not None:
228
+ pulumi.set(__self__, "zone", zone)
229
+
230
+ @property
231
+ @pulumi.getter(name="cleanupDhcp")
232
+ def cleanup_dhcp(self) -> Optional[pulumi.Input[bool]]:
233
+ """
234
+ Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
235
+ """
236
+ return pulumi.get(self, "cleanup_dhcp")
237
+
238
+ @cleanup_dhcp.setter
239
+ def cleanup_dhcp(self, value: Optional[pulumi.Input[bool]]):
240
+ pulumi.set(self, "cleanup_dhcp", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="createdAt")
244
+ def created_at(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ The date and time of the creation of the GatewayNetwork.
247
+ """
248
+ return pulumi.get(self, "created_at")
249
+
250
+ @created_at.setter
251
+ def created_at(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "created_at", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="dhcpId")
256
+ def dhcp_id(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
259
+ """
260
+ return pulumi.get(self, "dhcp_id")
261
+
262
+ @dhcp_id.setter
263
+ def dhcp_id(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "dhcp_id", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="enableDhcp")
268
+ def enable_dhcp(self) -> Optional[pulumi.Input[bool]]:
269
+ """
270
+ Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
271
+ """
272
+ return pulumi.get(self, "enable_dhcp")
273
+
274
+ @enable_dhcp.setter
275
+ def enable_dhcp(self, value: Optional[pulumi.Input[bool]]):
276
+ pulumi.set(self, "enable_dhcp", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="enableMasquerade")
280
+ def enable_masquerade(self) -> Optional[pulumi.Input[bool]]:
281
+ """
282
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
283
+ """
284
+ return pulumi.get(self, "enable_masquerade")
285
+
286
+ @enable_masquerade.setter
287
+ def enable_masquerade(self, value: Optional[pulumi.Input[bool]]):
288
+ pulumi.set(self, "enable_masquerade", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="gatewayId")
292
+ def gateway_id(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ The ID of the Public Gateway.
295
+ """
296
+ return pulumi.get(self, "gateway_id")
297
+
298
+ @gateway_id.setter
299
+ def gateway_id(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "gateway_id", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="ipamConfigs")
304
+ def ipam_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]:
305
+ """
306
+ 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.
307
+ """
308
+ return pulumi.get(self, "ipam_configs")
309
+
310
+ @ipam_configs.setter
311
+ def ipam_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]):
312
+ pulumi.set(self, "ipam_configs", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="macAddress")
316
+ def mac_address(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ The MAC address of the GatewayNetwork.
319
+ """
320
+ return pulumi.get(self, "mac_address")
321
+
322
+ @mac_address.setter
323
+ def mac_address(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "mac_address", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="privateNetworkId")
328
+ def private_network_id(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ The ID of the Private Network.
331
+ """
332
+ return pulumi.get(self, "private_network_id")
333
+
334
+ @private_network_id.setter
335
+ def private_network_id(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "private_network_id", value)
337
+
338
+ @property
339
+ @pulumi.getter(name="staticAddress")
340
+ def static_address(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
343
+ """
344
+ return pulumi.get(self, "static_address")
345
+
346
+ @static_address.setter
347
+ def static_address(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "static_address", value)
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def status(self) -> Optional[pulumi.Input[str]]:
353
+ """
354
+ The status of the Public Gateway's connection to the Private Network.
355
+ """
356
+ return pulumi.get(self, "status")
357
+
358
+ @status.setter
359
+ def status(self, value: Optional[pulumi.Input[str]]):
360
+ pulumi.set(self, "status", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="updatedAt")
364
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ The date and time of the last update of the GatewayNetwork.
367
+ """
368
+ return pulumi.get(self, "updated_at")
369
+
370
+ @updated_at.setter
371
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "updated_at", value)
373
+
374
+ @property
375
+ @pulumi.getter
376
+ def zone(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ `zone`) The zone in which the gateway network should be created.
379
+ """
380
+ return pulumi.get(self, "zone")
381
+
382
+ @zone.setter
383
+ def zone(self, value: Optional[pulumi.Input[str]]):
384
+ pulumi.set(self, "zone", value)
385
+
386
+
387
+ class GatewayNetwork(pulumi.CustomResource):
388
+ @overload
389
+ def __init__(__self__,
390
+ resource_name: str,
391
+ opts: Optional[pulumi.ResourceOptions] = None,
392
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
393
+ dhcp_id: Optional[pulumi.Input[str]] = None,
394
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
395
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
396
+ gateway_id: Optional[pulumi.Input[str]] = None,
397
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
398
+ private_network_id: Optional[pulumi.Input[str]] = None,
399
+ static_address: Optional[pulumi.Input[str]] = None,
400
+ zone: Optional[pulumi.Input[str]] = None,
401
+ __props__=None):
402
+ """
403
+ Creates and manages GatewayNetworks (connections between a Public Gateway and a Private Network).
404
+
405
+ It allows the attachment of Private Networks to Public Gateways and DHCP configurations.
406
+ 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).
407
+
408
+ ## Example Usage
409
+
410
+ ### Create a GatewayNetwork with IPAM configuration
411
+
412
+ ```python
413
+ import pulumi
414
+ import pulumiverse_scaleway as scaleway
415
+
416
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
417
+ pn01 = scaleway.network.PrivateNetwork("pn01",
418
+ name="pn_test_network",
419
+ ipv4_subnet={
420
+ "subnet": "172.16.64.0/22",
421
+ },
422
+ vpc_id=vpc01.id)
423
+ pg01 = scaleway.network.PublicGateway("pg01",
424
+ name="foobar",
425
+ type="VPC-GW-S")
426
+ main = scaleway.network.GatewayNetwork("main",
427
+ gateway_id=pg01.id,
428
+ private_network_id=pn01.id,
429
+ enable_masquerade=True,
430
+ ipam_configs=[{
431
+ "push_default_route": True,
432
+ }])
433
+ ```
434
+
435
+ ### Create a GatewayNetwork with a booked IPAM IP
436
+
437
+ ```python
438
+ import pulumi
439
+ import pulumiverse_scaleway as scaleway
440
+
441
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
442
+ pn01 = scaleway.network.PrivateNetwork("pn01",
443
+ name="pn_test_network",
444
+ ipv4_subnet={
445
+ "subnet": "172.16.64.0/22",
446
+ },
447
+ vpc_id=vpc01.id)
448
+ ip01 = scaleway.ipam.Ip("ip01",
449
+ address="172.16.64.7",
450
+ sources=[{
451
+ "private_network_id": pn01.id,
452
+ }])
453
+ pg01 = scaleway.network.PublicGateway("pg01",
454
+ name="foobar",
455
+ type="VPC-GW-S")
456
+ main = scaleway.network.GatewayNetwork("main",
457
+ gateway_id=pg01.id,
458
+ private_network_id=pn01.id,
459
+ enable_masquerade=True,
460
+ ipam_configs=[{
461
+ "push_default_route": True,
462
+ "ipam_ip_id": ip01.id,
463
+ }])
464
+ ```
465
+
466
+ ### Create a GatewayNetwork with DHCP
467
+
468
+ ```python
469
+ import pulumi
470
+ import pulumiverse_scaleway as scaleway
471
+
472
+ pn01 = scaleway.network.PrivateNetwork("pn01", name="pn_test_network")
473
+ gw01 = scaleway.network.PublicGatewayIp("gw01")
474
+ dhcp01 = scaleway.network.PublicGatewayDhcp("dhcp01",
475
+ subnet="192.168.1.0/24",
476
+ push_default_route=True)
477
+ pg01 = scaleway.network.PublicGateway("pg01",
478
+ name="foobar",
479
+ type="VPC-GW-S",
480
+ ip_id=gw01.id)
481
+ main = scaleway.network.GatewayNetwork("main",
482
+ gateway_id=pg01.id,
483
+ private_network_id=pn01.id,
484
+ dhcp_id=dhcp01.id,
485
+ cleanup_dhcp=True,
486
+ enable_masquerade=True)
487
+ ```
488
+
489
+ ### Create a GatewayNetwork with a static IP address
490
+
491
+ ```python
492
+ import pulumi
493
+ import pulumiverse_scaleway as scaleway
494
+
495
+ pn01 = scaleway.network.PrivateNetwork("pn01", name="pn_test_network")
496
+ pg01 = scaleway.network.PublicGateway("pg01",
497
+ name="foobar",
498
+ type="VPC-GW-S")
499
+ main = scaleway.network.GatewayNetwork("main",
500
+ gateway_id=pg01.id,
501
+ private_network_id=pn01.id,
502
+ enable_dhcp=False,
503
+ enable_masquerade=True,
504
+ static_address="192.168.1.42/24")
505
+ ```
506
+
507
+ ## Import
508
+
509
+ GatewayNetwork can be imported using `{zone}/{id}`, e.g.
510
+
511
+ bash
512
+
513
+ ```sh
514
+ $ pulumi import scaleway:network/gatewayNetwork:GatewayNetwork main fr-par-1/11111111-1111-1111-1111-111111111111
515
+ ```
516
+
517
+ :param str resource_name: The name of the resource.
518
+ :param pulumi.ResourceOptions opts: Options for the resource.
519
+ :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
520
+ :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
521
+ :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
522
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
523
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
524
+ :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.
525
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
526
+ :param pulumi.Input[str] static_address: Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
527
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
528
+ """
529
+ ...
530
+ @overload
531
+ def __init__(__self__,
532
+ resource_name: str,
533
+ args: GatewayNetworkArgs,
534
+ opts: Optional[pulumi.ResourceOptions] = None):
535
+ """
536
+ Creates and manages GatewayNetworks (connections between a Public Gateway and a Private Network).
537
+
538
+ It allows the attachment of Private Networks to Public Gateways and DHCP configurations.
539
+ 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).
540
+
541
+ ## Example Usage
542
+
543
+ ### Create a GatewayNetwork with IPAM configuration
544
+
545
+ ```python
546
+ import pulumi
547
+ import pulumiverse_scaleway as scaleway
548
+
549
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
550
+ pn01 = scaleway.network.PrivateNetwork("pn01",
551
+ name="pn_test_network",
552
+ ipv4_subnet={
553
+ "subnet": "172.16.64.0/22",
554
+ },
555
+ vpc_id=vpc01.id)
556
+ pg01 = scaleway.network.PublicGateway("pg01",
557
+ name="foobar",
558
+ type="VPC-GW-S")
559
+ main = scaleway.network.GatewayNetwork("main",
560
+ gateway_id=pg01.id,
561
+ private_network_id=pn01.id,
562
+ enable_masquerade=True,
563
+ ipam_configs=[{
564
+ "push_default_route": True,
565
+ }])
566
+ ```
567
+
568
+ ### Create a GatewayNetwork with a booked IPAM IP
569
+
570
+ ```python
571
+ import pulumi
572
+ import pulumiverse_scaleway as scaleway
573
+
574
+ vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
575
+ pn01 = scaleway.network.PrivateNetwork("pn01",
576
+ name="pn_test_network",
577
+ ipv4_subnet={
578
+ "subnet": "172.16.64.0/22",
579
+ },
580
+ vpc_id=vpc01.id)
581
+ ip01 = scaleway.ipam.Ip("ip01",
582
+ address="172.16.64.7",
583
+ sources=[{
584
+ "private_network_id": pn01.id,
585
+ }])
586
+ pg01 = scaleway.network.PublicGateway("pg01",
587
+ name="foobar",
588
+ type="VPC-GW-S")
589
+ main = scaleway.network.GatewayNetwork("main",
590
+ gateway_id=pg01.id,
591
+ private_network_id=pn01.id,
592
+ enable_masquerade=True,
593
+ ipam_configs=[{
594
+ "push_default_route": True,
595
+ "ipam_ip_id": ip01.id,
596
+ }])
597
+ ```
598
+
599
+ ### Create a GatewayNetwork with DHCP
600
+
601
+ ```python
602
+ import pulumi
603
+ import pulumiverse_scaleway as scaleway
604
+
605
+ pn01 = scaleway.network.PrivateNetwork("pn01", name="pn_test_network")
606
+ gw01 = scaleway.network.PublicGatewayIp("gw01")
607
+ dhcp01 = scaleway.network.PublicGatewayDhcp("dhcp01",
608
+ subnet="192.168.1.0/24",
609
+ push_default_route=True)
610
+ pg01 = scaleway.network.PublicGateway("pg01",
611
+ name="foobar",
612
+ type="VPC-GW-S",
613
+ ip_id=gw01.id)
614
+ main = scaleway.network.GatewayNetwork("main",
615
+ gateway_id=pg01.id,
616
+ private_network_id=pn01.id,
617
+ dhcp_id=dhcp01.id,
618
+ cleanup_dhcp=True,
619
+ enable_masquerade=True)
620
+ ```
621
+
622
+ ### Create a GatewayNetwork with a static IP address
623
+
624
+ ```python
625
+ import pulumi
626
+ import pulumiverse_scaleway as scaleway
627
+
628
+ pn01 = scaleway.network.PrivateNetwork("pn01", name="pn_test_network")
629
+ pg01 = scaleway.network.PublicGateway("pg01",
630
+ name="foobar",
631
+ type="VPC-GW-S")
632
+ main = scaleway.network.GatewayNetwork("main",
633
+ gateway_id=pg01.id,
634
+ private_network_id=pn01.id,
635
+ enable_dhcp=False,
636
+ enable_masquerade=True,
637
+ static_address="192.168.1.42/24")
638
+ ```
639
+
640
+ ## Import
641
+
642
+ GatewayNetwork can be imported using `{zone}/{id}`, e.g.
643
+
644
+ bash
645
+
646
+ ```sh
647
+ $ pulumi import scaleway:network/gatewayNetwork:GatewayNetwork main fr-par-1/11111111-1111-1111-1111-111111111111
648
+ ```
649
+
650
+ :param str resource_name: The name of the resource.
651
+ :param GatewayNetworkArgs args: The arguments to use to populate this resource's properties.
652
+ :param pulumi.ResourceOptions opts: Options for the resource.
653
+ """
654
+ ...
655
+ def __init__(__self__, resource_name: str, *args, **kwargs):
656
+ resource_args, opts = _utilities.get_resource_args_opts(GatewayNetworkArgs, pulumi.ResourceOptions, *args, **kwargs)
657
+ if resource_args is not None:
658
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
659
+ else:
660
+ __self__._internal_init(resource_name, *args, **kwargs)
661
+
662
+ def _internal_init(__self__,
663
+ resource_name: str,
664
+ opts: Optional[pulumi.ResourceOptions] = None,
665
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
666
+ dhcp_id: Optional[pulumi.Input[str]] = None,
667
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
668
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
669
+ gateway_id: Optional[pulumi.Input[str]] = None,
670
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
671
+ private_network_id: Optional[pulumi.Input[str]] = None,
672
+ static_address: Optional[pulumi.Input[str]] = None,
673
+ zone: Optional[pulumi.Input[str]] = None,
674
+ __props__=None):
675
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
676
+ if not isinstance(opts, pulumi.ResourceOptions):
677
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
678
+ if opts.id is None:
679
+ if __props__ is not None:
680
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
681
+ __props__ = GatewayNetworkArgs.__new__(GatewayNetworkArgs)
682
+
683
+ __props__.__dict__["cleanup_dhcp"] = cleanup_dhcp
684
+ __props__.__dict__["dhcp_id"] = dhcp_id
685
+ __props__.__dict__["enable_dhcp"] = enable_dhcp
686
+ __props__.__dict__["enable_masquerade"] = enable_masquerade
687
+ if gateway_id is None and not opts.urn:
688
+ raise TypeError("Missing required property 'gateway_id'")
689
+ __props__.__dict__["gateway_id"] = gateway_id
690
+ __props__.__dict__["ipam_configs"] = ipam_configs
691
+ if private_network_id is None and not opts.urn:
692
+ raise TypeError("Missing required property 'private_network_id'")
693
+ __props__.__dict__["private_network_id"] = private_network_id
694
+ __props__.__dict__["static_address"] = static_address
695
+ __props__.__dict__["zone"] = zone
696
+ __props__.__dict__["created_at"] = None
697
+ __props__.__dict__["mac_address"] = None
698
+ __props__.__dict__["status"] = None
699
+ __props__.__dict__["updated_at"] = None
700
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork")])
701
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
702
+ super(GatewayNetwork, __self__).__init__(
703
+ 'scaleway:network/gatewayNetwork:GatewayNetwork',
704
+ resource_name,
705
+ __props__,
706
+ opts)
707
+
708
+ @staticmethod
709
+ def get(resource_name: str,
710
+ id: pulumi.Input[str],
711
+ opts: Optional[pulumi.ResourceOptions] = None,
712
+ cleanup_dhcp: Optional[pulumi.Input[bool]] = None,
713
+ created_at: Optional[pulumi.Input[str]] = None,
714
+ dhcp_id: Optional[pulumi.Input[str]] = None,
715
+ enable_dhcp: Optional[pulumi.Input[bool]] = None,
716
+ enable_masquerade: Optional[pulumi.Input[bool]] = None,
717
+ gateway_id: Optional[pulumi.Input[str]] = None,
718
+ ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
719
+ mac_address: Optional[pulumi.Input[str]] = None,
720
+ private_network_id: Optional[pulumi.Input[str]] = None,
721
+ static_address: Optional[pulumi.Input[str]] = None,
722
+ status: Optional[pulumi.Input[str]] = None,
723
+ updated_at: Optional[pulumi.Input[str]] = None,
724
+ zone: Optional[pulumi.Input[str]] = None) -> 'GatewayNetwork':
725
+ """
726
+ Get an existing GatewayNetwork resource's state with the given name, id, and optional extra
727
+ properties used to qualify the lookup.
728
+
729
+ :param str resource_name: The unique name of the resulting resource.
730
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
731
+ :param pulumi.ResourceOptions opts: Options for the resource.
732
+ :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
733
+ :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork.
734
+ :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
735
+ :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
736
+ :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
737
+ :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
738
+ :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.
739
+ :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
740
+ :param pulumi.Input[str] private_network_id: The ID of the Private Network.
741
+ :param pulumi.Input[str] static_address: Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
742
+ :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
743
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the GatewayNetwork.
744
+ :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
745
+ """
746
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
747
+
748
+ __props__ = _GatewayNetworkState.__new__(_GatewayNetworkState)
749
+
750
+ __props__.__dict__["cleanup_dhcp"] = cleanup_dhcp
751
+ __props__.__dict__["created_at"] = created_at
752
+ __props__.__dict__["dhcp_id"] = dhcp_id
753
+ __props__.__dict__["enable_dhcp"] = enable_dhcp
754
+ __props__.__dict__["enable_masquerade"] = enable_masquerade
755
+ __props__.__dict__["gateway_id"] = gateway_id
756
+ __props__.__dict__["ipam_configs"] = ipam_configs
757
+ __props__.__dict__["mac_address"] = mac_address
758
+ __props__.__dict__["private_network_id"] = private_network_id
759
+ __props__.__dict__["static_address"] = static_address
760
+ __props__.__dict__["status"] = status
761
+ __props__.__dict__["updated_at"] = updated_at
762
+ __props__.__dict__["zone"] = zone
763
+ return GatewayNetwork(resource_name, opts=opts, __props__=__props__)
764
+
765
+ @property
766
+ @pulumi.getter(name="cleanupDhcp")
767
+ def cleanup_dhcp(self) -> pulumi.Output[Optional[bool]]:
768
+ """
769
+ Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
770
+ """
771
+ return pulumi.get(self, "cleanup_dhcp")
772
+
773
+ @property
774
+ @pulumi.getter(name="createdAt")
775
+ def created_at(self) -> pulumi.Output[str]:
776
+ """
777
+ The date and time of the creation of the GatewayNetwork.
778
+ """
779
+ return pulumi.get(self, "created_at")
780
+
781
+ @property
782
+ @pulumi.getter(name="dhcpId")
783
+ def dhcp_id(self) -> pulumi.Output[Optional[str]]:
784
+ """
785
+ The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
786
+ """
787
+ return pulumi.get(self, "dhcp_id")
788
+
789
+ @property
790
+ @pulumi.getter(name="enableDhcp")
791
+ def enable_dhcp(self) -> pulumi.Output[Optional[bool]]:
792
+ """
793
+ Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
794
+ """
795
+ return pulumi.get(self, "enable_dhcp")
796
+
797
+ @property
798
+ @pulumi.getter(name="enableMasquerade")
799
+ def enable_masquerade(self) -> pulumi.Output[Optional[bool]]:
800
+ """
801
+ Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
802
+ """
803
+ return pulumi.get(self, "enable_masquerade")
804
+
805
+ @property
806
+ @pulumi.getter(name="gatewayId")
807
+ def gateway_id(self) -> pulumi.Output[str]:
808
+ """
809
+ The ID of the Public Gateway.
810
+ """
811
+ return pulumi.get(self, "gateway_id")
812
+
813
+ @property
814
+ @pulumi.getter(name="ipamConfigs")
815
+ def ipam_configs(self) -> pulumi.Output[Sequence['outputs.GatewayNetworkIpamConfig']]:
816
+ """
817
+ 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.
818
+ """
819
+ return pulumi.get(self, "ipam_configs")
820
+
821
+ @property
822
+ @pulumi.getter(name="macAddress")
823
+ def mac_address(self) -> pulumi.Output[str]:
824
+ """
825
+ The MAC address of the GatewayNetwork.
826
+ """
827
+ return pulumi.get(self, "mac_address")
828
+
829
+ @property
830
+ @pulumi.getter(name="privateNetworkId")
831
+ def private_network_id(self) -> pulumi.Output[str]:
832
+ """
833
+ The ID of the Private Network.
834
+ """
835
+ return pulumi.get(self, "private_network_id")
836
+
837
+ @property
838
+ @pulumi.getter(name="staticAddress")
839
+ def static_address(self) -> pulumi.Output[str]:
840
+ """
841
+ Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
842
+ """
843
+ return pulumi.get(self, "static_address")
844
+
845
+ @property
846
+ @pulumi.getter
847
+ def status(self) -> pulumi.Output[str]:
848
+ """
849
+ The status of the Public Gateway's connection to the Private Network.
850
+ """
851
+ return pulumi.get(self, "status")
852
+
853
+ @property
854
+ @pulumi.getter(name="updatedAt")
855
+ def updated_at(self) -> pulumi.Output[str]:
856
+ """
857
+ The date and time of the last update of the GatewayNetwork.
858
+ """
859
+ return pulumi.get(self, "updated_at")
860
+
861
+ @property
862
+ @pulumi.getter
863
+ def zone(self) -> pulumi.Output[str]:
864
+ """
865
+ `zone`) The zone in which the gateway network should be created.
866
+ """
867
+ return pulumi.get(self, "zone")
868
+