pulumiverse-scaleway 1.25.0a1742288097__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.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742288097.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,704 @@
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: 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
+ 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: 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
+ 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
+ ## Example Usage
357
+
358
+ ### Basic
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumiverse_scaleway as scaleway
363
+
364
+ main = scaleway.elasticmetal.Ip("main", reverse="my-reverse.com")
365
+ ```
366
+
367
+ ### With zone
368
+
369
+ ```python
370
+ import pulumi
371
+ import pulumiverse_scaleway as scaleway
372
+
373
+ main = scaleway.elasticmetal.Ip("main", zone="fr-par-2")
374
+ ```
375
+
376
+ ### With IPv6
377
+
378
+ ```python
379
+ import pulumi
380
+ import pulumiverse_scaleway as scaleway
381
+
382
+ main = scaleway.elasticmetal.Ip("main", is_ipv6=True)
383
+ ```
384
+
385
+ ### With baremetal server
386
+
387
+ ```python
388
+ import pulumi
389
+ import pulumi_scaleway as scaleway
390
+ import pulumiverse_scaleway as scaleway
391
+
392
+ main = scaleway.account.SshKey("main",
393
+ name="main",
394
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
395
+ by_id = scaleway.elasticmetal.get_os(zone="fr-par-2",
396
+ name="Ubuntu",
397
+ version="20.04 LTS (Focal Fossa)")
398
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
399
+ name="EM-A210R-HDD")
400
+ base = scaleway.elasticmetal.Server("base",
401
+ zone="fr-par-2",
402
+ offer=my_offer.offer_id,
403
+ os=by_id.os_id,
404
+ ssh_key_ids=main.id)
405
+ main_ip = scaleway.elasticmetal.Ip("main",
406
+ server_id=base.id,
407
+ zone="fr-par-2")
408
+ ```
409
+
410
+ ## Import
411
+
412
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
413
+
414
+ bash
415
+
416
+ ```sh
417
+ $ pulumi import scaleway:elasticmetal/ip:Ip main fr-par-1/11111111-1111-1111-1111-111111111111
418
+ ```
419
+
420
+ :param str resource_name: The name of the resource.
421
+ :param pulumi.ResourceOptions opts: Options for the resource.
422
+ :param pulumi.Input[str] description: A description of the flexible IP.
423
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
424
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
425
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
426
+ :param pulumi.Input[str] server_id: The ID of the associated server.
427
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
428
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
429
+ """
430
+ ...
431
+ @overload
432
+ def __init__(__self__,
433
+ resource_name: str,
434
+ args: Optional[IpArgs] = None,
435
+ opts: Optional[pulumi.ResourceOptions] = None):
436
+ """
437
+ Creates and manages Scaleway flexible IPs.
438
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).
439
+
440
+ ## Example Usage
441
+
442
+ ### Basic
443
+
444
+ ```python
445
+ import pulumi
446
+ import pulumiverse_scaleway as scaleway
447
+
448
+ main = scaleway.elasticmetal.Ip("main", reverse="my-reverse.com")
449
+ ```
450
+
451
+ ### With zone
452
+
453
+ ```python
454
+ import pulumi
455
+ import pulumiverse_scaleway as scaleway
456
+
457
+ main = scaleway.elasticmetal.Ip("main", zone="fr-par-2")
458
+ ```
459
+
460
+ ### With IPv6
461
+
462
+ ```python
463
+ import pulumi
464
+ import pulumiverse_scaleway as scaleway
465
+
466
+ main = scaleway.elasticmetal.Ip("main", is_ipv6=True)
467
+ ```
468
+
469
+ ### With baremetal server
470
+
471
+ ```python
472
+ import pulumi
473
+ import pulumi_scaleway as scaleway
474
+ import pulumiverse_scaleway as scaleway
475
+
476
+ main = scaleway.account.SshKey("main",
477
+ name="main",
478
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
479
+ by_id = scaleway.elasticmetal.get_os(zone="fr-par-2",
480
+ name="Ubuntu",
481
+ version="20.04 LTS (Focal Fossa)")
482
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
483
+ name="EM-A210R-HDD")
484
+ base = scaleway.elasticmetal.Server("base",
485
+ zone="fr-par-2",
486
+ offer=my_offer.offer_id,
487
+ os=by_id.os_id,
488
+ ssh_key_ids=main.id)
489
+ main_ip = scaleway.elasticmetal.Ip("main",
490
+ server_id=base.id,
491
+ zone="fr-par-2")
492
+ ```
493
+
494
+ ## Import
495
+
496
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
497
+
498
+ bash
499
+
500
+ ```sh
501
+ $ pulumi import scaleway:elasticmetal/ip:Ip main fr-par-1/11111111-1111-1111-1111-111111111111
502
+ ```
503
+
504
+ :param str resource_name: The name of the resource.
505
+ :param IpArgs args: The arguments to use to populate this resource's properties.
506
+ :param pulumi.ResourceOptions opts: Options for the resource.
507
+ """
508
+ ...
509
+ def __init__(__self__, resource_name: str, *args, **kwargs):
510
+ resource_args, opts = _utilities.get_resource_args_opts(IpArgs, pulumi.ResourceOptions, *args, **kwargs)
511
+ if resource_args is not None:
512
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
513
+ else:
514
+ __self__._internal_init(resource_name, *args, **kwargs)
515
+
516
+ def _internal_init(__self__,
517
+ resource_name: str,
518
+ opts: Optional[pulumi.ResourceOptions] = None,
519
+ description: Optional[pulumi.Input[str]] = None,
520
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
521
+ project_id: Optional[pulumi.Input[str]] = None,
522
+ reverse: Optional[pulumi.Input[str]] = None,
523
+ server_id: Optional[pulumi.Input[str]] = None,
524
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
525
+ zone: Optional[pulumi.Input[str]] = None,
526
+ __props__=None):
527
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
528
+ if not isinstance(opts, pulumi.ResourceOptions):
529
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
530
+ if opts.id is None:
531
+ if __props__ is not None:
532
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
533
+ __props__ = IpArgs.__new__(IpArgs)
534
+
535
+ __props__.__dict__["description"] = description
536
+ __props__.__dict__["is_ipv6"] = is_ipv6
537
+ __props__.__dict__["project_id"] = project_id
538
+ __props__.__dict__["reverse"] = reverse
539
+ __props__.__dict__["server_id"] = server_id
540
+ __props__.__dict__["tags"] = tags
541
+ __props__.__dict__["zone"] = zone
542
+ __props__.__dict__["created_at"] = None
543
+ __props__.__dict__["ip_address"] = None
544
+ __props__.__dict__["organization_id"] = None
545
+ __props__.__dict__["status"] = None
546
+ __props__.__dict__["updated_at"] = None
547
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/flexibleIp:FlexibleIp")])
548
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
549
+ super(Ip, __self__).__init__(
550
+ 'scaleway:elasticmetal/ip:Ip',
551
+ resource_name,
552
+ __props__,
553
+ opts)
554
+
555
+ @staticmethod
556
+ def get(resource_name: str,
557
+ id: pulumi.Input[str],
558
+ opts: Optional[pulumi.ResourceOptions] = None,
559
+ created_at: Optional[pulumi.Input[str]] = None,
560
+ description: Optional[pulumi.Input[str]] = None,
561
+ ip_address: Optional[pulumi.Input[str]] = None,
562
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
563
+ organization_id: Optional[pulumi.Input[str]] = None,
564
+ project_id: Optional[pulumi.Input[str]] = None,
565
+ reverse: Optional[pulumi.Input[str]] = None,
566
+ server_id: Optional[pulumi.Input[str]] = None,
567
+ status: Optional[pulumi.Input[str]] = None,
568
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
569
+ updated_at: Optional[pulumi.Input[str]] = None,
570
+ zone: Optional[pulumi.Input[str]] = None) -> 'Ip':
571
+ """
572
+ Get an existing Ip resource's state with the given name, id, and optional extra
573
+ properties used to qualify the lookup.
574
+
575
+ :param str resource_name: The unique name of the resulting resource.
576
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
577
+ :param pulumi.ResourceOptions opts: Options for the resource.
578
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Flexible IP (Format ISO 8601).
579
+ :param pulumi.Input[str] description: A description of the flexible IP.
580
+ :param pulumi.Input[str] ip_address: The IP address of the Flexible IP.
581
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
582
+ :param pulumi.Input[str] organization_id: The organization of the Flexible IP.
583
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
584
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
585
+ :param pulumi.Input[str] server_id: The ID of the associated server.
586
+ :param pulumi.Input[str] status: The status of the flexible IP.
587
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
588
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Flexible IP (Format ISO 8601).
589
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
590
+ """
591
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
592
+
593
+ __props__ = _IpState.__new__(_IpState)
594
+
595
+ __props__.__dict__["created_at"] = created_at
596
+ __props__.__dict__["description"] = description
597
+ __props__.__dict__["ip_address"] = ip_address
598
+ __props__.__dict__["is_ipv6"] = is_ipv6
599
+ __props__.__dict__["organization_id"] = organization_id
600
+ __props__.__dict__["project_id"] = project_id
601
+ __props__.__dict__["reverse"] = reverse
602
+ __props__.__dict__["server_id"] = server_id
603
+ __props__.__dict__["status"] = status
604
+ __props__.__dict__["tags"] = tags
605
+ __props__.__dict__["updated_at"] = updated_at
606
+ __props__.__dict__["zone"] = zone
607
+ return Ip(resource_name, opts=opts, __props__=__props__)
608
+
609
+ @property
610
+ @pulumi.getter(name="createdAt")
611
+ def created_at(self) -> pulumi.Output[str]:
612
+ """
613
+ The date and time of the creation of the Flexible IP (Format ISO 8601).
614
+ """
615
+ return pulumi.get(self, "created_at")
616
+
617
+ @property
618
+ @pulumi.getter
619
+ def description(self) -> pulumi.Output[Optional[str]]:
620
+ """
621
+ A description of the flexible IP.
622
+ """
623
+ return pulumi.get(self, "description")
624
+
625
+ @property
626
+ @pulumi.getter(name="ipAddress")
627
+ def ip_address(self) -> pulumi.Output[str]:
628
+ """
629
+ The IP address of the Flexible IP.
630
+ """
631
+ return pulumi.get(self, "ip_address")
632
+
633
+ @property
634
+ @pulumi.getter(name="isIpv6")
635
+ def is_ipv6(self) -> pulumi.Output[Optional[bool]]:
636
+ """
637
+ Defines whether the flexible IP has an IPv6 address.
638
+ """
639
+ return pulumi.get(self, "is_ipv6")
640
+
641
+ @property
642
+ @pulumi.getter(name="organizationId")
643
+ def organization_id(self) -> pulumi.Output[str]:
644
+ """
645
+ The organization of the Flexible IP.
646
+ """
647
+ return pulumi.get(self, "organization_id")
648
+
649
+ @property
650
+ @pulumi.getter(name="projectId")
651
+ def project_id(self) -> pulumi.Output[str]:
652
+ """
653
+ The project of the Flexible IP.
654
+ """
655
+ return pulumi.get(self, "project_id")
656
+
657
+ @property
658
+ @pulumi.getter
659
+ def reverse(self) -> pulumi.Output[str]:
660
+ """
661
+ The reverse domain associated with this flexible IP.
662
+ """
663
+ return pulumi.get(self, "reverse")
664
+
665
+ @property
666
+ @pulumi.getter(name="serverId")
667
+ def server_id(self) -> pulumi.Output[Optional[str]]:
668
+ """
669
+ The ID of the associated server.
670
+ """
671
+ return pulumi.get(self, "server_id")
672
+
673
+ @property
674
+ @pulumi.getter
675
+ def status(self) -> pulumi.Output[str]:
676
+ """
677
+ The status of the flexible IP.
678
+ """
679
+ return pulumi.get(self, "status")
680
+
681
+ @property
682
+ @pulumi.getter
683
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
684
+ """
685
+ A list of tags to apply to the flexible IP.
686
+ """
687
+ return pulumi.get(self, "tags")
688
+
689
+ @property
690
+ @pulumi.getter(name="updatedAt")
691
+ def updated_at(self) -> pulumi.Output[str]:
692
+ """
693
+ The date and time of the last update of the Flexible IP (Format ISO 8601).
694
+ """
695
+ return pulumi.get(self, "updated_at")
696
+
697
+ @property
698
+ @pulumi.getter
699
+ def zone(self) -> pulumi.Output[str]:
700
+ """
701
+ The zone of the Flexible IP.
702
+ """
703
+ return pulumi.get(self, "zone")
704
+