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

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