pulumiverse-scaleway 1.27.1__py3-none-any.whl → 1.28.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.
- pulumiverse_scaleway/__init__.py +16 -0
- pulumiverse_scaleway/_inputs.py +498 -6
- pulumiverse_scaleway/baremetal_server.py +48 -258
- pulumiverse_scaleway/database_instance.py +42 -21
- pulumiverse_scaleway/databases/_inputs.py +54 -0
- pulumiverse_scaleway/databases/get_instance.py +12 -1
- pulumiverse_scaleway/databases/instance.py +42 -21
- pulumiverse_scaleway/databases/outputs.py +62 -0
- pulumiverse_scaleway/databases/snapshot.py +2 -2
- pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
- pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
- pulumiverse_scaleway/elasticmetal/server.py +48 -258
- pulumiverse_scaleway/get_baremetal_server.py +12 -1
- pulumiverse_scaleway/get_cockpit_plan.py +2 -38
- pulumiverse_scaleway/get_database_instance.py +12 -1
- pulumiverse_scaleway/get_instance_private_nic.py +13 -1
- pulumiverse_scaleway/get_instance_server.py +12 -1
- pulumiverse_scaleway/get_lb_route.py +12 -1
- pulumiverse_scaleway/get_loadbalancer.py +12 -1
- pulumiverse_scaleway/get_redis_cluster.py +12 -1
- pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
- pulumiverse_scaleway/inference/__init__.py +2 -0
- pulumiverse_scaleway/inference/_inputs.py +128 -0
- pulumiverse_scaleway/inference/deployment.py +70 -55
- pulumiverse_scaleway/inference/get_model.py +299 -0
- pulumiverse_scaleway/inference/model.py +683 -0
- pulumiverse_scaleway/inference/outputs.py +184 -0
- pulumiverse_scaleway/inference_deployment.py +70 -55
- pulumiverse_scaleway/instance/_inputs.py +108 -0
- pulumiverse_scaleway/instance/get_private_nic.py +13 -1
- pulumiverse_scaleway/instance/get_server.py +12 -1
- pulumiverse_scaleway/instance/outputs.py +124 -0
- pulumiverse_scaleway/instance/private_nic.py +30 -0
- pulumiverse_scaleway/instance/server.py +28 -0
- pulumiverse_scaleway/instance_private_nic.py +30 -0
- pulumiverse_scaleway/instance_server.py +28 -0
- pulumiverse_scaleway/kubernetes/__init__.py +1 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
- pulumiverse_scaleway/kubernetes/acl.py +446 -0
- pulumiverse_scaleway/kubernetes/outputs.py +195 -1
- pulumiverse_scaleway/loadbalancer.py +28 -0
- pulumiverse_scaleway/loadbalancer_route.py +138 -14
- pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
- pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
- pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
- pulumiverse_scaleway/loadbalancers/route.py +138 -14
- pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
- pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
- pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
- pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
- pulumiverse_scaleway/network/_inputs.py +54 -0
- pulumiverse_scaleway/network/gateway_network.py +28 -0
- pulumiverse_scaleway/network/get_gateway_network.py +12 -1
- pulumiverse_scaleway/network/outputs.py +62 -0
- pulumiverse_scaleway/network/route.py +90 -2
- pulumiverse_scaleway/observability/get_plan.py +2 -38
- pulumiverse_scaleway/outputs.py +574 -5
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +2 -2
- pulumiverse_scaleway/redis/_inputs.py +60 -6
- pulumiverse_scaleway/redis/cluster.py +28 -0
- pulumiverse_scaleway/redis/get_cluster.py +12 -1
- pulumiverse_scaleway/redis/outputs.py +66 -4
- pulumiverse_scaleway/redis_cluster.py +28 -0
- pulumiverse_scaleway/vpc_gateway_network.py +28 -0
- pulumiverse_scaleway/vpc_route.py +90 -2
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,7 @@ __all__ = ['DeploymentArgs', 'Deployment']
|
|
21
21
|
@pulumi.input_type
|
22
22
|
class DeploymentArgs:
|
23
23
|
def __init__(__self__, *,
|
24
|
-
|
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]
|
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__, "
|
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="
|
72
|
-
def
|
75
|
+
@pulumi.getter(name="modelId")
|
76
|
+
def model_id(self) -> pulumi.Input[str]:
|
73
77
|
"""
|
74
|
-
The model
|
78
|
+
The model id used for the deployment.
|
75
79
|
"""
|
76
|
-
return pulumi.get(self, "
|
80
|
+
return pulumi.get(self, "model_id")
|
77
81
|
|
78
|
-
@
|
79
|
-
def
|
80
|
-
pulumi.set(self, "
|
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
|
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
|
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
|
-
|
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]
|
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
|
-
|
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
|
607
|
-
raise TypeError("Missing required property '
|
608
|
-
__props__.__dict__["
|
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__["
|
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
|
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
|
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]:
|
@@ -0,0 +1,299 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
|
18
|
+
__all__ = [
|
19
|
+
'GetModelResult',
|
20
|
+
'AwaitableGetModelResult',
|
21
|
+
'get_model',
|
22
|
+
'get_model_output',
|
23
|
+
]
|
24
|
+
|
25
|
+
@pulumi.output_type
|
26
|
+
class GetModelResult:
|
27
|
+
"""
|
28
|
+
A collection of values returned by getModel.
|
29
|
+
"""
|
30
|
+
def __init__(__self__, created_at=None, description=None, has_eula=None, id=None, model_id=None, name=None, nodes_supports=None, parameter_size_bits=None, project_id=None, region=None, secret=None, size_bytes=None, status=None, tags=None, updated_at=None, url=None):
|
31
|
+
if created_at and not isinstance(created_at, str):
|
32
|
+
raise TypeError("Expected argument 'created_at' to be a str")
|
33
|
+
pulumi.set(__self__, "created_at", created_at)
|
34
|
+
if description and not isinstance(description, str):
|
35
|
+
raise TypeError("Expected argument 'description' to be a str")
|
36
|
+
pulumi.set(__self__, "description", description)
|
37
|
+
if has_eula and not isinstance(has_eula, bool):
|
38
|
+
raise TypeError("Expected argument 'has_eula' to be a bool")
|
39
|
+
pulumi.set(__self__, "has_eula", has_eula)
|
40
|
+
if id and not isinstance(id, str):
|
41
|
+
raise TypeError("Expected argument 'id' to be a str")
|
42
|
+
pulumi.set(__self__, "id", id)
|
43
|
+
if model_id and not isinstance(model_id, str):
|
44
|
+
raise TypeError("Expected argument 'model_id' to be a str")
|
45
|
+
pulumi.set(__self__, "model_id", model_id)
|
46
|
+
if name and not isinstance(name, str):
|
47
|
+
raise TypeError("Expected argument 'name' to be a str")
|
48
|
+
pulumi.set(__self__, "name", name)
|
49
|
+
if nodes_supports and not isinstance(nodes_supports, list):
|
50
|
+
raise TypeError("Expected argument 'nodes_supports' to be a list")
|
51
|
+
pulumi.set(__self__, "nodes_supports", nodes_supports)
|
52
|
+
if parameter_size_bits and not isinstance(parameter_size_bits, int):
|
53
|
+
raise TypeError("Expected argument 'parameter_size_bits' to be a int")
|
54
|
+
pulumi.set(__self__, "parameter_size_bits", parameter_size_bits)
|
55
|
+
if project_id and not isinstance(project_id, str):
|
56
|
+
raise TypeError("Expected argument 'project_id' to be a str")
|
57
|
+
pulumi.set(__self__, "project_id", project_id)
|
58
|
+
if region and not isinstance(region, str):
|
59
|
+
raise TypeError("Expected argument 'region' to be a str")
|
60
|
+
pulumi.set(__self__, "region", region)
|
61
|
+
if secret and not isinstance(secret, str):
|
62
|
+
raise TypeError("Expected argument 'secret' to be a str")
|
63
|
+
pulumi.set(__self__, "secret", secret)
|
64
|
+
if size_bytes and not isinstance(size_bytes, int):
|
65
|
+
raise TypeError("Expected argument 'size_bytes' to be a int")
|
66
|
+
pulumi.set(__self__, "size_bytes", size_bytes)
|
67
|
+
if status and not isinstance(status, str):
|
68
|
+
raise TypeError("Expected argument 'status' to be a str")
|
69
|
+
pulumi.set(__self__, "status", status)
|
70
|
+
if tags and not isinstance(tags, list):
|
71
|
+
raise TypeError("Expected argument 'tags' to be a list")
|
72
|
+
pulumi.set(__self__, "tags", tags)
|
73
|
+
if updated_at and not isinstance(updated_at, str):
|
74
|
+
raise TypeError("Expected argument 'updated_at' to be a str")
|
75
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
76
|
+
if url and not isinstance(url, str):
|
77
|
+
raise TypeError("Expected argument 'url' to be a str")
|
78
|
+
pulumi.set(__self__, "url", url)
|
79
|
+
|
80
|
+
@property
|
81
|
+
@pulumi.getter(name="createdAt")
|
82
|
+
def created_at(self) -> str:
|
83
|
+
return pulumi.get(self, "created_at")
|
84
|
+
|
85
|
+
@property
|
86
|
+
@pulumi.getter
|
87
|
+
def description(self) -> str:
|
88
|
+
"""
|
89
|
+
A textual description of the model (if available).
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "description")
|
92
|
+
|
93
|
+
@property
|
94
|
+
@pulumi.getter(name="hasEula")
|
95
|
+
def has_eula(self) -> bool:
|
96
|
+
"""
|
97
|
+
Whether the model requires end-user license agreement acceptance before use.
|
98
|
+
"""
|
99
|
+
return pulumi.get(self, "has_eula")
|
100
|
+
|
101
|
+
@property
|
102
|
+
@pulumi.getter
|
103
|
+
def id(self) -> str:
|
104
|
+
"""
|
105
|
+
The provider-assigned unique ID for this managed resource.
|
106
|
+
"""
|
107
|
+
return pulumi.get(self, "id")
|
108
|
+
|
109
|
+
@property
|
110
|
+
@pulumi.getter(name="modelId")
|
111
|
+
def model_id(self) -> Optional[str]:
|
112
|
+
return pulumi.get(self, "model_id")
|
113
|
+
|
114
|
+
@property
|
115
|
+
@pulumi.getter
|
116
|
+
def name(self) -> Optional[str]:
|
117
|
+
return pulumi.get(self, "name")
|
118
|
+
|
119
|
+
@property
|
120
|
+
@pulumi.getter(name="nodesSupports")
|
121
|
+
def nodes_supports(self) -> Sequence['outputs.GetModelNodesSupportResult']:
|
122
|
+
"""
|
123
|
+
List of supported node types and their quantization options. Each entry contains:
|
124
|
+
"""
|
125
|
+
return pulumi.get(self, "nodes_supports")
|
126
|
+
|
127
|
+
@property
|
128
|
+
@pulumi.getter(name="parameterSizeBits")
|
129
|
+
def parameter_size_bits(self) -> int:
|
130
|
+
"""
|
131
|
+
Size, in bits, of the model parameters.
|
132
|
+
"""
|
133
|
+
return pulumi.get(self, "parameter_size_bits")
|
134
|
+
|
135
|
+
@property
|
136
|
+
@pulumi.getter(name="projectId")
|
137
|
+
def project_id(self) -> str:
|
138
|
+
return pulumi.get(self, "project_id")
|
139
|
+
|
140
|
+
@property
|
141
|
+
@pulumi.getter
|
142
|
+
def region(self) -> str:
|
143
|
+
return pulumi.get(self, "region")
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter
|
147
|
+
def secret(self) -> str:
|
148
|
+
return pulumi.get(self, "secret")
|
149
|
+
|
150
|
+
@property
|
151
|
+
@pulumi.getter(name="sizeBytes")
|
152
|
+
def size_bytes(self) -> int:
|
153
|
+
"""
|
154
|
+
Total size, in bytes, of the model archive.
|
155
|
+
"""
|
156
|
+
return pulumi.get(self, "size_bytes")
|
157
|
+
|
158
|
+
@property
|
159
|
+
@pulumi.getter
|
160
|
+
def status(self) -> str:
|
161
|
+
"""
|
162
|
+
The current status of the model (e.g., ready, error, etc.).
|
163
|
+
"""
|
164
|
+
return pulumi.get(self, "status")
|
165
|
+
|
166
|
+
@property
|
167
|
+
@pulumi.getter
|
168
|
+
def tags(self) -> Sequence[str]:
|
169
|
+
"""
|
170
|
+
Tags associated with the model.
|
171
|
+
"""
|
172
|
+
return pulumi.get(self, "tags")
|
173
|
+
|
174
|
+
@property
|
175
|
+
@pulumi.getter(name="updatedAt")
|
176
|
+
def updated_at(self) -> str:
|
177
|
+
return pulumi.get(self, "updated_at")
|
178
|
+
|
179
|
+
@property
|
180
|
+
@pulumi.getter
|
181
|
+
def url(self) -> Optional[str]:
|
182
|
+
return pulumi.get(self, "url")
|
183
|
+
|
184
|
+
|
185
|
+
class AwaitableGetModelResult(GetModelResult):
|
186
|
+
# pylint: disable=using-constant-test
|
187
|
+
def __await__(self):
|
188
|
+
if False:
|
189
|
+
yield self
|
190
|
+
return GetModelResult(
|
191
|
+
created_at=self.created_at,
|
192
|
+
description=self.description,
|
193
|
+
has_eula=self.has_eula,
|
194
|
+
id=self.id,
|
195
|
+
model_id=self.model_id,
|
196
|
+
name=self.name,
|
197
|
+
nodes_supports=self.nodes_supports,
|
198
|
+
parameter_size_bits=self.parameter_size_bits,
|
199
|
+
project_id=self.project_id,
|
200
|
+
region=self.region,
|
201
|
+
secret=self.secret,
|
202
|
+
size_bytes=self.size_bytes,
|
203
|
+
status=self.status,
|
204
|
+
tags=self.tags,
|
205
|
+
updated_at=self.updated_at,
|
206
|
+
url=self.url)
|
207
|
+
|
208
|
+
|
209
|
+
def get_model(model_id: Optional[str] = None,
|
210
|
+
name: Optional[str] = None,
|
211
|
+
url: Optional[str] = None,
|
212
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetModelResult:
|
213
|
+
"""
|
214
|
+
The `inference.Model` data source allows you to retrieve information about an inference model available in the Scaleway Inference API, either by providing the model's `name` or its `model_id`.
|
215
|
+
|
216
|
+
## Example Usage
|
217
|
+
|
218
|
+
### Basic
|
219
|
+
|
220
|
+
```python
|
221
|
+
import pulumi
|
222
|
+
import pulumi_scaleway as scaleway
|
223
|
+
|
224
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
225
|
+
```
|
226
|
+
|
227
|
+
|
228
|
+
:param str model_id: The ID of the model to retrieve. Must be a valid UUID with locality (i.e., Scaleway's zoned UUID format).
|
229
|
+
:param str name: The fully qualified name of the model to look up (e.g., "meta/llama-3.1-8b-instruct:fp8"). The provider will search for a model with an exact name match in the selected region and project.
|
230
|
+
"""
|
231
|
+
__args__ = dict()
|
232
|
+
__args__['modelId'] = model_id
|
233
|
+
__args__['name'] = name
|
234
|
+
__args__['url'] = url
|
235
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
236
|
+
__ret__ = pulumi.runtime.invoke('scaleway:inference/getModel:getModel', __args__, opts=opts, typ=GetModelResult).value
|
237
|
+
|
238
|
+
return AwaitableGetModelResult(
|
239
|
+
created_at=pulumi.get(__ret__, 'created_at'),
|
240
|
+
description=pulumi.get(__ret__, 'description'),
|
241
|
+
has_eula=pulumi.get(__ret__, 'has_eula'),
|
242
|
+
id=pulumi.get(__ret__, 'id'),
|
243
|
+
model_id=pulumi.get(__ret__, 'model_id'),
|
244
|
+
name=pulumi.get(__ret__, 'name'),
|
245
|
+
nodes_supports=pulumi.get(__ret__, 'nodes_supports'),
|
246
|
+
parameter_size_bits=pulumi.get(__ret__, 'parameter_size_bits'),
|
247
|
+
project_id=pulumi.get(__ret__, 'project_id'),
|
248
|
+
region=pulumi.get(__ret__, 'region'),
|
249
|
+
secret=pulumi.get(__ret__, 'secret'),
|
250
|
+
size_bytes=pulumi.get(__ret__, 'size_bytes'),
|
251
|
+
status=pulumi.get(__ret__, 'status'),
|
252
|
+
tags=pulumi.get(__ret__, 'tags'),
|
253
|
+
updated_at=pulumi.get(__ret__, 'updated_at'),
|
254
|
+
url=pulumi.get(__ret__, 'url'))
|
255
|
+
def get_model_output(model_id: Optional[pulumi.Input[Optional[str]]] = None,
|
256
|
+
name: Optional[pulumi.Input[Optional[str]]] = None,
|
257
|
+
url: Optional[pulumi.Input[Optional[str]]] = None,
|
258
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetModelResult]:
|
259
|
+
"""
|
260
|
+
The `inference.Model` data source allows you to retrieve information about an inference model available in the Scaleway Inference API, either by providing the model's `name` or its `model_id`.
|
261
|
+
|
262
|
+
## Example Usage
|
263
|
+
|
264
|
+
### Basic
|
265
|
+
|
266
|
+
```python
|
267
|
+
import pulumi
|
268
|
+
import pulumi_scaleway as scaleway
|
269
|
+
|
270
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
271
|
+
```
|
272
|
+
|
273
|
+
|
274
|
+
:param str model_id: The ID of the model to retrieve. Must be a valid UUID with locality (i.e., Scaleway's zoned UUID format).
|
275
|
+
:param str name: The fully qualified name of the model to look up (e.g., "meta/llama-3.1-8b-instruct:fp8"). The provider will search for a model with an exact name match in the selected region and project.
|
276
|
+
"""
|
277
|
+
__args__ = dict()
|
278
|
+
__args__['modelId'] = model_id
|
279
|
+
__args__['name'] = name
|
280
|
+
__args__['url'] = url
|
281
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
282
|
+
__ret__ = pulumi.runtime.invoke_output('scaleway:inference/getModel:getModel', __args__, opts=opts, typ=GetModelResult)
|
283
|
+
return __ret__.apply(lambda __response__: GetModelResult(
|
284
|
+
created_at=pulumi.get(__response__, 'created_at'),
|
285
|
+
description=pulumi.get(__response__, 'description'),
|
286
|
+
has_eula=pulumi.get(__response__, 'has_eula'),
|
287
|
+
id=pulumi.get(__response__, 'id'),
|
288
|
+
model_id=pulumi.get(__response__, 'model_id'),
|
289
|
+
name=pulumi.get(__response__, 'name'),
|
290
|
+
nodes_supports=pulumi.get(__response__, 'nodes_supports'),
|
291
|
+
parameter_size_bits=pulumi.get(__response__, 'parameter_size_bits'),
|
292
|
+
project_id=pulumi.get(__response__, 'project_id'),
|
293
|
+
region=pulumi.get(__response__, 'region'),
|
294
|
+
secret=pulumi.get(__response__, 'secret'),
|
295
|
+
size_bytes=pulumi.get(__response__, 'size_bytes'),
|
296
|
+
status=pulumi.get(__response__, 'status'),
|
297
|
+
tags=pulumi.get(__response__, 'tags'),
|
298
|
+
updated_at=pulumi.get(__response__, 'updated_at'),
|
299
|
+
url=pulumi.get(__response__, 'url')))
|