pulumiverse-scaleway 1.28.0a1747119212__py3-none-any.whl → 1.29.0__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 (102) hide show
  1. pulumiverse_scaleway/__init__.py +16 -1
  2. pulumiverse_scaleway/_inputs.py +604 -6
  3. pulumiverse_scaleway/account/__init__.py +2 -0
  4. pulumiverse_scaleway/account/get_projects.py +235 -0
  5. pulumiverse_scaleway/account/outputs.py +95 -0
  6. pulumiverse_scaleway/baremetal_server.py +67 -258
  7. pulumiverse_scaleway/block/__init__.py +2 -0
  8. pulumiverse_scaleway/block/_inputs.py +73 -0
  9. pulumiverse_scaleway/block/get_snapshot.py +13 -1
  10. pulumiverse_scaleway/block/outputs.py +79 -0
  11. pulumiverse_scaleway/block/snapshot.py +62 -14
  12. pulumiverse_scaleway/block_snapshot.py +62 -14
  13. pulumiverse_scaleway/container.py +2 -2
  14. pulumiverse_scaleway/containers/container.py +2 -2
  15. pulumiverse_scaleway/database_instance.py +61 -21
  16. pulumiverse_scaleway/databases/_inputs.py +54 -0
  17. pulumiverse_scaleway/databases/get_instance.py +12 -1
  18. pulumiverse_scaleway/databases/instance.py +61 -21
  19. pulumiverse_scaleway/databases/outputs.py +62 -0
  20. pulumiverse_scaleway/databases/snapshot.py +2 -2
  21. pulumiverse_scaleway/domain/get_zone.py +7 -1
  22. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  23. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  24. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  25. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  26. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  27. pulumiverse_scaleway/elasticmetal/server.py +67 -258
  28. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  29. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  30. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  31. pulumiverse_scaleway/get_database_instance.py +12 -1
  32. pulumiverse_scaleway/get_domain_zone.py +7 -1
  33. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  34. pulumiverse_scaleway/get_instance_server.py +12 -1
  35. pulumiverse_scaleway/get_lb_route.py +12 -1
  36. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  37. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  38. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  39. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  40. pulumiverse_scaleway/iam/user.py +468 -14
  41. pulumiverse_scaleway/iam_user.py +468 -14
  42. pulumiverse_scaleway/inference/__init__.py +2 -0
  43. pulumiverse_scaleway/inference/_inputs.py +128 -0
  44. pulumiverse_scaleway/inference/deployment.py +70 -55
  45. pulumiverse_scaleway/inference/get_model.py +299 -0
  46. pulumiverse_scaleway/inference/model.py +683 -0
  47. pulumiverse_scaleway/inference/outputs.py +184 -0
  48. pulumiverse_scaleway/inference_deployment.py +70 -55
  49. pulumiverse_scaleway/instance/_inputs.py +108 -0
  50. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  51. pulumiverse_scaleway/instance/get_server.py +12 -1
  52. pulumiverse_scaleway/instance/outputs.py +124 -0
  53. pulumiverse_scaleway/instance/private_nic.py +49 -0
  54. pulumiverse_scaleway/instance/server.py +47 -0
  55. pulumiverse_scaleway/instance/snapshot.py +28 -7
  56. pulumiverse_scaleway/instance/volume.py +28 -7
  57. pulumiverse_scaleway/instance_private_nic.py +49 -0
  58. pulumiverse_scaleway/instance_server.py +47 -0
  59. pulumiverse_scaleway/instance_snapshot.py +28 -7
  60. pulumiverse_scaleway/instance_volume.py +28 -7
  61. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  62. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  63. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  64. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  65. pulumiverse_scaleway/loadbalancer.py +28 -0
  66. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  67. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  68. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  69. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  70. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  71. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  72. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  73. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  74. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  75. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  76. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  77. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  78. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  79. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  80. pulumiverse_scaleway/mongodb/instance.py +107 -7
  81. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  82. pulumiverse_scaleway/network/_inputs.py +54 -0
  83. pulumiverse_scaleway/network/gateway_network.py +47 -0
  84. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  85. pulumiverse_scaleway/network/outputs.py +62 -0
  86. pulumiverse_scaleway/network/route.py +90 -2
  87. pulumiverse_scaleway/observability/__init__.py +0 -1
  88. pulumiverse_scaleway/observability/get_plan.py +2 -38
  89. pulumiverse_scaleway/outputs.py +718 -27
  90. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  91. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  92. pulumiverse_scaleway/redis/_inputs.py +60 -6
  93. pulumiverse_scaleway/redis/cluster.py +47 -0
  94. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  95. pulumiverse_scaleway/redis/outputs.py +66 -4
  96. pulumiverse_scaleway/redis_cluster.py +47 -0
  97. pulumiverse_scaleway/vpc_gateway_network.py +47 -0
  98. pulumiverse_scaleway/vpc_route.py +90 -2
  99. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  100. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
  101. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  102. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -6,5 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .deployment import *
