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.
- pulumiverse_scaleway/__init__.py +16 -1
- pulumiverse_scaleway/_inputs.py +604 -6
- pulumiverse_scaleway/account/__init__.py +2 -0
- pulumiverse_scaleway/account/get_projects.py +235 -0
- pulumiverse_scaleway/account/outputs.py +95 -0
- pulumiverse_scaleway/baremetal_server.py +67 -258
- pulumiverse_scaleway/block/__init__.py +2 -0
- pulumiverse_scaleway/block/_inputs.py +73 -0
- pulumiverse_scaleway/block/get_snapshot.py +13 -1
- pulumiverse_scaleway/block/outputs.py +79 -0
- pulumiverse_scaleway/block/snapshot.py +62 -14
- pulumiverse_scaleway/block_snapshot.py +62 -14
- pulumiverse_scaleway/container.py +2 -2
- pulumiverse_scaleway/containers/container.py +2 -2
- pulumiverse_scaleway/database_instance.py +61 -21
- pulumiverse_scaleway/databases/_inputs.py +54 -0
- pulumiverse_scaleway/databases/get_instance.py +12 -1
- pulumiverse_scaleway/databases/instance.py +61 -21
- pulumiverse_scaleway/databases/outputs.py +62 -0
- pulumiverse_scaleway/databases/snapshot.py +2 -2
- pulumiverse_scaleway/domain/get_zone.py +7 -1
- pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
- pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
- pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
- pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
- pulumiverse_scaleway/elasticmetal/server.py +67 -258
- pulumiverse_scaleway/get_baremetal_server.py +12 -1
- pulumiverse_scaleway/get_block_snapshot.py +13 -1
- pulumiverse_scaleway/get_cockpit_plan.py +2 -38
- pulumiverse_scaleway/get_database_instance.py +12 -1
- pulumiverse_scaleway/get_domain_zone.py +7 -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_mongo_db_instance.py +12 -1
- pulumiverse_scaleway/get_redis_cluster.py +12 -1
- pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
- pulumiverse_scaleway/iam/user.py +468 -14
- pulumiverse_scaleway/iam_user.py +468 -14
- 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 +49 -0
- pulumiverse_scaleway/instance/server.py +47 -0
- pulumiverse_scaleway/instance/snapshot.py +28 -7
- pulumiverse_scaleway/instance/volume.py +28 -7
- pulumiverse_scaleway/instance_private_nic.py +49 -0
- pulumiverse_scaleway/instance_server.py +47 -0
- pulumiverse_scaleway/instance_snapshot.py +28 -7
- pulumiverse_scaleway/instance_volume.py +28 -7
- 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/mongo_db_instance.py +107 -7
- pulumiverse_scaleway/mongodb/_inputs.py +54 -0
- pulumiverse_scaleway/mongodb/get_instance.py +12 -1
- pulumiverse_scaleway/mongodb/instance.py +107 -7
- pulumiverse_scaleway/mongodb/outputs.py +62 -0
- pulumiverse_scaleway/network/_inputs.py +54 -0
- pulumiverse_scaleway/network/gateway_network.py +47 -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/__init__.py +0 -1
- pulumiverse_scaleway/observability/get_plan.py +2 -38
- pulumiverse_scaleway/outputs.py +718 -27
- 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 +47 -0
- pulumiverse_scaleway/redis/get_cluster.py +12 -1
- pulumiverse_scaleway/redis/outputs.py +66 -4
- pulumiverse_scaleway/redis_cluster.py +47 -0
- pulumiverse_scaleway/vpc_gateway_network.py +47 -0
- pulumiverse_scaleway/vpc_route.py +90 -2
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -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')))
|