pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.27.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 +105 -0
- pulumiverse_scaleway/_inputs.py +776 -0
- pulumiverse_scaleway/apple_silicon_server.py +105 -0
- pulumiverse_scaleway/applesilicon/server.py +105 -0
- pulumiverse_scaleway/baremetal_server.py +82 -0
- pulumiverse_scaleway/cockpit.py +7 -0
- pulumiverse_scaleway/domain/__init__.py +1 -0
- pulumiverse_scaleway/domain/_inputs.py +2697 -0
- pulumiverse_scaleway/domain/outputs.py +2145 -0
- pulumiverse_scaleway/domain/registration.py +777 -0
- pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
- pulumiverse_scaleway/edge_services_cache_stage.py +584 -0
- pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
- pulumiverse_scaleway/edge_services_head_stage.py +258 -0
- pulumiverse_scaleway/edge_services_pipeline.py +478 -0
- pulumiverse_scaleway/edge_services_plan.py +239 -0
- pulumiverse_scaleway/edge_services_route_stage.py +422 -0
- pulumiverse_scaleway/edge_services_tls_stage.py +640 -0
- pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
- pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
- pulumiverse_scaleway/elasticmetal/ip.py +13 -7
- pulumiverse_scaleway/elasticmetal/server.py +82 -0
- pulumiverse_scaleway/flexible_ip.py +13 -7
- pulumiverse_scaleway/get_cockpit_plan.py +1 -0
- pulumiverse_scaleway/get_instance_server.py +12 -1
- pulumiverse_scaleway/get_lb_frontend.py +12 -1
- pulumiverse_scaleway/get_lb_route.py +12 -1
- pulumiverse_scaleway/get_secret.py +15 -4
- pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/hosting/hosting.py +2 -2
- pulumiverse_scaleway/instance/get_server.py +12 -1
- pulumiverse_scaleway/instance/outputs.py +0 -11
- pulumiverse_scaleway/instance/server.py +54 -7
- pulumiverse_scaleway/instance_server.py +54 -7
- pulumiverse_scaleway/job/_inputs.py +113 -0
- pulumiverse_scaleway/job/definition.py +107 -0
- pulumiverse_scaleway/job/outputs.py +88 -0
- pulumiverse_scaleway/job_definition.py +107 -0
- pulumiverse_scaleway/loadbalancer_backend.py +2 -2
- pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
- pulumiverse_scaleway/loadbalancer_route.py +48 -1
- pulumiverse_scaleway/loadbalancers/backend.py +2 -2
- pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
- pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
- pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
- pulumiverse_scaleway/loadbalancers/route.py +48 -1
- pulumiverse_scaleway/network/__init__.py +1 -0
- pulumiverse_scaleway/network/_inputs.py +194 -0
- pulumiverse_scaleway/network/acl.py +415 -0
- pulumiverse_scaleway/network/gateway_network.py +104 -122
- pulumiverse_scaleway/network/get_public_gateway.py +34 -1
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/network/outputs.py +139 -0
- pulumiverse_scaleway/network/public_gateway.py +124 -21
- pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/observability/cockpit.py +7 -0
- pulumiverse_scaleway/observability/get_plan.py +1 -0
- pulumiverse_scaleway/outputs.py +750 -13
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/secret.py +22 -2
- pulumiverse_scaleway/secret_version.py +6 -6
- pulumiverse_scaleway/secrets/_inputs.py +154 -0
- pulumiverse_scaleway/secrets/get_secret.py +15 -4
- pulumiverse_scaleway/secrets/outputs.py +200 -0
- pulumiverse_scaleway/secrets/secret.py +22 -2
- pulumiverse_scaleway/tem/__init__.py +2 -0
- pulumiverse_scaleway/tem/blocked_list.py +442 -0
- pulumiverse_scaleway/tem/domain.py +7 -0
- pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
- pulumiverse_scaleway/tem_domain.py +7 -0
- pulumiverse_scaleway/vpc_gateway_network.py +104 -122
- pulumiverse_scaleway/vpc_public_gateway.py +124 -21
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/webhosting.py +2 -2
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/RECORD +85 -71
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,444 @@
|
|
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
|
+
|
17
|
+
__all__ = ['EdgeServicesWafStageArgs', 'EdgeServicesWafStage']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class EdgeServicesWafStageArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
paranoia_level: pulumi.Input[int],
|
23
|
+
pipeline_id: pulumi.Input[str],
|
24
|
+
backend_stage_id: Optional[pulumi.Input[str]] = None,
|
25
|
+
mode: Optional[pulumi.Input[str]] = None,
|
26
|
+
project_id: Optional[pulumi.Input[str]] = None):
|
27
|
+
"""
|
28
|
+
The set of arguments for constructing a EdgeServicesWafStage resource.
|
29
|
+
:param pulumi.Input[int] paranoia_level: The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
30
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
31
|
+
:param pulumi.Input[str] backend_stage_id: The ID of the backend stage to forward requests to after the WAF stage.
|
32
|
+
:param pulumi.Input[str] mode: The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
33
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the WAF stage is associated with.
|
34
|
+
"""
|
35
|
+
pulumi.set(__self__, "paranoia_level", paranoia_level)
|
36
|
+
pulumi.set(__self__, "pipeline_id", pipeline_id)
|
37
|
+
if backend_stage_id is not None:
|
38
|
+
pulumi.set(__self__, "backend_stage_id", backend_stage_id)
|
39
|
+
if mode is not None:
|
40
|
+
pulumi.set(__self__, "mode", mode)
|
41
|
+
if project_id is not None:
|
42
|
+
pulumi.set(__self__, "project_id", project_id)
|
43
|
+
|
44
|
+
@property
|
45
|
+
@pulumi.getter(name="paranoiaLevel")
|
46
|
+
def paranoia_level(self) -> pulumi.Input[int]:
|
47
|
+
"""
|
48
|
+
The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
49
|
+
"""
|
50
|
+
return pulumi.get(self, "paranoia_level")
|
51
|
+
|
52
|
+
@paranoia_level.setter
|
53
|
+
def paranoia_level(self, value: pulumi.Input[int]):
|
54
|
+
pulumi.set(self, "paranoia_level", value)
|
55
|
+
|
56
|
+
@property
|
57
|
+
@pulumi.getter(name="pipelineId")
|
58
|
+
def pipeline_id(self) -> pulumi.Input[str]:
|
59
|
+
"""
|
60
|
+
The ID of the pipeline.
|
61
|
+
"""
|
62
|
+
return pulumi.get(self, "pipeline_id")
|
63
|
+
|
64
|
+
@pipeline_id.setter
|
65
|
+
def pipeline_id(self, value: pulumi.Input[str]):
|
66
|
+
pulumi.set(self, "pipeline_id", value)
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter(name="backendStageId")
|
70
|
+
def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
|
71
|
+
"""
|
72
|
+
The ID of the backend stage to forward requests to after the WAF stage.
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "backend_stage_id")
|
75
|
+
|
76
|
+
@backend_stage_id.setter
|
77
|
+
def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
|
78
|
+
pulumi.set(self, "backend_stage_id", value)
|
79
|
+
|
80
|
+
@property
|
81
|
+
@pulumi.getter
|
82
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
83
|
+
"""
|
84
|
+
The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
85
|
+
"""
|
86
|
+
return pulumi.get(self, "mode")
|
87
|
+
|
88
|
+
@mode.setter
|
89
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
90
|
+
pulumi.set(self, "mode", value)
|
91
|
+
|
92
|
+
@property
|
93
|
+
@pulumi.getter(name="projectId")
|
94
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
95
|
+
"""
|
96
|
+
`project_id`) The ID of the project the WAF stage is associated with.
|
97
|
+
"""
|
98
|
+
return pulumi.get(self, "project_id")
|
99
|
+
|
100
|
+
@project_id.setter
|
101
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
102
|
+
pulumi.set(self, "project_id", value)
|
103
|
+
|
104
|
+
|
105
|
+
@pulumi.input_type
|
106
|
+
class _EdgeServicesWafStageState:
|
107
|
+
def __init__(__self__, *,
|
108
|
+
backend_stage_id: Optional[pulumi.Input[str]] = None,
|
109
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
110
|
+
mode: Optional[pulumi.Input[str]] = None,
|
111
|
+
paranoia_level: Optional[pulumi.Input[int]] = None,
|
112
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
113
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
114
|
+
updated_at: Optional[pulumi.Input[str]] = None):
|
115
|
+
"""
|
116
|
+
Input properties used for looking up and filtering EdgeServicesWafStage resources.
|
117
|
+
:param pulumi.Input[str] backend_stage_id: The ID of the backend stage to forward requests to after the WAF stage.
|
118
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the WAF stage.
|
119
|
+
:param pulumi.Input[str] mode: The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
120
|
+
:param pulumi.Input[int] paranoia_level: The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
121
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
122
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the WAF stage is associated with.
|
123
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the WAF stage.
|
124
|
+
"""
|
125
|
+
if backend_stage_id is not None:
|
126
|
+
pulumi.set(__self__, "backend_stage_id", backend_stage_id)
|
127
|
+
if created_at is not None:
|
128
|
+
pulumi.set(__self__, "created_at", created_at)
|
129
|
+
if mode is not None:
|
130
|
+
pulumi.set(__self__, "mode", mode)
|
131
|
+
if paranoia_level is not None:
|
132
|
+
pulumi.set(__self__, "paranoia_level", paranoia_level)
|
133
|
+
if pipeline_id is not None:
|
134
|
+
pulumi.set(__self__, "pipeline_id", pipeline_id)
|
135
|
+
if project_id is not None:
|
136
|
+
pulumi.set(__self__, "project_id", project_id)
|
137
|
+
if updated_at is not None:
|
138
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
139
|
+
|
140
|
+
@property
|
141
|
+
@pulumi.getter(name="backendStageId")
|
142
|
+
def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
|
143
|
+
"""
|
144
|
+
The ID of the backend stage to forward requests to after the WAF stage.
|
145
|
+
"""
|
146
|
+
return pulumi.get(self, "backend_stage_id")
|
147
|
+
|
148
|
+
@backend_stage_id.setter
|
149
|
+
def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
|
150
|
+
pulumi.set(self, "backend_stage_id", value)
|
151
|
+
|
152
|
+
@property
|
153
|
+
@pulumi.getter(name="createdAt")
|
154
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
155
|
+
"""
|
156
|
+
The date and time of the creation of the WAF stage.
|
157
|
+
"""
|
158
|
+
return pulumi.get(self, "created_at")
|
159
|
+
|
160
|
+
@created_at.setter
|
161
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
162
|
+
pulumi.set(self, "created_at", value)
|
163
|
+
|
164
|
+
@property
|
165
|
+
@pulumi.getter
|
166
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
167
|
+
"""
|
168
|
+
The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
169
|
+
"""
|
170
|
+
return pulumi.get(self, "mode")
|
171
|
+
|
172
|
+
@mode.setter
|
173
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
174
|
+
pulumi.set(self, "mode", value)
|
175
|
+
|
176
|
+
@property
|
177
|
+
@pulumi.getter(name="paranoiaLevel")
|
178
|
+
def paranoia_level(self) -> Optional[pulumi.Input[int]]:
|
179
|
+
"""
|
180
|
+
The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
181
|
+
"""
|
182
|
+
return pulumi.get(self, "paranoia_level")
|
183
|
+
|
184
|
+
@paranoia_level.setter
|
185
|
+
def paranoia_level(self, value: Optional[pulumi.Input[int]]):
|
186
|
+
pulumi.set(self, "paranoia_level", value)
|
187
|
+
|
188
|
+
@property
|
189
|
+
@pulumi.getter(name="pipelineId")
|
190
|
+
def pipeline_id(self) -> Optional[pulumi.Input[str]]:
|
191
|
+
"""
|
192
|
+
The ID of the pipeline.
|
193
|
+
"""
|
194
|
+
return pulumi.get(self, "pipeline_id")
|
195
|
+
|
196
|
+
@pipeline_id.setter
|
197
|
+
def pipeline_id(self, value: Optional[pulumi.Input[str]]):
|
198
|
+
pulumi.set(self, "pipeline_id", value)
|
199
|
+
|
200
|
+
@property
|
201
|
+
@pulumi.getter(name="projectId")
|
202
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
203
|
+
"""
|
204
|
+
`project_id`) The ID of the project the WAF stage is associated with.
|
205
|
+
"""
|
206
|
+
return pulumi.get(self, "project_id")
|
207
|
+
|
208
|
+
@project_id.setter
|
209
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
210
|
+
pulumi.set(self, "project_id", value)
|
211
|
+
|
212
|
+
@property
|
213
|
+
@pulumi.getter(name="updatedAt")
|
214
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
215
|
+
"""
|
216
|
+
The date and time of the last update of the WAF stage.
|
217
|
+
"""
|
218
|
+
return pulumi.get(self, "updated_at")
|
219
|
+
|
220
|
+
@updated_at.setter
|
221
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
222
|
+
pulumi.set(self, "updated_at", value)
|
223
|
+
|
224
|
+
|
225
|
+
class EdgeServicesWafStage(pulumi.CustomResource):
|
226
|
+
@overload
|
227
|
+
def __init__(__self__,
|
228
|
+
resource_name: str,
|
229
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
230
|
+
backend_stage_id: Optional[pulumi.Input[str]] = None,
|
231
|
+
mode: Optional[pulumi.Input[str]] = None,
|
232
|
+
paranoia_level: Optional[pulumi.Input[int]] = None,
|
233
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
234
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
235
|
+
__props__=None):
|
236
|
+
"""
|
237
|
+
Creates and manages Scaleway Edge Services WAF Stages.
|
238
|
+
|
239
|
+
## Example Usage
|
240
|
+
|
241
|
+
### Basic
|
242
|
+
|
243
|
+
```python
|
244
|
+
import pulumi
|
245
|
+
import pulumiverse_scaleway as scaleway
|
246
|
+
|
247
|
+
main = scaleway.EdgeServicesWafStage("main",
|
248
|
+
pipeline_id=main_scaleway_edge_services_pipeline["id"],
|
249
|
+
mode="enable",
|
250
|
+
paranoia_level=3)
|
251
|
+
```
|
252
|
+
|
253
|
+
## Import
|
254
|
+
|
255
|
+
WAF stages can be imported using the `{id}`, e.g.
|
256
|
+
|
257
|
+
bash
|
258
|
+
|
259
|
+
```sh
|
260
|
+
$ pulumi import scaleway:index/edgeServicesWafStage:EdgeServicesWafStage basic 11111111-1111-1111-1111-111111111111
|
261
|
+
```
|
262
|
+
|
263
|
+
:param str resource_name: The name of the resource.
|
264
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
265
|
+
:param pulumi.Input[str] backend_stage_id: The ID of the backend stage to forward requests to after the WAF stage.
|
266
|
+
:param pulumi.Input[str] mode: The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
267
|
+
:param pulumi.Input[int] paranoia_level: The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
268
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
269
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the WAF stage is associated with.
|
270
|
+
"""
|
271
|
+
...
|
272
|
+
@overload
|
273
|
+
def __init__(__self__,
|
274
|
+
resource_name: str,
|
275
|
+
args: EdgeServicesWafStageArgs,
|
276
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
277
|
+
"""
|
278
|
+
Creates and manages Scaleway Edge Services WAF Stages.
|
279
|
+
|
280
|
+
## Example Usage
|
281
|
+
|
282
|
+
### Basic
|
283
|
+
|
284
|
+
```python
|
285
|
+
import pulumi
|
286
|
+
import pulumiverse_scaleway as scaleway
|
287
|
+
|
288
|
+
main = scaleway.EdgeServicesWafStage("main",
|
289
|
+
pipeline_id=main_scaleway_edge_services_pipeline["id"],
|
290
|
+
mode="enable",
|
291
|
+
paranoia_level=3)
|
292
|
+
```
|
293
|
+
|
294
|
+
## Import
|
295
|
+
|
296
|
+
WAF stages can be imported using the `{id}`, e.g.
|
297
|
+
|
298
|
+
bash
|
299
|
+
|
300
|
+
```sh
|
301
|
+
$ pulumi import scaleway:index/edgeServicesWafStage:EdgeServicesWafStage basic 11111111-1111-1111-1111-111111111111
|
302
|
+
```
|
303
|
+
|
304
|
+
:param str resource_name: The name of the resource.
|
305
|
+
:param EdgeServicesWafStageArgs args: The arguments to use to populate this resource's properties.
|
306
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
307
|
+
"""
|
308
|
+
...
|
309
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
310
|
+
resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesWafStageArgs, pulumi.ResourceOptions, *args, **kwargs)
|
311
|
+
if resource_args is not None:
|
312
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
313
|
+
else:
|
314
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
315
|
+
|
316
|
+
def _internal_init(__self__,
|
317
|
+
resource_name: str,
|
318
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
319
|
+
backend_stage_id: Optional[pulumi.Input[str]] = None,
|
320
|
+
mode: Optional[pulumi.Input[str]] = None,
|
321
|
+
paranoia_level: Optional[pulumi.Input[int]] = None,
|
322
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
323
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
324
|
+
__props__=None):
|
325
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
326
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
327
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
328
|
+
if opts.id is None:
|
329
|
+
if __props__ is not None:
|
330
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
331
|
+
__props__ = EdgeServicesWafStageArgs.__new__(EdgeServicesWafStageArgs)
|
332
|
+
|
333
|
+
__props__.__dict__["backend_stage_id"] = backend_stage_id
|
334
|
+
__props__.__dict__["mode"] = mode
|
335
|
+
if paranoia_level is None and not opts.urn:
|
336
|
+
raise TypeError("Missing required property 'paranoia_level'")
|
337
|
+
__props__.__dict__["paranoia_level"] = paranoia_level
|
338
|
+
if pipeline_id is None and not opts.urn:
|
339
|
+
raise TypeError("Missing required property 'pipeline_id'")
|
340
|
+
__props__.__dict__["pipeline_id"] = pipeline_id
|
341
|
+
__props__.__dict__["project_id"] = project_id
|
342
|
+
__props__.__dict__["created_at"] = None
|
343
|
+
__props__.__dict__["updated_at"] = None
|
344
|
+
super(EdgeServicesWafStage, __self__).__init__(
|
345
|
+
'scaleway:index/edgeServicesWafStage:EdgeServicesWafStage',
|
346
|
+
resource_name,
|
347
|
+
__props__,
|
348
|
+
opts)
|
349
|
+
|
350
|
+
@staticmethod
|
351
|
+
def get(resource_name: str,
|
352
|
+
id: pulumi.Input[str],
|
353
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
354
|
+
backend_stage_id: Optional[pulumi.Input[str]] = None,
|
355
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
356
|
+
mode: Optional[pulumi.Input[str]] = None,
|
357
|
+
paranoia_level: Optional[pulumi.Input[int]] = None,
|
358
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
359
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
360
|
+
updated_at: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesWafStage':
|
361
|
+
"""
|
362
|
+
Get an existing EdgeServicesWafStage resource's state with the given name, id, and optional extra
|
363
|
+
properties used to qualify the lookup.
|
364
|
+
|
365
|
+
:param str resource_name: The unique name of the resulting resource.
|
366
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
367
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
368
|
+
:param pulumi.Input[str] backend_stage_id: The ID of the backend stage to forward requests to after the WAF stage.
|
369
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the WAF stage.
|
370
|
+
:param pulumi.Input[str] mode: The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
371
|
+
:param pulumi.Input[int] paranoia_level: The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
372
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
373
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the WAF stage is associated with.
|
374
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the WAF stage.
|
375
|
+
"""
|
376
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
377
|
+
|
378
|
+
__props__ = _EdgeServicesWafStageState.__new__(_EdgeServicesWafStageState)
|
379
|
+
|
380
|
+
__props__.__dict__["backend_stage_id"] = backend_stage_id
|
381
|
+
__props__.__dict__["created_at"] = created_at
|
382
|
+
__props__.__dict__["mode"] = mode
|
383
|
+
__props__.__dict__["paranoia_level"] = paranoia_level
|
384
|
+
__props__.__dict__["pipeline_id"] = pipeline_id
|
385
|
+
__props__.__dict__["project_id"] = project_id
|
386
|
+
__props__.__dict__["updated_at"] = updated_at
|
387
|
+
return EdgeServicesWafStage(resource_name, opts=opts, __props__=__props__)
|
388
|
+
|
389
|
+
@property
|
390
|
+
@pulumi.getter(name="backendStageId")
|
391
|
+
def backend_stage_id(self) -> pulumi.Output[str]:
|
392
|
+
"""
|
393
|
+
The ID of the backend stage to forward requests to after the WAF stage.
|
394
|
+
"""
|
395
|
+
return pulumi.get(self, "backend_stage_id")
|
396
|
+
|
397
|
+
@property
|
398
|
+
@pulumi.getter(name="createdAt")
|
399
|
+
def created_at(self) -> pulumi.Output[str]:
|
400
|
+
"""
|
401
|
+
The date and time of the creation of the WAF stage.
|
402
|
+
"""
|
403
|
+
return pulumi.get(self, "created_at")
|
404
|
+
|
405
|
+
@property
|
406
|
+
@pulumi.getter
|
407
|
+
def mode(self) -> pulumi.Output[str]:
|
408
|
+
"""
|
409
|
+
The mode defining WAF behavior (`disable`/`log_only`/`enable`).
|
410
|
+
"""
|
411
|
+
return pulumi.get(self, "mode")
|
412
|
+
|
413
|
+
@property
|
414
|
+
@pulumi.getter(name="paranoiaLevel")
|
415
|
+
def paranoia_level(self) -> pulumi.Output[int]:
|
416
|
+
"""
|
417
|
+
The sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.
|
418
|
+
"""
|
419
|
+
return pulumi.get(self, "paranoia_level")
|
420
|
+
|
421
|
+
@property
|
422
|
+
@pulumi.getter(name="pipelineId")
|
423
|
+
def pipeline_id(self) -> pulumi.Output[str]:
|
424
|
+
"""
|
425
|
+
The ID of the pipeline.
|
426
|
+
"""
|
427
|
+
return pulumi.get(self, "pipeline_id")
|
428
|
+
|
429
|
+
@property
|
430
|
+
@pulumi.getter(name="projectId")
|
431
|
+
def project_id(self) -> pulumi.Output[str]:
|
432
|
+
"""
|
433
|
+
`project_id`) The ID of the project the WAF stage is associated with.
|
434
|
+
"""
|
435
|
+
return pulumi.get(self, "project_id")
|
436
|
+
|
437
|
+
@property
|
438
|
+
@pulumi.getter(name="updatedAt")
|
439
|
+
def updated_at(self) -> pulumi.Output[str]:
|
440
|
+
"""
|
441
|
+
The date and time of the last update of the WAF stage.
|
442
|
+
"""
|
443
|
+
return pulumi.get(self, "updated_at")
|
444
|
+
|
@@ -0,0 +1,177 @@
|
|
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
|
+
|
17
|
+
__all__ = [
|
18
|
+
'GetEasyPartitioningResult',
|
19
|
+
'AwaitableGetEasyPartitioningResult',
|
20
|
+
'get_easy_partitioning',
|
21
|
+
'get_easy_partitioning_output',
|
22
|
+
]
|
23
|
+
|
24
|
+
@pulumi.output_type
|
25
|
+
class GetEasyPartitioningResult:
|
26
|
+
"""
|
27
|
+
A collection of values returned by getEasyPartitioning.
|
28
|
+
"""
|
29
|
+
def __init__(__self__, ext4_mountpoint=None, extra_partition=None, id=None, json_partition=None, offer_id=None, os_id=None, swap=None):
|
30
|
+
if ext4_mountpoint and not isinstance(ext4_mountpoint, str):
|
31
|
+
raise TypeError("Expected argument 'ext4_mountpoint' to be a str")
|
32
|
+
pulumi.set(__self__, "ext4_mountpoint", ext4_mountpoint)
|
33
|
+
if extra_partition and not isinstance(extra_partition, bool):
|
34
|
+
raise TypeError("Expected argument 'extra_partition' to be a bool")
|
35
|
+
pulumi.set(__self__, "extra_partition", extra_partition)
|
36
|
+
if id and not isinstance(id, str):
|
37
|
+
raise TypeError("Expected argument 'id' to be a str")
|
38
|
+
pulumi.set(__self__, "id", id)
|
39
|
+
if json_partition and not isinstance(json_partition, str):
|
40
|
+
raise TypeError("Expected argument 'json_partition' to be a str")
|
41
|
+
pulumi.set(__self__, "json_partition", json_partition)
|
42
|
+
if offer_id and not isinstance(offer_id, str):
|
43
|
+
raise TypeError("Expected argument 'offer_id' to be a str")
|
44
|
+
pulumi.set(__self__, "offer_id", offer_id)
|
45
|
+
if os_id and not isinstance(os_id, str):
|
46
|
+
raise TypeError("Expected argument 'os_id' to be a str")
|
47
|
+
pulumi.set(__self__, "os_id", os_id)
|
48
|
+
if swap and not isinstance(swap, bool):
|
49
|
+
raise TypeError("Expected argument 'swap' to be a bool")
|
50
|
+
pulumi.set(__self__, "swap", swap)
|
51
|
+
|
52
|
+
@property
|
53
|
+
@pulumi.getter(name="ext4Mountpoint")
|
54
|
+
def ext4_mountpoint(self) -> Optional[str]:
|
55
|
+
return pulumi.get(self, "ext4_mountpoint")
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter(name="extraPartition")
|
59
|
+
def extra_partition(self) -> Optional[bool]:
|
60
|
+
return pulumi.get(self, "extra_partition")
|
61
|
+
|
62
|
+
@property
|
63
|
+
@pulumi.getter
|
64
|
+
def id(self) -> str:
|
65
|
+
"""
|
66
|
+
The provider-assigned unique ID for this managed resource.
|
67
|
+
"""
|
68
|
+
return pulumi.get(self, "id")
|
69
|
+
|
70
|
+
@property
|
71
|
+
@pulumi.getter(name="jsonPartition")
|
72
|
+
def json_partition(self) -> str:
|
73
|
+
"""
|
74
|
+
— A validated partitioning schema in JSON format that can be directly used for BareMetal server deployment.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "json_partition")
|
77
|
+
|
78
|
+
@property
|
79
|
+
@pulumi.getter(name="offerId")
|
80
|
+
def offer_id(self) -> str:
|
81
|
+
return pulumi.get(self, "offer_id")
|
82
|
+
|
83
|
+
@property
|
84
|
+
@pulumi.getter(name="osId")
|
85
|
+
def os_id(self) -> str:
|
86
|
+
return pulumi.get(self, "os_id")
|
87
|
+
|
88
|
+
@property
|
89
|
+
@pulumi.getter
|
90
|
+
def swap(self) -> Optional[bool]:
|
91
|
+
return pulumi.get(self, "swap")
|
92
|
+
|
93
|
+
|
94
|
+
class AwaitableGetEasyPartitioningResult(GetEasyPartitioningResult):
|
95
|
+
# pylint: disable=using-constant-test
|
96
|
+
def __await__(self):
|
97
|
+
if False:
|
98
|
+
yield self
|
99
|
+
return GetEasyPartitioningResult(
|
100
|
+
ext4_mountpoint=self.ext4_mountpoint,
|
101
|
+
extra_partition=self.extra_partition,
|
102
|
+
id=self.id,
|
103
|
+
json_partition=self.json_partition,
|
104
|
+
offer_id=self.offer_id,
|
105
|
+
os_id=self.os_id,
|
106
|
+
swap=self.swap)
|
107
|
+
|
108
|
+
|
109
|
+
def get_easy_partitioning(ext4_mountpoint: Optional[str] = None,
|
110
|
+
extra_partition: Optional[bool] = None,
|
111
|
+
offer_id: Optional[str] = None,
|
112
|
+
os_id: Optional[str] = None,
|
113
|
+
swap: Optional[bool] = None,
|
114
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEasyPartitioningResult:
|
115
|
+
"""
|
116
|
+
The scaleway_easy_partitioning data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
|
117
|
+
|
118
|
+
This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
|
119
|
+
|
120
|
+
|
121
|
+
:param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
|
122
|
+
:param bool extra_partition: Whether to add an extra ext4 data partition.
|
123
|
+
:param str offer_id: The UUID of the BareMetal offer.
|
124
|
+
:param str os_id: The UUID of the OS image.
|
125
|
+
:param bool swap: Whether to include a swap partition.
|
126
|
+
"""
|
127
|
+
__args__ = dict()
|
128
|
+
__args__['ext4Mountpoint'] = ext4_mountpoint
|
129
|
+
__args__['extraPartition'] = extra_partition
|
130
|
+
__args__['offerId'] = offer_id
|
131
|
+
__args__['osId'] = os_id
|
132
|
+
__args__['swap'] = swap
|
133
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
134
|
+
__ret__ = pulumi.runtime.invoke('scaleway:elasticmetal/getEasyPartitioning:getEasyPartitioning', __args__, opts=opts, typ=GetEasyPartitioningResult).value
|
135
|
+
|
136
|
+
return AwaitableGetEasyPartitioningResult(
|
137
|
+
ext4_mountpoint=pulumi.get(__ret__, 'ext4_mountpoint'),
|
138
|
+
extra_partition=pulumi.get(__ret__, 'extra_partition'),
|
139
|
+
id=pulumi.get(__ret__, 'id'),
|
140
|
+
json_partition=pulumi.get(__ret__, 'json_partition'),
|
141
|
+
offer_id=pulumi.get(__ret__, 'offer_id'),
|
142
|
+
os_id=pulumi.get(__ret__, 'os_id'),
|
143
|
+
swap=pulumi.get(__ret__, 'swap'))
|
144
|
+
def get_easy_partitioning_output(ext4_mountpoint: Optional[pulumi.Input[Optional[str]]] = None,
|
145
|
+
extra_partition: Optional[pulumi.Input[Optional[bool]]] = None,
|
146
|
+
offer_id: Optional[pulumi.Input[str]] = None,
|
147
|
+
os_id: Optional[pulumi.Input[str]] = None,
|
148
|
+
swap: Optional[pulumi.Input[Optional[bool]]] = None,
|
149
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEasyPartitioningResult]:
|
150
|
+
"""
|
151
|
+
The scaleway_easy_partitioning data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
|
152
|
+
|
153
|
+
This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
|
154
|
+
|
155
|
+
|
156
|
+
:param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
|
157
|
+
:param bool extra_partition: Whether to add an extra ext4 data partition.
|
158
|
+
:param str offer_id: The UUID of the BareMetal offer.
|
159
|
+
:param str os_id: The UUID of the OS image.
|
160
|
+
:param bool swap: Whether to include a swap partition.
|
161
|
+
"""
|
162
|
+
__args__ = dict()
|
163
|
+
__args__['ext4Mountpoint'] = ext4_mountpoint
|
164
|
+
__args__['extraPartition'] = extra_partition
|
165
|
+
__args__['offerId'] = offer_id
|
166
|
+
__args__['osId'] = os_id
|
167
|
+
__args__['swap'] = swap
|
168
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
169
|
+
__ret__ = pulumi.runtime.invoke_output('scaleway:elasticmetal/getEasyPartitioning:getEasyPartitioning', __args__, opts=opts, typ=GetEasyPartitioningResult)
|
170
|
+
return __ret__.apply(lambda __response__: GetEasyPartitioningResult(
|
171
|
+
ext4_mountpoint=pulumi.get(__response__, 'ext4_mountpoint'),
|
172
|
+
extra_partition=pulumi.get(__response__, 'extra_partition'),
|
173
|
+
id=pulumi.get(__response__, 'id'),
|
174
|
+
json_partition=pulumi.get(__response__, 'json_partition'),
|
175
|
+
offer_id=pulumi.get(__response__, 'offer_id'),
|
176
|
+
os_id=pulumi.get(__response__, 'os_id'),
|
177
|
+
swap=pulumi.get(__response__, 'swap')))
|