9
+ from .get_model import *
10
+ from .model import *
9
11
  from ._inputs import *
10
12
  from . import outputs
@@ -19,6 +19,10 @@ __all__ = [
19
19
  'DeploymentPrivateEndpointArgsDict',
20
20
  'DeploymentPublicEndpointArgs',
21
21
  'DeploymentPublicEndpointArgsDict',
22
+ 'ModelNodesSupportArgs',
23
+ 'ModelNodesSupportArgsDict',
24
+ 'ModelNodesSupportQuantizationArgs',
25
+ 'ModelNodesSupportQuantizationArgsDict',
22
26
  ]
23
27
 
24
28
  MYPY = False
@@ -207,3 +211,127 @@ class DeploymentPublicEndpointArgs:
207
211
  pulumi.set(self, "url", value)
208
212
 
209
213
 
214
+ if not MYPY:
215
+ class ModelNodesSupportArgsDict(TypedDict):
216
+ node_type_name: NotRequired[pulumi.Input[str]]
217
+ """
218
+ The type of node supported.
219
+ """
220
+ quantizations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportQuantizationArgsDict']]]]
221
+ """
222
+ A list of supported quantization options, including:
223
+ """
224
+ elif False:
225
+ ModelNodesSupportArgsDict: TypeAlias = Mapping[str, Any]
226
+
227
+ @pulumi.input_type
228
+ class ModelNodesSupportArgs:
229
+ def __init__(__self__, *,
230
+ node_type_name: Optional[pulumi.Input[str]] = None,
231
+ quantizations: Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportQuantizationArgs']]]] = None):
232
+ """
233
+ :param pulumi.Input[str] node_type_name: The type of node supported.
234
+ :param pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportQuantizationArgs']]] quantizations: A list of supported quantization options, including:
235
+ """
236
+ if node_type_name is not None:
237
+ pulumi.set(__self__, "node_type_name", node_type_name)
238
+ if quantizations is not None:
239
+ pulumi.set(__self__, "quantizations", quantizations)
240
+
241
+ @property
242
+ @pulumi.getter(name="nodeTypeName")
243
+ def node_type_name(self) -> Optional[pulumi.Input[str]]:
244
+ """
245
+ The type of node supported.
246
+ """
247
+ return pulumi.get(self, "node_type_name")
248
+
249
+ @node_type_name.setter
250
+ def node_type_name(self, value: Optional[pulumi.Input[str]]):
251
+ pulumi.set(self, "node_type_name", value)
252
+
253
+ @property
254
+ @pulumi.getter
255
+ def quantizations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportQuantizationArgs']]]]:
256
+ """
257
+ A list of supported quantization options, including:
258
+ """
259
+ return pulumi.get(self, "quantizations")
260
+
261
+ @quantizations.setter
262
+ def quantizations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ModelNodesSupportQuantizationArgs']]]]):
263
+ pulumi.set(self, "quantizations", value)
264
+
265
+
266
+ if not MYPY:
267
+ class ModelNodesSupportQuantizationArgsDict(TypedDict):
268
+ allowed: NotRequired[pulumi.Input[bool]]
269
+ """
270
+ Whether this quantization is allowed.
271
+ """
272
+ max_context_size: NotRequired[pulumi.Input[int]]
273
+ """
274
+ Maximum context length supported by this quantization.
275
+ """
276
+ quantization_bits: NotRequired[pulumi.Input[int]]
277
+ """
278
+ Number of bits used for quantization (e.g., 8, 16).
279
+ """
280
+ elif False:
281
+ ModelNodesSupportQuantizationArgsDict: TypeAlias = Mapping[str, Any]
282
+
283
+ @pulumi.input_type
284
+ class ModelNodesSupportQuantizationArgs:
285
+ def __init__(__self__, *,
286
+ allowed: Optional[pulumi.Input[bool]] = None,
287
+ max_context_size: Optional[pulumi.Input[int]] = None,
288
+ quantization_bits: Optional[pulumi.Input[int]] = None):
289
+ """
290
+ :param pulumi.Input[bool] allowed: Whether this quantization is allowed.
291
+ :param pulumi.Input[int] max_context_size: Maximum context length supported by this quantization.
292
+ :param pulumi.Input[int] quantization_bits: Number of bits used for quantization (e.g., 8, 16).
293
+ """
294
+ if allowed is not None:
295
+ pulumi.set(__self__, "allowed", allowed)
296
+ if max_context_size is not None:
297
+ pulumi.set(__self__, "max_context_size", max_context_size)
298
+ if quantization_bits is not None:
299
+ pulumi.set(__self__, "quantization_bits", quantization_bits)
300
+
301
+ @property
302
+ @pulumi.getter
303
+ def allowed(self) -> Optional[pulumi.Input[bool]]:
304
+ """
305
+ Whether this quantization is allowed.
306
+ """
307
+ return pulumi.get(self, "allowed")
308
+
309
+ @allowed.setter
310
+ def allowed(self, value: Optional[pulumi.Input[bool]]):
311
+ pulumi.set(self, "allowed", value)
312
+
313
+ @property
314
+ @pulumi.getter(name="maxContextSize")
315
+ def max_context_size(self) -> Optional[pulumi.Input[int]]:
316
+ """
317
+ Maximum context length supported by this quantization.
318
+ """
319
+ return pulumi.get(self, "max_context_size")
320
+
321
+ @max_context_size.setter
322
+ def max_context_size(self, value: Optional[pulumi.Input[int]]):
323
+ pulumi.set(self, "max_context_size", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="quantizationBits")
327
+ def quantization_bits(self) -> Optional[pulumi.Input[int]]:
328
+ """
329
+ Number of bits used for quantization (e.g., 8, 16).
330
+ """
331
+ return pulumi.get(self, "quantization_bits")
332
+
333
+ @quantization_bits.setter
334
+ def quantization_bits(self, value: Optional[pulumi.Input[int]]):
335
+ pulumi.set(self, "quantization_bits", value)
336
+
337
+
@@ -21,7 +21,7 @@ __all__ = ['DeploymentArgs', 'Deployment']
21
21
  @pulumi.input_type
22
22
  class DeploymentArgs:
23
23
  def __init__(__self__, *,
24
- model_name: pulumi.Input[str],
24
+ model_id: pulumi.Input[str],
25
25
  node_type: pulumi.Input[str],
26
26
  accept_eula: Optional[pulumi.Input[bool]] = None,
27
27
  max_size: Optional[pulumi.Input[int]] = None,
@@ -30,11 +30,12 @@ class DeploymentArgs:
30
30
  private_endpoint: Optional[pulumi.Input['DeploymentPrivateEndpointArgs']] = None,
31
31
  project_id: Optional[pulumi.Input[str]] = None,
32
32
  public_endpoint: Optional[pulumi.Input['DeploymentPublicEndpointArgs']] = None,
33
+ quantization: Optional[pulumi.Input[int]] = None,
33
34
  region: Optional[pulumi.Input[str]] = None,
34
35
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
35
36
  """
36
37
  The set of arguments for constructing a Deployment resource.
37
- :param pulumi.Input[str] model_name: The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
38
+ :param pulumi.Input[str] model_id: The model id used for the deployment.
38
39
  :param pulumi.Input[str] node_type: The node type to use for the deployment. Node types can be found using Scaleway's CLI (`scw inference node-type list`)
39
40
  :param pulumi.Input[bool] accept_eula: Some models (e.g Meta Llama) require end-user license agreements. Set `true` to accept.
40
41
  :param pulumi.Input[int] max_size: The maximum size of the pool.
@@ -43,10 +44,11 @@ class DeploymentArgs:
43
44
  :param pulumi.Input['DeploymentPrivateEndpointArgs'] private_endpoint: Configuration of the deployment's private endpoint.
44
45
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the deployment is associated with.
45
46
  :param pulumi.Input['DeploymentPublicEndpointArgs'] public_endpoint: Configuration of the deployment's public endpoint.
47
+ :param pulumi.Input[int] quantization: The number of bits each model parameter should be quantized to
46
48
  :param pulumi.Input[str] region: `region`) The region in which the deployment is created.
47
49
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the deployment.
48
50
  """
49
- pulumi.set(__self__, "model_name", model_name)
51
+ pulumi.set(__self__, "model_id", model_id)
50
52
  pulumi.set(__self__, "node_type", node_type)
51
53
  if accept_eula is not None:
52
54
  pulumi.set(__self__, "accept_eula", accept_eula)
@@ -62,22 +64,24 @@ class DeploymentArgs:
62
64
  pulumi.set(__self__, "project_id", project_id)
63
65
  if public_endpoint is not None:
64
66
  pulumi.set(__self__, "public_endpoint", public_endpoint)
67
+ if quantization is not None:
68
+ pulumi.set(__self__, "quantization", quantization)
65
69
  if region is not None:
66
70
  pulumi.set(__self__, "region", region)
67
71
  if tags is not None:
68
72
  pulumi.set(__self__, "tags", tags)
69
73
 
70
74
  @property
71
- @pulumi.getter(name="modelName")
72
- def model_name(self) -> pulumi.Input[str]:
75
+ @pulumi.getter(name="modelId")
76
+ def model_id(self) -> pulumi.Input[str]:
73
77
  """
74
- The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
78
+ The model id used for the deployment.
75
79
  """
76
- return pulumi.get(self, "model_name")
80
+ return pulumi.get(self, "model_id")
77
81
 
78
- @model_name.setter
79
- def model_name(self, value: pulumi.Input[str]):
80
- pulumi.set(self, "model_name", value)
82
+ @model_id.setter
83
+ def model_id(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "model_id", value)
81
85
 
82
86
  @property
83
87
  @pulumi.getter(name="nodeType")
@@ -175,6 +179,18 @@ class DeploymentArgs:
175
179
  def public_endpoint(self, value: Optional[pulumi.Input['DeploymentPublicEndpointArgs']]):
176
180
  pulumi.set(self, "public_endpoint", value)
177
181
 
182
+ @property
183
+ @pulumi.getter
184
+ def quantization(self) -> Optional[pulumi.Input[int]]:
185
+ """
186
+ The number of bits each model parameter should be quantized to
187
+ """
188
+ return pulumi.get(self, "quantization")
189
+
190
+ @quantization.setter
191
+ def quantization(self, value: Optional[pulumi.Input[int]]):
192
+ pulumi.set(self, "quantization", value)
193
+
178
194
  @property
179
195
  @pulumi.getter
180
196
  def region(self) -> Optional[pulumi.Input[str]]:
@@ -214,6 +230,7 @@ class _DeploymentState:
214
230
  private_endpoint: Optional[pulumi.Input['DeploymentPrivateEndpointArgs']] = None,
215
231
  project_id: Optional[pulumi.Input[str]] = None,
216
232
  public_endpoint: Optional[pulumi.Input['DeploymentPublicEndpointArgs']] = None,
233
+ quantization: Optional[pulumi.Input[int]] = None,
217
234
  region: Optional[pulumi.Input[str]] = None,
218
235
  size: Optional[pulumi.Input[int]] = None,
219
236
  status: Optional[pulumi.Input[str]] = None,
@@ -226,12 +243,13 @@ class _DeploymentState:
226
243
  :param pulumi.Input[int] max_size: The maximum size of the pool.
227
244
  :param pulumi.Input[int] min_size: The minimum size of the pool.
228
245
  :param pulumi.Input[str] model_id: The model id used for the deployment.
229
- :param pulumi.Input[str] model_name: The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
246
+ :param pulumi.Input[str] model_name: The model name used for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
230
247
  :param pulumi.Input[str] name: The deployment name.
231
248
  :param pulumi.Input[str] node_type: The node type to use for the deployment. Node types can be found using Scaleway's CLI (`scw inference node-type list`)
232
249
  :param pulumi.Input['DeploymentPrivateEndpointArgs'] private_endpoint: Configuration of the deployment's private endpoint.
233
250
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the deployment is associated with.
234
251
  :param pulumi.Input['DeploymentPublicEndpointArgs'] public_endpoint: Configuration of the deployment's public endpoint.
252
+ :param pulumi.Input[int] quantization: The number of bits each model parameter should be quantized to
235
253
  :param pulumi.Input[str] region: `region`) The region in which the deployment is created.
236
254
  :param pulumi.Input[int] size: The size of the pool.
237
255
  :param pulumi.Input[str] status: The status of the deployment.
@@ -260,6 +278,8 @@ class _DeploymentState:
260
278
  pulumi.set(__self__, "project_id", project_id)
261
279
  if public_endpoint is not None:
262
280
  pulumi.set(__self__, "public_endpoint", public_endpoint)
281
+ if quantization is not None:
282
+ pulumi.set(__self__, "quantization", quantization)
263
283
  if region is not None:
264
284
  pulumi.set(__self__, "region", region)
265
285
  if size is not None:
@@ -335,7 +355,7 @@ class _DeploymentState:
335
355
  @pulumi.getter(name="modelName")
336
356
  def model_name(self) -> Optional[pulumi.Input[str]]:
337
357
  """
338
- The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
358
+ The model name used for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
339
359
  """
340
360
  return pulumi.get(self, "model_name")
341
361
 
@@ -403,6 +423,18 @@ class _DeploymentState:
403
423
  def public_endpoint(self, value: Optional[pulumi.Input['DeploymentPublicEndpointArgs']]):
404
424
  pulumi.set(self, "public_endpoint", value)
405
425
 
426
+ @property
427
+ @pulumi.getter
428
+ def quantization(self) -> Optional[pulumi.Input[int]]:
429
+ """
430
+ The number of bits each model parameter should be quantized to
431
+ """
432
+ return pulumi.get(self, "quantization")
433
+
434
+ @quantization.setter
435
+ def quantization(self, value: Optional[pulumi.Input[int]]):
436
+ pulumi.set(self, "quantization", value)
437
+
406
438
  @property
407
439
  @pulumi.getter
408
440
  def region(self) -> Optional[pulumi.Input[str]]:
@@ -472,12 +504,13 @@ class Deployment(pulumi.CustomResource):
472
504
  accept_eula: Optional[pulumi.Input[bool]] = None,
473
505
  max_size: Optional[pulumi.Input[int]] = None,
474
506
  min_size: Optional[pulumi.Input[int]] = None,
475
- model_name: Optional[pulumi.Input[str]] = None,
507
+ model_id: Optional[pulumi.Input[str]] = None,
476
508
  name: Optional[pulumi.Input[str]] = None,
477
509
  node_type: Optional[pulumi.Input[str]] = None,
478
510
  private_endpoint: Optional[pulumi.Input[Union['DeploymentPrivateEndpointArgs', 'DeploymentPrivateEndpointArgsDict']]] = None,
479
511
  project_id: Optional[pulumi.Input[str]] = None,
480
512
  public_endpoint: Optional[pulumi.Input[Union['DeploymentPublicEndpointArgs', 'DeploymentPublicEndpointArgsDict']]] = None,
513
+ quantization: Optional[pulumi.Input[int]] = None,
481
514
  region: Optional[pulumi.Input[str]] = None,
482
515
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
483
516
  __props__=None):
