pulumiverse-scaleway 1.27.0a1744869119__py3-none-any.whl → 1.39.0a1764841480__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 (515) hide show
  1. pulumiverse_scaleway/__init__.py +109 -2
  2. pulumiverse_scaleway/_inputs.py +3936 -2603
  3. pulumiverse_scaleway/_utilities.py +1 -1
  4. pulumiverse_scaleway/account/__init__.py +4 -1
  5. pulumiverse_scaleway/account/get_availability_zones.py +12 -12
  6. pulumiverse_scaleway/account/get_project.py +28 -28
  7. pulumiverse_scaleway/account/get_projects.py +241 -0
  8. pulumiverse_scaleway/account/get_ssh_key.py +34 -34
  9. pulumiverse_scaleway/account/outputs.py +95 -0
  10. pulumiverse_scaleway/account/project.py +72 -71
  11. pulumiverse_scaleway/account/ssh_key.py +107 -106
  12. pulumiverse_scaleway/account_project.py +72 -71
  13. pulumiverse_scaleway/account_ssh_key.py +107 -106
  14. pulumiverse_scaleway/apple_silicon_server.py +334 -201
  15. pulumiverse_scaleway/applesilicon/__init__.py +2 -1
  16. pulumiverse_scaleway/applesilicon/_inputs.py +105 -51
  17. pulumiverse_scaleway/applesilicon/outputs.py +65 -33
  18. pulumiverse_scaleway/applesilicon/server.py +334 -201
  19. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  20. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  21. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  22. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  23. pulumiverse_scaleway/autoscaling/_inputs.py +558 -0
  24. pulumiverse_scaleway/autoscaling/instance_group.py +807 -0
  25. pulumiverse_scaleway/autoscaling/instance_policy.py +634 -0
  26. pulumiverse_scaleway/autoscaling/instance_template.py +878 -0
  27. pulumiverse_scaleway/autoscaling/outputs.py +438 -0
  28. pulumiverse_scaleway/baremetal_server.py +622 -524
  29. pulumiverse_scaleway/billing/__init__.py +2 -1
  30. pulumiverse_scaleway/billing/get_consumptions.py +19 -15
  31. pulumiverse_scaleway/billing/get_invoices.py +25 -25
  32. pulumiverse_scaleway/billing/outputs.py +96 -96
  33. pulumiverse_scaleway/block/__init__.py +4 -1
  34. pulumiverse_scaleway/block/_inputs.py +125 -0
  35. pulumiverse_scaleway/block/get_snapshot.py +60 -37
  36. pulumiverse_scaleway/block/get_volume.py +38 -38
  37. pulumiverse_scaleway/block/outputs.py +139 -0
  38. pulumiverse_scaleway/block/snapshot.py +272 -98
  39. pulumiverse_scaleway/block/volume.py +145 -144
  40. pulumiverse_scaleway/block_snapshot.py +272 -98
  41. pulumiverse_scaleway/block_volume.py +145 -144
  42. pulumiverse_scaleway/cockpit.py +71 -49
  43. pulumiverse_scaleway/cockpit_alert_manager.py +66 -65
  44. pulumiverse_scaleway/cockpit_grafana_user.py +72 -113
  45. pulumiverse_scaleway/cockpit_source.py +142 -141
  46. pulumiverse_scaleway/cockpit_token.py +84 -83
  47. pulumiverse_scaleway/config/__init__.py +2 -1
  48. pulumiverse_scaleway/config/__init__.pyi +2 -2
  49. pulumiverse_scaleway/config/vars.py +11 -11
  50. pulumiverse_scaleway/container.py +653 -424
  51. pulumiverse_scaleway/container_cron.py +97 -96
  52. pulumiverse_scaleway/container_domain.py +63 -62
  53. pulumiverse_scaleway/container_namespace.py +251 -172
  54. pulumiverse_scaleway/container_token.py +97 -96
  55. pulumiverse_scaleway/container_trigger.py +77 -76
  56. pulumiverse_scaleway/containers/__init__.py +2 -1
  57. pulumiverse_scaleway/containers/_inputs.py +87 -87
  58. pulumiverse_scaleway/containers/container.py +653 -424
  59. pulumiverse_scaleway/containers/cron.py +97 -96
  60. pulumiverse_scaleway/containers/domain.py +63 -62
  61. pulumiverse_scaleway/containers/get_container.py +117 -73
  62. pulumiverse_scaleway/containers/get_namespace.py +56 -45
  63. pulumiverse_scaleway/containers/namespace.py +251 -172
  64. pulumiverse_scaleway/containers/outputs.py +84 -84
  65. pulumiverse_scaleway/containers/token.py +97 -96
  66. pulumiverse_scaleway/containers/trigger.py +77 -76
  67. pulumiverse_scaleway/database.py +81 -80
  68. pulumiverse_scaleway/database_acl.py +148 -39
  69. pulumiverse_scaleway/database_backup.py +124 -123
  70. pulumiverse_scaleway/database_instance.py +531 -436
  71. pulumiverse_scaleway/database_privilege.py +88 -87
  72. pulumiverse_scaleway/database_read_replica.py +60 -59
  73. pulumiverse_scaleway/database_user.py +171 -98
  74. pulumiverse_scaleway/databases/__init__.py +2 -1
  75. pulumiverse_scaleway/databases/_inputs.py +364 -216
  76. pulumiverse_scaleway/databases/acl.py +148 -39
  77. pulumiverse_scaleway/databases/database.py +81 -80
  78. pulumiverse_scaleway/databases/database_backup.py +124 -123
  79. pulumiverse_scaleway/databases/get_acl.py +17 -17
  80. pulumiverse_scaleway/databases/get_database.py +26 -26
  81. pulumiverse_scaleway/databases/get_database_backup.py +46 -46
  82. pulumiverse_scaleway/databases/get_instance.py +95 -73
  83. pulumiverse_scaleway/databases/get_privilege.py +30 -30
  84. pulumiverse_scaleway/databases/instance.py +531 -436
  85. pulumiverse_scaleway/databases/outputs.py +419 -232
  86. pulumiverse_scaleway/databases/privilege.py +88 -87
  87. pulumiverse_scaleway/databases/read_replica.py +60 -59
  88. pulumiverse_scaleway/databases/serverless_database.py +97 -96
  89. pulumiverse_scaleway/databases/snapshot.py +127 -126
  90. pulumiverse_scaleway/databases/user.py +171 -98
  91. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  92. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  93. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  94. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  95. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  96. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  97. pulumiverse_scaleway/domain/__init__.py +2 -1
  98. pulumiverse_scaleway/domain/_inputs.py +661 -661
  99. pulumiverse_scaleway/domain/get_record.py +53 -64
  100. pulumiverse_scaleway/domain/get_zone.py +36 -30
  101. pulumiverse_scaleway/domain/outputs.py +501 -501
  102. pulumiverse_scaleway/domain/record.py +156 -202
  103. pulumiverse_scaleway/domain/registration.py +123 -122
  104. pulumiverse_scaleway/domain/zone.py +108 -107
  105. pulumiverse_scaleway/domain_record.py +156 -202
  106. pulumiverse_scaleway/domain_zone.py +108 -107
  107. pulumiverse_scaleway/edge_services_backend_stage.py +61 -60
  108. pulumiverse_scaleway/edge_services_cache_stage.py +283 -111
  109. pulumiverse_scaleway/edge_services_dns_stage.py +169 -140
  110. pulumiverse_scaleway/edge_services_head_stage.py +37 -36
  111. pulumiverse_scaleway/edge_services_pipeline.py +125 -82
  112. pulumiverse_scaleway/edge_services_plan.py +37 -36
  113. pulumiverse_scaleway/edge_services_route_stage.py +75 -74
  114. pulumiverse_scaleway/edge_services_tls_stage.py +219 -124
  115. pulumiverse_scaleway/edge_services_waf_stage.py +106 -105
  116. pulumiverse_scaleway/elasticmetal/__init__.py +3 -1
  117. pulumiverse_scaleway/elasticmetal/_inputs.py +203 -129
  118. pulumiverse_scaleway/elasticmetal/get_ip.py +70 -54
  119. pulumiverse_scaleway/elasticmetal/get_ips.py +31 -31
  120. pulumiverse_scaleway/elasticmetal/get_offer.py +43 -41
  121. pulumiverse_scaleway/elasticmetal/get_option.py +24 -24
  122. pulumiverse_scaleway/elasticmetal/get_os.py +28 -28
  123. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  124. pulumiverse_scaleway/elasticmetal/get_server.py +101 -68
  125. pulumiverse_scaleway/elasticmetal/ip.py +170 -169
  126. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +107 -106
  127. pulumiverse_scaleway/elasticmetal/outputs.py +379 -287
  128. pulumiverse_scaleway/elasticmetal/server.py +622 -524
  129. pulumiverse_scaleway/file_filesystem.py +555 -0
  130. pulumiverse_scaleway/flexible_ip.py +170 -169
  131. pulumiverse_scaleway/flexible_ip_mac_address.py +107 -106
  132. pulumiverse_scaleway/function.py +457 -348
  133. pulumiverse_scaleway/function_cron.py +97 -96
  134. pulumiverse_scaleway/function_domain.py +63 -62
  135. pulumiverse_scaleway/function_namespace.py +234 -155
  136. pulumiverse_scaleway/function_token.py +97 -96
  137. pulumiverse_scaleway/function_trigger.py +77 -76
  138. pulumiverse_scaleway/functions/__init__.py +2 -1
  139. pulumiverse_scaleway/functions/_inputs.py +50 -50
  140. pulumiverse_scaleway/functions/cron.py +97 -96
  141. pulumiverse_scaleway/functions/domain.py +63 -62
  142. pulumiverse_scaleway/functions/function.py +457 -348
  143. pulumiverse_scaleway/functions/get_function.py +93 -71
  144. pulumiverse_scaleway/functions/get_namespace.py +54 -43
  145. pulumiverse_scaleway/functions/namespace.py +234 -155
  146. pulumiverse_scaleway/functions/outputs.py +34 -34
  147. pulumiverse_scaleway/functions/token.py +97 -96
  148. pulumiverse_scaleway/functions/trigger.py +77 -76
  149. pulumiverse_scaleway/get_account_project.py +28 -28
  150. pulumiverse_scaleway/get_account_ssh_key.py +34 -34
  151. pulumiverse_scaleway/get_availability_zones.py +12 -12
  152. pulumiverse_scaleway/get_baremetal_offer.py +43 -41
  153. pulumiverse_scaleway/get_baremetal_option.py +24 -24
  154. pulumiverse_scaleway/get_baremetal_os.py +28 -28
  155. pulumiverse_scaleway/get_baremetal_server.py +101 -68
  156. pulumiverse_scaleway/get_billing_consumptions.py +19 -15
  157. pulumiverse_scaleway/get_billing_invoices.py +25 -25
  158. pulumiverse_scaleway/get_block_snapshot.py +60 -37
  159. pulumiverse_scaleway/get_block_volume.py +38 -38
  160. pulumiverse_scaleway/get_cockpit.py +16 -16
  161. pulumiverse_scaleway/get_cockpit_source.py +88 -45
  162. pulumiverse_scaleway/get_config.py +24 -24
  163. pulumiverse_scaleway/get_container.py +117 -73
  164. pulumiverse_scaleway/get_container_namespace.py +56 -45
  165. pulumiverse_scaleway/get_database.py +26 -26
  166. pulumiverse_scaleway/get_database_acl.py +17 -17
  167. pulumiverse_scaleway/get_database_backup.py +46 -46
  168. pulumiverse_scaleway/get_database_instance.py +95 -73
  169. pulumiverse_scaleway/get_database_privilege.py +30 -30
  170. pulumiverse_scaleway/get_domain_record.py +53 -64
  171. pulumiverse_scaleway/get_domain_zone.py +36 -30
  172. pulumiverse_scaleway/get_flexible_ip.py +70 -54
  173. pulumiverse_scaleway/get_flexible_ips.py +31 -31
  174. pulumiverse_scaleway/get_function.py +93 -71
  175. pulumiverse_scaleway/get_function_namespace.py +54 -43
  176. pulumiverse_scaleway/get_iam_api_key.py +28 -28
  177. pulumiverse_scaleway/get_iam_application.py +32 -32
  178. pulumiverse_scaleway/get_iam_group.py +36 -36
  179. pulumiverse_scaleway/get_iam_ssh_key.py +34 -34
  180. pulumiverse_scaleway/get_iam_user.py +30 -30
  181. pulumiverse_scaleway/get_instance_image.py +58 -58
  182. pulumiverse_scaleway/get_instance_ip.py +42 -30
  183. pulumiverse_scaleway/get_instance_placement_group.py +38 -38
  184. pulumiverse_scaleway/get_instance_private_nic.py +53 -41
  185. pulumiverse_scaleway/get_instance_security_group.py +46 -46
  186. pulumiverse_scaleway/get_instance_server.py +108 -145
  187. pulumiverse_scaleway/get_instance_servers.py +31 -31
  188. pulumiverse_scaleway/get_instance_snapshot.py +41 -41
  189. pulumiverse_scaleway/get_instance_volume.py +42 -42
  190. pulumiverse_scaleway/get_iot_device.py +46 -46
  191. pulumiverse_scaleway/get_iot_hub.py +60 -60
  192. pulumiverse_scaleway/get_ipam_ip.py +65 -65
  193. pulumiverse_scaleway/get_ipam_ips.py +56 -56
  194. pulumiverse_scaleway/get_k8s_version.py +34 -23
  195. pulumiverse_scaleway/get_kubernetes_cluster.py +98 -65
  196. pulumiverse_scaleway/get_kubernetes_node_pool.py +86 -75
  197. pulumiverse_scaleway/get_lb_acls.py +29 -29
  198. pulumiverse_scaleway/get_lb_backend.py +75 -75
  199. pulumiverse_scaleway/get_lb_backends.py +29 -29
  200. pulumiverse_scaleway/get_lb_frontend.py +76 -43
  201. pulumiverse_scaleway/get_lb_frontends.py +29 -29
  202. pulumiverse_scaleway/get_lb_ips.py +37 -37
  203. pulumiverse_scaleway/get_lb_route.py +36 -25
  204. pulumiverse_scaleway/get_lb_routes.py +23 -23
  205. pulumiverse_scaleway/get_lbs.py +31 -31
  206. pulumiverse_scaleway/get_loadbalancer.py +78 -56
  207. pulumiverse_scaleway/get_loadbalancer_certificate.py +96 -36
  208. pulumiverse_scaleway/get_loadbalancer_ip.py +40 -40
  209. pulumiverse_scaleway/get_marketplace_image.py +28 -28
  210. pulumiverse_scaleway/get_mnq_sns.py +18 -18
  211. pulumiverse_scaleway/get_mnq_sqs.py +18 -18
  212. pulumiverse_scaleway/get_mongo_db_instance.py +110 -55
  213. pulumiverse_scaleway/get_object_bucket.py +35 -35
  214. pulumiverse_scaleway/get_object_bucket_policy.py +22 -22
  215. pulumiverse_scaleway/get_redis_cluster.py +65 -54
  216. pulumiverse_scaleway/get_registry_image.py +48 -48
  217. pulumiverse_scaleway/get_registry_image_tag.py +44 -44
  218. pulumiverse_scaleway/get_registry_namespace.py +36 -36
  219. pulumiverse_scaleway/get_secret.py +58 -58
  220. pulumiverse_scaleway/get_secret_version.py +46 -46
  221. pulumiverse_scaleway/get_tem_domain.py +103 -70
  222. pulumiverse_scaleway/get_vpc.py +58 -47
  223. pulumiverse_scaleway/get_vpc_gateway_network.py +55 -44
  224. pulumiverse_scaleway/get_vpc_private_network.py +58 -47
  225. pulumiverse_scaleway/get_vpc_public_gateway.py +56 -56
  226. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +44 -44
  227. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +44 -44
  228. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +24 -24
  229. pulumiverse_scaleway/get_vpc_public_pat_rule.py +32 -32
  230. pulumiverse_scaleway/get_vpc_routes.py +47 -47
  231. pulumiverse_scaleway/get_vpcs.py +31 -31
  232. pulumiverse_scaleway/get_web_host_offer.py +34 -34
  233. pulumiverse_scaleway/get_webhosting.py +58 -58
  234. pulumiverse_scaleway/hosting/__init__.py +2 -1
  235. pulumiverse_scaleway/hosting/_inputs.py +117 -75
  236. pulumiverse_scaleway/hosting/get_hosting.py +58 -58
  237. pulumiverse_scaleway/hosting/get_offer.py +34 -34
  238. pulumiverse_scaleway/hosting/hosting.py +213 -212
  239. pulumiverse_scaleway/hosting/outputs.py +276 -192
  240. pulumiverse_scaleway/iam/__init__.py +3 -1
  241. pulumiverse_scaleway/iam/_inputs.py +26 -26
  242. pulumiverse_scaleway/iam/api_key.py +142 -141
  243. pulumiverse_scaleway/iam/application.py +98 -97
  244. pulumiverse_scaleway/iam/get_api_key.py +28 -28
  245. pulumiverse_scaleway/iam/get_application.py +32 -32
  246. pulumiverse_scaleway/iam/get_group.py +36 -36
  247. pulumiverse_scaleway/iam/get_policy.py +293 -0
  248. pulumiverse_scaleway/iam/get_ssh_key.py +34 -34
  249. pulumiverse_scaleway/iam/get_user.py +30 -30
  250. pulumiverse_scaleway/iam/group.py +140 -139
  251. pulumiverse_scaleway/iam/group_membership.py +54 -53
  252. pulumiverse_scaleway/iam/outputs.py +70 -18
  253. pulumiverse_scaleway/iam/policy.py +169 -168
  254. pulumiverse_scaleway/iam/ssh_key.py +107 -106
  255. pulumiverse_scaleway/iam/user.py +598 -134
  256. pulumiverse_scaleway/iam_api_key.py +142 -141
  257. pulumiverse_scaleway/iam_application.py +98 -97
  258. pulumiverse_scaleway/iam_group.py +140 -139
  259. pulumiverse_scaleway/iam_group_membership.py +54 -53
  260. pulumiverse_scaleway/iam_policy.py +169 -168
  261. pulumiverse_scaleway/iam_ssh_key.py +107 -106
  262. pulumiverse_scaleway/iam_user.py +598 -134
  263. pulumiverse_scaleway/inference/__init__.py +4 -1
  264. pulumiverse_scaleway/inference/_inputs.py +232 -50
  265. pulumiverse_scaleway/inference/deployment.py +319 -220
  266. pulumiverse_scaleway/inference/get_model.py +299 -0
  267. pulumiverse_scaleway/inference/model.py +684 -0
  268. pulumiverse_scaleway/inference/outputs.py +250 -34
  269. pulumiverse_scaleway/inference_deployment.py +319 -220
  270. pulumiverse_scaleway/instance/__init__.py +3 -1
  271. pulumiverse_scaleway/instance/_inputs.py +650 -437
  272. pulumiverse_scaleway/instance/get_image.py +58 -58
  273. pulumiverse_scaleway/instance/get_ip.py +42 -30
  274. pulumiverse_scaleway/instance/get_placement_group.py +38 -38
  275. pulumiverse_scaleway/instance/get_private_nic.py +53 -41
  276. pulumiverse_scaleway/instance/get_security_group.py +46 -46
  277. pulumiverse_scaleway/instance/get_server.py +108 -145
  278. pulumiverse_scaleway/instance/get_server_type.py +271 -0
  279. pulumiverse_scaleway/instance/get_servers.py +31 -31
  280. pulumiverse_scaleway/instance/get_snapshot.py +41 -41
  281. pulumiverse_scaleway/instance/get_volume.py +42 -42
  282. pulumiverse_scaleway/instance/image.py +260 -205
  283. pulumiverse_scaleway/instance/ip.py +116 -115
  284. pulumiverse_scaleway/instance/ip_reverse_dns.py +54 -53
  285. pulumiverse_scaleway/instance/outputs.py +981 -548
  286. pulumiverse_scaleway/instance/placement_group.py +123 -122
  287. pulumiverse_scaleway/instance/private_nic.py +163 -113
  288. pulumiverse_scaleway/instance/security_group.py +188 -187
  289. pulumiverse_scaleway/instance/security_group_rules.py +42 -41
  290. pulumiverse_scaleway/instance/server.py +590 -562
  291. pulumiverse_scaleway/instance/snapshot.py +150 -157
  292. pulumiverse_scaleway/instance/user_data.py +75 -74
  293. pulumiverse_scaleway/instance/volume.py +174 -159
  294. pulumiverse_scaleway/instance_image.py +260 -205
  295. pulumiverse_scaleway/instance_ip.py +116 -115
  296. pulumiverse_scaleway/instance_ip_reverse_dns.py +54 -53
  297. pulumiverse_scaleway/instance_placement_group.py +123 -122
  298. pulumiverse_scaleway/instance_private_nic.py +163 -113
  299. pulumiverse_scaleway/instance_security_group.py +188 -187
  300. pulumiverse_scaleway/instance_security_group_rules.py +42 -41
  301. pulumiverse_scaleway/instance_server.py +590 -562
  302. pulumiverse_scaleway/instance_snapshot.py +150 -157
  303. pulumiverse_scaleway/instance_user_data.py +75 -74
  304. pulumiverse_scaleway/instance_volume.py +174 -159
  305. pulumiverse_scaleway/iot/__init__.py +2 -1
  306. pulumiverse_scaleway/iot/_inputs.py +119 -119
  307. pulumiverse_scaleway/iot/device.py +156 -193
  308. pulumiverse_scaleway/iot/get_device.py +46 -46
  309. pulumiverse_scaleway/iot/get_hub.py +60 -60
  310. pulumiverse_scaleway/iot/hub.py +259 -258
  311. pulumiverse_scaleway/iot/network.py +115 -114
  312. pulumiverse_scaleway/iot/outputs.py +107 -107
  313. pulumiverse_scaleway/iot/route.py +109 -108
  314. pulumiverse_scaleway/iot_device.py +156 -193
  315. pulumiverse_scaleway/iot_hub.py +259 -258
  316. pulumiverse_scaleway/iot_network.py +115 -114
  317. pulumiverse_scaleway/iot_route.py +109 -108
  318. pulumiverse_scaleway/ipam/__init__.py +2 -1
  319. pulumiverse_scaleway/ipam/_inputs.py +108 -108
  320. pulumiverse_scaleway/ipam/get_ip.py +65 -65
  321. pulumiverse_scaleway/ipam/get_ips.py +56 -56
  322. pulumiverse_scaleway/ipam/ip.py +160 -131
  323. pulumiverse_scaleway/ipam/ip_reverse_dns.py +141 -70
  324. pulumiverse_scaleway/ipam/outputs.py +122 -122
  325. pulumiverse_scaleway/ipam_ip.py +160 -131
  326. pulumiverse_scaleway/ipam_ip_reverse_dns.py +141 -70
  327. pulumiverse_scaleway/job/__init__.py +2 -1
  328. pulumiverse_scaleway/job/_inputs.py +127 -14
  329. pulumiverse_scaleway/job/definition.py +283 -175
  330. pulumiverse_scaleway/job/outputs.py +98 -10
  331. pulumiverse_scaleway/job_definition.py +283 -175
  332. pulumiverse_scaleway/key_manager_key.py +939 -0
  333. pulumiverse_scaleway/kubernetes/__init__.py +3 -1
  334. pulumiverse_scaleway/kubernetes/_inputs.py +388 -185
  335. pulumiverse_scaleway/kubernetes/acl.py +447 -0
  336. pulumiverse_scaleway/kubernetes/cluster.py +594 -307
  337. pulumiverse_scaleway/kubernetes/get_cluster.py +98 -65
  338. pulumiverse_scaleway/kubernetes/get_pool.py +86 -75
  339. pulumiverse_scaleway/kubernetes/get_version.py +34 -23
  340. pulumiverse_scaleway/kubernetes/outputs.py +444 -250
  341. pulumiverse_scaleway/kubernetes/pool.py +427 -365
  342. pulumiverse_scaleway/kubernetes_cluster.py +594 -307
  343. pulumiverse_scaleway/kubernetes_node_pool.py +427 -365
  344. pulumiverse_scaleway/loadbalancer.py +329 -246
  345. pulumiverse_scaleway/loadbalancer_acl.py +102 -101
  346. pulumiverse_scaleway/loadbalancer_backend.py +534 -487
  347. pulumiverse_scaleway/loadbalancer_certificate.py +97 -96
  348. pulumiverse_scaleway/loadbalancer_frontend.py +271 -167
  349. pulumiverse_scaleway/loadbalancer_ip.py +124 -123
  350. pulumiverse_scaleway/loadbalancer_route.py +244 -119
  351. pulumiverse_scaleway/loadbalancers/__init__.py +3 -1
  352. pulumiverse_scaleway/loadbalancers/_inputs.py +367 -273
  353. pulumiverse_scaleway/loadbalancers/acl.py +102 -101
  354. pulumiverse_scaleway/loadbalancers/backend.py +534 -487
  355. pulumiverse_scaleway/loadbalancers/certificate.py +97 -96
  356. pulumiverse_scaleway/loadbalancers/frontend.py +271 -167
  357. pulumiverse_scaleway/loadbalancers/get_acls.py +29 -29
  358. pulumiverse_scaleway/loadbalancers/get_backend.py +75 -75
  359. pulumiverse_scaleway/loadbalancers/get_backends.py +29 -29
  360. pulumiverse_scaleway/loadbalancers/get_certificate.py +96 -36
  361. pulumiverse_scaleway/loadbalancers/get_frontend.py +76 -43
  362. pulumiverse_scaleway/loadbalancers/get_frontends.py +29 -29
  363. pulumiverse_scaleway/loadbalancers/get_ip.py +40 -40
  364. pulumiverse_scaleway/loadbalancers/get_ips.py +37 -37
  365. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +78 -56
  366. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +31 -31
  367. pulumiverse_scaleway/loadbalancers/get_route.py +36 -25
  368. pulumiverse_scaleway/loadbalancers/get_routes.py +23 -23
  369. pulumiverse_scaleway/loadbalancers/ip.py +124 -123
  370. pulumiverse_scaleway/loadbalancers/load_balancer.py +329 -246
  371. pulumiverse_scaleway/loadbalancers/outputs.py +870 -716
  372. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  373. pulumiverse_scaleway/loadbalancers/route.py +244 -119
  374. pulumiverse_scaleway/mnq/__init__.py +2 -1
  375. pulumiverse_scaleway/mnq/_inputs.py +90 -38
  376. pulumiverse_scaleway/mnq/get_sns.py +18 -18
  377. pulumiverse_scaleway/mnq/get_sqs.py +18 -18
  378. pulumiverse_scaleway/mnq/nats_account.py +63 -62
  379. pulumiverse_scaleway/mnq/nats_credentials.py +63 -62
  380. pulumiverse_scaleway/mnq/outputs.py +73 -26
  381. pulumiverse_scaleway/mnq/sns.py +46 -45
  382. pulumiverse_scaleway/mnq/sns_credentials.py +82 -81
  383. pulumiverse_scaleway/mnq/sns_topic.py +174 -173
  384. pulumiverse_scaleway/mnq/sns_topic_subscription.py +182 -181
  385. pulumiverse_scaleway/mnq/sqs.py +46 -45
  386. pulumiverse_scaleway/mnq/sqs_credentials.py +82 -81
  387. pulumiverse_scaleway/mnq/sqs_queue.py +392 -232
  388. pulumiverse_scaleway/mnq_nats_account.py +63 -62
  389. pulumiverse_scaleway/mnq_nats_credentials.py +63 -62
  390. pulumiverse_scaleway/mnq_sns.py +46 -45
  391. pulumiverse_scaleway/mnq_sns_credentials.py +82 -81
  392. pulumiverse_scaleway/mnq_sns_topic.py +174 -173
  393. pulumiverse_scaleway/mnq_sns_topic_subscription.py +182 -181
  394. pulumiverse_scaleway/mnq_sqs.py +46 -45
  395. pulumiverse_scaleway/mnq_sqs_credentials.py +82 -81
  396. pulumiverse_scaleway/mnq_sqs_queue.py +392 -232
  397. pulumiverse_scaleway/mongo_db_instance.py +569 -268
  398. pulumiverse_scaleway/mongo_db_snapshot.py +127 -126
  399. pulumiverse_scaleway/mongodb/__init__.py +3 -1
  400. pulumiverse_scaleway/mongodb/_inputs.py +178 -51
  401. pulumiverse_scaleway/mongodb/get_instance.py +110 -55
  402. pulumiverse_scaleway/mongodb/instance.py +569 -268
  403. pulumiverse_scaleway/mongodb/outputs.py +192 -68
  404. pulumiverse_scaleway/mongodb/snapshot.py +127 -126
  405. pulumiverse_scaleway/mongodb/user.py +507 -0
  406. pulumiverse_scaleway/network/__init__.py +2 -1
  407. pulumiverse_scaleway/network/_inputs.py +209 -155
  408. pulumiverse_scaleway/network/acl.py +100 -101
  409. pulumiverse_scaleway/network/gateway_network.py +228 -180
  410. pulumiverse_scaleway/network/get_gateway_network.py +55 -44
  411. pulumiverse_scaleway/network/get_private_network.py +58 -47
  412. pulumiverse_scaleway/network/get_public_gateway.py +56 -56
  413. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +44 -44
  414. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +44 -44
  415. pulumiverse_scaleway/network/get_public_gateway_ip.py +24 -24
  416. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +32 -32
  417. pulumiverse_scaleway/network/get_routes.py +47 -47
  418. pulumiverse_scaleway/network/get_vpc.py +58 -47
  419. pulumiverse_scaleway/network/get_vpcs.py +31 -31
  420. pulumiverse_scaleway/network/outputs.py +338 -270
  421. pulumiverse_scaleway/network/private_network.py +203 -155
  422. pulumiverse_scaleway/network/public_gateway.py +261 -260
  423. pulumiverse_scaleway/network/public_gateway_dhcp.py +285 -284
  424. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +107 -106
  425. pulumiverse_scaleway/network/public_gateway_ip.py +107 -106
  426. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +54 -53
  427. pulumiverse_scaleway/network/public_gateway_pat_rule.py +132 -131
  428. pulumiverse_scaleway/network/route.py +230 -141
  429. pulumiverse_scaleway/network/vpc.py +172 -124
  430. pulumiverse_scaleway/object/__init__.py +3 -1
  431. pulumiverse_scaleway/object/_inputs.py +202 -166
  432. pulumiverse_scaleway/object/bucket.py +162 -148
  433. pulumiverse_scaleway/object/bucket_acl.py +97 -94
  434. pulumiverse_scaleway/object/bucket_lock_configuration.py +57 -56
  435. pulumiverse_scaleway/object/bucket_policy.py +71 -134
  436. pulumiverse_scaleway/object/bucket_website_configuration.py +104 -85
  437. pulumiverse_scaleway/object/get.py +290 -0
  438. pulumiverse_scaleway/object/get_bucket.py +35 -35
  439. pulumiverse_scaleway/object/get_bucket_policy.py +22 -22
  440. pulumiverse_scaleway/object/item.py +301 -223
  441. pulumiverse_scaleway/object/outputs.py +210 -166
  442. pulumiverse_scaleway/object_bucket.py +162 -148
  443. pulumiverse_scaleway/object_bucket_acl.py +97 -94
  444. pulumiverse_scaleway/object_bucket_lock_configuration.py +57 -56
  445. pulumiverse_scaleway/object_bucket_policy.py +71 -134
  446. pulumiverse_scaleway/object_bucket_website_configuration.py +104 -85
  447. pulumiverse_scaleway/object_item.py +301 -223
  448. pulumiverse_scaleway/observability/__init__.py +4 -2
  449. pulumiverse_scaleway/observability/_inputs.py +106 -106
  450. pulumiverse_scaleway/observability/alert_manager.py +66 -65
  451. pulumiverse_scaleway/observability/cockpit.py +71 -49
  452. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  453. pulumiverse_scaleway/observability/get_instance.py +16 -16
  454. pulumiverse_scaleway/observability/get_source.py +88 -45
  455. pulumiverse_scaleway/observability/get_sources.py +375 -0
  456. pulumiverse_scaleway/observability/grafana_user.py +72 -113
  457. pulumiverse_scaleway/observability/outputs.py +241 -101
  458. pulumiverse_scaleway/observability/source.py +142 -141
  459. pulumiverse_scaleway/observability/token.py +84 -83
  460. pulumiverse_scaleway/outputs.py +5235 -3665
  461. pulumiverse_scaleway/provider.py +107 -82
  462. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  463. pulumiverse_scaleway/rdb_snapshot.py +127 -126
  464. pulumiverse_scaleway/redis/__init__.py +2 -1
  465. pulumiverse_scaleway/redis/_inputs.py +163 -69
  466. pulumiverse_scaleway/redis/cluster.py +273 -225
  467. pulumiverse_scaleway/redis/get_cluster.py +65 -54
  468. pulumiverse_scaleway/redis/outputs.py +199 -87
  469. pulumiverse_scaleway/redis_cluster.py +273 -225
  470. pulumiverse_scaleway/registry/__init__.py +2 -1
  471. pulumiverse_scaleway/registry/get_image.py +48 -48
  472. pulumiverse_scaleway/registry/get_image_tag.py +44 -44
  473. pulumiverse_scaleway/registry/get_namespace.py +36 -36
  474. pulumiverse_scaleway/registry/namespace.py +106 -105
  475. pulumiverse_scaleway/registry_namespace.py +106 -105
  476. pulumiverse_scaleway/sdb_database.py +97 -96
  477. pulumiverse_scaleway/secret.py +188 -179
  478. pulumiverse_scaleway/secret_version.py +107 -106
  479. pulumiverse_scaleway/secrets/__init__.py +2 -1
  480. pulumiverse_scaleway/secrets/_inputs.py +63 -63
  481. pulumiverse_scaleway/secrets/get_secret.py +58 -58
  482. pulumiverse_scaleway/secrets/get_version.py +46 -46
  483. pulumiverse_scaleway/secrets/outputs.py +84 -84
  484. pulumiverse_scaleway/secrets/secret.py +188 -179
  485. pulumiverse_scaleway/secrets/version.py +107 -106
  486. pulumiverse_scaleway/tem/__init__.py +2 -1
  487. pulumiverse_scaleway/tem/_inputs.py +33 -33
  488. pulumiverse_scaleway/tem/blocked_list.py +105 -104
  489. pulumiverse_scaleway/tem/domain.py +384 -257
  490. pulumiverse_scaleway/tem/domain_validation.py +63 -62
  491. pulumiverse_scaleway/tem/get_domain.py +103 -70
  492. pulumiverse_scaleway/tem/get_offer_subscription.py +34 -34
  493. pulumiverse_scaleway/tem/outputs.py +44 -44
  494. pulumiverse_scaleway/tem/webhook.py +132 -131
  495. pulumiverse_scaleway/tem_domain.py +384 -257
  496. pulumiverse_scaleway/tem_domain_validation.py +63 -62
  497. pulumiverse_scaleway/tem_webhook.py +132 -131
  498. pulumiverse_scaleway/vpc.py +172 -124
  499. pulumiverse_scaleway/vpc_gateway_network.py +228 -180
  500. pulumiverse_scaleway/vpc_private_network.py +203 -155
  501. pulumiverse_scaleway/vpc_public_gateway.py +261 -260
  502. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +285 -284
  503. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +107 -106
  504. pulumiverse_scaleway/vpc_public_gateway_ip.py +107 -106
  505. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +54 -53
  506. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +132 -131
  507. pulumiverse_scaleway/vpc_route.py +230 -141
  508. pulumiverse_scaleway/webhosting.py +213 -212
  509. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +2 -2
  510. pulumiverse_scaleway-1.39.0a1764841480.dist-info/RECORD +513 -0
  511. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +1 -1
  512. pulumiverse_scaleway/get_cockpit_plan.py +0 -129
  513. pulumiverse_scaleway/observability/get_plan.py +0 -125
  514. pulumiverse_scaleway-1.27.0a1744869119.dist-info/RECORD +0 -483
  515. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,939 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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__ = ['KeyManagerKeyArgs', 'KeyManagerKey']
