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,710 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['IpArgs', 'Ip']
18
+
19
+ @pulumi.input_type
20
+ class IpArgs:
21
+ def __init__(__self__, *,
22
+ description: Optional[pulumi.Input[str]] = None,
23
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
24
+ project_id: Optional[pulumi.Input[str]] = None,
25
+ reverse: Optional[pulumi.Input[str]] = None,
26
+ server_id: Optional[pulumi.Input[str]] = None,
27
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ zone: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a Ip resource.
31
+ :param pulumi.Input[str] description: A description of the flexible IP.
32
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
33
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
34
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
35
+ :param pulumi.Input[str] server_id: The ID of the associated server.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
37
+ :param pulumi.Input[str] zone: `zone`) The zone of the Flexible IP.
38
+ """
39
+ if description is not None:
40
+ pulumi.set(__self__, "description", description)
41
+ if is_ipv6 is not None:
42
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
43
+ if project_id is not None:
44
+ pulumi.set(__self__, "project_id", project_id)
45
+ if reverse is not None:
46
+ pulumi.set(__self__, "reverse", reverse)
47
+ if server_id is not None:
48
+ pulumi.set(__self__, "server_id", server_id)
49
+ if tags is not None:
50
+ pulumi.set(__self__, "tags", tags)
51
+ if zone is not None:
52
+ pulumi.set(__self__, "zone", zone)
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def description(self) -> Optional[pulumi.Input[str]]:
57
+ """
58
+ A description of the flexible IP.
59
+ """
60
+ return pulumi.get(self, "description")
61
+
62
+ @description.setter
63
+ def description(self, value: Optional[pulumi.Input[str]]):
64
+ pulumi.set(self, "description", value)
65
+
66
+ @property
67
+ @pulumi.getter(name="isIpv6")
68
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
69
+ """
70
+ Defines whether the flexible IP has an IPv6 address.
71
+ """
72
+ return pulumi.get(self, "is_ipv6")
73
+
74
+ @is_ipv6.setter
75
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
76
+ pulumi.set(self, "is_ipv6", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="projectId")
80
+ def project_id(self) -> Optional[pulumi.Input[str]]:
81
+ """
82
+ The project of the Flexible IP.
83
+ """
84
+ return pulumi.get(self, "project_id")
85
+
86
+ @project_id.setter
87
+ def project_id(self, value: Optional[pulumi.Input[str]]):
88
+ pulumi.set(self, "project_id", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def reverse(self) -> Optional[pulumi.Input[str]]:
93
+ """
94
+ The reverse domain associated with this flexible IP.
95
+ """
96
+ return pulumi.get(self, "reverse")
97
+
98
+ @reverse.setter
99
+ def reverse(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "reverse", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="serverId")
104
+ def server_id(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ The ID of the associated server.
107
+ """
108
+ return pulumi.get(self, "server_id")
109
+
110
+ @server_id.setter
111
+ def server_id(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "server_id", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
117
+ """
118
+ A list of tags to apply to the flexible IP.
119
+ """
120
+ return pulumi.get(self, "tags")
121
+
122
+ @tags.setter
123
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
124
+ pulumi.set(self, "tags", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def zone(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ `zone`) The zone of the Flexible IP.
131
+ """
132
+ return pulumi.get(self, "zone")
133
+
134
+ @zone.setter
135
+ def zone(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "zone", value)
137
+
138
+
139
+ @pulumi.input_type
140
+ class _IpState:
141
+ def __init__(__self__, *,
142
+ created_at: Optional[pulumi.Input[str]] = None,
143
+ description: Optional[pulumi.Input[str]] = None,
144
+ ip_address: Optional[pulumi.Input[str]] = None,
145
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
146
+ organization_id: Optional[pulumi.Input[str]] = None,
147
+ project_id: Optional[pulumi.Input[str]] = None,
148
+ reverse: Optional[pulumi.Input[str]] = None,
149
+ server_id: Optional[pulumi.Input[str]] = None,
150
+ status: Optional[pulumi.Input[str]] = None,
151
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
152
+ updated_at: Optional[pulumi.Input[str]] = None,
153
+ zone: Optional[pulumi.Input[str]] = None):
154
+ """
155
+ Input properties used for looking up and filtering Ip resources.
156
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Flexible IP (Format ISO 8601).
157
+ :param pulumi.Input[str] description: A description of the flexible IP.
158
+ :param pulumi.Input[str] ip_address: The IP address of the Flexible IP.
159
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
160
+ :param pulumi.Input[str] organization_id: The organization of the Flexible IP.
161
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
162
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
163
+ :param pulumi.Input[str] server_id: The ID of the associated server.
164
+ :param pulumi.Input[str] status: The status of the flexible IP.
165
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
166
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Flexible IP (Format ISO 8601).
167
+ :param pulumi.Input[str] zone: `zone`) The zone of the Flexible IP.
168
+ """
169
+ if created_at is not None:
170
+ pulumi.set(__self__, "created_at", created_at)
171
+ if description is not None:
172
+ pulumi.set(__self__, "description", description)
173
+ if ip_address is not None:
174
+ pulumi.set(__self__, "ip_address", ip_address)
175
+ if is_ipv6 is not None:
176
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
177
+ if organization_id is not None:
178
+ pulumi.set(__self__, "organization_id", organization_id)
179
+ if project_id is not None:
180
+ pulumi.set(__self__, "project_id", project_id)
181
+ if reverse is not None:
182
+ pulumi.set(__self__, "reverse", reverse)
183
+ if server_id is not None:
184
+ pulumi.set(__self__, "server_id", server_id)
185
+ if status is not None:
186
+ pulumi.set(__self__, "status", status)
187
+ if tags is not None:
188
+ pulumi.set(__self__, "tags", tags)
189
+ if updated_at is not None:
190
+ pulumi.set(__self__, "updated_at", updated_at)
191
+ if zone is not None:
192
+ pulumi.set(__self__, "zone", zone)
193
+
194
+ @property
195
+ @pulumi.getter(name="createdAt")
196
+ def created_at(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The date and time of the creation of the Flexible IP (Format ISO 8601).
199
+ """
200
+ return pulumi.get(self, "created_at")
201
+
202
+ @created_at.setter
203
+ def created_at(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "created_at", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def description(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ A description of the flexible IP.
211
+ """
212
+ return pulumi.get(self, "description")
213
+
214
+ @description.setter
215
+ def description(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "description", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="ipAddress")
220
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
221
+ """
222
+ The IP address of the Flexible IP.
223
+ """
224
+ return pulumi.get(self, "ip_address")
225
+
226
+ @ip_address.setter
227
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
228
+ pulumi.set(self, "ip_address", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="isIpv6")
232
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
233
+ """
234
+ Defines whether the flexible IP has an IPv6 address.
235
+ """
236
+ return pulumi.get(self, "is_ipv6")
237
+
238
+ @is_ipv6.setter
239
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
240
+ pulumi.set(self, "is_ipv6", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="organizationId")
244
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ The organization of the Flexible IP.
247
+ """
248
+ return pulumi.get(self, "organization_id")
249
+
250
+ @organization_id.setter
251
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "organization_id", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="projectId")
256
+ def project_id(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ The project of the Flexible IP.
259
+ """
260
+ return pulumi.get(self, "project_id")
261
+
262
+ @project_id.setter
263
+ def project_id(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "project_id", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def reverse(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The reverse domain associated with this flexible IP.
271
+ """
272
+ return pulumi.get(self, "reverse")
273
+
274
+ @reverse.setter
275
+ def reverse(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "reverse", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="serverId")
280
+ def server_id(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ The ID of the associated server.
283
+ """
284
+ return pulumi.get(self, "server_id")
285
+
286
+ @server_id.setter
287
+ def server_id(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "server_id", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def status(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ The status of the flexible IP.
295
+ """
296
+ return pulumi.get(self, "status")
297
+
298
+ @status.setter
299
+ def status(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "status", value)
301
+
302
+ @property
303
+ @pulumi.getter
304
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
305
+ """
306
+ A list of tags to apply to the flexible IP.
307
+ """
308
+ return pulumi.get(self, "tags")
309
+
310
+ @tags.setter
311
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
312
+ pulumi.set(self, "tags", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="updatedAt")
316
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ The date and time of the last update of the Flexible IP (Format ISO 8601).
319
+ """
320
+ return pulumi.get(self, "updated_at")
321
+
322
+ @updated_at.setter
323
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "updated_at", value)
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def zone(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ `zone`) The zone of the Flexible IP.
331
+ """
332
+ return pulumi.get(self, "zone")
333
+
334
+ @zone.setter
335
+ def zone(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "zone", value)
337
+
338
+
339
+ class Ip(pulumi.CustomResource):
340
+ @overload
341
+ def __init__(__self__,
342
+ resource_name: str,
343
+ opts: Optional[pulumi.ResourceOptions] = None,
344
+ description: Optional[pulumi.Input[str]] = None,
345
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
346
+ project_id: Optional[pulumi.Input[str]] = None,
347
+ reverse: Optional[pulumi.Input[str]] = None,
348
+ server_id: Optional[pulumi.Input[str]] = None,
349
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
350
+ zone: Optional[pulumi.Input[str]] = None,
351
+ __props__=None):
352
+ """
353
+ Creates and manages Scaleway flexible IPs.
354
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).
355
+
356
+ > **Note:**
357
+ Flexible IPs are exclusively available for Elastic Metal (bare metal) servers. They are not compatible with other Scaleway products.
358
+
359
+ ## Example Usage
360
+
361
+ ### Basic
362
+
363
+ ```python
364
+ import pulumi
365
+ import pulumiverse_scaleway as scaleway
366
+
367
+ main = scaleway.elasticmetal.Ip("main", reverse="my-reverse.com")
368
+ ```
369
+
370
+ ### With zone
371
+
372
+ ```python
373
+ import pulumi
374
+ import pulumiverse_scaleway as scaleway
375
+
376
+ main = scaleway.elasticmetal.Ip("main", zone="fr-par-2")
377
+ ```
378
+
379
+ ### With IPv6
380
+
381
+ ```python
382
+ import pulumi
383
+ import pulumiverse_scaleway as scaleway
384
+
385
+ main = scaleway.elasticmetal.Ip("main", is_ipv6=True)
386
+ ```
387
+
388
+ ### With baremetal server
389
+
390
+ ```python
391
+ import pulumi
392
+ import pulumi_scaleway as scaleway
393
+ import pulumiverse_scaleway as scaleway
394
+
395
+ main = scaleway.account.SshKey("main",
396
+ name="main",
397
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
398
+ by_id = scaleway.elasticmetal.get_os(zone="fr-par-2",
399
+ name="Ubuntu",
400
+ version="20.04 LTS (Focal Fossa)")
401
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
402
+ name="EM-A210R-HDD")
403
+ base = scaleway.elasticmetal.Server("base",
404
+ zone="fr-par-2",
405
+ offer=my_offer.offer_id,
406
+ os=by_id.os_id,
407
+ ssh_key_ids=main.id)
408
+ main_ip = scaleway.elasticmetal.Ip("main",
409
+ server_id=base.id,
410
+ zone="fr-par-2")
411
+ ```
412
+
413
+ ## Import
414
+
415
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
416
+
417
+ bash
418
+
419
+ ```sh
420
+ $ pulumi import scaleway:elasticmetal/ip:Ip main fr-par-1/11111111-1111-1111-1111-111111111111
421
+ ```
422
+
423
+ :param str resource_name: The name of the resource.
424
+ :param pulumi.ResourceOptions opts: Options for the resource.
425
+ :param pulumi.Input[str] description: A description of the flexible IP.
426
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
427
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
428
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
429
+ :param pulumi.Input[str] server_id: The ID of the associated server.
430
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
431
+ :param pulumi.Input[str] zone: `zone`) The zone of the Flexible IP.
432
+ """
433
+ ...
434
+ @overload
435
+ def __init__(__self__,
436
+ resource_name: str,
437
+ args: Optional[IpArgs] = None,
438
+ opts: Optional[pulumi.ResourceOptions] = None):
439
+ """
440
+ Creates and manages Scaleway flexible IPs.
441
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).
442
+
443
+ > **Note:**
444
+ Flexible IPs are exclusively available for Elastic Metal (bare metal) servers. They are not compatible with other Scaleway products.
445
+
446
+ ## Example Usage
447
+
448
+ ### Basic
449
+
450
+ ```python
451
+ import pulumi
452
+ import pulumiverse_scaleway as scaleway
453
+
454
+ main = scaleway.elasticmetal.Ip("main", reverse="my-reverse.com")
455
+ ```
456
+
457
+ ### With zone
458
+
459
+ ```python
460
+ import pulumi
461
+ import pulumiverse_scaleway as scaleway
462
+
463
+ main = scaleway.elasticmetal.Ip("main", zone="fr-par-2")
464
+ ```
465
+
466
+ ### With IPv6
467
+
468
+ ```python
469
+ import pulumi
470
+ import pulumiverse_scaleway as scaleway
471
+
472
+ main = scaleway.elasticmetal.Ip("main", is_ipv6=True)
473
+ ```
474
+
475
+ ### With baremetal server
476
+
477
+ ```python
478
+ import pulumi
479
+ import pulumi_scaleway as scaleway
480
+ import pulumiverse_scaleway as scaleway
481
+
482
+ main = scaleway.account.SshKey("main",
483
+ name="main",
484
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
485
+ by_id = scaleway.elasticmetal.get_os(zone="fr-par-2",
486
+ name="Ubuntu",
487
+ version="20.04 LTS (Focal Fossa)")
488
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
489
+ name="EM-A210R-HDD")
490
+ base = scaleway.elasticmetal.Server("base",
491
+ zone="fr-par-2",
492
+ offer=my_offer.offer_id,
493
+ os=by_id.os_id,
494
+ ssh_key_ids=main.id)
495
+ main_ip = scaleway.elasticmetal.Ip("main",
496
+ server_id=base.id,
497
+ zone="fr-par-2")
498
+ ```
499
+
500
+ ## Import
501
+
502
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
503
+
504
+ bash
505
+
506
+ ```sh
507
+ $ pulumi import scaleway:elasticmetal/ip:Ip main fr-par-1/11111111-1111-1111-1111-111111111111
508
+ ```
509
+
510
+ :param str resource_name: The name of the resource.
511
+ :param IpArgs args: The arguments to use to populate this resource's properties.
512
+ :param pulumi.ResourceOptions opts: Options for the resource.
513
+ """
514
+ ...
515
+ def __init__(__self__, resource_name: str, *args, **kwargs):
516
+ resource_args, opts = _utilities.get_resource_args_opts(IpArgs, pulumi.ResourceOptions, *args, **kwargs)
517
+ if resource_args is not None:
518
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
519
+ else:
520
+ __self__._internal_init(resource_name, *args, **kwargs)
521
+
522
+ def _internal_init(__self__,
523
+ resource_name: str,
524
+ opts: Optional[pulumi.ResourceOptions] = None,
525
+ description: Optional[pulumi.Input[str]] = None,
526
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
527
+ project_id: Optional[pulumi.Input[str]] = None,
528
+ reverse: Optional[pulumi.Input[str]] = None,
529
+ server_id: Optional[pulumi.Input[str]] = None,
530
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
531
+ zone: Optional[pulumi.Input[str]] = None,
532
+ __props__=None):
533
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
534
+ if not isinstance(opts, pulumi.ResourceOptions):
535
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
536
+ if opts.id is None:
537
+ if __props__ is not None:
538
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
539
+ __props__ = IpArgs.__new__(IpArgs)
540
+
541
+ __props__.__dict__["description"] = description
542
+ __props__.__dict__["is_ipv6"] = is_ipv6
543
+ __props__.__dict__["project_id"] = project_id
544
+ __props__.__dict__["reverse"] = reverse
545
+ __props__.__dict__["server_id"] = server_id
546
+ __props__.__dict__["tags"] = tags
547
+ __props__.__dict__["zone"] = zone
548
+ __props__.__dict__["created_at"] = None
549
+ __props__.__dict__["ip_address"] = None
550
+ __props__.__dict__["organization_id"] = None
551
+ __props__.__dict__["status"] = None
552
+ __props__.__dict__["updated_at"] = None
553
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/flexibleIp:FlexibleIp")])
554
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
555
+ super(Ip, __self__).__init__(
556
+ 'scaleway:elasticmetal/ip:Ip',
557
+ resource_name,
558
+ __props__,
559
+ opts)
560
+
561
+ @staticmethod
562
+ def get(resource_name: str,
563
+ id: pulumi.Input[str],
564
+ opts: Optional[pulumi.ResourceOptions] = None,
565
+ created_at: Optional[pulumi.Input[str]] = None,
566
+ description: Optional[pulumi.Input[str]] = None,
567
+ ip_address: Optional[pulumi.Input[str]] = None,
568
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
569
+ organization_id: Optional[pulumi.Input[str]] = None,
570
+ project_id: Optional[pulumi.Input[str]] = None,
571
+ reverse: Optional[pulumi.Input[str]] = None,
572
+ server_id: Optional[pulumi.Input[str]] = None,
573
+ status: Optional[pulumi.Input[str]] = None,
574
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
575
+ updated_at: Optional[pulumi.Input[str]] = None,
576
+ zone: Optional[pulumi.Input[str]] = None) -> 'Ip':
577
+ """
578
+ Get an existing Ip resource's state with the given name, id, and optional extra
579
+ properties used to qualify the lookup.
580
+
581
+ :param str resource_name: The unique name of the resulting resource.
582
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
583
+ :param pulumi.ResourceOptions opts: Options for the resource.
584
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Flexible IP (Format ISO 8601).
585
+ :param pulumi.Input[str] description: A description of the flexible IP.
586
+ :param pulumi.Input[str] ip_address: The IP address of the Flexible IP.
587
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
588
+ :param pulumi.Input[str] organization_id: The organization of the Flexible IP.
589
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
590
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
591
+ :param pulumi.Input[str] server_id: The ID of the associated server.
592
+ :param pulumi.Input[str] status: The status of the flexible IP.
593
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
594
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Flexible IP (Format ISO 8601).
595
+ :param pulumi.Input[str] zone: `zone`) The zone of the Flexible IP.
596
+ """
597
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
598
+
599
+ __props__ = _IpState.__new__(_IpState)
600
+
601
+ __props__.__dict__["created_at"] = created_at
602
+ __props__.__dict__["description"] = description
603
+ __props__.__dict__["ip_address"] = ip_address
604
+ __props__.__dict__["is_ipv6"] = is_ipv6
605
+ __props__.__dict__["organization_id"] = organization_id
606
+ __props__.__dict__["project_id"] = project_id
607
+ __props__.__dict__["reverse"] = reverse
608
+ __props__.__dict__["server_id"] = server_id
609
+ __props__.__dict__["status"] = status
610
+ __props__.__dict__["tags"] = tags
611
+ __props__.__dict__["updated_at"] = updated_at
612
+ __props__.__dict__["zone"] = zone
613
+ return Ip(resource_name, opts=opts, __props__=__props__)
614
+
615
+ @property
616
+ @pulumi.getter(name="createdAt")
617
+ def created_at(self) -> pulumi.Output[str]:
618
+ """
619
+ The date and time of the creation of the Flexible IP (Format ISO 8601).
620
+ """
621
+ return pulumi.get(self, "created_at")
622
+
623
+ @property
624
+ @pulumi.getter
625
+ def description(self) -> pulumi.Output[Optional[str]]:
626
+ """
627
+ A description of the flexible IP.
628
+ """
629
+ return pulumi.get(self, "description")
630
+
631
+ @property
632
+ @pulumi.getter(name="ipAddress")
633
+ def ip_address(self) -> pulumi.Output[str]:
634
+ """
635
+ The IP address of the Flexible IP.
636
+ """
637
+ return pulumi.get(self, "ip_address")
638
+
639
+ @property
640
+ @pulumi.getter(name="isIpv6")
641
+ def is_ipv6(self) -> pulumi.Output[Optional[bool]]:
642
+ """
643
+ Defines whether the flexible IP has an IPv6 address.
644
+ """
645
+ return pulumi.get(self, "is_ipv6")
646
+
647
+ @property
648
+ @pulumi.getter(name="organizationId")
649
+ def organization_id(self) -> pulumi.Output[str]:
650
+ """
651
+ The organization of the Flexible IP.
652
+ """
653
+ return pulumi.get(self, "organization_id")
654
+
655
+ @property
656
+ @pulumi.getter(name="projectId")
657
+ def project_id(self) -> pulumi.Output[str]:
658
+ """
659
+ The project of the Flexible IP.
660
+ """
661
+ return pulumi.get(self, "project_id")
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def reverse(self) -> pulumi.Output[str]:
666
+ """
667
+ The reverse domain associated with this flexible IP.
668
+ """
669
+ return pulumi.get(self, "reverse")
670
+
671
+ @property
672
+ @pulumi.getter(name="serverId")
673
+ def server_id(self) -> pulumi.Output[Optional[str]]:
674
+ """
675
+ The ID of the associated server.
676
+ """
677
+ return pulumi.get(self, "server_id")
678
+
679
+ @property
680
+ @pulumi.getter
681
+ def status(self) -> pulumi.Output[str]:
682
+ """
683
+ The status of the flexible IP.
684
+ """
685
+ return pulumi.get(self, "status")
686
+
687
+ @property
688
+ @pulumi.getter
689
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
690
+ """
691
+ A list of tags to apply to the flexible IP.
692
+ """
693
+ return pulumi.get(self, "tags")
694
+
695
+ @property
696
+ @pulumi.getter(name="updatedAt")
697
+ def updated_at(self) -> pulumi.Output[str]:
698
+ """
699
+ The date and time of the last update of the Flexible IP (Format ISO 8601).
700
+ """
701
+ return pulumi.get(self, "updated_at")
702
+
703
+ @property
704
+ @pulumi.getter
705
+ def zone(self) -> pulumi.Output[str]:
706
+ """
707
+ `zone`) The zone of the Flexible IP.
708
+ """
709
+ return pulumi.get(self, "zone")
710
+