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
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -19,36 +19,38 @@ __all__ = ['ItemArgs', 'Item']
19
19
  @pulumi.input_type
20
20
  class ItemArgs:
21
21
  def __init__(__self__, *,
22
- bucket: pulumi.Input[str],
23
- key: pulumi.Input[str],
24
- content: Optional[pulumi.Input[str]] = None,
25
- content_base64: Optional[pulumi.Input[str]] = None,
26
- file: Optional[pulumi.Input[str]] = None,
27
- hash: Optional[pulumi.Input[str]] = None,
28
- metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
- project_id: Optional[pulumi.Input[str]] = None,
30
- region: Optional[pulumi.Input[str]] = None,
31
- sse_customer_key: Optional[pulumi.Input[str]] = None,
32
- storage_class: Optional[pulumi.Input[str]] = None,
33
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
34
- visibility: Optional[pulumi.Input[str]] = None):
22
+ bucket: pulumi.Input[_builtins.str],
23
+ key: pulumi.Input[_builtins.str],
24
+ content: Optional[pulumi.Input[_builtins.str]] = None,
25
+ content_base64: Optional[pulumi.Input[_builtins.str]] = None,
26
+ content_type: Optional[pulumi.Input[_builtins.str]] = None,
27
+ file: Optional[pulumi.Input[_builtins.str]] = None,
28
+ hash: Optional[pulumi.Input[_builtins.str]] = None,
29
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
30
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
31
+ region: Optional[pulumi.Input[_builtins.str]] = None,
32
+ sse_customer_key: Optional[pulumi.Input[_builtins.str]] = None,
33
+ storage_class: Optional[pulumi.Input[_builtins.str]] = None,
34
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
35
+ visibility: Optional[pulumi.Input[_builtins.str]] = None):
35
36
  """
36
37
  The set of arguments for constructing a Item resource.
37
- :param pulumi.Input[str] bucket: The bucket's name or regional ID.
38
- :param pulumi.Input[str] key: The path to the object.
39
- :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
40
- :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
38
+ :param pulumi.Input[_builtins.str] bucket: The bucket's name or regional ID.
39
+ :param pulumi.Input[_builtins.str] key: The path to the object.
40
+ :param pulumi.Input[_builtins.str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
41
+ :param pulumi.Input[_builtins.str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
41
42
 
42
43
  > **Note:** Only one of `file`, `content` or `content_base64` can be defined.
43
- :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file.
44
- :param pulumi.Input[str] hash: Hash of the file, used to trigger the upload on file change.
45
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase).
46
- :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
47
- :param pulumi.Input[str] region: The Scaleway region the bucket resides in.
48
- :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
49
- :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
50
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags.
51
- :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`.
44
+ :param pulumi.Input[_builtins.str] content_type: The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
45
+ :param pulumi.Input[_builtins.str] file: The name of the file to upload, defaults to an empty file.
46
+ :param pulumi.Input[_builtins.str] hash: Hash of the file, used to trigger the upload on file change.
47
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: Map of metadata used for the object (keys must be lowercase).
48
+ :param pulumi.Input[_builtins.str] project_id: The project_id you want to attach the resource to
49
+ :param pulumi.Input[_builtins.str] region: The Scaleway region the bucket resides in.
50
+ :param pulumi.Input[_builtins.str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
51
+ :param pulumi.Input[_builtins.str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
52
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags.
53
+ :param pulumi.Input[_builtins.str] visibility: Visibility of the object, `public-read` or `private`.
52
54
  """
53
55
  pulumi.set(__self__, "bucket", bucket)
54
56
  pulumi.set(__self__, "key", key)
@@ -56,6 +58,8 @@ class ItemArgs:
56
58
  pulumi.set(__self__, "content", content)
57
59
  if content_base64 is not None:
58
60
  pulumi.set(__self__, "content_base64", content_base64)
61
+ if content_type is not None:
62
+ pulumi.set(__self__, "content_type", content_type)
59
63
  if file is not None:
60
64
  pulumi.set(__self__, "file", file)
61
65
  if hash is not None:
@@ -75,45 +79,45 @@ class ItemArgs:
75
79
  if visibility is not None:
76
80
  pulumi.set(__self__, "visibility", visibility)
77
81
 
78
- @property
82
+ @_builtins.property
79
83
  @pulumi.getter
80
- def bucket(self) -> pulumi.Input[str]:
84
+ def bucket(self) -> pulumi.Input[_builtins.str]:
81
85
  """
82
86
  The bucket's name or regional ID.
83
87
  """
84
88
  return pulumi.get(self, "bucket")
85
89
 
86
90
  @bucket.setter
87
- def bucket(self, value: pulumi.Input[str]):
91
+ def bucket(self, value: pulumi.Input[_builtins.str]):
88
92
  pulumi.set(self, "bucket", value)
89
93
 
90
- @property
94
+ @_builtins.property
91
95
  @pulumi.getter
92
- def key(self) -> pulumi.Input[str]:
96
+ def key(self) -> pulumi.Input[_builtins.str]:
93
97
  """
94
98
  The path to the object.
95
99
  """
96
100
  return pulumi.get(self, "key")
97
101
 
98
102
  @key.setter