@@ -487,22 +520,6 @@ class Deployment(pulumi.CustomResource):
487
520
 
488
521
  ## Example Usage
489
522
 
490
- ### Basic
491
-
492
- ```python
493
- import pulumi
494
- import pulumiverse_scaleway as scaleway
495
-
496
- deployment = scaleway.inference.Deployment("deployment",
497
- name="tf-inference-deployment",
498
- node_type="L4",
499
- model_name="meta/llama-3.1-8b-instruct:fp8",
500
- public_endpoint={
501
- "is_enabled": True,
502
- },
503
- accept_eula=True)
504
- ```
505
-
506
523
  ## Import
507
524
 
508
525
  Functions can be imported using, `{region}/{id}`, as shown below:
@@ -518,12 +535,13 @@ class Deployment(pulumi.CustomResource):
518
535
  :param pulumi.Input[bool] accept_eula: Some models (e.g Meta Llama) require end-user license agreements. Set `true` to accept.
519
536
  :param pulumi.Input[int] max_size: The maximum size of the pool.
520
537
  :param pulumi.Input[int] min_size: The minimum size of the pool.
521
- :param pulumi.Input[str] model_name: The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
538
+ :param pulumi.Input[str] model_id: The model id used for the deployment.
522
539
  :param pulumi.Input[str] name: The deployment name.
