pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.0a1742897201__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0a1742897201.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.26.0a1742897201.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0a1742897201.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0a1742897201.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,512 @@
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__ = ['IpMacAddressArgs', 'IpMacAddress']
18
+
19
+ @pulumi.input_type
20
+ class IpMacAddressArgs:
21
+ def __init__(__self__, *,
22
+ flexible_ip_id: pulumi.Input[str],
23
+ type: pulumi.Input[str],
24
+ flexible_ip_ids_to_duplicates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
25
+ zone: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a IpMacAddress resource.
28
+ :param pulumi.Input[str] flexible_ip_id: The ID of the flexible IP for which to generate a virtual MAC.
29
+ :param pulumi.Input[str] type: The type of the virtual MAC.
30
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] flexible_ip_ids_to_duplicates: The IDs of the flexible IPs on which to duplicate the virtual MAC.
31
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
32
+ :param pulumi.Input[str] zone: The zone of the Virtual Mac Address.
33
+ """
34
+ pulumi.set(__self__, "flexible_ip_id", flexible_ip_id)
35
+ pulumi.set(__self__, "type", type)
36
+ if flexible_ip_ids_to_duplicates is not None:
37
+ pulumi.set(__self__, "flexible_ip_ids_to_duplicates", flexible_ip_ids_to_duplicates)
38
+ if zone is not None:
39
+ pulumi.set(__self__, "zone", zone)
40
+
41
+ @property
42
+ @pulumi.getter(name="flexibleIpId")
43
+ def flexible_ip_id(self) -> pulumi.Input[str]:
44
+ """
45
+ The ID of the flexible IP for which to generate a virtual MAC.
46
+ """
47
+ return pulumi.get(self, "flexible_ip_id")
48
+
49
+ @flexible_ip_id.setter
50
+ def flexible_ip_id(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "flexible_ip_id", value)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def type(self) -> pulumi.Input[str]:
56
+ """
57
+ The type of the virtual MAC.
58
+ """
59
+ return pulumi.get(self, "type")
60
+
61
+ @type.setter
62
+ def type(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "type", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="flexibleIpIdsToDuplicates")
67
+ def flexible_ip_ids_to_duplicates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
68
+ """
69
+ The IDs of the flexible IPs on which to duplicate the virtual MAC.
70
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
71
+ """
72
+ return pulumi.get(self, "flexible_ip_ids_to_duplicates")
73
+
74
+ @flexible_ip_ids_to_duplicates.setter
75
+ def flexible_ip_ids_to_duplicates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
76
+ pulumi.set(self, "flexible_ip_ids_to_duplicates", value)
77
+
78
+ @property
79
+ @pulumi.getter
80
+ def zone(self) -> Optional[pulumi.Input[str]]:
81
+ """
82
+ The zone of the Virtual Mac Address.
83
+ """
84
+ return pulumi.get(self, "zone")
85
+
86
+ @zone.setter
87
+ def zone(self, value: Optional[pulumi.Input[str]]):
88
+ pulumi.set(self, "zone", value)
89
+
90
+
91
+ @pulumi.input_type
92
+ class _IpMacAddressState:
93
+ def __init__(__self__, *,
94
+ address: Optional[pulumi.Input[str]] = None,
95
+ created_at: Optional[pulumi.Input[str]] = None,
96
+ flexible_ip_id: Optional[pulumi.Input[str]] = None,
97
+ flexible_ip_ids_to_duplicates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
98
+ status: Optional[pulumi.Input[str]] = None,
99
+ type: Optional[pulumi.Input[str]] = None,
100
+ updated_at: Optional[pulumi.Input[str]] = None,
101
+ zone: Optional[pulumi.Input[str]] = None):
102
+ """
103
+ Input properties used for looking up and filtering IpMacAddress resources.
104
+ :param pulumi.Input[str] address: The Virtual MAC address.
105
+ :param pulumi.Input[str] created_at: The date at which the Virtual Mac Address was created (RFC 3339 format).
106
+ :param pulumi.Input[str] flexible_ip_id: The ID of the flexible IP for which to generate a virtual MAC.
107
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] flexible_ip_ids_to_duplicates: The IDs of the flexible IPs on which to duplicate the virtual MAC.
108
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
109
+ :param pulumi.Input[str] status: The Virtual MAC status.
110
+ :param pulumi.Input[str] type: The type of the virtual MAC.
111
+ :param pulumi.Input[str] updated_at: The date at which the Virtual Mac Address was last updated (RFC 3339 format).
112
+ :param pulumi.Input[str] zone: The zone of the Virtual Mac Address.
113
+ """
114
+ if address is not None:
115
+ pulumi.set(__self__, "address", address)
116
+ if created_at is not None:
117
+ pulumi.set(__self__, "created_at", created_at)
118
+ if flexible_ip_id is not None:
119
+ pulumi.set(__self__, "flexible_ip_id", flexible_ip_id)
120
+ if flexible_ip_ids_to_duplicates is not None:
121
+ pulumi.set(__self__, "flexible_ip_ids_to_duplicates", flexible_ip_ids_to_duplicates)
122
+ if status is not None:
123
+ pulumi.set(__self__, "status", status)
124
+ if type is not None:
125
+ pulumi.set(__self__, "type", type)
126
+ if updated_at is not None:
127
+ pulumi.set(__self__, "updated_at", updated_at)
128
+ if zone is not None:
129
+ pulumi.set(__self__, "zone", zone)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def address(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ The Virtual MAC address.
136
+ """
137
+ return pulumi.get(self, "address")
138
+
139
+ @address.setter
140
+ def address(self, value: Optional[pulumi.Input[str]]):
141
+ pulumi.set(self, "address", value)
142
+
143
+ @property
144
+ @pulumi.getter(name="createdAt")
145
+ def created_at(self) -> Optional[pulumi.Input[str]]:
146
+ """
147
+ The date at which the Virtual Mac Address was created (RFC 3339 format).
148
+ """
149
+ return pulumi.get(self, "created_at")
150
+
151
+ @created_at.setter
152
+ def created_at(self, value: Optional[pulumi.Input[str]]):
153
+ pulumi.set(self, "created_at", value)
154
+
155
+ @property
156
+ @pulumi.getter(name="flexibleIpId")
157
+ def flexible_ip_id(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ The ID of the flexible IP for which to generate a virtual MAC.
160
+ """
161
+ return pulumi.get(self, "flexible_ip_id")
162
+
163
+ @flexible_ip_id.setter
164
+ def flexible_ip_id(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "flexible_ip_id", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="flexibleIpIdsToDuplicates")
169
+ def flexible_ip_ids_to_duplicates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
170
+ """
171
+ The IDs of the flexible IPs on which to duplicate the virtual MAC.
172
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
173
+ """
174
+ return pulumi.get(self, "flexible_ip_ids_to_duplicates")
175
+
176
+ @flexible_ip_ids_to_duplicates.setter
177
+ def flexible_ip_ids_to_duplicates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
178
+ pulumi.set(self, "flexible_ip_ids_to_duplicates", value)
179
+
180
+ @property
181
+ @pulumi.getter
182
+ def status(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ The Virtual MAC status.
185
+ """
186
+ return pulumi.get(self, "status")
187
+
188
+ @status.setter
189
+ def status(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "status", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def type(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ The type of the virtual MAC.
197
+ """
198
+ return pulumi.get(self, "type")
199
+
200
+ @type.setter
201
+ def type(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "type", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="updatedAt")
206
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ The date at which the Virtual Mac Address was last updated (RFC 3339 format).
209
+ """
210
+ return pulumi.get(self, "updated_at")
211
+
212
+ @updated_at.setter
213
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "updated_at", value)
215
+
216
+ @property
217
+ @pulumi.getter
218
+ def zone(self) -> Optional[pulumi.Input[str]]:
219
+ """
220
+ The zone of the Virtual Mac Address.
221
+ """
222
+ return pulumi.get(self, "zone")
223
+
224
+ @zone.setter
225
+ def zone(self, value: Optional[pulumi.Input[str]]):
226
+ pulumi.set(self, "zone", value)
227
+
228
+
229
+ class IpMacAddress(pulumi.CustomResource):
230
+ @overload
231
+ def __init__(__self__,
232
+ resource_name: str,
233
+ opts: Optional[pulumi.ResourceOptions] = None,
234
+ flexible_ip_id: Optional[pulumi.Input[str]] = None,
235
+ flexible_ip_ids_to_duplicates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
236
+ type: Optional[pulumi.Input[str]] = None,
237
+ zone: Optional[pulumi.Input[str]] = None,
238
+ __props__=None):
239
+ """
240
+ Creates and manages Scaleway Flexible IP Mac Addresses.
241
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/).
242
+
243
+ ## Example Usage
244
+
245
+ ### Basic
246
+
247
+ ```python
248
+ import pulumi
249
+ import pulumiverse_scaleway as scaleway
250
+
251
+ main = scaleway.elasticmetal.Ip("main")
252
+ main_ip_mac_address = scaleway.elasticmetal.IpMacAddress("main",
253
+ flexible_ip_id=main.id,
254
+ type="kvm")
255
+ ```
256
+
257
+ ### Duplicate on many other flexible IPs
258
+
259
+ ```python
260
+ import pulumi
261
+ import pulumi_scaleway as scaleway
262
+ import pulumiverse_scaleway as scaleway
263
+
264
+ my_offer = scaleway.elasticmetal.get_offer(name="EM-B112X-SSD")
265
+ base = scaleway.elasticmetal.Server("base",
266
+ name="TestAccScalewayBaremetalServer_WithoutInstallConfig",
267
+ offer=my_offer.offer_id,
268
+ install_config_afterward=True)
269
+ ip01 = scaleway.elasticmetal.Ip("ip01", server_id=base.id)
270
+ ip02 = scaleway.elasticmetal.Ip("ip02", server_id=base.id)
271
+ ip03 = scaleway.elasticmetal.Ip("ip03", server_id=base.id)
272
+ main = scaleway.elasticmetal.IpMacAddress("main",
273
+ flexible_ip_id=ip01.id,
274
+ type="kvm",
275
+ flexible_ip_ids_to_duplicates=[
276
+ ip02.id,
277
+ ip03.id,
278
+ ])
279
+ ```
280
+
281
+ ## Import
282
+
283
+ Flexible IP Mac Addresses can be imported using the `{zone}/{id}`, e.g.
284
+
285
+ bash
286
+
287
+ ```sh
288
+ $ pulumi import scaleway:elasticmetal/ipMacAddress:IpMacAddress main fr-par-1/11111111-1111-1111-1111-111111111111
289
+ ```
290
+
291
+ :param str resource_name: The name of the resource.
292
+ :param pulumi.ResourceOptions opts: Options for the resource.
293
+ :param pulumi.Input[str] flexible_ip_id: The ID of the flexible IP for which to generate a virtual MAC.
294
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] flexible_ip_ids_to_duplicates: The IDs of the flexible IPs on which to duplicate the virtual MAC.
295
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
296
+ :param pulumi.Input[str] type: The type of the virtual MAC.
297
+ :param pulumi.Input[str] zone: The zone of the Virtual Mac Address.
298
+ """
299
+ ...
300
+ @overload
301
+ def __init__(__self__,
302
+ resource_name: str,
303
+ args: IpMacAddressArgs,
304
+ opts: Optional[pulumi.ResourceOptions] = None):
305
+ """
306
+ Creates and manages Scaleway Flexible IP Mac Addresses.
307
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/).
308
+
309
+ ## Example Usage
310
+
311
+ ### Basic
312
+
313
+ ```python
314
+ import pulumi
315
+ import pulumiverse_scaleway as scaleway
316
+
317
+ main = scaleway.elasticmetal.Ip("main")
318
+ main_ip_mac_address = scaleway.elasticmetal.IpMacAddress("main",
319
+ flexible_ip_id=main.id,
320
+ type="kvm")
321
+ ```
322
+
323
+ ### Duplicate on many other flexible IPs
324
+
325
+ ```python
326
+ import pulumi
327
+ import pulumi_scaleway as scaleway
328
+ import pulumiverse_scaleway as scaleway
329
+
330
+ my_offer = scaleway.elasticmetal.get_offer(name="EM-B112X-SSD")
331
+ base = scaleway.elasticmetal.Server("base",
332
+ name="TestAccScalewayBaremetalServer_WithoutInstallConfig",
333
+ offer=my_offer.offer_id,
334
+ install_config_afterward=True)
335
+ ip01 = scaleway.elasticmetal.Ip("ip01", server_id=base.id)
336
+ ip02 = scaleway.elasticmetal.Ip("ip02", server_id=base.id)
337
+ ip03 = scaleway.elasticmetal.Ip("ip03", server_id=base.id)
338
+ main = scaleway.elasticmetal.IpMacAddress("main",
339
+ flexible_ip_id=ip01.id,
340
+ type="kvm",
341
+ flexible_ip_ids_to_duplicates=[
342
+ ip02.id,
343
+ ip03.id,
344
+ ])
345
+ ```
346
+
347
+ ## Import
348
+
349
+ Flexible IP Mac Addresses can be imported using the `{zone}/{id}`, e.g.
350
+
351
+ bash
352
+
353
+ ```sh
354
+ $ pulumi import scaleway:elasticmetal/ipMacAddress:IpMacAddress main fr-par-1/11111111-1111-1111-1111-111111111111
355
+ ```
356
+
357
+ :param str resource_name: The name of the resource.
358
+ :param IpMacAddressArgs args: The arguments to use to populate this resource's properties.
359
+ :param pulumi.ResourceOptions opts: Options for the resource.
360
+ """
361
+ ...
362
+ def __init__(__self__, resource_name: str, *args, **kwargs):
363
+ resource_args, opts = _utilities.get_resource_args_opts(IpMacAddressArgs, pulumi.ResourceOptions, *args, **kwargs)
364
+ if resource_args is not None:
365
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
366
+ else:
367
+ __self__._internal_init(resource_name, *args, **kwargs)
368
+
369
+ def _internal_init(__self__,
370
+ resource_name: str,
371
+ opts: Optional[pulumi.ResourceOptions] = None,
372
+ flexible_ip_id: Optional[pulumi.Input[str]] = None,
373
+ flexible_ip_ids_to_duplicates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
374
+ type: Optional[pulumi.Input[str]] = None,
375
+ zone: Optional[pulumi.Input[str]] = None,
376
+ __props__=None):
377
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
378
+ if not isinstance(opts, pulumi.ResourceOptions):
379
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
380
+ if opts.id is None:
381
+ if __props__ is not None:
382
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
383
+ __props__ = IpMacAddressArgs.__new__(IpMacAddressArgs)
384
+
385
+ if flexible_ip_id is None and not opts.urn:
386
+ raise TypeError("Missing required property 'flexible_ip_id'")
387
+ __props__.__dict__["flexible_ip_id"] = flexible_ip_id
388
+ __props__.__dict__["flexible_ip_ids_to_duplicates"] = flexible_ip_ids_to_duplicates
389
+ if type is None and not opts.urn:
390
+ raise TypeError("Missing required property 'type'")
391
+ __props__.__dict__["type"] = type
392
+ __props__.__dict__["zone"] = zone
393
+ __props__.__dict__["address"] = None
394
+ __props__.__dict__["created_at"] = None
395
+ __props__.__dict__["status"] = None
396
+ __props__.__dict__["updated_at"] = None
397
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/flexibleIpMacAddress:FlexibleIpMacAddress")])
398
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
399
+ super(IpMacAddress, __self__).__init__(
400
+ 'scaleway:elasticmetal/ipMacAddress:IpMacAddress',
401
+ resource_name,
402
+ __props__,
403
+ opts)
404
+
405
+ @staticmethod
406
+ def get(resource_name: str,
407
+ id: pulumi.Input[str],
408
+ opts: Optional[pulumi.ResourceOptions] = None,
409
+ address: Optional[pulumi.Input[str]] = None,
410
+ created_at: Optional[pulumi.Input[str]] = None,
411
+ flexible_ip_id: Optional[pulumi.Input[str]] = None,
412
+ flexible_ip_ids_to_duplicates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
413
+ status: Optional[pulumi.Input[str]] = None,
414
+ type: Optional[pulumi.Input[str]] = None,
415
+ updated_at: Optional[pulumi.Input[str]] = None,
416
+ zone: Optional[pulumi.Input[str]] = None) -> 'IpMacAddress':
417
+ """
418
+ Get an existing IpMacAddress resource's state with the given name, id, and optional extra
419
+ properties used to qualify the lookup.
420
+
421
+ :param str resource_name: The unique name of the resulting resource.
422
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
423
+ :param pulumi.ResourceOptions opts: Options for the resource.
424
+ :param pulumi.Input[str] address: The Virtual MAC address.
425
+ :param pulumi.Input[str] created_at: The date at which the Virtual Mac Address was created (RFC 3339 format).
426
+ :param pulumi.Input[str] flexible_ip_id: The ID of the flexible IP for which to generate a virtual MAC.
427
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] flexible_ip_ids_to_duplicates: The IDs of the flexible IPs on which to duplicate the virtual MAC.
428
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
429
+ :param pulumi.Input[str] status: The Virtual MAC status.
430
+ :param pulumi.Input[str] type: The type of the virtual MAC.
431
+ :param pulumi.Input[str] updated_at: The date at which the Virtual Mac Address was last updated (RFC 3339 format).
432
+ :param pulumi.Input[str] zone: The zone of the Virtual Mac Address.
433
+ """
434
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
435
+
436
+ __props__ = _IpMacAddressState.__new__(_IpMacAddressState)
437
+
438
+ __props__.__dict__["address"] = address
439
+ __props__.__dict__["created_at"] = created_at
440
+ __props__.__dict__["flexible_ip_id"] = flexible_ip_id
441
+ __props__.__dict__["flexible_ip_ids_to_duplicates"] = flexible_ip_ids_to_duplicates
442
+ __props__.__dict__["status"] = status
443
+ __props__.__dict__["type"] = type
444
+ __props__.__dict__["updated_at"] = updated_at
445
+ __props__.__dict__["zone"] = zone
446
+ return IpMacAddress(resource_name, opts=opts, __props__=__props__)
447
+
448
+ @property
449
+ @pulumi.getter
450
+ def address(self) -> pulumi.Output[str]:
451
+ """
452
+ The Virtual MAC address.
453
+ """
454
+ return pulumi.get(self, "address")
455
+
456
+ @property
457
+ @pulumi.getter(name="createdAt")
458
+ def created_at(self) -> pulumi.Output[str]:
459
+ """
460
+ The date at which the Virtual Mac Address was created (RFC 3339 format).
461
+ """
462
+ return pulumi.get(self, "created_at")
463
+
464
+ @property
465
+ @pulumi.getter(name="flexibleIpId")
466
+ def flexible_ip_id(self) -> pulumi.Output[str]:
467
+ """
468
+ The ID of the flexible IP for which to generate a virtual MAC.
469
+ """
470
+ return pulumi.get(self, "flexible_ip_id")
471
+
472
+ @property
473
+ @pulumi.getter(name="flexibleIpIdsToDuplicates")
474
+ def flexible_ip_ids_to_duplicates(self) -> pulumi.Output[Optional[Sequence[str]]]:
475
+ """
476
+ The IDs of the flexible IPs on which to duplicate the virtual MAC.
477
+ > **Important:** The flexible IPs need to be attached to the same server for the operation to work.
478
+ """
479
+ return pulumi.get(self, "flexible_ip_ids_to_duplicates")
480
+
481
+ @property
482
+ @pulumi.getter
483
+ def status(self) -> pulumi.Output[str]:
484
+ """
485
+ The Virtual MAC status.
486
+ """
487
+ return pulumi.get(self, "status")
488
+
489
+ @property
490
+ @pulumi.getter
491
+ def type(self) -> pulumi.Output[str]:
492
+ """
493
+ The type of the virtual MAC.
494
+ """
495
+ return pulumi.get(self, "type")
496
+
497
+ @property
498
+ @pulumi.getter(name="updatedAt")
499
+ def updated_at(self) -> pulumi.Output[str]:
500
+ """
501
+ The date at which the Virtual Mac Address was last updated (RFC 3339 format).
502
+ """
503
+ return pulumi.get(self, "updated_at")
504
+
505
+ @property
506
+ @pulumi.getter
507
+ def zone(self) -> pulumi.Output[str]:
508
+ """
509
+ The zone of the Virtual Mac Address.
510
+ """
511
+ return pulumi.get(self, "zone")
512
+