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,584 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['EdgeServicesCacheStageArgs', 'EdgeServicesCacheStage']
20
+
21
+ @pulumi.input_type
22
+ class EdgeServicesCacheStageArgs:
23
+ def __init__(__self__, *,
24
+ pipeline_id: pulumi.Input[str],
25
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
26
+ fallback_ttl: Optional[pulumi.Input[int]] = None,
27
+ project_id: Optional[pulumi.Input[str]] = None,
28
+ purge_requests: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]] = None,
29
+ refresh_cache: Optional[pulumi.Input[str]] = None,
30
+ route_stage_id: Optional[pulumi.Input[str]] = None,
31
+ waf_stage_id: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a EdgeServicesCacheStage resource.
34
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
35
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
36
+ :param pulumi.Input[int] fallback_ttl: The Time To Live (TTL) in seconds. Defines how long content is cached.
37
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cache stage is associated with.
38
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]] purge_requests: The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
39
+ :param pulumi.Input[str] refresh_cache: Trigger a refresh of the cache by changing this field's value.
40
+ :param pulumi.Input[str] route_stage_id: The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
41
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
42
+ """
43
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
44
+ if backend_stage_id is not None:
45
+ pulumi.set(__self__, "backend_stage_id", backend_stage_id)
46
+ if fallback_ttl is not None:
47
+ pulumi.set(__self__, "fallback_ttl", fallback_ttl)
48
+ if project_id is not None:
49
+ pulumi.set(__self__, "project_id", project_id)
50
+ if purge_requests is not None:
51
+ pulumi.set(__self__, "purge_requests", purge_requests)
52
+ if refresh_cache is not None:
53
+ pulumi.set(__self__, "refresh_cache", refresh_cache)
54
+ if route_stage_id is not None:
55
+ pulumi.set(__self__, "route_stage_id", route_stage_id)
56
+ if waf_stage_id is not None:
57
+ pulumi.set(__self__, "waf_stage_id", waf_stage_id)
58
+
59
+ @property
60
+ @pulumi.getter(name="pipelineId")
61
+ def pipeline_id(self) -> pulumi.Input[str]:
62
+ """
63
+ The ID of the pipeline.
64
+ """
65
+ return pulumi.get(self, "pipeline_id")
66
+
67
+ @pipeline_id.setter
68
+ def pipeline_id(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "pipeline_id", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="backendStageId")
73
+ def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
74
+ """
75
+ The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
76
+ """
77
+ return pulumi.get(self, "backend_stage_id")
78
+
79
+ @backend_stage_id.setter
80
+ def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
81
+ pulumi.set(self, "backend_stage_id", value)
82
+
83
+ @property
84
+ @pulumi.getter(name="fallbackTtl")
85
+ def fallback_ttl(self) -> Optional[pulumi.Input[int]]:
86
+ """
87
+ The Time To Live (TTL) in seconds. Defines how long content is cached.
88
+ """
89
+ return pulumi.get(self, "fallback_ttl")
90
+
91
+ @fallback_ttl.setter
92
+ def fallback_ttl(self, value: Optional[pulumi.Input[int]]):
93
+ pulumi.set(self, "fallback_ttl", value)
94
+
95
+ @property
96
+ @pulumi.getter(name="projectId")
97
+ def project_id(self) -> Optional[pulumi.Input[str]]:
98
+ """
99
+ `project_id`) The ID of the project the cache stage is associated with.
100
+ """
101
+ return pulumi.get(self, "project_id")
102
+
103
+ @project_id.setter
104
+ def project_id(self, value: Optional[pulumi.Input[str]]):
105
+ pulumi.set(self, "project_id", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="purgeRequests")
109
+ def purge_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]]:
110
+ """
111
+ The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
112
+ """
113
+ return pulumi.get(self, "purge_requests")
114
+
115
+ @purge_requests.setter
116
+ def purge_requests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]]):
117
+ pulumi.set(self, "purge_requests", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="refreshCache")
121
+ def refresh_cache(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ Trigger a refresh of the cache by changing this field's value.
124
+ """
125
+ return pulumi.get(self, "refresh_cache")
126
+
127
+ @refresh_cache.setter
128
+ def refresh_cache(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "refresh_cache", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="routeStageId")
133
+ def route_stage_id(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
136
+ """
137
+ return pulumi.get(self, "route_stage_id")
138
+
139
+ @route_stage_id.setter
140
+ def route_stage_id(self, value: Optional[pulumi.Input[str]]):
141
+ pulumi.set(self, "route_stage_id", value)
142
+
143
+ @property
144
+ @pulumi.getter(name="wafStageId")
145
+ def waf_stage_id(self) -> Optional[pulumi.Input[str]]:
146
+ """
147
+ The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
148
+ """
149
+ return pulumi.get(self, "waf_stage_id")
150
+
151
+ @waf_stage_id.setter
152
+ def waf_stage_id(self, value: Optional[pulumi.Input[str]]):
153
+ pulumi.set(self, "waf_stage_id", value)
154
+
155
+
156
+ @pulumi.input_type
157
+ class _EdgeServicesCacheStageState:
158
+ def __init__(__self__, *,
159
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
160
+ created_at: Optional[pulumi.Input[str]] = None,
161
+ fallback_ttl: Optional[pulumi.Input[int]] = None,
162
+ pipeline_id: Optional[pulumi.Input[str]] = None,
163
+ project_id: Optional[pulumi.Input[str]] = None,
164
+ purge_requests: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]] = None,
165
+ refresh_cache: Optional[pulumi.Input[str]] = None,
166
+ route_stage_id: Optional[pulumi.Input[str]] = None,
167
+ updated_at: Optional[pulumi.Input[str]] = None,
168
+ waf_stage_id: Optional[pulumi.Input[str]] = None):
169
+ """
170
+ Input properties used for looking up and filtering EdgeServicesCacheStage resources.
171
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
172
+ :param pulumi.Input[str] created_at: The date and time of the creation of the cache stage.
173
+ :param pulumi.Input[int] fallback_ttl: The Time To Live (TTL) in seconds. Defines how long content is cached.
174
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
175
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cache stage is associated with.
176
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]] purge_requests: The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
177
+ :param pulumi.Input[str] refresh_cache: Trigger a refresh of the cache by changing this field's value.
178
+ :param pulumi.Input[str] route_stage_id: The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
179
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the cache stage.
180
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
181
+ """
182
+ if backend_stage_id is not None:
183
+ pulumi.set(__self__, "backend_stage_id", backend_stage_id)
184
+ if created_at is not None:
185
+ pulumi.set(__self__, "created_at", created_at)
186
+ if fallback_ttl is not None:
187
+ pulumi.set(__self__, "fallback_ttl", fallback_ttl)
188
+ if pipeline_id is not None:
189
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
190
+ if project_id is not None:
191
+ pulumi.set(__self__, "project_id", project_id)
192
+ if purge_requests is not None:
193
+ pulumi.set(__self__, "purge_requests", purge_requests)
194
+ if refresh_cache is not None:
195
+ pulumi.set(__self__, "refresh_cache", refresh_cache)
196
+ if route_stage_id is not None:
197
+ pulumi.set(__self__, "route_stage_id", route_stage_id)
198
+ if updated_at is not None:
199
+ pulumi.set(__self__, "updated_at", updated_at)
200
+ if waf_stage_id is not None:
201
+ pulumi.set(__self__, "waf_stage_id", waf_stage_id)
202
+
203
+ @property
204
+ @pulumi.getter(name="backendStageId")
205
+ def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
208
+ """
209
+ return pulumi.get(self, "backend_stage_id")
210
+
211
+ @backend_stage_id.setter
212
+ def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "backend_stage_id", value)
214
+
215
+ @property
216
+ @pulumi.getter(name="createdAt")
217
+ def created_at(self) -> Optional[pulumi.Input[str]]:
218
+ """
219
+ The date and time of the creation of the cache stage.
220
+ """
221
+ return pulumi.get(self, "created_at")
222
+
223
+ @created_at.setter
224
+ def created_at(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "created_at", value)
226
+
227
+ @property
228
+ @pulumi.getter(name="fallbackTtl")
229
+ def fallback_ttl(self) -> Optional[pulumi.Input[int]]:
230
+ """
231
+ The Time To Live (TTL) in seconds. Defines how long content is cached.
232
+ """
233
+ return pulumi.get(self, "fallback_ttl")
234
+
235
+ @fallback_ttl.setter
236
+ def fallback_ttl(self, value: Optional[pulumi.Input[int]]):
237
+ pulumi.set(self, "fallback_ttl", value)
238
+
239
+ @property
240
+ @pulumi.getter(name="pipelineId")
241
+ def pipeline_id(self) -> Optional[pulumi.Input[str]]:
242
+ """
243
+ The ID of the pipeline.
244
+ """
245
+ return pulumi.get(self, "pipeline_id")
246
+
247
+ @pipeline_id.setter
248
+ def pipeline_id(self, value: Optional[pulumi.Input[str]]):
249
+ pulumi.set(self, "pipeline_id", value)
250
+
251
+ @property
252
+ @pulumi.getter(name="projectId")
253
+ def project_id(self) -> Optional[pulumi.Input[str]]:
254
+ """
255
+ `project_id`) The ID of the project the cache stage is associated with.
256
+ """
257
+ return pulumi.get(self, "project_id")
258
+
259
+ @project_id.setter
260
+ def project_id(self, value: Optional[pulumi.Input[str]]):
261
+ pulumi.set(self, "project_id", value)
262
+
263
+ @property
264
+ @pulumi.getter(name="purgeRequests")
265
+ def purge_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]]:
266
+ """
267
+ The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
268
+ """
269
+ return pulumi.get(self, "purge_requests")
270
+
271
+ @purge_requests.setter
272
+ def purge_requests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesCacheStagePurgeRequestArgs']]]]):
273
+ pulumi.set(self, "purge_requests", value)
274
+
275
+ @property
276
+ @pulumi.getter(name="refreshCache")
277
+ def refresh_cache(self) -> Optional[pulumi.Input[str]]:
278
+ """
279
+ Trigger a refresh of the cache by changing this field's value.
280
+ """
281
+ return pulumi.get(self, "refresh_cache")
282
+
283
+ @refresh_cache.setter
284
+ def refresh_cache(self, value: Optional[pulumi.Input[str]]):
285
+ pulumi.set(self, "refresh_cache", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="routeStageId")
289
+ def route_stage_id(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
292
+ """
293
+ return pulumi.get(self, "route_stage_id")
294
+
295
+ @route_stage_id.setter
296
+ def route_stage_id(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "route_stage_id", value)
298
+
299
+ @property
300
+ @pulumi.getter(name="updatedAt")
301
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The date and time of the last update of the cache stage.
304
+ """
305
+ return pulumi.get(self, "updated_at")
306
+
307
+ @updated_at.setter
308
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "updated_at", value)
310
+
311
+ @property
312
+ @pulumi.getter(name="wafStageId")
313
+ def waf_stage_id(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
316
+ """
317
+ return pulumi.get(self, "waf_stage_id")
318
+
319
+ @waf_stage_id.setter
320
+ def waf_stage_id(self, value: Optional[pulumi.Input[str]]):
321
+ pulumi.set(self, "waf_stage_id", value)
322
+
323
+
324
+ class EdgeServicesCacheStage(pulumi.CustomResource):
325
+ @overload
326
+ def __init__(__self__,
327
+ resource_name: str,
328
+ opts: Optional[pulumi.ResourceOptions] = None,
329
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
330
+ fallback_ttl: Optional[pulumi.Input[int]] = None,
331
+ pipeline_id: Optional[pulumi.Input[str]] = None,
332
+ project_id: Optional[pulumi.Input[str]] = None,
333
+ purge_requests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesCacheStagePurgeRequestArgs', 'EdgeServicesCacheStagePurgeRequestArgsDict']]]]] = None,
334
+ refresh_cache: Optional[pulumi.Input[str]] = None,
335
+ route_stage_id: Optional[pulumi.Input[str]] = None,
336
+ waf_stage_id: Optional[pulumi.Input[str]] = None,
337
+ __props__=None):
338
+ """
339
+ Creates and manages Scaleway Edge Services Cache Stages.
340
+
341
+ ## Example Usage
342
+
343
+ ### Basic
344
+
345
+ ```python
346
+ import pulumi
347
+ import pulumiverse_scaleway as scaleway
348
+
349
+ main = scaleway.EdgeServicesCacheStage("main",
350
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
351
+ backend_stage_id=main_scaleway_edge_services_backend_stage["id"])
352
+ ```
353
+
354
+ ## Import
355
+
356
+ Cache stages can be imported using the `{id}`, e.g.
357
+
358
+ bash
359
+
360
+ ```sh
361
+ $ pulumi import scaleway:index/edgeServicesCacheStage:EdgeServicesCacheStage basic 11111111-1111-1111-1111-111111111111
362
+ ```
363
+
364
+ :param str resource_name: The name of the resource.
365
+ :param pulumi.ResourceOptions opts: Options for the resource.
366
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
367
+ :param pulumi.Input[int] fallback_ttl: The Time To Live (TTL) in seconds. Defines how long content is cached.
368
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
369
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cache stage is associated with.
370
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesCacheStagePurgeRequestArgs', 'EdgeServicesCacheStagePurgeRequestArgsDict']]]] purge_requests: The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
371
+ :param pulumi.Input[str] refresh_cache: Trigger a refresh of the cache by changing this field's value.
372
+ :param pulumi.Input[str] route_stage_id: The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
373
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
374
+ """
375
+ ...
376
+ @overload
377
+ def __init__(__self__,
378
+ resource_name: str,
379
+ args: EdgeServicesCacheStageArgs,
380
+ opts: Optional[pulumi.ResourceOptions] = None):
381
+ """
382
+ Creates and manages Scaleway Edge Services Cache Stages.
383
+
384
+ ## Example Usage
385
+
386
+ ### Basic
387
+
388
+ ```python
389
+ import pulumi
390
+ import pulumiverse_scaleway as scaleway
391
+
392
+ main = scaleway.EdgeServicesCacheStage("main",
393
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
394
+ backend_stage_id=main_scaleway_edge_services_backend_stage["id"])
395
+ ```
396
+
397
+ ## Import
398
+
399
+ Cache stages can be imported using the `{id}`, e.g.
400
+
401
+ bash
402
+
403
+ ```sh
404
+ $ pulumi import scaleway:index/edgeServicesCacheStage:EdgeServicesCacheStage basic 11111111-1111-1111-1111-111111111111
405
+ ```
406
+
407
+ :param str resource_name: The name of the resource.
408
+ :param EdgeServicesCacheStageArgs args: The arguments to use to populate this resource's properties.
409
+ :param pulumi.ResourceOptions opts: Options for the resource.
410
+ """
411
+ ...
412
+ def __init__(__self__, resource_name: str, *args, **kwargs):
413
+ resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesCacheStageArgs, pulumi.ResourceOptions, *args, **kwargs)
414
+ if resource_args is not None:
415
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
416
+ else:
417
+ __self__._internal_init(resource_name, *args, **kwargs)
418
+
419
+ def _internal_init(__self__,
420
+ resource_name: str,
421
+ opts: Optional[pulumi.ResourceOptions] = None,
422
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
423
+ fallback_ttl: Optional[pulumi.Input[int]] = None,
424
+ pipeline_id: Optional[pulumi.Input[str]] = None,
425
+ project_id: Optional[pulumi.Input[str]] = None,
426
+ purge_requests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesCacheStagePurgeRequestArgs', 'EdgeServicesCacheStagePurgeRequestArgsDict']]]]] = None,
427
+ refresh_cache: Optional[pulumi.Input[str]] = None,
428
+ route_stage_id: Optional[pulumi.Input[str]] = None,
429
+ waf_stage_id: Optional[pulumi.Input[str]] = None,
430
+ __props__=None):
431
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
432
+ if not isinstance(opts, pulumi.ResourceOptions):
433
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
434
+ if opts.id is None:
435
+ if __props__ is not None:
436
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
437
+ __props__ = EdgeServicesCacheStageArgs.__new__(EdgeServicesCacheStageArgs)
438
+
439
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
440
+ __props__.__dict__["fallback_ttl"] = fallback_ttl
441
+ if pipeline_id is None and not opts.urn:
442
+ raise TypeError("Missing required property 'pipeline_id'")
443
+ __props__.__dict__["pipeline_id"] = pipeline_id
444
+ __props__.__dict__["project_id"] = project_id
445
+ __props__.__dict__["purge_requests"] = purge_requests
446
+ __props__.__dict__["refresh_cache"] = refresh_cache
447
+ __props__.__dict__["route_stage_id"] = route_stage_id
448
+ __props__.__dict__["waf_stage_id"] = waf_stage_id
449
+ __props__.__dict__["created_at"] = None
450
+ __props__.__dict__["updated_at"] = None
451
+ super(EdgeServicesCacheStage, __self__).__init__(
452
+ 'scaleway:index/edgeServicesCacheStage:EdgeServicesCacheStage',
453
+ resource_name,
454
+ __props__,
455
+ opts)
456
+
457
+ @staticmethod
458
+ def get(resource_name: str,
459
+ id: pulumi.Input[str],
460
+ opts: Optional[pulumi.ResourceOptions] = None,
461
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
462
+ created_at: Optional[pulumi.Input[str]] = None,
463
+ fallback_ttl: Optional[pulumi.Input[int]] = None,
464
+ pipeline_id: Optional[pulumi.Input[str]] = None,
465
+ project_id: Optional[pulumi.Input[str]] = None,
466
+ purge_requests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesCacheStagePurgeRequestArgs', 'EdgeServicesCacheStagePurgeRequestArgsDict']]]]] = None,
467
+ refresh_cache: Optional[pulumi.Input[str]] = None,
468
+ route_stage_id: Optional[pulumi.Input[str]] = None,
469
+ updated_at: Optional[pulumi.Input[str]] = None,
470
+ waf_stage_id: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesCacheStage':
471
+ """
472
+ Get an existing EdgeServicesCacheStage resource's state with the given name, id, and optional extra
473
+ properties used to qualify the lookup.
474
+
475
+ :param str resource_name: The unique name of the resulting resource.
476
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
477
+ :param pulumi.ResourceOptions opts: Options for the resource.
478
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
479
+ :param pulumi.Input[str] created_at: The date and time of the creation of the cache stage.
480
+ :param pulumi.Input[int] fallback_ttl: The Time To Live (TTL) in seconds. Defines how long content is cached.
481
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
482
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cache stage is associated with.
483
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesCacheStagePurgeRequestArgs', 'EdgeServicesCacheStagePurgeRequestArgsDict']]]] purge_requests: The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
484
+ :param pulumi.Input[str] refresh_cache: Trigger a refresh of the cache by changing this field's value.
485
+ :param pulumi.Input[str] route_stage_id: The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
486
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the cache stage.
487
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
488
+ """
489
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
490
+
491
+ __props__ = _EdgeServicesCacheStageState.__new__(_EdgeServicesCacheStageState)
492
+
493
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
494
+ __props__.__dict__["created_at"] = created_at
495
+ __props__.__dict__["fallback_ttl"] = fallback_ttl
496
+ __props__.__dict__["pipeline_id"] = pipeline_id
497
+ __props__.__dict__["project_id"] = project_id
498
+ __props__.__dict__["purge_requests"] = purge_requests
499
+ __props__.__dict__["refresh_cache"] = refresh_cache
500
+ __props__.__dict__["route_stage_id"] = route_stage_id
501
+ __props__.__dict__["updated_at"] = updated_at
502
+ __props__.__dict__["waf_stage_id"] = waf_stage_id
503
+ return EdgeServicesCacheStage(resource_name, opts=opts, __props__=__props__)
504
+
505
+ @property
506
+ @pulumi.getter(name="backendStageId")
507
+ def backend_stage_id(self) -> pulumi.Output[str]:
508
+ """
509
+ The backend stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
510
+ """
511
+ return pulumi.get(self, "backend_stage_id")
512
+
513
+ @property
514
+ @pulumi.getter(name="createdAt")
515
+ def created_at(self) -> pulumi.Output[str]:
516
+ """
517
+ The date and time of the creation of the cache stage.
518
+ """
519
+ return pulumi.get(self, "created_at")
520
+
521
+ @property
522
+ @pulumi.getter(name="fallbackTtl")
523
+ def fallback_ttl(self) -> pulumi.Output[Optional[int]]:
524
+ """
525
+ The Time To Live (TTL) in seconds. Defines how long content is cached.
526
+ """
527
+ return pulumi.get(self, "fallback_ttl")
528
+
529
+ @property
530
+ @pulumi.getter(name="pipelineId")
531
+ def pipeline_id(self) -> pulumi.Output[str]:
532
+ """
533
+ The ID of the pipeline.
534
+ """
535
+ return pulumi.get(self, "pipeline_id")
536
+
537
+ @property
538
+ @pulumi.getter(name="projectId")
539
+ def project_id(self) -> pulumi.Output[str]:
540
+ """
541
+ `project_id`) The ID of the project the cache stage is associated with.
542
+ """
543
+ return pulumi.get(self, "project_id")
544
+
545
+ @property
546
+ @pulumi.getter(name="purgeRequests")
547
+ def purge_requests(self) -> pulumi.Output[Optional[Sequence['outputs.EdgeServicesCacheStagePurgeRequest']]]:
548
+ """
549
+ The Scaleway Object Storage origin bucket (S3) linked to the backend stage.
550
+ """
551
+ return pulumi.get(self, "purge_requests")
552
+
553
+ @property
554
+ @pulumi.getter(name="refreshCache")
555
+ def refresh_cache(self) -> pulumi.Output[Optional[str]]:
556
+ """
557
+ Trigger a refresh of the cache by changing this field's value.
558
+ """
559
+ return pulumi.get(self, "refresh_cache")
560
+
561
+ @property
562
+ @pulumi.getter(name="routeStageId")
563
+ def route_stage_id(self) -> pulumi.Output[str]:
564
+ """
565
+ The route stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
566
+ """
567
+ return pulumi.get(self, "route_stage_id")
568
+
569
+ @property
570
+ @pulumi.getter(name="updatedAt")
571
+ def updated_at(self) -> pulumi.Output[str]:
572
+ """
573
+ The date and time of the last update of the cache stage.
574
+ """
575
+ return pulumi.get(self, "updated_at")
576
+
577
+ @property
578
+ @pulumi.getter(name="wafStageId")
579
+ def waf_stage_id(self) -> pulumi.Output[str]:
580
+ """
581
+ The WAF stage ID the cache stage will be linked to. Only one of `backend_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
582
+ """
583
+ return pulumi.get(self, "waf_stage_id")
584
+