523
540
  :param pulumi.Input[str] node_type: The node type to use for the deployment. Node types can be found using Scaleway's CLI (`scw inference node-type list`)
524
541
  :param pulumi.Input[Union['DeploymentPrivateEndpointArgs', 'DeploymentPrivateEndpointArgsDict']] private_endpoint: Configuration of the deployment's private endpoint.
525
542
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the deployment is associated with.
526
543
  :param pulumi.Input[Union['DeploymentPublicEndpointArgs', 'DeploymentPublicEndpointArgsDict']] public_endpoint: Configuration of the deployment's public endpoint.
544
+ :param pulumi.Input[int] quantization: The number of bits each model parameter should be quantized to
527
545
  :param pulumi.Input[str] region: `region`) The region in which the deployment is created.
528
546
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the deployment.
529
547
  """
@@ -539,22 +557,6 @@ class Deployment(pulumi.CustomResource):
539
557
 
540
558
  ## Example Usage
541
559
 
542
- ### Basic
543
-
544
- ```python
545
- import pulumi
546
- import pulumiverse_scaleway as scaleway
547
-
548
- deployment = scaleway.inference.Deployment("deployment",
549
- name="tf-inference-deployment",
550
- node_type="L4",
551
- model_name="meta/llama-3.1-8b-instruct:fp8",
552
- public_endpoint={
553
- "is_enabled": True,
554
- },
555
- accept_eula=True)
556
- ```
557
-
558
560
  ## Import
559
561
 
560
562
  Functions can be imported using, `{region}/{id}`, as shown below:
@@ -583,12 +585,13 @@ class Deployment(pulumi.CustomResource):
583
585
  accept_eula: Optional[pulumi.Input[bool]] = None,
584
586
  max_size: Optional[pulumi.Input[int]] = None,
585
587
  min_size: Optional[pulumi.Input[int]] = None,
586
- model_name: Optional[pulumi.Input[str]] = None,
588
+ model_id: Optional[pulumi.Input[str]] = None,
587
589
  name: Optional[pulumi.Input[str]] = None,
588
590
  node_type: Optional[pulumi.Input[str]] = None,
589
591
  private_endpoint: Optional[pulumi.Input[Union['DeploymentPrivateEndpointArgs', 'DeploymentPrivateEndpointArgsDict']]] = None,
590
592
  project_id: Optional[pulumi.Input[str]] = None,
591
593
  public_endpoint: Optional[pulumi.Input[Union['DeploymentPublicEndpointArgs', 'DeploymentPublicEndpointArgsDict']]] = None,
594
+ quantization: Optional[pulumi.Input[int]] = None,
592
595
  region: Optional[pulumi.Input[str]] = None,
593
596
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
594
597
  __props__=None):
@@ -603,9 +606,9 @@ class Deployment(pulumi.CustomResource):
603
606
  __props__.__dict__["accept_eula"] = accept_eula
604
607
  __props__.__dict__["max_size"] = max_size
605
608
  __props__.__dict__["min_size"] = min_size
606
- if model_name is None and not opts.urn:
607
- raise TypeError("Missing required property 'model_name'")
608
- __props__.__dict__["model_name"] = model_name
609
+ if model_id is None and not opts.urn:
610
+ raise TypeError("Missing required property 'model_id'")
611
+ __props__.__dict__["model_id"] = model_id
609
612
  __props__.__dict__["name"] = name
610
613
  if node_type is None and not opts.urn:
611
614
  raise TypeError("Missing required property 'node_type'")
@@ -613,10 +616,11 @@ class Deployment(pulumi.CustomResource):
613
616
  __props__.__dict__["private_endpoint"] = private_endpoint
614
617
  __props__.__dict__["project_id"] = project_id
615
618
  __props__.__dict__["public_endpoint"] = public_endpoint
619
+ __props__.__dict__["quantization"] = quantization
616
620
  __props__.__dict__["region"] = region
617
621
  __props__.__dict__["tags"] = tags
618
622
  __props__.__dict__["created_at"] = None
619
- __props__.__dict__["model_id"] = None
623
+ __props__.__dict__["model_name"] = None
620
624
  __props__.__dict__["size"] = None
621
625
  __props__.__dict__["status"] = None
622
626
  __props__.__dict__["updated_at"] = None
@@ -643,6 +647,7 @@ class Deployment(pulumi.CustomResource):
643
647
  private_endpoint: Optional[pulumi.Input[Union['DeploymentPrivateEndpointArgs', 'DeploymentPrivateEndpointArgsDict']]] = None,
644
648
  project_id: Optional[pulumi.Input[str]] = None,
645
649
  public_endpoint: Optional[pulumi.Input[Union['DeploymentPublicEndpointArgs', 'DeploymentPublicEndpointArgsDict']]] = None,
650
+ quantization: Optional[pulumi.Input[int]] = None,
646
651
  region: Optional[pulumi.Input[str]] = None,
647
652
  size: Optional[pulumi.Input[int]] = None,
648
653
  status: Optional[pulumi.Input[str]] = None,
@@ -660,12 +665,13 @@ class Deployment(pulumi.CustomResource):
660
665
  :param pulumi.Input[int] max_size: The maximum size of the pool.
661
666
  :param pulumi.Input[int] min_size: The minimum size of the pool.
662
667
  :param pulumi.Input[str] model_id: The model id used for the deployment.
663
- :param pulumi.Input[str] model_name: The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
668
+ :param pulumi.Input[str] model_name: The model name used for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
664
669
  :param pulumi.Input[str] name: The deployment name.
665
670
  :param pulumi.Input[str] node_type: The node type to use for the deployment. Node types can be found using Scaleway's CLI (`scw inference node-type list`)
666
671
  :param pulumi.Input[Union['DeploymentPrivateEndpointArgs', 'DeploymentPrivateEndpointArgsDict']] private_endpoint: Configuration of the deployment's private endpoint.
667
672
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the deployment is associated with.
668
673
  :param pulumi.Input[Union['DeploymentPublicEndpointArgs', 'DeploymentPublicEndpointArgsDict']] public_endpoint: Configuration of the deployment's public endpoint.
674
+ :param pulumi.Input[int] quantization: The number of bits each model parameter should be quantized to
669
675
  :param pulumi.Input[str] region: `region`) The region in which the deployment is created.
670
676
  :param pulumi.Input[int] size: The size of the pool.
671
677
  :param pulumi.Input[str] status: The status of the deployment.
@@ -687,6 +693,7 @@ class Deployment(pulumi.CustomResource):
687
693
  __props__.__dict__["private_endpoint"] = private_endpoint
688
694
  __props__.__dict__["project_id"] = project_id
689
695
  __props__.__dict__["public_endpoint"] = public_endpoint
696
+ __props__.__dict__["quantization"] = quantization
690
697
  __props__.__dict__["region"] = region
691
698
  __props__.__dict__["size"] = size
692
699
  __props__.__dict__["status"] = status
@@ -712,7 +719,7 @@ class Deployment(pulumi.CustomResource):
712
719
 
713
720
  @property
714
721
  @pulumi.getter(name="maxSize")
715
- def max_size(self) -> pulumi.Output[int]:
722
+ def max_size(self) -> pulumi.Output[Optional[int]]:
716
723
  """
