pulumiverse-scaleway 1.35.0a1761031391__py3-none-any.whl → 1.39.0a1764841480__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumiverse_scaleway/__init__.py +38 -0
- pulumiverse_scaleway/_inputs.py +271 -166
- pulumiverse_scaleway/audittrail/__init__.py +10 -0
- pulumiverse_scaleway/audittrail/get_event.py +410 -0
- pulumiverse_scaleway/audittrail/outputs.py +234 -0
- pulumiverse_scaleway/baremetal_server.py +159 -0
- pulumiverse_scaleway/billing/get_consumptions.py +4 -0
- pulumiverse_scaleway/block/snapshot.py +78 -0
- pulumiverse_scaleway/block_snapshot.py +78 -0
- pulumiverse_scaleway/cockpit_grafana_user.py +0 -42
- pulumiverse_scaleway/database_instance.py +105 -55
- pulumiverse_scaleway/database_user.py +6 -6
- pulumiverse_scaleway/databases/_inputs.py +97 -3
- pulumiverse_scaleway/databases/get_instance.py +12 -1
- pulumiverse_scaleway/databases/instance.py +105 -55
- pulumiverse_scaleway/databases/outputs.py +127 -2
- pulumiverse_scaleway/databases/user.py +6 -6
- pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
- pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
- pulumiverse_scaleway/datawarehouse/database.py +338 -0
- pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
- pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
- pulumiverse_scaleway/datawarehouse/user.py +451 -0
- pulumiverse_scaleway/domain/record.py +4 -4
- pulumiverse_scaleway/domain_record.py +4 -4
- pulumiverse_scaleway/edge_services_cache_stage.py +30 -0
- pulumiverse_scaleway/edge_services_dns_stage.py +28 -0
- pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
- pulumiverse_scaleway/elasticmetal/server.py +159 -0
- pulumiverse_scaleway/file_filesystem.py +39 -35
- pulumiverse_scaleway/get_baremetal_offer.py +2 -0
- pulumiverse_scaleway/get_baremetal_server.py +12 -1
- pulumiverse_scaleway/get_billing_consumptions.py +4 -0
- pulumiverse_scaleway/get_database_instance.py +12 -1
- pulumiverse_scaleway/get_instance_ip.py +14 -2
- pulumiverse_scaleway/get_instance_server.py +13 -83
- pulumiverse_scaleway/get_k8s_version.py +12 -1
- pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
- pulumiverse_scaleway/get_loadbalancer.py +12 -1
- pulumiverse_scaleway/get_loadbalancer_certificate.py +60 -0
- pulumiverse_scaleway/iam/__init__.py +1 -0
- pulumiverse_scaleway/iam/get_policy.py +293 -0
- pulumiverse_scaleway/iam/outputs.py +52 -0
- pulumiverse_scaleway/inference/deployment.py +36 -0
- pulumiverse_scaleway/inference/model.py +7 -7
- pulumiverse_scaleway/inference_deployment.py +36 -0
- pulumiverse_scaleway/instance/_inputs.py +155 -144
- pulumiverse_scaleway/instance/get_ip.py +14 -2
- pulumiverse_scaleway/instance/get_server.py +13 -83
- pulumiverse_scaleway/instance/image.py +94 -40
- pulumiverse_scaleway/instance/outputs.py +164 -167
- pulumiverse_scaleway/instance/server.py +116 -244
- pulumiverse_scaleway/instance/user_data.py +4 -4
- pulumiverse_scaleway/instance/volume.py +14 -0
- pulumiverse_scaleway/instance_image.py +94 -40
- pulumiverse_scaleway/instance_server.py +116 -244
- pulumiverse_scaleway/instance_user_data.py +4 -4
- pulumiverse_scaleway/instance_volume.py +14 -0
- pulumiverse_scaleway/iot/device.py +0 -38
- pulumiverse_scaleway/iot/hub.py +11 -11
- pulumiverse_scaleway/iot/route.py +20 -20
- pulumiverse_scaleway/iot_device.py +0 -38
- pulumiverse_scaleway/iot_hub.py +11 -11
- pulumiverse_scaleway/iot_route.py +20 -20
- pulumiverse_scaleway/ipam/_inputs.py +6 -6
- pulumiverse_scaleway/ipam/ip.py +35 -7
- pulumiverse_scaleway/ipam/ip_reverse_dns.py +70 -0
- pulumiverse_scaleway/ipam/outputs.py +4 -4
- pulumiverse_scaleway/ipam_ip.py +35 -7
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +70 -0
- pulumiverse_scaleway/key_manager_key.py +134 -25
- pulumiverse_scaleway/kubernetes/cluster.py +290 -4
- pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
- pulumiverse_scaleway/kubernetes/get_version.py +12 -1
- pulumiverse_scaleway/kubernetes/pool.py +7 -7
- pulumiverse_scaleway/kubernetes_cluster.py +290 -4
- pulumiverse_scaleway/kubernetes_node_pool.py +7 -7
- pulumiverse_scaleway/loadbalancer.py +55 -1
- pulumiverse_scaleway/loadbalancers/__init__.py +1 -0
- pulumiverse_scaleway/loadbalancers/_inputs.py +13 -13
- pulumiverse_scaleway/loadbalancers/get_certificate.py +60 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
- pulumiverse_scaleway/loadbalancers/load_balancer.py +55 -1
- pulumiverse_scaleway/loadbalancers/outputs.py +9 -9
- pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
- pulumiverse_scaleway/mongo_db_instance.py +14 -14
- pulumiverse_scaleway/mongodb/instance.py +14 -14
- pulumiverse_scaleway/network/gateway_network.py +7 -7
- pulumiverse_scaleway/object/__init__.py +1 -0
- pulumiverse_scaleway/object/bucket_policy.py +0 -64
- pulumiverse_scaleway/object/get.py +290 -0
- pulumiverse_scaleway/object/item.py +37 -7
- pulumiverse_scaleway/object_bucket_policy.py +0 -64
- pulumiverse_scaleway/object_item.py +37 -7
- pulumiverse_scaleway/observability/__init__.py +1 -0
- pulumiverse_scaleway/observability/get_grafana.py +103 -0
- pulumiverse_scaleway/observability/get_sources.py +6 -6
- pulumiverse_scaleway/observability/grafana_user.py +0 -42
- pulumiverse_scaleway/observability/outputs.py +2 -2
- pulumiverse_scaleway/outputs.py +304 -182
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/tem/domain.py +42 -0
- pulumiverse_scaleway/tem_domain.py +42 -0
- pulumiverse_scaleway/vpc_gateway_network.py +7 -7
- {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/RECORD +109 -96
- {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +0 -0
- {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
|
@@ -164,6 +164,36 @@ def get_loadbalancer_certificate(certificate_id: Optional[_builtins.str] = None,
|
|
|
164
164
|
|
|
165
165
|
## Examples
|
|
166
166
|
|
|
167
|
+
### Let's Encrypt
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
import pulumi
|
|
171
|
+
import pulumi_scaleway as scaleway
|
|
172
|
+
import pulumi_std as std
|
|
173
|
+
import pulumiverse_scaleway as scaleway
|
|
174
|
+
|
|
175
|
+
main = scaleway.loadbalancers.Ip("main")
|
|
176
|
+
main_load_balancer = scaleway.loadbalancers.LoadBalancer("main",
|
|
177
|
+
ip_id=main.id,
|
|
178
|
+
name="data-test-lb-cert",
|
|
179
|
+
type="LB-S")
|
|
180
|
+
main_certificate = scaleway.loadbalancers.Certificate("main",
|
|
181
|
+
lb_id=main_load_balancer.id,
|
|
182
|
+
name="data-test-lb-cert",
|
|
183
|
+
letsencrypt={
|
|
184
|
+
"common_name": pulumi.Output.all(
|
|
185
|
+
ip_address=main_load_balancer.ip_address,
|
|
186
|
+
region=main_load_balancer.region
|
|
187
|
+
).apply(lambda resolved_outputs: f"{std.index.replace(text=resolved_outputs['ip_address'],
|
|
188
|
+
search='.',
|
|
189
|
+
replace='-')['result']}.lb.{resolved_outputs['region']}.scw.cloud")
|
|
190
|
+
,
|
|
191
|
+
})
|
|
192
|
+
by_id = scaleway.loadbalancers.get_certificate_output(certificate_id=main_certificate.id)
|
|
193
|
+
by_name = scaleway.loadbalancers.get_certificate_output(name=main_certificate.name,
|
|
194
|
+
lb_id=main_load_balancer.id)
|
|
195
|
+
```
|
|
196
|
+
|
|
167
197
|
|
|
168
198
|
:param _builtins.str certificate_id: The certificate ID.
|
|
169
199
|
- Only one of `name` and `certificate_id` should be specified.
|
|
@@ -205,6 +235,36 @@ def get_loadbalancer_certificate_output(certificate_id: Optional[pulumi.Input[Op
|
|
|
205
235
|
|
|
206
236
|
## Examples
|
|
207
237
|
|
|
238
|
+
### Let's Encrypt
|
|
239
|
+
|
|
240
|
+
```python
|
|
241
|
+
import pulumi
|
|
242
|
+
import pulumi_scaleway as scaleway
|
|
243
|
+
import pulumi_std as std
|
|
244
|
+
import pulumiverse_scaleway as scaleway
|
|
245
|
+
|
|
246
|
+
main = scaleway.loadbalancers.Ip("main")
|
|
247
|
+
main_load_balancer = scaleway.loadbalancers.LoadBalancer("main",
|
|
248
|
+
ip_id=main.id,
|
|
249
|
+
name="data-test-lb-cert",
|
|
250
|
+
type="LB-S")
|
|
251
|
+
main_certificate = scaleway.loadbalancers.Certificate("main",
|
|
252
|
+
lb_id=main_load_balancer.id,
|
|
253
|
+
name="data-test-lb-cert",
|
|
254
|
+
letsencrypt={
|
|
255
|
+
"common_name": pulumi.Output.all(
|
|
256
|
+
ip_address=main_load_balancer.ip_address,
|
|
257
|
+
region=main_load_balancer.region
|
|
258
|
+
).apply(lambda resolved_outputs: f"{std.index.replace(text=resolved_outputs['ip_address'],
|
|
259
|
+
search='.',
|
|
260
|
+
replace='-')['result']}.lb.{resolved_outputs['region']}.scw.cloud")
|
|
261
|
+
,
|
|
262
|
+
})
|
|
263
|
+
by_id = scaleway.loadbalancers.get_certificate_output(certificate_id=main_certificate.id)
|
|
264
|
+
by_name = scaleway.loadbalancers.get_certificate_output(name=main_certificate.name,
|
|
265
|
+
lb_id=main_load_balancer.id)
|
|
266
|
+
```
|
|
267
|
+
|
|
208
268
|
|
|
209
269
|
:param _builtins.str certificate_id: The certificate ID.
|
|
210
270
|
- Only one of `name` and `certificate_id` should be specified.
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
'GetPolicyResult',
|
|
20
|
+
'AwaitableGetPolicyResult',
|
|
21
|
+
'get_policy',
|
|
22
|
+
'get_policy_output',
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
@pulumi.output_type
|
|
26
|
+
class GetPolicyResult:
|
|
27
|
+
"""
|
|
28
|
+
A collection of values returned by getPolicy.
|
|
29
|
+
"""
|
|
30
|
+
def __init__(__self__, application_id=None, created_at=None, description=None, editable=None, group_id=None, id=None, name=None, no_principal=None, organization_id=None, policy_id=None, rules=None, tags=None, updated_at=None, user_id=None):
|
|
31
|
+
if application_id and not isinstance(application_id, str):
|
|
32
|
+
raise TypeError("Expected argument 'application_id' to be a str")
|
|
33
|
+
pulumi.set(__self__, "application_id", application_id)
|
|
34
|
+
if created_at and not isinstance(created_at, str):
|
|
35
|
+
raise TypeError("Expected argument 'created_at' to be a str")
|
|
36
|
+
pulumi.set(__self__, "created_at", created_at)
|
|
37
|
+
if description and not isinstance(description, str):
|
|
38
|
+
raise TypeError("Expected argument 'description' to be a str")
|
|
39
|
+
pulumi.set(__self__, "description", description)
|
|
40
|
+
if editable and not isinstance(editable, bool):
|
|
41
|
+
raise TypeError("Expected argument 'editable' to be a bool")
|
|
42
|
+
pulumi.set(__self__, "editable", editable)
|
|
43
|
+
if group_id and not isinstance(group_id, str):
|
|
44
|
+
raise TypeError("Expected argument 'group_id' to be a str")
|
|
45
|
+
pulumi.set(__self__, "group_id", group_id)
|
|
46
|
+
if id and not isinstance(id, str):
|
|
47
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
48
|
+
pulumi.set(__self__, "id", id)
|
|
49
|
+
if name and not isinstance(name, str):
|
|
50
|
+
raise TypeError("Expected argument 'name' to be a str")
|
|
51
|
+
pulumi.set(__self__, "name", name)
|
|
52
|
+
if no_principal and not isinstance(no_principal, bool):
|
|
53
|
+
raise TypeError("Expected argument 'no_principal' to be a bool")
|
|
54
|
+
pulumi.set(__self__, "no_principal", no_principal)
|
|
55
|
+
if organization_id and not isinstance(organization_id, str):
|
|
56
|
+
raise TypeError("Expected argument 'organization_id' to be a str")
|
|
57
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
58
|
+
if policy_id and not isinstance(policy_id, str):
|
|
59
|
+
raise TypeError("Expected argument 'policy_id' to be a str")
|
|
60
|
+
pulumi.set(__self__, "policy_id", policy_id)
|
|
61
|
+
if rules and not isinstance(rules, list):
|
|
62
|
+
raise TypeError("Expected argument 'rules' to be a list")
|
|
63
|
+
pulumi.set(__self__, "rules", rules)
|
|
64
|
+
if tags and not isinstance(tags, list):
|
|
65
|
+
raise TypeError("Expected argument 'tags' to be a list")
|
|
66
|
+
pulumi.set(__self__, "tags", tags)
|
|
67
|
+
if updated_at and not isinstance(updated_at, str):
|
|
68
|
+
raise TypeError("Expected argument 'updated_at' to be a str")
|
|
69
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
|
70
|
+
if user_id and not isinstance(user_id, str):
|
|
71
|
+
raise TypeError("Expected argument 'user_id' to be a str")
|
|
72
|
+
pulumi.set(__self__, "user_id", user_id)
|
|
73
|
+
|
|
74
|
+
@_builtins.property
|
|
75
|
+
@pulumi.getter(name="applicationId")
|
|
76
|
+
def application_id(self) -> _builtins.str:
|
|
77
|
+
"""
|
|
78
|
+
ID of the application the policy is linked to
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "application_id")
|
|
81
|
+
|
|
82
|
+
@_builtins.property
|
|
83
|
+
@pulumi.getter(name="createdAt")
|
|
84
|
+
def created_at(self) -> _builtins.str:
|
|
85
|
+
"""
|
|
86
|
+
The date and time of the creation of the policy.
|
|
87
|
+
"""
|
|
88
|
+
return pulumi.get(self, "created_at")
|
|
89
|
+
|
|
90
|
+
@_builtins.property
|
|
91
|
+
@pulumi.getter
|
|
92
|
+
def description(self) -> _builtins.str:
|
|
93
|
+
"""
|
|
94
|
+
The description of the IAM policy.
|
|
95
|
+
"""
|
|
96
|
+
return pulumi.get(self, "description")
|
|
97
|
+
|
|
98
|
+
@_builtins.property
|
|
99
|
+
@pulumi.getter
|
|
100
|
+
def editable(self) -> _builtins.bool:
|
|
101
|
+
"""
|
|
102
|
+
Whether the policy is editable.
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "editable")
|
|
105
|
+
|
|
106
|
+
@_builtins.property
|
|
107
|
+
@pulumi.getter(name="groupId")
|
|
108
|
+
def group_id(self) -> _builtins.str:
|
|
109
|
+
"""
|
|
110
|
+
ID of the group the policy is linked to
|
|
111
|
+
"""
|
|
112
|
+
return pulumi.get(self, "group_id")
|
|
113
|
+
|
|
114
|
+
@_builtins.property
|
|
115
|
+
@pulumi.getter
|
|
116
|
+
def id(self) -> _builtins.str:
|
|
117
|
+
"""
|
|
118
|
+
The provider-assigned unique ID for this managed resource.
|
|
119
|
+
"""
|
|
120
|
+
return pulumi.get(self, "id")
|
|
121
|
+
|
|
122
|
+
@_builtins.property
|
|
123
|
+
@pulumi.getter
|
|
124
|
+
def name(self) -> Optional[_builtins.str]:
|
|
125
|
+
return pulumi.get(self, "name")
|
|
126
|
+
|
|
127
|
+
@_builtins.property
|
|
128
|
+
@pulumi.getter(name="noPrincipal")
|
|
129
|
+
def no_principal(self) -> _builtins.bool:
|
|
130
|
+
"""
|
|
131
|
+
If the policy doesn't apply to a principal.
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "no_principal")
|
|
134
|
+
|
|
135
|
+
@_builtins.property
|
|
136
|
+
@pulumi.getter(name="organizationId")
|
|
137
|
+
def organization_id(self) -> _builtins.str:
|
|
138
|
+
"""
|
|
139
|
+
ID of organization scoped to the rule.
|
|
140
|
+
"""
|
|
141
|
+
return pulumi.get(self, "organization_id")
|
|
142
|
+
|
|
143
|
+
@_builtins.property
|
|
144
|
+
@pulumi.getter(name="policyId")
|
|
145
|
+
def policy_id(self) -> Optional[_builtins.str]:
|
|
146
|
+
return pulumi.get(self, "policy_id")
|
|
147
|
+
|
|
148
|
+
@_builtins.property
|
|
149
|
+
@pulumi.getter
|
|
150
|
+
def rules(self) -> Sequence['outputs.GetPolicyRuleResult']:
|
|
151
|
+
"""
|
|
152
|
+
List of rules in the policy.
|
|
153
|
+
"""
|
|
154
|
+
return pulumi.get(self, "rules")
|
|
155
|
+
|
|
156
|
+
@_builtins.property
|
|
157
|
+
@pulumi.getter
|
|
158
|
+
def tags(self) -> Sequence[_builtins.str]:
|
|
159
|
+
"""
|
|
160
|
+
The tags associated with the IAM policy.
|
|
161
|
+
"""
|
|
162
|
+
return pulumi.get(self, "tags")
|
|
163
|
+
|
|
164
|
+
@_builtins.property
|
|
165
|
+
@pulumi.getter(name="updatedAt")
|
|
166
|
+
def updated_at(self) -> _builtins.str:
|
|
167
|
+
"""
|
|
168
|
+
The date and time of the last update of the policy.
|
|
169
|
+
"""
|
|
170
|
+
return pulumi.get(self, "updated_at")
|
|
171
|
+
|
|
172
|
+
@_builtins.property
|
|
173
|
+
@pulumi.getter(name="userId")
|
|
174
|
+
def user_id(self) -> _builtins.str:
|
|
175
|
+
"""
|
|
176
|
+
ID of the user the policy is linked to
|
|
177
|
+
"""
|
|
178
|
+
return pulumi.get(self, "user_id")
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class AwaitableGetPolicyResult(GetPolicyResult):
|
|
182
|
+
# pylint: disable=using-constant-test
|
|
183
|
+
def __await__(self):
|
|
184
|
+
if False:
|
|
185
|
+
yield self
|
|
186
|
+
return GetPolicyResult(
|
|
187
|
+
application_id=self.application_id,
|
|
188
|
+
created_at=self.created_at,
|
|
189
|
+
description=self.description,
|
|
190
|
+
editable=self.editable,
|
|
191
|
+
group_id=self.group_id,
|
|
192
|
+
id=self.id,
|
|
193
|
+
name=self.name,
|
|
194
|
+
no_principal=self.no_principal,
|
|
195
|
+
organization_id=self.organization_id,
|
|
196
|
+
policy_id=self.policy_id,
|
|
197
|
+
rules=self.rules,
|
|
198
|
+
tags=self.tags,
|
|
199
|
+
updated_at=self.updated_at,
|
|
200
|
+
user_id=self.user_id)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def get_policy(name: Optional[_builtins.str] = None,
|
|
204
|
+
policy_id: Optional[_builtins.str] = None,
|
|
205
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPolicyResult:
|
|
206
|
+
"""
|
|
207
|
+
Use this data source to get information on an existing IAM policy based on its ID.
|
|
208
|
+
For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/).
|
|
209
|
+
|
|
210
|
+
## Example Usage
|
|
211
|
+
|
|
212
|
+
```python
|
|
213
|
+
import pulumi
|
|
214
|
+
import pulumi_scaleway as scaleway
|
|
215
|
+
|
|
216
|
+
# Get policy by id
|
|
217
|
+
find_by_id = scaleway.iam.get_policy(policy_id="11111111-1111-1111-1111-111111111111")
|
|
218
|
+
# Get policy by name
|
|
219
|
+
find_by_name = scaleway.iam.get_policy(name="my_policy")
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
:param _builtins.str name: The name of the IAM policy.
|
|
224
|
+
:param _builtins.str policy_id: The ID of the IAM policy.
|
|
225
|
+
|
|
226
|
+
> **Note** You must specify at least one: `name` and/or `policy_id`.
|
|
227
|
+
"""
|
|
228
|
+
__args__ = dict()
|
|
229
|
+
__args__['name'] = name
|
|
230
|
+
__args__['policyId'] = policy_id
|
|
231
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
232
|
+
__ret__ = pulumi.runtime.invoke('scaleway:iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult).value
|
|
233
|
+
|
|
234
|
+
return AwaitableGetPolicyResult(
|
|
235
|
+
application_id=pulumi.get(__ret__, 'application_id'),
|
|
236
|
+
created_at=pulumi.get(__ret__, 'created_at'),
|
|
237
|
+
description=pulumi.get(__ret__, 'description'),
|
|
238
|
+
editable=pulumi.get(__ret__, 'editable'),
|
|
239
|
+
group_id=pulumi.get(__ret__, 'group_id'),
|
|
240
|
+
id=pulumi.get(__ret__, 'id'),
|
|
241
|
+
name=pulumi.get(__ret__, 'name'),
|
|
242
|
+
no_principal=pulumi.get(__ret__, 'no_principal'),
|
|
243
|
+
organization_id=pulumi.get(__ret__, 'organization_id'),
|
|
244
|
+
policy_id=pulumi.get(__ret__, 'policy_id'),
|
|
245
|
+
rules=pulumi.get(__ret__, 'rules'),
|
|
246
|
+
tags=pulumi.get(__ret__, 'tags'),
|
|
247
|
+
updated_at=pulumi.get(__ret__, 'updated_at'),
|
|
248
|
+
user_id=pulumi.get(__ret__, 'user_id'))
|
|
249
|
+
def get_policy_output(name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
250
|
+
policy_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
251
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyResult]:
|
|
252
|
+
"""
|
|
253
|
+
Use this data source to get information on an existing IAM policy based on its ID.
|
|
254
|
+
For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/).
|
|
255
|
+
|
|
256
|
+
## Example Usage
|
|
257
|
+
|
|
258
|
+
```python
|
|
259
|
+
import pulumi
|
|
260
|
+
import pulumi_scaleway as scaleway
|
|
261
|
+
|
|
262
|
+
# Get policy by id
|
|
263
|
+
find_by_id = scaleway.iam.get_policy(policy_id="11111111-1111-1111-1111-111111111111")
|
|
264
|
+
# Get policy by name
|
|
265
|
+
find_by_name = scaleway.iam.get_policy(name="my_policy")
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
:param _builtins.str name: The name of the IAM policy.
|
|
270
|
+
:param _builtins.str policy_id: The ID of the IAM policy.
|
|
271
|
+
|
|
272
|
+
> **Note** You must specify at least one: `name` and/or `policy_id`.
|
|
273
|
+
"""
|
|
274
|
+
__args__ = dict()
|
|
275
|
+
__args__['name'] = name
|
|
276
|
+
__args__['policyId'] = policy_id
|
|
277
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
278
|
+
__ret__ = pulumi.runtime.invoke_output('scaleway:iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult)
|
|
279
|
+
return __ret__.apply(lambda __response__: GetPolicyResult(
|
|
280
|
+
application_id=pulumi.get(__response__, 'application_id'),
|
|
281
|
+
created_at=pulumi.get(__response__, 'created_at'),
|
|
282
|
+
description=pulumi.get(__response__, 'description'),
|
|
283
|
+
editable=pulumi.get(__response__, 'editable'),
|
|
284
|
+
group_id=pulumi.get(__response__, 'group_id'),
|
|
285
|
+
id=pulumi.get(__response__, 'id'),
|
|
286
|
+
name=pulumi.get(__response__, 'name'),
|
|
287
|
+
no_principal=pulumi.get(__response__, 'no_principal'),
|
|
288
|
+
organization_id=pulumi.get(__response__, 'organization_id'),
|
|
289
|
+
policy_id=pulumi.get(__response__, 'policy_id'),
|
|
290
|
+
rules=pulumi.get(__response__, 'rules'),
|
|
291
|
+
tags=pulumi.get(__response__, 'tags'),
|
|
292
|
+
updated_at=pulumi.get(__response__, 'updated_at'),
|
|
293
|
+
user_id=pulumi.get(__response__, 'user_id')))
|
|
@@ -16,6 +16,7 @@ from .. import _utilities
|
|
|
16
16
|
|
|
17
17
|
__all__ = [
|
|
18
18
|
'PolicyRule',
|
|
19
|
+
'GetPolicyRuleResult',
|
|
19
20
|
]
|
|
20
21
|
|
|
21
22
|
@pulumi.output_type
|
|
@@ -109,3 +110,54 @@ class PolicyRule(dict):
|
|
|
109
110
|
return pulumi.get(self, "project_ids")
|
|
110
111
|
|
|
111
112
|
|
|
113
|
+
@pulumi.output_type
|
|
114
|
+
class GetPolicyRuleResult(dict):
|
|
115
|
+
def __init__(__self__, *,
|
|
116
|
+
condition: _builtins.str,
|
|
117
|
+
organization_id: _builtins.str,
|
|
118
|
+
permission_set_names: Sequence[_builtins.str],
|
|
119
|
+
project_ids: Sequence[_builtins.str]):
|
|
120
|
+
"""
|
|
121
|
+
:param _builtins.str condition: The condition of the rule.
|
|
122
|
+
:param _builtins.str organization_id: ID of organization scoped to the rule.
|
|
123
|
+
:param Sequence[_builtins.str] permission_set_names: Names of permission sets bound to the rule.
|
|
124
|
+
:param Sequence[_builtins.str] project_ids: List of project IDs scoped to the rule.
|
|
125
|
+
"""
|
|
126
|
+
pulumi.set(__self__, "condition", condition)
|
|
127
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
128
|
+
pulumi.set(__self__, "permission_set_names", permission_set_names)
|
|
129
|
+
pulumi.set(__self__, "project_ids", project_ids)
|
|
130
|
+
|
|
131
|
+
@_builtins.property
|
|
132
|
+
@pulumi.getter
|
|
133
|
+
def condition(self) -> _builtins.str:
|
|
134
|
+
"""
|
|
135
|
+
The condition of the rule.
|
|
136
|
+
"""
|
|
137
|
+
return pulumi.get(self, "condition")
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter(name="organizationId")
|
|
141
|
+
def organization_id(self) -> _builtins.str:
|
|
142
|
+
"""
|
|
143
|
+
ID of organization scoped to the rule.
|
|
144
|
+
"""
|
|
145
|
+
return pulumi.get(self, "organization_id")
|
|
146
|
+
|
|
147
|
+
@_builtins.property
|
|
148
|
+
@pulumi.getter(name="permissionSetNames")
|
|
149
|
+
def permission_set_names(self) -> Sequence[_builtins.str]:
|
|
150
|
+
"""
|
|
151
|
+
Names of permission sets bound to the rule.
|
|
152
|
+
"""
|
|
153
|
+
return pulumi.get(self, "permission_set_names")
|
|
154
|
+
|
|
155
|
+
@_builtins.property
|
|
156
|
+
@pulumi.getter(name="projectIds")
|
|
157
|
+
def project_ids(self) -> Sequence[_builtins.str]:
|
|
158
|
+
"""
|
|
159
|
+
List of project IDs scoped to the rule.
|
|
160
|
+
"""
|
|
161
|
+
return pulumi.get(self, "project_ids")
|
|
162
|
+
|
|
163
|
+
|
|
@@ -554,6 +554,24 @@ class Deployment(pulumi.CustomResource):
|
|
|
554
554
|
|
|
555
555
|
## Example Usage
|
|
556
556
|
|
|
557
|
+
### Basic
|
|
558
|
+
|
|
559
|
+
```python
|
|
560
|
+
import pulumi
|
|
561
|
+
import pulumi_scaleway as scaleway
|
|
562
|
+
import pulumiverse_scaleway as scaleway
|
|
563
|
+
|
|
564
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
|
565
|
+
deployment = scaleway.inference.Deployment("deployment",
|
|
566
|
+
name="tf-inference-deployment",
|
|
567
|
+
node_type="L4",
|
|
568
|
+
model_name=my_model.id,
|
|
569
|
+
public_endpoint={
|
|
570
|
+
"is_enabled": True,
|
|
571
|
+
},
|
|
572
|
+
accept_eula=True)
|
|
573
|
+
```
|
|
574
|
+
|
|
557
575
|
## Import
|
|
558
576
|
|
|
559
577
|
Functions can be imported using, `{region}/{id}`, as shown below:
|
|
@@ -592,6 +610,24 @@ class Deployment(pulumi.CustomResource):
|
|
|
592
610
|
|
|
593
611
|
## Example Usage
|
|
594
612
|
|
|
613
|
+
### Basic
|
|
614
|
+
|
|
615
|
+
```python
|
|
616
|
+
import pulumi
|
|
617
|
+
import pulumi_scaleway as scaleway
|
|
618
|
+
import pulumiverse_scaleway as scaleway
|
|
619
|
+
|
|
620
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
|
621
|
+
deployment = scaleway.inference.Deployment("deployment",
|
|
622
|
+
name="tf-inference-deployment",
|
|
623
|
+
node_type="L4",
|
|
624
|
+
model_name=my_model.id,
|
|
625
|
+
public_endpoint={
|
|
626
|
+
"is_enabled": True,
|
|
627
|
+
},
|
|
628
|
+
accept_eula=True)
|
|
629
|
+
```
|
|
630
|
+
|
|
595
631
|
## Import
|
|
596
632
|
|
|
597
633
|
Functions can be imported using, `{region}/{id}`, as shown below:
|
|
@@ -28,7 +28,7 @@ class ModelArgs:
|
|
|
28
28
|
secret: Optional[pulumi.Input[_builtins.str]] = None):
|
|
29
29
|
"""
|
|
30
30
|
The set of arguments for constructing a Model resource.
|
|
31
|
-
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
31
|
+
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
32
32
|
:param pulumi.Input[_builtins.str] name: The name of the model. This must be unique within the project.
|
|
33
33
|
:param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
|
|
34
34
|
:param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
|
|
@@ -48,7 +48,7 @@ class ModelArgs:
|
|
|
48
48
|
@pulumi.getter
|
|
49
49
|
def url(self) -> pulumi.Input[_builtins.str]:
|
|
50
50
|
"""
|
|
51
|
-
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
51
|
+
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
52
52
|
"""
|
|
53
53
|
return pulumi.get(self, "url")
|
|
54
54
|
|
|
@@ -137,7 +137,7 @@ class _ModelState:
|
|
|
137
137
|
:param pulumi.Input[_builtins.str] status: The current status of the model (e.g., ready, error, etc.).
|
|
138
138
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags associated with the model.
|
|
139
139
|
:param pulumi.Input[_builtins.str] updated_at: The date and time of the last update of the model
|
|
140
|
-
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
140
|
+
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
141
141
|
"""
|
|
142
142
|
if created_at is not None:
|
|
143
143
|
pulumi.set(__self__, "created_at", created_at)
|
|
@@ -328,7 +328,7 @@ class _ModelState:
|
|
|
328
328
|
@pulumi.getter
|
|
329
329
|
def url(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
330
330
|
"""
|
|
331
|
-
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
331
|
+
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
332
332
|
"""
|
|
333
333
|
return pulumi.get(self, "url")
|
|
334
334
|
|
|
@@ -402,7 +402,7 @@ class Model(pulumi.CustomResource):
|
|
|
402
402
|
:param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the deployment is associated with.
|
|
403
403
|
:param pulumi.Input[_builtins.str] region: `region`) The region in which the deployment is created.
|
|
404
404
|
:param pulumi.Input[_builtins.str] secret: Authentication token used to pull the model from a private or gated URL (e.g., a Hugging Face access token with read permission).
|
|
405
|
-
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
405
|
+
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
406
406
|
"""
|
|
407
407
|
...
|
|
408
408
|
@overload
|
|
@@ -548,7 +548,7 @@ class Model(pulumi.CustomResource):
|
|
|
548
548
|
:param pulumi.Input[_builtins.str] status: The current status of the model (e.g., ready, error, etc.).
|
|
549
549
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags associated with the model.
|
|
550
550
|
:param pulumi.Input[_builtins.str] updated_at: The date and time of the last update of the model
|
|
551
|
-
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
551
|
+
:param pulumi.Input[_builtins.str] url: The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
552
552
|
"""
|
|
553
553
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
554
554
|
|
|
@@ -678,7 +678,7 @@ class Model(pulumi.CustomResource):
|
|
|
678
678
|
@pulumi.getter
|
|
679
679
|
def url(self) -> pulumi.Output[_builtins.str]:
|
|
680
680
|
"""
|
|
681
|
-
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., https://huggingface.co/agentica-org/DeepCoder-14B-Preview). The URL must be publicly accessible or require valid credentials via `secret`
|
|
681
|
+
The HTTPS source URL from which the model will be downloaded. This is typically a Hugging Face repository URL (e.g., <https://huggingface.co/agentica-org/DeepCoder-14B-Preview>). The URL must be publicly accessible or require valid credentials via `secret`
|
|
682
682
|
"""
|
|
683
683
|
return pulumi.get(self, "url")
|
|
684
684
|
|
|
@@ -559,6 +559,24 @@ class InferenceDeployment(pulumi.CustomResource):
|
|
|
559
559
|
|
|
560
560
|
## Example Usage
|
|
561
561
|
|
|
562
|
+
### Basic
|
|
563
|
+
|
|
564
|
+
```python
|
|
565
|
+
import pulumi
|
|
566
|
+
import pulumi_scaleway as scaleway
|
|
567
|
+
import pulumiverse_scaleway as scaleway
|
|
568
|
+
|
|
569
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
|
570
|
+
deployment = scaleway.inference.Deployment("deployment",
|
|
571
|
+
name="tf-inference-deployment",
|
|
572
|
+
node_type="L4",
|
|
573
|
+
model_name=my_model.id,
|
|
574
|
+
public_endpoint={
|
|
575
|
+
"is_enabled": True,
|
|
576
|
+
},
|
|
577
|
+
accept_eula=True)
|
|
578
|
+
```
|
|
579
|
+
|
|
562
580
|
## Import
|
|
563
581
|
|
|
564
582
|
Functions can be imported using, `{region}/{id}`, as shown below:
|
|
@@ -597,6 +615,24 @@ class InferenceDeployment(pulumi.CustomResource):
|
|
|
597
615
|
|
|
598
616
|
## Example Usage
|
|
599
617
|
|
|
618
|
+
### Basic
|
|
619
|
+
|
|
620
|
+
```python
|
|
621
|
+
import pulumi
|
|
622
|
+
import pulumi_scaleway as scaleway
|
|
623
|
+
import pulumiverse_scaleway as scaleway
|
|
624
|
+
|
|
625
|
+
my_model = scaleway.inference.get_model(name="meta/llama-3.1-8b-instruct:fp8")
|
|
626
|
+
deployment = scaleway.inference.Deployment("deployment",
|
|
627
|
+
name="tf-inference-deployment",
|
|
628
|
+
node_type="L4",
|
|
629
|
+
model_name=my_model.id,
|
|
630
|
+
public_endpoint={
|
|
631
|
+
"is_enabled": True,
|
|
632
|
+
},
|
|
633
|
+
accept_eula=True)
|
|
634
|
+
```
|
|
635
|
+
|
|
600
636
|
## Import
|
|
601
637
|
|
|
602
638
|
Functions can be imported using, `{region}/{id}`, as shown below:
|