99
- def key(self, value: pulumi.Input[str]):
103
+ def key(self, value: pulumi.Input[_builtins.str]):
100
104
  pulumi.set(self, "key", value)
101
105
 
102
- @property
106
+ @_builtins.property
103
107
  @pulumi.getter
104
- def content(self) -> Optional[pulumi.Input[str]]:
108
+ def content(self) -> Optional[pulumi.Input[_builtins.str]]:
105
109
  """
106
110
  The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
107
111
  """
108
112
  return pulumi.get(self, "content")
109
113
 
110
114
  @content.setter
111
- def content(self, value: Optional[pulumi.Input[str]]):
115
+ def content(self, value: Optional[pulumi.Input[_builtins.str]]):
112
116
  pulumi.set(self, "content", value)
113
117
 
114
- @property
118
+ @_builtins.property
115
119
  @pulumi.getter(name="contentBase64")
116
- def content_base64(self) -> Optional[pulumi.Input[str]]:
120
+ def content_base64(self) -> Optional[pulumi.Input[_builtins.str]]:
117
121
  """
118
122
  The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
119
123
 
@@ -122,151 +126,165 @@ class ItemArgs:
122
126
  return pulumi.get(self, "content_base64")
123
127
 
124
128
  @content_base64.setter
125
- def content_base64(self, value: Optional[pulumi.Input[str]]):
129
+ def content_base64(self, value: Optional[pulumi.Input[_builtins.str]]):
126
130
  pulumi.set(self, "content_base64", value)
127
131
 
128
- @property
132
+ @_builtins.property
133
+ @pulumi.getter(name="contentType")
134
+ def content_type(self) -> Optional[pulumi.Input[_builtins.str]]:
135
+ """
136
+ The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
137
+ """
138
+ return pulumi.get(self, "content_type")
139
+
140
+ @content_type.setter
141
+ def content_type(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "content_type", value)
143
+
144
+ @_builtins.property
129
145
  @pulumi.getter
130
- def file(self) -> Optional[pulumi.Input[str]]:
146
+ def file(self) -> Optional[pulumi.Input[_builtins.str]]:
131
147
  """
132
148
  The name of the file to upload, defaults to an empty file.
133
149
  """
134
150
  return pulumi.get(self, "file")
135
151
 
136
152
  @file.setter
137
- def file(self, value: Optional[pulumi.Input[str]]):
153
+ def file(self, value: Optional[pulumi.Input[_builtins.str]]):
138
154
  pulumi.set(self, "file", value)
139
155
 
140
- @property
156
+ @_builtins.property
141
157
  @pulumi.getter
142
- def hash(self) -> Optional[pulumi.Input[str]]:
158
+ def hash(self) -> Optional[pulumi.Input[_builtins.str]]:
143
159
  """
144
160
  Hash of the file, used to trigger the upload on file change.
145
161
  """
146
162
  return pulumi.get(self, "hash")
147
163
 
148
164
  @hash.setter
149
- def hash(self, value: Optional[pulumi.Input[str]]):
165
+ def hash(self, value: Optional[pulumi.Input[_builtins.str]]):
150
166
  pulumi.set(self, "hash", value)
151
167
 
152
- @property
168
+ @_builtins.property
153
169
  @pulumi.getter
154
- def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
170
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
155
171
  """
156
172
  Map of metadata used for the object (keys must be lowercase).
157
173
  """
158
174
  return pulumi.get(self, "metadata")
159
175
 
160
176
  @metadata.setter
161
- def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
177
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
162
178
  pulumi.set(self, "metadata", value)
163
179
 
164
- @property
180
+ @_builtins.property
165
181
  @pulumi.getter(name="projectId")
166
- def project_id(self) -> Optional[pulumi.Input[str]]:
182
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
167
183
  """
168
184
  The project_id you want to attach the resource to
169
185
  """
170
186
  return pulumi.get(self, "project_id")
171
187
 
172
188
  @project_id.setter
173
- def project_id(self, value: Optional[pulumi.Input[str]]):
189
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
174
190
  pulumi.set(self, "project_id", value)
175
191
 
176
- @property
192
+ @_builtins.property
177
193
  @pulumi.getter
178
- def region(self) -> Optional[pulumi.Input[str]]:
194
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
179
195
  """
180
196
  The Scaleway region the bucket resides in.
181
197
  """
182
198
  return pulumi.get(self, "region")
183
199
 
184
200
  @region.setter
185
- def region(self, value: Optional[pulumi.Input[str]]):
201
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
186
202
  pulumi.set(self, "region", value)
187
203
 
188
- @property
204
+ @_builtins.property
189
205
  @pulumi.getter(name="sseCustomerKey")
190
- def sse_customer_key(self) -> Optional[pulumi.Input[str]]:
206
+ def sse_customer_key(self) -> Optional[pulumi.Input[_builtins.str]]:
191
207
  """
192
208
  Customer's encryption keys to encrypt data (SSE-C)
