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,684 @@
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__ = ['ModelArgs', 'Model']
20
+
21
+ @pulumi.input_type
22
+ class ModelArgs:
23
+ def __init__(__self__, *,
24
+ url: pulumi.Input[_builtins.str],
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
27
+ region: Optional[pulumi.Input[_builtins.str]] = None,
28
+ secret: Optional[pulumi.Input[_builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a Model resource.
31
+ :param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
32
+ :param pulumi.Input[_builtins.str] name: The name of the model. This must be unique within the project.
33
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
34
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
35
+ :param pulumi.Input[_builtins.str] secret: Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
36
+ """
37
+ pulumi.set(__self__, "url", url)
38
+ if name is not None:
39
+ pulumi.set(__self__, "name", name)
40
+ if project_id is not None:
41
+ pulumi.set(__self__, "project_id", project_id)
42
+ if region is not None:
43
+ pulumi.set(__self__, "region", region)
44
+ if secret is not None:
45
+ pulumi.set(__self__, "secret", secret)
46
+
47
+ @_builtins.property
48
+ @pulumi.getter
49
+ def url(self) -> pulumi.Input[_builtins.str]:
50
+ """
51
+ The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
52
+ """
53
+ return pulumi.get(self, "url")
54
+
55
+ @url.setter
56
+ def url(self, value: pulumi.Input[_builtins.str]):
57
+ pulumi.set(self, "url", value)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter
61
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
62
+ """
63
+ The name of the model. This must be unique within the project.
64
+ """
65
+ return pulumi.get(self, "name")
66
+
67
+ @name.setter
68
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
69
+ pulumi.set(self, "name", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="projectId")
73
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
74
+ """
75
+ `project_id`) The ID of the project the deployment is associated with.
76
+ """
77
+ return pulumi.get(self, "project_id")
78
+
79
+ @project_id.setter
80
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
81
+ pulumi.set(self, "project_id", value)
82
+
83
+ @_builtins.property
84
+ @pulumi.getter
85
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
86
+ """
87
+ `region`) The region in which the deployment is created.
88
+ """
89
+ return pulumi.get(self, "region")
90
+
91
+ @region.setter
92
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
93
+ pulumi.set(self, "region", value)
94
+
95
+ @_builtins.property
96
+ @pulumi.getter
97
+ def secret(self) -> Optional[pulumi.Input[_builtins.str]]:
98
+ """
99
+ Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
100
+ """
101
+ return pulumi.get(self, "secret")
102
+
103
+ @secret.setter
104
+ def secret(self, value: Optional[pulumi.Input[_builtins.str]]):
105
+ pulumi.set(self, "secret", value)
106
+
107
+
108
+ @pulumi.input_type
109
+ class _ModelState:
110
+ def __init__(__self__, *,
111
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
112
+ description: Optional[pulumi.Input[_builtins.str]] = None,
113
+ has_eula: Optional[pulumi.Input[_builtins.bool]] = None,
114
+ name: Optional[pulumi.Input[_builtins.str]] = None,
115
+ nodes_supports: Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportArgs']]]] = None,
116
+ parameter_size_bits: Optional[pulumi.Input[_builtins.int]] = None,
117
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
118
+ region: Optional[pulumi.Input[_builtins.str]] = None,
119
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
120
+ size_bytes: Optional[pulumi.Input[_builtins.int]] = None,
121
+ status: Optional[pulumi.Input[_builtins.str]] = None,
122
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
123
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
124
+ url: Optional[pulumi.Input[_builtins.str]] = None):
125
+ """
126
+ Input properties used for looking up and filtering Model resources.
127
+ :param pulumi.Input[_builtins.str] created_at: The date and time of the creation of the model
128
+ :param pulumi.Input[_builtins.str] description: A textual description of the model (if available).
129
+ :param pulumi.Input[_builtins.bool] has_eula: Whether the model requires end-user license agreement acceptance before use.
130
+ :param pulumi.Input[_builtins.str] name: The name of the model. This must be unique within the project.
131
+ :param pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportArgs']]] nodes_supports: List of supported node types and their quantization options. Each entry contains:
132
+ :param pulumi.Input[_builtins.int] parameter_size_bits: Size, in bits, of the model parameters.
133
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
134
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
135
+ :param pulumi.Input[_builtins.str] secret: Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
136
+ :param pulumi.Input[_builtins.int] size_bytes: Total size, in bytes, of the model archive.
137
+ :param pulumi.Input[_builtins.str] status: The current status of the model (e.g., ready, error, etc.).
138
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags associated with the model.
139
+ :param pulumi.Input[_builtins.str] updated_at: The date and time of the last update of the model
140
+ :param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
141
+ """
142
+ if created_at is not None:
143
+ pulumi.set(__self__, "created_at", created_at)
144
+ if description is not None:
145
+ pulumi.set(__self__, "description", description)
146
+ if has_eula is not None:
147
+ pulumi.set(__self__, "has_eula", has_eula)
148
+ if name is not None:
149
+ pulumi.set(__self__, "name", name)
150
+ if nodes_supports is not None:
151
+ pulumi.set(__self__, "nodes_supports", nodes_supports)
152
+ if parameter_size_bits is not None:
153
+ pulumi.set(__self__, "parameter_size_bits", parameter_size_bits)
154
+ if project_id is not None:
155
+ pulumi.set(__self__, "project_id", project_id)
156
+ if region is not None:
157
+ pulumi.set(__self__, "region", region)
158
+ if secret is not None:
159
+ pulumi.set(__self__, "secret", secret)
160
+ if size_bytes is not None:
161
+ pulumi.set(__self__, "size_bytes", size_bytes)
162
+ if status is not None:
163
+ pulumi.set(__self__, "status", status)
164
+ if tags is not None:
165
+ pulumi.set(__self__, "tags", tags)
166
+ if updated_at is not None:
167
+ pulumi.set(__self__, "updated_at", updated_at)
168
+ if url is not None:
169
+ pulumi.set(__self__, "url", url)
170
+
171
+ @_builtins.property
172
+ @pulumi.getter(name="createdAt")
173
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
174
+ """
175
+ The date and time of the creation of the model
176
+ """
177
+ return pulumi.get(self, "created_at")
178
+
179
+ @created_at.setter
180
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
181
+ pulumi.set(self, "created_at", value)
182
+
183
+ @_builtins.property
184
+ @pulumi.getter
185
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
186
+ """
187
+ A textual description of the model (if available).
188
+ """
189
+ return pulumi.get(self, "description")
190
+
191
+ @description.setter
192
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
193
+ pulumi.set(self, "description", value)
194
+
195
+ @_builtins.property
196
+ @pulumi.getter(name="hasEula")
197
+ def has_eula(self) -> Optional[pulumi.Input[_builtins.bool]]:
198
+ """
199
+ Whether the model requires end-user license agreement acceptance before use.
200
+ """
201
+ return pulumi.get(self, "has_eula")
202
+
203
+ @has_eula.setter
204
+ def has_eula(self, value: Optional[pulumi.Input[_builtins.bool]]):
205
+ pulumi.set(self, "has_eula", value)
206
+
207
+ @_builtins.property
208
+ @pulumi.getter
209
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
210
+ """
211
+ The name of the model. This must be unique within the project.
212
+ """
213
+ return pulumi.get(self, "name")
214
+
215
+ @name.setter
216
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
217
+ pulumi.set(self, "name", value)
218
+
219
+ @_builtins.property
220
+ @pulumi.getter(name="nodesSupports")
221
+ def nodes_supports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportArgs']]]]:
222
+ """
223
+ List of supported node types and their quantization options. Each entry contains:
224
+ """
225
+ return pulumi.get(self, "nodes_supports")
226
+
227
+ @nodes_supports.setter
228
+ def nodes_supports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportArgs']]]]):
229
+ pulumi.set(self, "nodes_supports", value)
230
+
231
+ @_builtins.property
232
+ @pulumi.getter(name="parameterSizeBits")
233
+ def parameter_size_bits(self) -> Optional[pulumi.Input[_builtins.int]]:
234
+ """
235
+ Size, in bits, of the model parameters.
236
+ """
237
+ return pulumi.get(self, "parameter_size_bits")
238
+
239
+ @parameter_size_bits.setter
240
+ def parameter_size_bits(self, value: Optional[pulumi.Input[_builtins.int]]):
241
+ pulumi.set(self, "parameter_size_bits", value)
242
+
243
+ @_builtins.property
244
+ @pulumi.getter(name="projectId")
245
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
246
+ """
247
+ `project_id`) The ID of the project the deployment is associated with.
248
+ """
249
+ return pulumi.get(self, "project_id")
250
+
251
+ @project_id.setter
252
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
253
+ pulumi.set(self, "project_id", value)
254
+
255
+ @_builtins.property
256
+ @pulumi.getter
257
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
258
+ """
259
+ `region`) The region in which the deployment is created.
260
+ """
261
+ return pulumi.get(self, "region")
262
+
263
+ @region.setter
264
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
265
+ pulumi.set(self, "region", value)
266
+
267
+ @_builtins.property
268
+ @pulumi.getter
269
+ def secret(self) -> Optional[pulumi.Input[_builtins.str]]:
270
+ """
271
+ Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
272
+ """
273
+ return pulumi.get(self, "secret")
274
+
275
+ @secret.setter
276
+ def secret(self, value: Optional[pulumi.Input[_builtins.str]]):
277
+ pulumi.set(self, "secret", value)
278
+
279
+ @_builtins.property
280
+ @pulumi.getter(name="sizeBytes")
281
+ def size_bytes(self) -> Optional[pulumi.Input[_builtins.int]]:
282
+ """
283
+ Total size, in bytes, of the model archive.
284
+ """
285
+ return pulumi.get(self, "size_bytes")
286
+
287
+ @size_bytes.setter
288
+ def size_bytes(self, value: Optional[pulumi.Input[_builtins.int]]):
289
+ pulumi.set(self, "size_bytes", value)
290
+
291
+ @_builtins.property
292
+ @pulumi.getter
293
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
294
+ """
295
+ The current status of the model (e.g., ready, error, etc.).
296
+ """
297
+ return pulumi.get(self, "status")
298
+
299
+ @status.setter
300
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
301
+ pulumi.set(self, "status", value)
302
+
303
+ @_builtins.property
304
+ @pulumi.getter
305
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
306
+ """
307
+ Tags associated with the model.
308
+ """
309
+ return pulumi.get(self, "tags")
310
+
311
+ @tags.setter
312
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
313
+ pulumi.set(self, "tags", value)
314
+
315
+ @_builtins.property
316
+ @pulumi.getter(name="updatedAt")
317
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
318
+ """
319
+ The date and time of the last update of the model
320
+ """
321
+ return pulumi.get(self, "updated_at")
322
+
323
+ @updated_at.setter
324
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
325
+ pulumi.set(self, "updated_at", value)
326
+
327
+ @_builtins.property
328
+ @pulumi.getter
329
+ def url(self) -> Optional[pulumi.Input[_builtins.str]]:
330
+ """
331
+ The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
332
+ """
333
+ return pulumi.get(self, "url")
334
+
335
+ @url.setter
336
+ def url(self, value: Optional[pulumi.Input[_builtins.str]]):
337
+ pulumi.set(self, "url", value)
338
+
339
+
340
+ @pulumi.type_token("scaleway:inference/model:Model")
341
+ class Model(pulumi.CustomResource):
342
+ @overload
343
+ def __init__(__self__,
344
+ resource_name: str,
345
+ opts: Optional[pulumi.ResourceOptions] = None,
346
+ name: Optional[pulumi.Input[_builtins.str]] = None,
347
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
348
+ region: Optional[pulumi.Input[_builtins.str]] = None,
349
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
350
+ url: Optional[pulumi.Input[_builtins.str]] = None,
351
+ __props__=None):
352
+ """
353
+ The inference.Model resource allows you to upload and manage inference models in the Scaleway Inference ecosystem. Once registered, a model can be used in any inference.Deployment resource.
354
+
355
+ ## Example Usage
356
+
357
+ ### Basic
358
+
359
+ ```python
360
+ import pulumi
361
+ import pulumiverse_scaleway as scaleway
362
+
363
+ test = scaleway.inference.Model("test",
364
+ name="my-awesome-model",
365
+ url="https://huggingface.co/agentica-org/DeepCoder-14B-Preview",
366
+ secret="my-secret-token")
367
+ ```
368
+
369
+ ### Deploy your own model on your managed inference
370
+
371
+ ```python
372
+ import pulumi
373
+ import pulumiverse_scaleway as scaleway
374
+
375
+ my_model = scaleway.inference.Model("my_model",
376
+ name="my-awesome-model",
377
+ url="https://huggingface.co/agentica-org/DeepCoder-14B-Preview",
378
+ secret="my-secret-token")
379
+ my_deployment = scaleway.inference.Deployment("my_deployment",
380
+ name="test-inference-deployment-basic",
381
+ node_type="H100",
382
+ model_id=my_model.id,
383
+ public_endpoint={
384
+ "is_enabled": True,
385
+ },
386
+ accept_eula=True)
387
+ ```
388
+
389
+ ## Import
390
+
391
+ Models can be imported using, `{region}/{id}`, as shown below:
392
+
393
+ bash
394
+
395
+ ```sh
396
+ $ pulumi import scaleway:inference/model:Model my_model fr-par/11111111-1111-1111-1111-111111111111
397
+ ```
398
+
399
+ :param str resource_name: The name of the resource.
400
+ :param pulumi.ResourceOptions opts: Options for the resource.
401
+ :param pulumi.Input[_builtins.str] name: The name of the model. This must be unique within the project.
402
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
403
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
404
+ :param pulumi.Input[_builtins.str] secret: Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
405
+ :param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
406
+ """
407
+ ...
408
+ @overload
409
+ def __init__(__self__,
410
+ resource_name: str,
411
+ args: ModelArgs,
412
+ opts: Optional[pulumi.ResourceOptions] = None):
413
+ """
414
+ The inference.Model resource allows you to upload and manage inference models in the Scaleway Inference ecosystem. Once registered, a model can be used in any inference.Deployment resource.
415
+
416
+ ## Example Usage
417
+
418
+ ### Basic
419
+
420
+ ```python
421
+ import pulumi
422
+ import pulumiverse_scaleway as scaleway
423
+
424
+ test = scaleway.inference.Model("test",
425
+ name="my-awesome-model",
426
+ url="https://huggingface.co/agentica-org/DeepCoder-14B-Preview",
427
+ secret="my-secret-token")
428
+ ```
429
+
430
+ ### Deploy your own model on your managed inference
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumiverse_scaleway as scaleway
435
+
436
+ my_model = scaleway.inference.Model("my_model",
437
+ name="my-awesome-model",
438
+ url="https://huggingface.co/agentica-org/DeepCoder-14B-Preview",
439
+ secret="my-secret-token")
440
+ my_deployment = scaleway.inference.Deployment("my_deployment",
441
+ name="test-inference-deployment-basic",
442
+ node_type="H100",
443
+ model_id=my_model.id,
444
+ public_endpoint={
445
+ "is_enabled": True,
446
+ },
447
+ accept_eula=True)
448
+ ```
449
+
450
+ ## Import
451
+
452
+ Models can be imported using, `{region}/{id}`, as shown below:
453
+
454
+ bash
455
+
456
+ ```sh
457
+ $ pulumi import scaleway:inference/model:Model my_model fr-par/11111111-1111-1111-1111-111111111111
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param ModelArgs args: The arguments to use to populate this resource's properties.
462
+ :param pulumi.ResourceOptions opts: Options for the resource.
463
+ """
464
+ ...
465
+ def __init__(__self__, resource_name: str, *args, **kwargs):
466
+ resource_args, opts = _utilities.get_resource_args_opts(ModelArgs, pulumi.ResourceOptions, *args, **kwargs)
467
+ if resource_args is not None:
468
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
469
+ else:
470
+ __self__._internal_init(resource_name, *args, **kwargs)
471
+
472
+ def _internal_init(__self__,
473
+ resource_name: str,
474
+ opts: Optional[pulumi.ResourceOptions] = None,
475
+ name: Optional[pulumi.Input[_builtins.str]] = None,
476
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
477
+ region: Optional[pulumi.Input[_builtins.str]] = None,
478
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
479
+ url: Optional[pulumi.Input[_builtins.str]] = None,
480
+ __props__=None):
481
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
482
+ if not isinstance(opts, pulumi.ResourceOptions):
483
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
484
+ if opts.id is None:
485
+ if __props__ is not None:
486
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
487
+ __props__ = ModelArgs.__new__(ModelArgs)
488
+
489
+ __props__.__dict__["name"] = name
490
+ __props__.__dict__["project_id"] = project_id
491
+ __props__.__dict__["region"] = region
492
+ __props__.__dict__["secret"] = None if secret is None else pulumi.Output.secret(secret)
493
+ if url is None and not opts.urn:
494
+ raise TypeError("Missing required property 'url'")
495
+ __props__.__dict__["url"] = url
496
+ __props__.__dict__["created_at"] = None
497
+ __props__.__dict__["description"] = None
498
+ __props__.__dict__["has_eula"] = None
499
+ __props__.__dict__["nodes_supports"] = None
500
+ __props__.__dict__["parameter_size_bits"] = None
501
+ __props__.__dict__["size_bytes"] = None
502
+ __props__.__dict__["status"] = None
503
+ __props__.__dict__["tags"] = None
504
+ __props__.__dict__["updated_at"] = None
505
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secret"])
506
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
507
+ super(Model, __self__).__init__(
508
+ 'scaleway:inference/model:Model',
509
+ resource_name,
510
+ __props__,
511
+ opts)
512
+
513
+ @staticmethod
514
+ def get(resource_name: str,
515
+ id: pulumi.Input[str],
516
+ opts: Optional[pulumi.ResourceOptions] = None,
517
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
518
+ description: Optional[pulumi.Input[_builtins.str]] = None,
519
+ has_eula: Optional[pulumi.Input[_builtins.bool]] = None,
520
+ name: Optional[pulumi.Input[_builtins.str]] = None,
521
+ nodes_supports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ModelNodesSupportArgs', 'ModelNodesSupportArgsDict']]]]] = None,
522
+ parameter_size_bits: Optional[pulumi.Input[_builtins.int]] = None,
523
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
524
+ region: Optional[pulumi.Input[_builtins.str]] = None,
525
+ secret: Optional[pulumi.Input[_builtins.str]] = None,
526
+ size_bytes: Optional[pulumi.Input[_builtins.int]] = None,
527
+ status: Optional[pulumi.Input[_builtins.str]] = None,
528
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
529
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
530
+ url: Optional[pulumi.Input[_builtins.str]] = None) -> 'Model':
531
+ """
532
+ Get an existing Model resource's state with the given name, id, and optional extra
533
+ properties used to qualify the lookup.
534
+
535
+ :param str resource_name: The unique name of the resulting resource.
536
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
537
+ :param pulumi.ResourceOptions opts: Options for the resource.
538
+ :param pulumi.Input[_builtins.str] created_at: The date and time of the creation of the model
539
+ :param pulumi.Input[_builtins.str] description: A textual description of the model (if available).
540
+ :param pulumi.Input[_builtins.bool] has_eula: Whether the model requires end-user license agreement acceptance before use.
541
+ :param pulumi.Input[_builtins.str] name: The name of the model. This must be unique within the project.
542
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ModelNodesSupportArgs', 'ModelNodesSupportArgsDict']]]] nodes_supports: List of supported node types and their quantization options. Each entry contains:
543
+ :param pulumi.Input[_builtins.int] parameter_size_bits: Size, in bits, of the model parameters.
544
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
545
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
546
+ :param pulumi.Input[_builtins.str] secret: Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
547
+ :param pulumi.Input[_builtins.int] size_bytes: Total size, in bytes, of the model archive.
548
+ :param pulumi.Input[_builtins.str] status: The current status of the model (e.g., ready, error, etc.).
549
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags associated with the model.
550
+ :param pulumi.Input[_builtins.str] updated_at: The date and time of the last update of the model
551
+ :param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
552
+ """
553
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
554
+
555
+ __props__ = _ModelState.__new__(_ModelState)
556
+
557
+ __props__.__dict__["created_at"] = created_at
558
+ __props__.__dict__["description"] = description
559
+ __props__.__dict__["has_eula"] = has_eula
560
+ __props__.__dict__["name"] = name
561
+ __props__.__dict__["nodes_supports"] = nodes_supports
562
+ __props__.__dict__["parameter_size_bits"] = parameter_size_bits
563
+ __props__.__dict__["project_id"] = project_id
564
+ __props__.__dict__["region"] = region
565
+ __props__.__dict__["secret"] = secret
566
+ __props__.__dict__["size_bytes"] = size_bytes
567
+ __props__.__dict__["status"] = status
568
+ __props__.__dict__["tags"] = tags
569
+ __props__.__dict__["updated_at"] = updated_at
570
+ __props__.__dict__["url"] = url
571
+ return Model(resource_name, opts=opts, __props__=__props__)
572
+
573
+ @_builtins.property
574
+ @pulumi.getter(name="createdAt")
575
+ def created_at(self) -> pulumi.Output[_builtins.str]:
576
+ """
577
+ The date and time of the creation of the model
578
+ """
579
+ return pulumi.get(self, "created_at")
580
+
581
+ @_builtins.property
582
+ @pulumi.getter
583
+ def description(self) -> pulumi.Output[_builtins.str]:
584
+ """
585
+ A textual description of the model (if available).
586
+ """
587
+ return pulumi.get(self, "description")
588
+
589
+ @_builtins.property
590
+ @pulumi.getter(name="hasEula")
591
+ def has_eula(self) -> pulumi.Output[_builtins.bool]:
592
+ """
593
+ Whether the model requires end-user license agreement acceptance before use.
594
+ """
595
+ return pulumi.get(self, "has_eula")
596
+
597
+ @_builtins.property
598
+ @pulumi.getter
599
+ def name(self) -> pulumi.Output[_builtins.str]:
600
+ """
601
+ The name of the model. This must be unique within the project.
602
+ """
603
+ return pulumi.get(self, "name")
604
+
605
+ @_builtins.property
606
+ @pulumi.getter(name="nodesSupports")
607
+ def nodes_supports(self) -> pulumi.Output[Sequence['outputs.ModelNodesSupport']]:
608
+ """
609
+ List of supported node types and their quantization options. Each entry contains:
610
+ """
611
+ return pulumi.get(self, "nodes_supports")
612
+
613
+ @_builtins.property
614
+ @pulumi.getter(name="parameterSizeBits")
615
+ def parameter_size_bits(self) -> pulumi.Output[_builtins.int]:
616
+ """
617
+ Size, in bits, of the model parameters.
618
+ """
619
+ return pulumi.get(self, "parameter_size_bits")
620
+
621
+ @_builtins.property
622
+ @pulumi.getter(name="projectId")
623
+ def project_id(self) -> pulumi.Output[_builtins.str]:
624
+ """
625
+ `project_id`) The ID of the project the deployment is associated with.
626
+ """
627
+ return pulumi.get(self, "project_id")
628
+
629
+ @_builtins.property
630
+ @pulumi.getter
631
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
632
+ """
633
+ `region`) The region in which the deployment is created.
634
+ """
635
+ return pulumi.get(self, "region")
636
+
637
+ @_builtins.property
638
+ @pulumi.getter
639
+ def secret(self) -> pulumi.Output[Optional[_builtins.str]]:
640
+ """
641
+ Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
642
+ """
643
+ return pulumi.get(self, "secret")
644
+
645
+ @_builtins.property
646
+ @pulumi.getter(name="sizeBytes")
647
+ def size_bytes(self) -> pulumi.Output[_builtins.int]:
648
+ """
649
+ Total size, in bytes, of the model archive.
650
+ """
651
+ return pulumi.get(self, "size_bytes")
652
+
653
+ @_builtins.property
654
+ @pulumi.getter
655
+ def status(self) -> pulumi.Output[_builtins.str]:
656
+ """
657
+ The current status of the model (e.g., ready, error, etc.).
658
+ """
659
+ return pulumi.get(self, "status")
660
+
661
+ @_builtins.property
662
+ @pulumi.getter
663
+ def tags(self) -> pulumi.Output[Sequence[_builtins.str]]:
664
+ """
665
+ Tags associated with the model.
666
+ """
667
+ return pulumi.get(self, "tags")
668
+
669
+ @_builtins.property
670
+ @pulumi.getter(name="updatedAt")
671
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
672
+ """
673
+ The date and time of the last update of the model
674
+ """
675
+ return pulumi.get(self, "updated_at")
676
+
677
+ @_builtins.property
678
+ @pulumi.getter
679
+ def url(self) -> pulumi.Output[_builtins.str]:
680
+ """
681
+ The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
682
+ """
683
+ return pulumi.get(self, "url")
684
+