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