717
724
  The maximum size of the pool.
718
725
  """
@@ -720,7 +727,7 @@ class Deployment(pulumi.CustomResource):
720
727
 
721
728
  @property
722
729
  @pulumi.getter(name="minSize")
723
- def min_size(self) -> pulumi.Output[int]:
730
+ def min_size(self) -> pulumi.Output[Optional[int]]:
724
731
  """
725
732
  The minimum size of the pool.
726
733
  """
@@ -738,7 +745,7 @@ class Deployment(pulumi.CustomResource):
738
745
  @pulumi.getter(name="modelName")
739
746
  def model_name(self) -> pulumi.Output[str]:
740
747
  """
741
- The model name to use for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
748
+ The model name used for the deployment. Model names can be found in Console or using Scaleway's CLI (`scw inference model list`)
742
749
  """
743
750
  return pulumi.get(self, "model_name")
744
751
 
@@ -782,6 +789,14 @@ class Deployment(pulumi.CustomResource):
782
789
  """
783
790
  return pulumi.get(self, "public_endpoint")
784
791
 
792
+ @property
793
+ @pulumi.getter
794
+ def quantization(self) -> pulumi.Output[Optional[int]]:
795
+ """
796
+ The number of bits each model parameter should be quantized to
797
+ """
798
+ return pulumi.get(self, "quantization")
799
+
785
800
  @property
786
801
  @pulumi.getter
787
802
  def region(self) -> pulumi.Output[str]: