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.
Files changed (85) hide show
  1. pulumiverse_scaleway/__init__.py +105 -0
  2. pulumiverse_scaleway/_inputs.py +776 -0
  3. pulumiverse_scaleway/apple_silicon_server.py +105 -0
  4. pulumiverse_scaleway/applesilicon/server.py +105 -0
  5. pulumiverse_scaleway/baremetal_server.py +82 -0
  6. pulumiverse_scaleway/cockpit.py +7 -0
  7. pulumiverse_scaleway/domain/__init__.py +1 -0
  8. pulumiverse_scaleway/domain/_inputs.py +2697 -0
  9. pulumiverse_scaleway/domain/outputs.py +2145 -0
  10. pulumiverse_scaleway/domain/registration.py +777 -0
  11. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  12. pulumiverse_scaleway/edge_services_cache_stage.py +584 -0
  13. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  14. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  15. pulumiverse_scaleway/edge_services_pipeline.py +478 -0
  16. pulumiverse_scaleway/edge_services_plan.py +239 -0
  17. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  18. pulumiverse_scaleway/edge_services_tls_stage.py +640 -0
  19. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  20. pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
  21. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
  22. pulumiverse_scaleway/elasticmetal/ip.py +13 -7
  23. pulumiverse_scaleway/elasticmetal/server.py +82 -0
  24. pulumiverse_scaleway/flexible_ip.py +13 -7
  25. pulumiverse_scaleway/get_cockpit_plan.py +1 -0
  26. pulumiverse_scaleway/get_instance_server.py +12 -1
  27. pulumiverse_scaleway/get_lb_frontend.py +12 -1
  28. pulumiverse_scaleway/get_lb_route.py +12 -1
  29. pulumiverse_scaleway/get_secret.py +15 -4
  30. pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
  31. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
  32. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
  33. pulumiverse_scaleway/hosting/hosting.py +2 -2
  34. pulumiverse_scaleway/instance/get_server.py +12 -1
  35. pulumiverse_scaleway/instance/outputs.py +0 -11
  36. pulumiverse_scaleway/instance/server.py +54 -7
  37. pulumiverse_scaleway/instance_server.py +54 -7
  38. pulumiverse_scaleway/job/_inputs.py +113 -0
  39. pulumiverse_scaleway/job/definition.py +107 -0
  40. pulumiverse_scaleway/job/outputs.py +88 -0
  41. pulumiverse_scaleway/job_definition.py +107 -0
  42. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  43. pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
  44. pulumiverse_scaleway/loadbalancer_route.py +48 -1
  45. pulumiverse_scaleway/loadbalancers/backend.py +2 -2
  46. pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
  47. pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
  48. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  49. pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
  50. pulumiverse_scaleway/loadbalancers/route.py +48 -1
  51. pulumiverse_scaleway/network/__init__.py +1 -0
  52. pulumiverse_scaleway/network/_inputs.py +194 -0
  53. pulumiverse_scaleway/network/acl.py +415 -0
  54. pulumiverse_scaleway/network/gateway_network.py +104 -122
  55. pulumiverse_scaleway/network/get_public_gateway.py +34 -1
  56. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
  57. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
  58. pulumiverse_scaleway/network/outputs.py +139 -0
  59. pulumiverse_scaleway/network/public_gateway.py +124 -21
  60. pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
  61. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
  62. pulumiverse_scaleway/observability/cockpit.py +7 -0
  63. pulumiverse_scaleway/observability/get_plan.py +1 -0
  64. pulumiverse_scaleway/outputs.py +750 -13
  65. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  66. pulumiverse_scaleway/secret.py +22 -2
  67. pulumiverse_scaleway/secret_version.py +6 -6
  68. pulumiverse_scaleway/secrets/_inputs.py +154 -0
  69. pulumiverse_scaleway/secrets/get_secret.py +15 -4
  70. pulumiverse_scaleway/secrets/outputs.py +200 -0
  71. pulumiverse_scaleway/secrets/secret.py +22 -2
  72. pulumiverse_scaleway/tem/__init__.py +2 -0
  73. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  74. pulumiverse_scaleway/tem/domain.py +7 -0
  75. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  76. pulumiverse_scaleway/tem_domain.py +7 -0
  77. pulumiverse_scaleway/vpc_gateway_network.py +104 -122
  78. pulumiverse_scaleway/vpc_public_gateway.py +124 -21
  79. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
  80. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
  81. pulumiverse_scaleway/webhosting.py +2 -2
  82. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/METADATA +1 -1
  83. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/RECORD +85 -71
  84. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/WHEEL +1 -1
  85. {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
+
@@ -5,6 +5,7 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .get_easy_partitioning import *
8
9
  from .get_ip import *
9
10
  from .get_ips import *
10
11
  from .get_offer import *
@@ -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')))