193
209
  """
194
210
  return pulumi.get(self, "sse_customer_key")
195
211
 
196
212
  @sse_customer_key.setter
197
- def sse_customer_key(self, value: Optional[pulumi.Input[str]]):
213
+ def sse_customer_key(self, value: Optional[pulumi.Input[_builtins.str]]):
198
214
  pulumi.set(self, "sse_customer_key", value)
199
215
 
200
- @property
216
+ @_builtins.property
201
217
  @pulumi.getter(name="storageClass")
202
- def storage_class(self) -> Optional[pulumi.Input[str]]:
218
+ def storage_class(self) -> Optional[pulumi.Input[_builtins.str]]:
203
219
  """
204
220
  Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
205
221
  """
206
222
  return pulumi.get(self, "storage_class")
207
223
 
208
224
  @storage_class.setter
209
- def storage_class(self, value: Optional[pulumi.Input[str]]):
225
+ def storage_class(self, value: Optional[pulumi.Input[_builtins.str]]):
210
226
  pulumi.set(self, "storage_class", value)
211
227
 
212
- @property
228
+ @_builtins.property
213
229
  @pulumi.getter
214
- def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
230
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
215
231
  """
216
232
  Map of tags.
217
233
  """
218
234
  return pulumi.get(self, "tags")
219
235
 
220
236
  @tags.setter
221
- def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
237
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
222
238
  pulumi.set(self, "tags", value)
223
239
 
224
- @property
240
+ @_builtins.property
225
241
  @pulumi.getter
226
- def visibility(self) -> Optional[pulumi.Input[str]]:
242
+ def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
227
243
  """
228
244
  Visibility of the object, `public-read` or `private`.
229
245
  """
230
246
  return pulumi.get(self, "visibility")
231
247
 
232
248
  @visibility.setter
233
- def visibility(self, value: Optional[pulumi.Input[str]]):
249
+ def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
234
250
  pulumi.set(self, "visibility", value)
235
251
 
236
252
 
237
253
  @pulumi.input_type
238
254
  class _ItemState:
239
255
  def __init__(__self__, *,
240
- bucket: Optional[pulumi.Input[str]] = None,
241
- content: Optional[pulumi.Input[str]] = None,
242
- content_base64: Optional[pulumi.Input[str]] = None,
243
- file: Optional[pulumi.Input[str]] = None,
244
- hash: Optional[pulumi.Input[str]] = None,
245
- key: Optional[pulumi.Input[str]] = None,
246
- metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
247
- project_id: Optional[pulumi.Input[str]] = None,
248
- region: Optional[pulumi.Input[str]] = None,
249
- sse_customer_key: Optional[pulumi.Input[str]] = None,
250
- storage_class: Optional[pulumi.Input[str]] = None,
251
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
252
- visibility: Optional[pulumi.Input[str]] = None):
256
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
257
+ content: Optional[pulumi.Input[_builtins.str]] = None,
258
+ content_base64: Optional[pulumi.Input[_builtins.str]] = None,
259
+ content_type: Optional[pulumi.Input[_builtins.str]] = None,
260
+ file: Optional[pulumi.Input[_builtins.str]] = None,
261
+ hash: Optional[pulumi.Input[_builtins.str]] = None,
262
+ key: Optional[pulumi.Input[_builtins.str]] = None,
263
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
264
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
265
+ region: Optional[pulumi.Input[_builtins.str]] = None,
266
+ sse_customer_key: Optional[pulumi.Input[_builtins.str]] = None,
267
+ storage_class: Optional[pulumi.Input[_builtins.str]] = None,
268
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
269
+ visibility: Optional[pulumi.Input[_builtins.str]] = None):
253
270
  """
254
271
  Input properties used for looking up and filtering Item resources.