20
+
21
+ @pulumi.input_type
22
+ class KeyManagerKeyArgs:
23
+ def __init__(__self__, *,
24
+ algorithm: pulumi.Input[_builtins.str],
25
+ usage: pulumi.Input[_builtins.str],
26
+ description: Optional[pulumi.Input[_builtins.str]] = None,
27
+ name: Optional[pulumi.Input[_builtins.str]] = None,
28
+ origin: Optional[pulumi.Input[_builtins.str]] = None,
29
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
30
+ region: Optional[pulumi.Input[_builtins.str]] = None,
31
+ rotation_policy: Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']] = None,
32
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ unprotected: Optional[pulumi.Input[_builtins.bool]] = None):
34
+ """
35
+ The set of arguments for constructing a KeyManagerKey resource.
36
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
37
+ - For `symmetric_encryption`:
38
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
39
+ :param pulumi.Input[_builtins.str] description: – A description for the key.
40
+ :param pulumi.Input[_builtins.str] name: The name of the key.
41
+ :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
42
+ :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
43
+
44
+ **Key Usage and Algorithm (both required):**
45
+ :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
46
+ :param pulumi.Input['KeyManagerKeyRotationPolicyArgs'] rotation_policy: – Rotation policy for the key:
47
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
48
+ :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
49
+ """
50
+ pulumi.set(__self__, "algorithm", algorithm)
51
+ pulumi.set(__self__, "usage", usage)
52
+ if description is not None:
53
+ pulumi.set(__self__, "description", description)
54
+ if name is not None:
55
+ pulumi.set(__self__, "name", name)
56
+ if origin is not None:
57
+ pulumi.set(__self__, "origin", origin)
58
+ if project_id is not None:
59
+ pulumi.set(__self__, "project_id", project_id)
60
+ if region is not None:
61
+ pulumi.set(__self__, "region", region)
62
+ if rotation_policy is not None:
63
+ pulumi.set(__self__, "rotation_policy", rotation_policy)
64
+ if tags is not None:
65
+ pulumi.set(__self__, "tags", tags)
66
+ if unprotected is not None:
67
+ pulumi.set(__self__, "unprotected", unprotected)
68
+
69
+ @_builtins.property
70
+ @pulumi.getter
71
+ def algorithm(self) -> pulumi.Input[_builtins.str]:
72
+ """
73
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
74
+ - For `symmetric_encryption`:
75
+ """
76
+ return pulumi.get(self, "algorithm")
77
+
78
+ @algorithm.setter
79
+ def algorithm(self, value: pulumi.Input[_builtins.str]):
80
+ pulumi.set(self, "algorithm", value)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter
84
+ def usage(self) -> pulumi.Input[_builtins.str]:
85
+ """
86
+ – The usage type of the key. Valid values:
87
+ """
88
+ return pulumi.get(self, "usage")
89
+
90
+ @usage.setter
91
+ def usage(self, value: pulumi.Input[_builtins.str]):
92
+ pulumi.set(self, "usage", value)
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
97
+ """
98
+ – A description for the key.
99
+ """
100
+ return pulumi.get(self, "description")
101
+
102
+ @description.setter
103
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
104
+ pulumi.set(self, "description", value)
105
+
106
+ @_builtins.property
107
+ @pulumi.getter
108
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
109
+ """
110
+ The name of the key.
111
+ """
112
+ return pulumi.get(self, "name")
113
+
114
+ @name.setter
115
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
116
+ pulumi.set(self, "name", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter
120
+ def origin(self) -> Optional[pulumi.Input[_builtins.str]]:
121
+ """
122
+ – The origin of the key. Valid values are:
123
+ """
124
+ return pulumi.get(self, "origin")
125
+
126
+ @origin.setter
127
+ def origin(self, value: Optional[pulumi.Input[_builtins.str]]):
128
+ pulumi.set(self, "origin", value)
129
+
130
+ @_builtins.property
131
+ @pulumi.getter(name="projectId")
132
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
133
+ """
134
+ – The ID of the project the key belongs to.
135
+
136
+ **Key Usage and Algorithm (both required):**
137
+ """
138
+ return pulumi.get(self, "project_id")
139
+
140
+ @project_id.setter
141
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "project_id", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter
146
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ The region in which to create the key (e.g., `fr-par`).
149
+ """
150
+ return pulumi.get(self, "region")
151
+
152
+ @region.setter
153
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "region", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter(name="rotationPolicy")
158
+ def rotation_policy(self) -> Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']]:
159
+ """
160
+ – Rotation policy for the key:
161
+ """
162
+ return pulumi.get(self, "rotation_policy")
163
+
164
+ @rotation_policy.setter
165
+ def rotation_policy(self, value: Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']]):
166
+ pulumi.set(self, "rotation_policy", value)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter
170
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
171
+ """
172
+ – A list of tags to assign to the key.
173
+ """
174
+ return pulumi.get(self, "tags")
175
+
176
+ @tags.setter
177
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
178
+ pulumi.set(self, "tags", value)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter
182
+ def unprotected(self) -> Optional[pulumi.Input[_builtins.bool]]:
183
+ """
184
+ – If `true`, the key can be deleted. Defaults to `false` (protected).
185
+ """
186
+ return pulumi.get(self, "unprotected")
187
+
188
+ @unprotected.setter
189
+ def unprotected(self, value: Optional[pulumi.Input[_builtins.bool]]):
190
+ pulumi.set(self, "unprotected", value)
191
+
192
+
193
+ @pulumi.input_type
194
+ class _KeyManagerKeyState:
195
+ def __init__(__self__, *,
196
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
197
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
198
+ description: Optional[pulumi.Input[_builtins.str]] = None,
199
+ locked: Optional[pulumi.Input[_builtins.bool]] = None,
200
+ name: Optional[pulumi.Input[_builtins.str]] = None,
201
+ origin: Optional[pulumi.Input[_builtins.str]] = None,
202
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
203
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
204
+ region: Optional[pulumi.Input[_builtins.str]] = None,
205
+ rotated_at: Optional[pulumi.Input[_builtins.str]] = None,
206
+ rotation_count: Optional[pulumi.Input[_builtins.int]] = None,
207
+ rotation_policy: Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']] = None,
208
+ state: Optional[pulumi.Input[_builtins.str]] = None,
209
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
210
+ unprotected: Optional[pulumi.Input[_builtins.bool]] = None,
211
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
212
+ usage: Optional[pulumi.Input[_builtins.str]] = None):
213
+ """
214
+ Input properties used for looking up and filtering KeyManagerKey resources.
215
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
216
+ - For `symmetric_encryption`:
217
+ :param pulumi.Input[_builtins.str] created_at: The date and time when the key was created.
218
+ :param pulumi.Input[_builtins.str] description: – A description for the key.
219
+ :param pulumi.Input[_builtins.bool] locked: Whether the key is locked.
220
+ :param pulumi.Input[_builtins.str] name: The name of the key.
221
+ :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
222
+ :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
223
+
224
+ **Key Usage and Algorithm (both required):**
225
+ :param pulumi.Input[_builtins.bool] protected: Whether the key is protected from deletion.
226
+ :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
227
+ :param pulumi.Input[_builtins.str] rotated_at: The date and time when the key was last rotated.
228
+ :param pulumi.Input[_builtins.int] rotation_count: The number of times the key has been rotated.
229
+ :param pulumi.Input['KeyManagerKeyRotationPolicyArgs'] rotation_policy: – Rotation policy for the key:
230
+ :param pulumi.Input[_builtins.str] state: The state of the key (e.g., `enabled`).
231
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
232
+ :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
233
+ :param pulumi.Input[_builtins.str] updated_at: The date and time when the key was last updated.
234
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
235
+ """
236
+ if algorithm is not None:
237
+ pulumi.set(__self__, "algorithm", algorithm)
238
+ if created_at is not None:
239
+ pulumi.set(__self__, "created_at", created_at)
240
+ if description is not None:
241
+ pulumi.set(__self__, "description", description)
242
+ if locked is not None:
243
+ pulumi.set(__self__, "locked", locked)
244
+ if name is not None:
245
+ pulumi.set(__self__, "name", name)
246
+ if origin is not None:
247
+ pulumi.set(__self__, "origin", origin)
248
+ if project_id is not None:
249
+ pulumi.set(__self__, "project_id", project_id)
250
+ if protected is not None:
251
+ pulumi.set(__self__, "protected", protected)
252
+ if region is not None:
253
+ pulumi.set(__self__, "region", region)
254
+ if rotated_at is not None:
255
+ pulumi.set(__self__, "rotated_at", rotated_at)
256
+ if rotation_count is not None:
257
+ pulumi.set(__self__, "rotation_count", rotation_count)
258
+ if rotation_policy is not None:
259
+ pulumi.set(__self__, "rotation_policy", rotation_policy)
260
+ if state is not None:
261
+ pulumi.set(__self__, "state", state)
262
+ if tags is not None:
263
+ pulumi.set(__self__, "tags", tags)
264
+ if unprotected is not None:
265
+ pulumi.set(__self__, "unprotected", unprotected)
266
+ if updated_at is not None:
267
+ pulumi.set(__self__, "updated_at", updated_at)
268
+ if usage is not None:
269
+ pulumi.set(__self__, "usage", usage)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter
273
+ def algorithm(self) -> Optional[pulumi.Input[_builtins.str]]:
274
+ """
275
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
276
+ - For `symmetric_encryption`:
277
+ """
278
+ return pulumi.get(self, "algorithm")
279
+
280
+ @algorithm.setter
281
+ def algorithm(self, value: Optional[pulumi.Input[_builtins.str]]):
282
+ pulumi.set(self, "algorithm", value)
283
+
284
+ @_builtins.property
285
+ @pulumi.getter(name="createdAt")
286
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
287
+ """
288
+ The date and time when the key was created.
289
+ """
290
+ return pulumi.get(self, "created_at")
291
+
292
+ @created_at.setter
293
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
294
+ pulumi.set(self, "created_at", value)
295
+
296
+ @_builtins.property
297
+ @pulumi.getter
298
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
299
+ """
300
+ – A description for the key.
301
+ """
302
+ return pulumi.get(self, "description")
303
+
304
+ @description.setter
305
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
306
+ pulumi.set(self, "description", value)
307
+
308
+ @_builtins.property
309
+ @pulumi.getter
310
+ def locked(self) -> Optional[pulumi.Input[_builtins.bool]]:
311
+ """
312
+ Whether the key is locked.
313
+ """
314
+ return pulumi.get(self, "locked")
315
+
316
+ @locked.setter
317
+ def locked(self, value: Optional[pulumi.Input[_builtins.bool]]):
318
+ pulumi.set(self, "locked", value)
319
+
320
+ @_builtins.property
321
+ @pulumi.getter
322
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
323
+ """
324
+ The name of the key.
325
+ """
326
+ return pulumi.get(self, "name")
327
+
328
+ @name.setter
329
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
330
+ pulumi.set(self, "name", value)
331
+
332
+ @_builtins.property
333
+ @pulumi.getter
334
+ def origin(self) -> Optional[pulumi.Input[_builtins.str]]:
335
+ """
336
+ – The origin of the key. Valid values are:
337
+ """
338
+ return pulumi.get(self, "origin")
339
+
340
+ @origin.setter
341
+ def origin(self, value: Optional[pulumi.Input[_builtins.str]]):
342
+ pulumi.set(self, "origin", value)
343
+
344
+ @_builtins.property
345
+ @pulumi.getter(name="projectId")
346
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
347
+ """
348
+ – The ID of the project the key belongs to.
349
+
350
+ **Key Usage and Algorithm (both required):**
351
+ """
352
+ return pulumi.get(self, "project_id")
353
+
354
+ @project_id.setter
355
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
356
+ pulumi.set(self, "project_id", value)
357
+
358
+ @_builtins.property
359
+ @pulumi.getter
360
+ def protected(self) -> Optional[pulumi.Input[_builtins.bool]]:
361
+ """
362
+ Whether the key is protected from deletion.
363
+ """
364
+ return pulumi.get(self, "protected")
365
+
366
+ @protected.setter
367
+ def protected(self, value: Optional[pulumi.Input[_builtins.bool]]):
368
+ pulumi.set(self, "protected", value)
369
+
370
+ @_builtins.property
371
+ @pulumi.getter
372
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
373
+ """
374
+ The region in which to create the key (e.g., `fr-par`).
375
+ """
376
+ return pulumi.get(self, "region")
377
+
378
+ @region.setter
379
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
380
+ pulumi.set(self, "region", value)
381
+
382
+ @_builtins.property
383
+ @pulumi.getter(name="rotatedAt")
384
+ def rotated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
385
+ """
386
+ The date and time when the key was last rotated.
387
+ """
388
+ return pulumi.get(self, "rotated_at")
389
+
390
+ @rotated_at.setter
391
+ def rotated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
392
+ pulumi.set(self, "rotated_at", value)
393
+
394
+ @_builtins.property
395
+ @pulumi.getter(name="rotationCount")
396
+ def rotation_count(self) -> Optional[pulumi.Input[_builtins.int]]:
397
+ """
398
+ The number of times the key has been rotated.
399
+ """
400
+ return pulumi.get(self, "rotation_count")
401
+
402
+ @rotation_count.setter
403
+ def rotation_count(self, value: Optional[pulumi.Input[_builtins.int]]):
404
+ pulumi.set(self, "rotation_count", value)
405
+
406
+ @_builtins.property
407
+ @pulumi.getter(name="rotationPolicy")
408
+ def rotation_policy(self) -> Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']]:
409
+ """
410
+ – Rotation policy for the key:
411
+ """
412
+ return pulumi.get(self, "rotation_policy")
413
+
414
+ @rotation_policy.setter
415
+ def rotation_policy(self, value: Optional[pulumi.Input['KeyManagerKeyRotationPolicyArgs']]):
416
+ pulumi.set(self, "rotation_policy", value)
417
+
418
+ @_builtins.property
419
+ @pulumi.getter
420
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
421
+ """
422
+ The state of the key (e.g., `enabled`).
423
+ """
424
+ return pulumi.get(self, "state")
425
+
426
+ @state.setter
427
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
428
+ pulumi.set(self, "state", value)
429
+
430
+ @_builtins.property
431
+ @pulumi.getter
432
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
433
+ """
434
+ – A list of tags to assign to the key.
435
+ """
436
+ return pulumi.get(self, "tags")
437
+
438
+ @tags.setter
439
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
440
+ pulumi.set(self, "tags", value)
441
+
442
+ @_builtins.property
443
+ @pulumi.getter
444
+ def unprotected(self) -> Optional[pulumi.Input[_builtins.bool]]:
445
+ """
446
+ – If `true`, the key can be deleted. Defaults to `false` (protected).
447
+ """
448
+ return pulumi.get(self, "unprotected")
449
+
450
+ @unprotected.setter
451
+ def unprotected(self, value: Optional[pulumi.Input[_builtins.bool]]):
452
+ pulumi.set(self, "unprotected", value)
453
+
454
+ @_builtins.property
455
+ @pulumi.getter(name="updatedAt")
456
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
457
+ """
458
+ The date and time when the key was last updated.
459
+ """
460
+ return pulumi.get(self, "updated_at")
461
+
462
+ @updated_at.setter
463
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
464
+ pulumi.set(self, "updated_at", value)
465
+
466
+ @_builtins.property
467
+ @pulumi.getter
468
+ def usage(self) -> Optional[pulumi.Input[_builtins.str]]:
469
+ """
470
+ – The usage type of the key. Valid values:
471
+ """
472
+ return pulumi.get(self, "usage")
473
+
474
+ @usage.setter
475
+ def usage(self, value: Optional[pulumi.Input[_builtins.str]]):
476
+ pulumi.set(self, "usage", value)
477
+
478
+
479
+ @pulumi.type_token("scaleway:index/keyManagerKey:KeyManagerKey")
480
+ class KeyManagerKey(pulumi.CustomResource):
481
+ @overload
482
+ def __init__(__self__,
483
+ resource_name: str,
484
+ opts: Optional[pulumi.ResourceOptions] = None,
485
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
486
+ description: Optional[pulumi.Input[_builtins.str]] = None,
487
+ name: Optional[pulumi.Input[_builtins.str]] = None,
488
+ origin: Optional[pulumi.Input[_builtins.str]] = None,
489
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
490
+ region: Optional[pulumi.Input[_builtins.str]] = None,
491
+ rotation_policy: Optional[pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']]] = None,
492
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
493
+ unprotected: Optional[pulumi.Input[_builtins.bool]] = None,
494
+ usage: Optional[pulumi.Input[_builtins.str]] = None,
495
+ __props__=None):
496
+ """
497
+ Provides a Scaleway Key Manager Key resource.\\
498
+ This resource allows you to create and manage cryptographic keys in Scaleway Key Manager (KMS).
499
+
500
+ ## Example Usage
501
+
502
+ ### Symmetric Encryption Key
503
+
504
+ ```python
505
+ import pulumi
506
+ import pulumiverse_scaleway as scaleway
507
+
508
+ symmetric = scaleway.KeyManagerKey("symmetric",
509
+ name="my-kms-key",
510
+ region="fr-par",
511
+ project_id="your-project-id",
512
+ usage="symmetric_encryption",
513
+ algorithm="aes_256_gcm",
514
+ description="Key for encrypting secrets",
515
+ tags=[
516
+ "env:prod",
517
+ "kms",
518
+ ],
519
+ unprotected=True,
520
+ rotation_policy={
521
+ "rotation_period": "720h",
522
+ })
523
+ ```
524
+
525
+ ### Asymmetric Encryption Key with RSA-4096
526
+
527
+ ```python
528
+ import pulumi
529
+ import pulumiverse_scaleway as scaleway
530
+
531
+ rsa4096 = scaleway.KeyManagerKey("rsa_4096",
532
+ name="rsa-4096-key",
533
+ region="fr-par",
534
+ usage="asymmetric_encryption",
535
+ algorithm="rsa_oaep_4096_sha256",
536
+ description="Key for encrypting large files with RSA-4096",
537
+ unprotected=True)
538
+ ```
539
+
540
+ ### Asymmetric Signing Key
541
+
542
+ ```python
543
+ import pulumi
544
+ import pulumiverse_scaleway as scaleway
545
+
546
+ signing = scaleway.KeyManagerKey("signing",
547
+ name="signing-key",
548
+ region="fr-par",
549
+ usage="asymmetric_signing",
550
+ algorithm="rsa_pss_2048_sha256",
551
+ description="Key for signing documents",
552
+ unprotected=True)
553
+ ```
554
+
555
+ ## Notes
556
+
557
+ - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
558
+ - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
559
+ - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
560
+ - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
561
+ - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
562
+
563
+ ## Import
564
+
565
+ You can import a key using its ID and region:
566
+
567
+ ```sh
568
+ $ pulumi import scaleway:index/keyManagerKey:KeyManagerKey main fr-par/11111111-2222-3333-4444-555555555555
569
+ ```
570
+
571
+ :param str resource_name: The name of the resource.
572
+ :param pulumi.ResourceOptions opts: Options for the resource.
573
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
574
+ - For `symmetric_encryption`:
575
+ :param pulumi.Input[_builtins.str] description: – A description for the key.
576
+ :param pulumi.Input[_builtins.str] name: The name of the key.
577
+ :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
578
+ :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
579
+
580
+ **Key Usage and Algorithm (both required):**
581
+ :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
582
+ :param pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']] rotation_policy: – Rotation policy for the key:
583
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
584
+ :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
585
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
586
+ """
587
+ ...
588
+ @overload
589
+ def __init__(__self__,
590
+ resource_name: str,
591
+ args: KeyManagerKeyArgs,
592
+ opts: Optional[pulumi.ResourceOptions] = None):
593
+ """
594
+ Provides a Scaleway Key Manager Key resource.\\
595
+ This resource allows you to create and manage cryptographic keys in Scaleway Key Manager (KMS).
596
+
597
+ ## Example Usage
598
+
599
+ ### Symmetric Encryption Key
600
+
601
+ ```python
602
+ import pulumi
603
+ import pulumiverse_scaleway as scaleway
604
+
605
+ symmetric = scaleway.KeyManagerKey("symmetric",
606
+ name="my-kms-key",
607
+ region="fr-par",
608
+ project_id="your-project-id",
609
+ usage="symmetric_encryption",
610
+ algorithm="aes_256_gcm",
611
+ description="Key for encrypting secrets",
612
+ tags=[
613
+ "env:prod",
614
+ "kms",
615
+ ],
616
+ unprotected=True,
617
+ rotation_policy={
618
+ "rotation_period": "720h",
619
+ })
620
+ ```
621
+
622
+ ### Asymmetric Encryption Key with RSA-4096
623
+
624
+ ```python
625
+ import pulumi
626
+ import pulumiverse_scaleway as scaleway
627
+
628
+ rsa4096 = scaleway.KeyManagerKey("rsa_4096",
629
+ name="rsa-4096-key",
630
+ region="fr-par",
631
+ usage="asymmetric_encryption",
632
+ algorithm="rsa_oaep_4096_sha256",
633
+ description="Key for encrypting large files with RSA-4096",
634
+ unprotected=True)
635
+ ```
636
+
637
+ ### Asymmetric Signing Key
638
+
639
+ ```python
640
+ import pulumi
641
+ import pulumiverse_scaleway as scaleway
642
+
643
+ signing = scaleway.KeyManagerKey("signing",
644
+ name="signing-key",
645
+ region="fr-par",
646
+ usage="asymmetric_signing",
647
+ algorithm="rsa_pss_2048_sha256",
648
+ description="Key for signing documents",
649
+ unprotected=True)
650
+ ```
651
+
652
+ ## Notes
653
+
654
+ - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
655
+ - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
656
+ - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
657
+ - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
658
+ - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
659
+
660
+ ## Import
661
+
662
+ You can import a key using its ID and region:
663
+
664
+ ```sh
665
+ $ pulumi import scaleway:index/keyManagerKey:KeyManagerKey main fr-par/11111111-2222-3333-4444-555555555555
666
+ ```
667
+
668
+ :param str resource_name: The name of the resource.
669
+ :param KeyManagerKeyArgs args: The arguments to use to populate this resource's properties.
670
+ :param pulumi.ResourceOptions opts: Options for the resource.
671
+ """
672
+ ...
673
+ def __init__(__self__, resource_name: str, *args, **kwargs):
674
+ resource_args, opts = _utilities.get_resource_args_opts(KeyManagerKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
675
+ if resource_args is not None:
676
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
677
+ else:
678
+ __self__._internal_init(resource_name, *args, **kwargs)
679
+
680
+ def _internal_init(__self__,
681
+ resource_name: str,
682
+ opts: Optional[pulumi.ResourceOptions] = None,
683
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
684
+ description: Optional[pulumi.Input[_builtins.str]] = None,
685
+ name: Optional[pulumi.Input[_builtins.str]] = None,
686
+ origin: Optional[pulumi.Input[_builtins.str]] = None,
687
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
688
+ region: Optional[pulumi.Input[_builtins.str]] = None,
689
+ rotation_policy: Optional[pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']]] = None,
690
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
691
+ unprotected: Optional[pulumi.Input[_builtins.bool]] = None,
692
+ usage: Optional[pulumi.Input[_builtins.str]] = None,
693
+ __props__=None):
694
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
695
+ if not isinstance(opts, pulumi.ResourceOptions):
696
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
697
+ if opts.id is None:
698
+ if __props__ is not None:
699
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
700
+ __props__ = KeyManagerKeyArgs.__new__(KeyManagerKeyArgs)
701
+
702
+ if algorithm is None and not opts.urn:
703
+ raise TypeError("Missing required property 'algorithm'")
704
+ __props__.__dict__["algorithm"] = algorithm
705
+ __props__.__dict__["description"] = description
706
+ __props__.__dict__["name"] = name
707
+ __props__.__dict__["origin"] = origin
708
+ __props__.__dict__["project_id"] = project_id
709
+ __props__.__dict__["region"] = region
710
+ __props__.__dict__["rotation_policy"] = rotation_policy
711
+ __props__.__dict__["tags"] = tags
712
+ __props__.__dict__["unprotected"] = unprotected
713
+ if usage is None and not opts.urn:
714
+ raise TypeError("Missing required property 'usage'")
715
+ __props__.__dict__["usage"] = usage
716
+ __props__.__dict__["created_at"] = None
717
+ __props__.__dict__["locked"] = None
718
+ __props__.__dict__["protected"] = None
719
+ __props__.__dict__["rotated_at"] = None
720
+ __props__.__dict__["rotation_count"] = None
721
+ __props__.__dict__["state"] = None
722
+ __props__.__dict__["updated_at"] = None
723
+ super(KeyManagerKey, __self__).__init__(
724
+ 'scaleway:index/keyManagerKey:KeyManagerKey',
725
+ resource_name,
726
+ __props__,
727
+ opts)
728
+
729
+ @staticmethod
730
+ def get(resource_name: str,
731
+ id: pulumi.Input[str],
732
+ opts: Optional[pulumi.ResourceOptions] = None,
733
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
734
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
735
+ description: Optional[pulumi.Input[_builtins.str]] = None,
736
+ locked: Optional[pulumi.Input[_builtins.bool]] = None,
737
+ name: Optional[pulumi.Input[_builtins.str]] = None,
738
+ origin: Optional[pulumi.Input[_builtins.str]] = None,
739
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
740
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
741
+ region: Optional[pulumi.Input[_builtins.str]] = None,
742
+ rotated_at: Optional[pulumi.Input[_builtins.str]] = None,
743
+ rotation_count: Optional[pulumi.Input[_builtins.int]] = None,
744
+ rotation_policy: Optional[pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']]] = None,
745
+ state: Optional[pulumi.Input[_builtins.str]] = None,
746
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
747
+ unprotected: Optional[pulumi.Input[_builtins.bool]] = None,
748
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
749
+ usage: Optional[pulumi.Input[_builtins.str]] = None) -> 'KeyManagerKey':
750
+ """
751
+ Get an existing KeyManagerKey resource's state with the given name, id, and optional extra
752
+ properties used to qualify the lookup.
753
+
754
+ :param str resource_name: The unique name of the resulting resource.
755
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
756
+ :param pulumi.ResourceOptions opts: Options for the resource.
757
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
758
+ - For `symmetric_encryption`:
759
+ :param pulumi.Input[_builtins.str] created_at: The date and time when the key was created.
760
+ :param pulumi.Input[_builtins.str] description: – A description for the key.
761
+ :param pulumi.Input[_builtins.bool] locked: Whether the key is locked.
762
+ :param pulumi.Input[_builtins.str] name: The name of the key.
763
+ :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
764
+ :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
765
+
766
+ **Key Usage and Algorithm (both required):**
767
+ :param pulumi.Input[_builtins.bool] protected: Whether the key is protected from deletion.
768
+ :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
769
+ :param pulumi.Input[_builtins.str] rotated_at: The date and time when the key was last rotated.
770
+ :param pulumi.Input[_builtins.int] rotation_count: The number of times the key has been rotated.
771
+ :param pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']] rotation_policy: – Rotation policy for the key:
772
+ :param pulumi.Input[_builtins.str] state: The state of the key (e.g., `enabled`).
773
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
774
+ :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
775
+ :param pulumi.Input[_builtins.str] updated_at: The date and time when the key was last updated.
776
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
777
+ """
778
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
779
+
780
+ __props__ = _KeyManagerKeyState.__new__(_KeyManagerKeyState)
781
+
782
+ __props__.__dict__["algorithm"] = algorithm
783
+ __props__.__dict__["created_at"] = created_at
784
+ __props__.__dict__["description"] = description
785
+ __props__.__dict__["locked"] = locked
786
+ __props__.__dict__["name"] = name
787
+ __props__.__dict__["origin"] = origin
788
+ __props__.__dict__["project_id"] = project_id
789
+ __props__.__dict__["protected"] = protected
790
+ __props__.__dict__["region"] = region
791
+ __props__.__dict__["rotated_at"] = rotated_at
792
+ __props__.__dict__["rotation_count"] = rotation_count
793
+ __props__.__dict__["rotation_policy"] = rotation_policy
794
+ __props__.__dict__["state"] = state
795
+ __props__.__dict__["tags"] = tags
796
+ __props__.__dict__["unprotected"] = unprotected
797
+ __props__.__dict__["updated_at"] = updated_at
798
+ __props__.__dict__["usage"] = usage
799
+ return KeyManagerKey(resource_name, opts=opts, __props__=__props__)
800
+
801
+ @_builtins.property
802
+ @pulumi.getter
803
+ def algorithm(self) -> pulumi.Output[_builtins.str]:
804
+ """
805
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
806
+ - For `symmetric_encryption`:
807
+ """
808
+ return pulumi.get(self, "algorithm")
809
+
810
+ @_builtins.property
811
+ @pulumi.getter(name="createdAt")
812
+ def created_at(self) -> pulumi.Output[_builtins.str]:
813
+ """
814
+ The date and time when the key was created.
815
+ """
816
+ return pulumi.get(self, "created_at")
817
+
818
+ @_builtins.property
819
+ @pulumi.getter
820
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
821
+ """
822
+ – A description for the key.
823
+ """
824
+ return pulumi.get(self, "description")
825
+
826
+ @_builtins.property
827
+ @pulumi.getter
828
+ def locked(self) -> pulumi.Output[_builtins.bool]:
829
+ """
830
+ Whether the key is locked.
831
+ """
832
+ return pulumi.get(self, "locked")
833
+
834
+ @_builtins.property
835
+ @pulumi.getter
836
+ def name(self) -> pulumi.Output[_builtins.str]:
837
+ """
838
+ The name of the key.
839
+ """
840
+ return pulumi.get(self, "name")
841
+
842
+ @_builtins.property
843
+ @pulumi.getter
844
+ def origin(self) -> pulumi.Output[Optional[_builtins.str]]:
845
+ """
846
+ – The origin of the key. Valid values are:
847
+ """
848
+ return pulumi.get(self, "origin")
849
+
850
+ @_builtins.property
851
+ @pulumi.getter(name="projectId")
852
+ def project_id(self) -> pulumi.Output[_builtins.str]:
853
+ """
854
+ – The ID of the project the key belongs to.
855
+
856
+ **Key Usage and Algorithm (both required):**
857
+ """
858
+ return pulumi.get(self, "project_id")
859
+
860
+ @_builtins.property
861
+ @pulumi.getter
862
+ def protected(self) -> pulumi.Output[_builtins.bool]:
863
+ """
864
+ Whether the key is protected from deletion.
865
+ """
866
+ return pulumi.get(self, "protected")
867
+
868
+ @_builtins.property
869
+ @pulumi.getter
870
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
871
+ """
872
+ The region in which to create the key (e.g., `fr-par`).
873
+ """
874
+ return pulumi.get(self, "region")
875
+
876
+ @_builtins.property
877
+ @pulumi.getter(name="rotatedAt")
878
+ def rotated_at(self) -> pulumi.Output[_builtins.str]:
879
+ """
880
+ The date and time when the key was last rotated.
881
+ """
882
+ return pulumi.get(self, "rotated_at")
883
+
884
+ @_builtins.property
885
+ @pulumi.getter(name="rotationCount")
886
+ def rotation_count(self) -> pulumi.Output[_builtins.int]:
887
+ """
888
+ The number of times the key has been rotated.
889
+ """
890
+ return pulumi.get(self, "rotation_count")
891
+
892
+ @_builtins.property
893
+ @pulumi.getter(name="rotationPolicy")
894
+ def rotation_policy(self) -> pulumi.Output[Optional['outputs.KeyManagerKeyRotationPolicy']]:
895
+ """
896
+ – Rotation policy for the key:
897
+ """
898
+ return pulumi.get(self, "rotation_policy")
899
+
900
+ @_builtins.property
901
+ @pulumi.getter
902
+ def state(self) -> pulumi.Output[_builtins.str]:
903
+ """
904
+ The state of the key (e.g., `enabled`).
905
+ """
906
+ return pulumi.get(self, "state")
907
+
908
+ @_builtins.property
909
+ @pulumi.getter
910
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
911
+ """
912
+ – A list of tags to assign to the key.
913
+ """
914
+ return pulumi.get(self, "tags")
915
+
916
+ @_builtins.property
917
+ @pulumi.getter
918
+ def unprotected(self) -> pulumi.Output[Optional[_builtins.bool]]:
919
+ """
920
+ – If `true`, the key can be deleted. Defaults to `false` (protected).
921
+ """
922
+ return pulumi.get(self, "unprotected")
923
+
924
+ @_builtins.property
925
+ @pulumi.getter(name="updatedAt")
926
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
927
+ """
928
+ The date and time when the key was last updated.
929
+ """
930
+ return pulumi.get(self, "updated_at")
931
+
932
+ @_builtins.property
933
+ @pulumi.getter
934
+ def usage(self) -> pulumi.Output[_builtins.str]:
935
+ """
936
+ – The usage type of the key. Valid values:
937
+ """
938
+ return pulumi.get(self, "usage")
939
+