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
@@ -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')))