255
- :param pulumi.Input[str] bucket: The bucket's name or regional ID.
256
- :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
257
- :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
272
+ :param pulumi.Input[_builtins.str] bucket: The bucket's name or regional ID.
273
+ :param pulumi.Input[_builtins.str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
274
+ :param pulumi.Input[_builtins.str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
258
275
 
259
276
  > **Note:** Only one of `file`, `content` or `content_base64` can be defined.
260
- :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file.
261
- :param pulumi.Input[str] hash: Hash of the file, used to trigger the upload on file change.
262
- :param pulumi.Input[str] key: The path to the object.
263
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase).
264
- :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
265
- :param pulumi.Input[str] region: The Scaleway region the bucket resides in.
266
- :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
267
- :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
268
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags.
269
- :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`.
277
+ :param pulumi.Input[_builtins.str] content_type: The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
278
+ :param pulumi.Input[_builtins.str] file: The name of the file to upload, defaults to an empty file.
279
+ :param pulumi.Input[_builtins.str] hash: Hash of the file, used to trigger the upload on file change.
280
+ :param pulumi.Input[_builtins.str] key: The path to the object.
281
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: Map of metadata used for the object (keys must be lowercase).
282
+ :param pulumi.Input[_builtins.str] project_id: The project_id you want to attach the resource to
283
+ :param pulumi.Input[_builtins.str] region: The Scaleway region the bucket resides in.
284
+ :param pulumi.Input[_builtins.str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
285
+ :param pulumi.Input[_builtins.str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
286
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags.
287
+ :param pulumi.Input[_builtins.str] visibility: Visibility of the object, `public-read` or `private`.
270
288
  """
271
289
  if bucket is not None:
272
290
  pulumi.set(__self__, "bucket", bucket)
@@ -274,6 +292,8 @@ class _ItemState:
274
292
  pulumi.set(__self__, "content", content)
275
293
  if content_base64 is not None:
276
294
  pulumi.set(__self__, "content_base64", content_base64)
295
+ if content_type is not None:
296
+ pulumi.set(__self__, "content_type", content_type)
277
297
  if file is not None:
278
298
  pulumi.set(__self__, "file", file)
279
299
  if hash is not None:
@@ -295,33 +315,33 @@ class _ItemState:
295
315
  if visibility is not None:
296
316
  pulumi.set(__self__, "visibility", visibility)
297
317
 
298
- @property
318
+ @_builtins.property
299
319
  @pulumi.getter
300
- def bucket(self) -> Optional[pulumi.Input[str]]:
320
+ def bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
301
321
  """
302
322
  The bucket's name or regional ID.
303
323
  """
304
324
  return pulumi.get(self, "bucket")
305
325
 
306
326
  @bucket.setter
307
- def bucket(self, value: Optional[pulumi.Input[str]]):
327
+ def bucket(self, value: Optional[pulumi.Input[_builtins.str]]):
308
328
  pulumi.set(self, "bucket", value)
309
329
 
310
- @property
330
+ @_builtins.property
311
331
  @pulumi.getter
312
- def content(self) -> Optional[pulumi.Input[str]]:
332
+ def content(self) -> Optional[pulumi.Input[_builtins.str]]:
313
333
  """
314
334
  The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
315
335
  """
316
336
  return pulumi.get(self, "content")
317
337
 
318
338
  @content.setter
319
- def content(self, value: Optional[pulumi.Input[str]]):
339
+ def content(self, value: Optional[pulumi.Input[_builtins.str]]):
320
340
  pulumi.set(self, "content", value)
321
341
 
322
- @property
342
+ @_builtins.property
323
343
  @pulumi.getter(name="contentBase64")
324
- def content_base64(self) -> Optional[pulumi.Input[str]]:
344
+ def content_base64(self) -> Optional[pulumi.Input[_builtins.str]]:
325
345
  """
326
346
  The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
327
347
 
@@ -330,154 +350,183 @@ class _ItemState:
330
350
  return pulumi.get(self, "content_base64")
331
351
 
332
352
  @content_base64.setter
333
- def content_base64(self, value: Optional[pulumi.Input[str]]):
353
+ def content_base64(self, value: Optional[pulumi.Input[_builtins.str]]):
334
354
  pulumi.set(self, "content_base64", value)
335
355
 
336
- @property
356
+ @_builtins.property
357
+ @pulumi.getter(name="contentType")
358
+ def content_type(self) -> Optional[pulumi.Input[_builtins.str]]:
359
+ """
360
+ The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
361
+ """
362
+ return pulumi.get(self, "content_type")
363
+
364
+ @content_type.setter
365
+ def content_type(self, value: Optional[pulumi.Input[_builtins.str]]):
366
+ pulumi.set(self, "content_type", value)
367
+
368
+ @_builtins.property
337
369
  @pulumi.getter
338
- def file(self) -> Optional[pulumi.Input[str]]:
370
+ def file(self) -> Optional[pulumi.Input[_builtins.str]]:
339
371
  """
340
372
  The name of the file to upload, defaults to an empty file.
341
373
  """
342
374
  return pulumi.get(self, "file")
343
375
 
344
376
  @file.setter
345
- def file(self, value: Optional[pulumi.Input[str]]):
377
+ def file(self, value: Optional[pulumi.Input[_builtins.str]]):
346
378
  pulumi.set(self, "file", value)
347
379
 
348
- @property
380
+ @_builtins.property
349
381
  @pulumi.getter
350
- def hash(self) -> Optional[pulumi.Input[str]]:
382
+ def hash(self) -> Optional[pulumi.Input[_builtins.str]]:
351
383
  """
352
384
  Hash of the file, used to trigger the upload on file change.
353
385
  """
354
386
  return pulumi.get(self, "hash")
355
387
 
356
388
  @hash.setter
357
- def hash(self, value: Optional[pulumi.Input[str]]):
389
+ def hash(self, value: Optional[pulumi.Input[_builtins.str]]):
358
390
  pulumi.set(self, "hash", value)
359
391
 
360
- @property
392
+ @_builtins.property
361
393
  @pulumi.getter
362
- def key(self) -> Optional[pulumi.Input[str]]:
394
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
363
395
  """
364
396
  The path to the object.
365
397
  """
366
398
  return pulumi.get(self, "key")
367
399
 
368
400
  @key.setter
369
- def key(self, value: Optional[pulumi.Input[str]]):
401
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
370
402
  pulumi.set(self, "key", value)
371
403
 
372
- @property
404
+ @_builtins.property
373
405
  @pulumi.getter
374
- def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
406
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
375
407
  """
376
408
  Map of metadata used for the object (keys must be lowercase).
377
409
  """
378
410
  return pulumi.get(self, "metadata")
379
411
 
380
412
  @metadata.setter
381
- def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
413
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
382
414
  pulumi.set(self, "metadata", value)
383
415
 
384
- @property
416
+ @_builtins.property
385
417
  @pulumi.getter(name="projectId")
386
- def project_id(self) -> Optional[pulumi.Input[str]]:
418
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
387
419
  """
388
420
  The project_id you want to attach the resource to
389
421
  """
390
422
  return pulumi.get(self, "project_id")
391
423
 
392
424
  @project_id.setter
393
- def project_id(self, value: Optional[pulumi.Input[str]]):
425
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
394
426
  pulumi.set(self, "project_id", value)
395
427
 
396
- @property
428
+ @_builtins.property
397
429
  @pulumi.getter
398
- def region(self) -> Optional[pulumi.Input[str]]:
430
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
399
431
  """
400
432
  The Scaleway region the bucket resides in.
401
433
  """
402
434
  return pulumi.get(self, "region")
403
435
 
404
436
  @region.setter
405
- def region(self, value: Optional[pulumi.Input[str]]):
437
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
406
438
  pulumi.set(self, "region", value)
407
439
 
408
- @property
440
+ @_builtins.property
409
441
  @pulumi.getter(name="sseCustomerKey")
410
- def sse_customer_key(self) -> Optional[pulumi.Input[str]]:
442
+ def sse_customer_key(self) -> Optional[pulumi.Input[_builtins.str]]:
411
443
  """
412
444
  Customer's encryption keys to encrypt data (SSE-C)
413
445
  """
414
446
  return pulumi.get(self, "sse_customer_key")
415
447
 
416
448
  @sse_customer_key.setter
417
- def sse_customer_key(self, value: Optional[pulumi.Input[str]]):
449
+ def sse_customer_key(self, value: Optional[pulumi.Input[_builtins.str]]):
418
450
  pulumi.set(self, "sse_customer_key", value)
419
451
 
420
- @property
452
+ @_builtins.property
421
453
  @pulumi.getter(name="storageClass")
422
- def storage_class(self) -> Optional[pulumi.Input[str]]:
454
+ def storage_class(self) -> Optional[pulumi.Input[_builtins.str]]:
423
455
  """
424
456
  Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
425
457
  """
426
458
  return pulumi.get(self, "storage_class")
427
459
 
428
460
  @storage_class.setter
429
- def storage_class(self, value: Optional[pulumi.Input[str]]):
461
+ def storage_class(self, value: Optional[pulumi.Input[_builtins.str]]):
430
462
  pulumi.set(self, "storage_class", value)
431
463
 
432
- @property
464
+ @_builtins.property
433
465
  @pulumi.getter
434
- def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
466
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
435
467
  """
436
468
  Map of tags.
437
469
  """
438
470
  return pulumi.get(self, "tags")
439
471
 
440
472
  @tags.setter
441
- def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
473
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
442
474
  pulumi.set(self, "tags", value)
443
475
 
444
- @property
476
+ @_builtins.property
445
477
  @pulumi.getter
446
- def visibility(self) -> Optional[pulumi.Input[str]]:
478
+ def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
447
479
  """
448
480
  Visibility of the object, `public-read` or `private`.
449
481
  """
450
482
  return pulumi.get(self, "visibility")
451
483
 
452
484
  @visibility.setter
453
- def visibility(self, value: Optional[pulumi.Input[str]]):
485
+ def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
454
486
  pulumi.set(self, "visibility", value)
455
487
 
456
488
 
489
+ @pulumi.type_token("scaleway:object/item:Item")
457
490
  class Item(pulumi.CustomResource):
458
491
  @overload
459
492
  def __init__(__self__,
460
493
  resource_name: str,
461
494
  opts: Optional[pulumi.ResourceOptions] = None,
462
- bucket: Optional[pulumi.Input[str]] = None,
463
- content: Optional[pulumi.Input[str]] = None,
464
- content_base64: Optional[pulumi.Input[str]] = None,
465
- file: Optional[pulumi.Input[str]] = None,
466
- hash: Optional[pulumi.Input[str]] = None,
467
- key: Optional[pulumi.Input[str]] = None,
468
- metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
469
- project_id: Optional[pulumi.Input[str]] = None,
470
- region: Optional[pulumi.Input[str]] = None,
471
- sse_customer_key: Optional[pulumi.Input[str]] = None,
472
- storage_class: Optional[pulumi.Input[str]] = None,
473
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
474
- visibility: Optional[pulumi.Input[str]] = None,
495
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
496
+ content: Optional[pulumi.Input[_builtins.str]] = None,
497
+ content_base64: Optional[pulumi.Input[_builtins.str]] = None,
498
+ content_type: Optional[pulumi.Input[_builtins.str]] = None,
499
+ file: Optional[pulumi.Input[_builtins.str]] = None,
500
+ hash: Optional[pulumi.Input[_builtins.str]] = None,
501
+ key: Optional[pulumi.Input[_builtins.str]] = None,
502
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
503
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
504
+ region: Optional[pulumi.Input[_builtins.str]] = None,
505
+ sse_customer_key: Optional[pulumi.Input[_builtins.str]] = None,
506
+ storage_class: Optional[pulumi.Input[_builtins.str]] = None,
507
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
508
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
475
509
  __props__=None):
476
510
  """
477
511
  The `object.Item` resource allows you to create and manage objects for [Scaleway Object storage](https://www.scaleway.com/en/docs/object-storage/).
478
512
 
479
513
  Refer to the [dedicated documentation](https://www.scaleway.com/en/docs/object-storage/how-to/upload-files-into-a-bucket/) for more information on Object Storage objects.
480
514
 
515
+ ## Example Usage
516
+
517
+ ```python
518
+ import pulumi
519
+ import pulumi_std as std
520
+ import pulumiverse_scaleway as scaleway
521
+
522
+ some_bucket = scaleway.object.Bucket("some_bucket", name="some-unique-name")
523
+ some_file = scaleway.object.Item("some_file",
524
+ bucket=some_bucket.id,
525
+ key="object_path",
526
+ file="myfile",
527
+ hash=std.index.filemd5(input="myfile")["result"])
528
+ ```
529
+
481
530
  ## Import
482
531
 
483
532
  Objects can be imported using the `{region}/{bucketName}/{objectKey}` identifier, as shown below:
@@ -500,21 +549,22 @@ class Item(pulumi.CustomResource):
500
549
 
501
550
  :param str resource_name: The name of the resource.
502
551
  :param pulumi.ResourceOptions opts: Options for the resource.
503
- :param pulumi.Input[str] bucket: The bucket's name or regional ID.
504
- :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
505
- :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
552
+ :param pulumi.Input[_builtins.str] bucket: The bucket's name or regional ID.
553
+ :param pulumi.Input[_builtins.str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
554
+ :param pulumi.Input[_builtins.str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
506
555
 
507
556
  > **Note:** Only one of `file`, `content` or `content_base64` can be defined.
508
- :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file.
509
- :param pulumi.Input[str] hash: Hash of the file, used to trigger the upload on file change.
510
- :param pulumi.Input[str] key: The path to the object.
511
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase).
512
- :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
513
- :param pulumi.Input[str] region: The Scaleway region the bucket resides in.
514
- :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
515
- :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
516
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags.
517
- :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`.
557
+ :param pulumi.Input[_builtins.str] content_type: The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
558
+ :param pulumi.Input[_builtins.str] file: The name of the file to upload, defaults to an empty file.
559
+ :param pulumi.Input[_builtins.str] hash: Hash of the file, used to trigger the upload on file change.
560
+ :param pulumi.Input[_builtins.str] key: The path to the object.
561
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: Map of metadata used for the object (keys must be lowercase).
562
+ :param pulumi.Input[_builtins.str] project_id: The project_id you want to attach the resource to
563
+ :param pulumi.Input[_builtins.str] region: The Scaleway region the bucket resides in.
564
+ :param pulumi.Input[_builtins.str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
565
+ :param pulumi.Input[_builtins.str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
566
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags.
567
+ :param pulumi.Input[_builtins.str] visibility: Visibility of the object, `public-read` or `private`.
518
568
  """
519
569
  ...
520
570
  @overload
@@ -527,6 +577,21 @@ class Item(pulumi.CustomResource):
527
577
 
528
578
  Refer to the [dedicated documentation](https://www.scaleway.com/en/docs/object-storage/how-to/upload-files-into-a-bucket/) for more information on Object Storage objects.
529
579
 
580
+ ## Example Usage
581
+
582
+ ```python
583
+ import pulumi
584
+ import pulumi_std as std
585
+ import pulumiverse_scaleway as scaleway
586
+
587
+ some_bucket = scaleway.object.Bucket("some_bucket", name="some-unique-name")
588
+ some_file = scaleway.object.Item("some_file",
589
+ bucket=some_bucket.id,
590
+ key="object_path",
591
+ file="myfile",
592
+ hash=std.index.filemd5(input="myfile")["result"])
593
+ ```
594
+
530
595
  ## Import
531
596
 
532
597
  Objects can be imported using the `{region}/{bucketName}/{objectKey}` identifier, as shown below:
@@ -562,19 +627,20 @@ class Item(pulumi.CustomResource):
562
627
  def _internal_init(__self__,
563
628
  resource_name: str,
564
629
  opts: Optional[pulumi.ResourceOptions] = None,
565
- bucket: Optional[pulumi.Input[str]] = None,
566
- content: Optional[pulumi.Input[str]] = None,
567
- content_base64: Optional[pulumi.Input[str]] = None,
568
- file: Optional[pulumi.Input[str]] = None,
569
- hash: Optional[pulumi.Input[str]] = None,
570
- key: Optional[pulumi.Input[str]] = None,
571
- metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
572
- project_id: Optional[pulumi.Input[str]] = None,
573
- region: Optional[pulumi.Input[str]] = None,
574
- sse_customer_key: Optional[pulumi.Input[str]] = None,
575
- storage_class: Optional[pulumi.Input[str]] = None,
576
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
577
- visibility: Optional[pulumi.Input[str]] = None,
630
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
631
+ content: Optional[pulumi.Input[_builtins.str]] = None,
632
+ content_base64: Optional[pulumi.Input[_builtins.str]] = None,
633
+ content_type: Optional[pulumi.Input[_builtins.str]] = None,
634
+ file: Optional[pulumi.Input[_builtins.str]] = None,
635
+ hash: Optional[pulumi.Input[_builtins.str]] = None,
636
+ key: Optional[pulumi.Input[_builtins.str]] = None,
637
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
638
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
639
+ region: Optional[pulumi.Input[_builtins.str]] = None,
640
+ sse_customer_key: Optional[pulumi.Input[_builtins.str]] = None,
641
+ storage_class: Optional[pulumi.Input[_builtins.str]] = None,
642
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
643
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
578
644
  __props__=None):
579
645
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
580
646
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -589,6 +655,7 @@ class Item(pulumi.CustomResource):
589
655
  __props__.__dict__["bucket"] = bucket
590
656
  __props__.__dict__["content"] = content
591
657
  __props__.__dict__["content_base64"] = content_base64
658
+ __props__.__dict__["content_type"] = content_type
592
659
  __props__.__dict__["file"] = file
593
660
  __props__.__dict__["hash"] = hash
594
661
  if key is None and not opts.urn:
@@ -615,19 +682,20 @@ class Item(pulumi.CustomResource):
615
682
  def get(resource_name: str,
616
683
  id: pulumi.Input[str],
617
684
  opts: Optional[pulumi.ResourceOptions] = None,
618
- bucket: Optional[pulumi.Input[str]] = None,
619
- content: Optional[pulumi.Input[str]] = None,
620
- content_base64: Optional[pulumi.Input[str]] = None,
621
- file: Optional[pulumi.Input[str]] = None,
622
- hash: Optional[pulumi.Input[str]] = None,
623
- key: Optional[pulumi.Input[str]] = None,
624
- metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
625
- project_id: Optional[pulumi.Input[str]] = None,
626
- region: Optional[pulumi.Input[str]] = None,
627
- sse_customer_key: Optional[pulumi.Input[str]] = None,
628
- storage_class: Optional[pulumi.Input[str]] = None,
629
- tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
630
- visibility: Optional[pulumi.Input[str]] = None) -> 'Item':
685
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
686
+ content: Optional[pulumi.Input[_builtins.str]] = None,
687
+ content_base64: Optional[pulumi.Input[_builtins.str]] = None,
688
+ content_type: Optional[pulumi.Input[_builtins.str]] = None,
689
+ file: Optional[pulumi.Input[_builtins.str]] = None,
690
+ hash: Optional[pulumi.Input[_builtins.str]] = None,
691
+ key: Optional[pulumi.Input[_builtins.str]] = None,
692
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
693
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
694
+ region: Optional[pulumi.Input[_builtins.str]] = None,
695
+ sse_customer_key: Optional[pulumi.Input[_builtins.str]] = None,
696
+ storage_class: Optional[pulumi.Input[_builtins.str]] = None,
697
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
698
+ visibility: Optional[pulumi.Input[_builtins.str]] = None) -> 'Item':
631
699
  """
632
700
  Get an existing Item resource's state with the given name, id, and optional extra
633
701
  properties used to qualify the lookup.
@@ -635,21 +703,22 @@ class Item(pulumi.CustomResource):
635
703
  :param str resource_name: The unique name of the resulting resource.
636
704
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
637
705
  :param pulumi.ResourceOptions opts: Options for the resource.
638
- :param pulumi.Input[str] bucket: The bucket's name or regional ID.
639
- :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
640
- :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
706
+ :param pulumi.Input[_builtins.str] bucket: The bucket's name or regional ID.
707
+ :param pulumi.Input[_builtins.str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
708
+ :param pulumi.Input[_builtins.str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
641
709
 
642
710
  > **Note:** Only one of `file`, `content` or `content_base64` can be defined.
643
- :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file.
644
- :param pulumi.Input[str] hash: Hash of the file, used to trigger the upload on file change.
645
- :param pulumi.Input[str] key: The path to the object.
646
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase).
647
- :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
648
- :param pulumi.Input[str] region: The Scaleway region the bucket resides in.
649
- :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
650
- :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
651
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags.
652
- :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`.
711
+ :param pulumi.Input[_builtins.str] content_type: The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
712
+ :param pulumi.Input[_builtins.str] file: The name of the file to upload, defaults to an empty file.
713
+ :param pulumi.Input[_builtins.str] hash: Hash of the file, used to trigger the upload on file change.
714
+ :param pulumi.Input[_builtins.str] key: The path to the object.
715
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: Map of metadata used for the object (keys must be lowercase).
716
+ :param pulumi.Input[_builtins.str] project_id: The project_id you want to attach the resource to
717
+ :param pulumi.Input[_builtins.str] region: The Scaleway region the bucket resides in.
718
+ :param pulumi.Input[_builtins.str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C)
719
+ :param pulumi.Input[_builtins.str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
720
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags.
721
+ :param pulumi.Input[_builtins.str] visibility: Visibility of the object, `public-read` or `private`.
653
722
  """
654
723
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
655
724
 
@@ -658,6 +727,7 @@ class Item(pulumi.CustomResource):
658
727
  __props__.__dict__["bucket"] = bucket
659
728
  __props__.__dict__["content"] = content
660
729
  __props__.__dict__["content_base64"] = content_base64
730
+ __props__.__dict__["content_type"] = content_type
661
731
  __props__.__dict__["file"] = file
662
732
  __props__.__dict__["hash"] = hash
663
733
  __props__.__dict__["key"] = key
@@ -670,25 +740,25 @@ class Item(pulumi.CustomResource):
670
740
  __props__.__dict__["visibility"] = visibility
671
741
  return Item(resource_name, opts=opts, __props__=__props__)
672
742
 
673
- @property
743
+ @_builtins.property
674
744
  @pulumi.getter
675
- def bucket(self) -> pulumi.Output[str]:
745
+ def bucket(self) -> pulumi.Output[_builtins.str]:
676
746
  """
677
747
  The bucket's name or regional ID.
678
748
  """
679
749
  return pulumi.get(self, "bucket")
680
750
 
681
- @property
751
+ @_builtins.property
682
752
  @pulumi.getter
683
- def content(self) -> pulumi.Output[Optional[str]]:
753
+ def content(self) -> pulumi.Output[Optional[_builtins.str]]:
684
754
  """
685
755
  The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
686
756
  """
687
757
  return pulumi.get(self, "content")
688
758
 
689
- @property
759
+ @_builtins.property
690
760
  @pulumi.getter(name="contentBase64")
691
- def content_base64(self) -> pulumi.Output[Optional[str]]:
761
+ def content_base64(self) -> pulumi.Output[Optional[_builtins.str]]:
692
762
  """
693
763
  The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
694
764
 
@@ -696,81 +766,89 @@ class Item(pulumi.CustomResource):
696
766
  """
697
767
  return pulumi.get(self, "content_base64")
698
768
 
699
- @property
769
+ @_builtins.property
770
+ @pulumi.getter(name="contentType")
771
+ def content_type(self) -> pulumi.Output[_builtins.str]:
772
+ """
773
+ The standard MIME type of the object's content (e.g., 'application/json', 'text/plain'). This specifies how the object should be interpreted by clients. See RFC 9110: <https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type>
774
+ """
775
+ return pulumi.get(self, "content_type")
776
+
777
+ @_builtins.property
700
778
  @pulumi.getter
701
- def file(self) -> pulumi.Output[Optional[str]]:
779
+ def file(self) -> pulumi.Output[Optional[_builtins.str]]:
702
780
  """
703
781
  The name of the file to upload, defaults to an empty file.
704
782
  """
705
783
  return pulumi.get(self, "file")
706
784
 
707
- @property
785
+ @_builtins.property
708
786
  @pulumi.getter
709
- def hash(self) -> pulumi.Output[Optional[str]]:
787
+ def hash(self) -> pulumi.Output[Optional[_builtins.str]]:
710
788
  """
711
789
  Hash of the file, used to trigger the upload on file change.
712
790
  """
713
791
  return pulumi.get(self, "hash")
714
792
 
715
- @property
793
+ @_builtins.property
716
794
  @pulumi.getter
717
- def key(self) -> pulumi.Output[str]:
795
+ def key(self) -> pulumi.Output[_builtins.str]:
718
796
  """
719
797
  The path to the object.
720
798
  """
721
799
  return pulumi.get(self, "key")
722
800
 
723
- @property
801
+ @_builtins.property
724
802
  @pulumi.getter
725
- def metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
803
+ def metadata(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
726
804
  """
727
805
  Map of metadata used for the object (keys must be lowercase).
728
806
  """
729
807
  return pulumi.get(self, "metadata")
730
808
 
731
- @property
809
+ @_builtins.property
732
810
  @pulumi.getter(name="projectId")
733
- def project_id(self) -> pulumi.Output[str]:
811
+ def project_id(self) -> pulumi.Output[_builtins.str]:
734
812
  """
735
813
  The project_id you want to attach the resource to
736
814
  """
737
815
  return pulumi.get(self, "project_id")
738
816
 
739
- @property
817
+ @_builtins.property
740
818
  @pulumi.getter
741
- def region(self) -> pulumi.Output[str]:
819
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
742
820
  """
743
821
  The Scaleway region the bucket resides in.
744
822
  """
745
823
  return pulumi.get(self, "region")
746
824
 
747
- @property
825
+ @_builtins.property
748
826
  @pulumi.getter(name="sseCustomerKey")
749
- def sse_customer_key(self) -> pulumi.Output[Optional[str]]:
827
+ def sse_customer_key(self) -> pulumi.Output[Optional[_builtins.str]]:
750
828
  """
751
829
  Customer's encryption keys to encrypt data (SSE-C)
752
830
  """
753
831
  return pulumi.get(self, "sse_customer_key")
754
832
 
755
- @property
833
+ @_builtins.property
756
834
  @pulumi.getter(name="storageClass")
757
- def storage_class(self) -> pulumi.Output[Optional[str]]:
835
+ def storage_class(self) -> pulumi.Output[Optional[_builtins.str]]:
758
836
  """
759
837
  Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/object-storage/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.
760
838
  """
761
839
  return pulumi.get(self, "storage_class")
762
840
 
763
- @property
841
+ @_builtins.property
764
842
  @pulumi.getter
765
- def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
843
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
766
844
  """
767
845
  Map of tags.
768
846
  """
769
847
  return pulumi.get(self, "tags")
770
848
 
771
- @property
849
+ @_builtins.property
772
850
  @pulumi.getter
773
- def visibility(self) -> pulumi.Output[str]:
851
+ def visibility(self) -> pulumi.Output[_builtins.str]:
774
852
  """
775
853
  Visibility of the object, `public-read` or `private`.
776
854
  """