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,640 @@
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__ = ['EdgeServicesTlsStageArgs', 'EdgeServicesTlsStage']
20
+
21
+ @pulumi.input_type
22
+ class EdgeServicesTlsStageArgs:
23
+ def __init__(__self__, *,
24
+ pipeline_id: pulumi.Input[str],
25
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
26
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
27
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
28
+ project_id: Optional[pulumi.Input[str]] = None,
29
+ route_stage_id: Optional[pulumi.Input[str]] = None,
30
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]] = None,
31
+ waf_stage_id: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a EdgeServicesTlsStage 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 TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
36
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
37
+ :param pulumi.Input[bool] managed_certificate: Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
38
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
39
+ :param pulumi.Input[str] route_stage_id: The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
40
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]] secrets: The TLS secrets.
41
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_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 cache_stage_id is not None:
47
+ pulumi.set(__self__, "cache_stage_id", cache_stage_id)
48
+ if managed_certificate is not None:
49
+ pulumi.set(__self__, "managed_certificate", managed_certificate)
50
+ if project_id is not None:
51
+ pulumi.set(__self__, "project_id", project_id)
52
+ if route_stage_id is not None:
53
+ pulumi.set(__self__, "route_stage_id", route_stage_id)
54
+ if secrets is not None:
55
+ pulumi.set(__self__, "secrets", secrets)
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 TLS stage will be linked to. Only one of `backend_stage_id`, `cache_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="cacheStageId")
85
+ def cache_stage_id(self) -> Optional[pulumi.Input[str]]:
86
+ """
87
+ The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
88
+ """
89
+ return pulumi.get(self, "cache_stage_id")
90
+
91
+ @cache_stage_id.setter
92
+ def cache_stage_id(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "cache_stage_id", value)
94
+
95
+ @property
96
+ @pulumi.getter(name="managedCertificate")
97
+ def managed_certificate(self) -> Optional[pulumi.Input[bool]]:
98
+ """
99
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
100
+ """
101
+ return pulumi.get(self, "managed_certificate")
102
+
103
+ @managed_certificate.setter
104
+ def managed_certificate(self, value: Optional[pulumi.Input[bool]]):
105
+ pulumi.set(self, "managed_certificate", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="projectId")
109
+ def project_id(self) -> Optional[pulumi.Input[str]]:
110
+ """
111
+ `project_id`) The ID of the project the TLS stage is associated with.
112
+ """
113
+ return pulumi.get(self, "project_id")
114
+
115
+ @project_id.setter
116
+ def project_id(self, value: Optional[pulumi.Input[str]]):
117
+ pulumi.set(self, "project_id", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="routeStageId")
121
+ def route_stage_id(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
124
+ """
125
+ return pulumi.get(self, "route_stage_id")
126
+
127
+ @route_stage_id.setter
128
+ def route_stage_id(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "route_stage_id", value)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]:
134
+ """
135
+ The TLS secrets.
136
+ """
137
+ return pulumi.get(self, "secrets")
138
+
139
+ @secrets.setter
140
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]):
141
+ pulumi.set(self, "secrets", 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 TLS stage will be linked to. Only one of `backend_stage_id`, `cache_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 _EdgeServicesTlsStageState:
158
+ def __init__(__self__, *,
159
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
160
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
161
+ certificate_expires_at: Optional[pulumi.Input[str]] = None,
162
+ created_at: Optional[pulumi.Input[str]] = None,
163
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
164
+ pipeline_id: Optional[pulumi.Input[str]] = None,
165
+ project_id: Optional[pulumi.Input[str]] = None,
166
+ route_stage_id: Optional[pulumi.Input[str]] = None,
167
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]] = None,
168
+ updated_at: Optional[pulumi.Input[str]] = None,
169
+ waf_stage_id: Optional[pulumi.Input[str]] = None):
170
+ """
171
+ Input properties used for looking up and filtering EdgeServicesTlsStage resources.
172
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
173
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
174
+ :param pulumi.Input[str] certificate_expires_at: The expiration date of the certificate.
175
+ :param pulumi.Input[str] created_at: The date and time of the creation of the TLS stage.
176
+ :param pulumi.Input[bool] managed_certificate: Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
177
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
178
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
179
+ :param pulumi.Input[str] route_stage_id: The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
180
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]] secrets: The TLS secrets.
181
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the TLS stage.
182
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
183
+ """
184
+ if backend_stage_id is not None:
185
+ pulumi.set(__self__, "backend_stage_id", backend_stage_id)
186
+ if cache_stage_id is not None:
187
+ pulumi.set(__self__, "cache_stage_id", cache_stage_id)
188
+ if certificate_expires_at is not None:
189
+ pulumi.set(__self__, "certificate_expires_at", certificate_expires_at)
190
+ if created_at is not None:
191
+ pulumi.set(__self__, "created_at", created_at)
192
+ if managed_certificate is not None:
193
+ pulumi.set(__self__, "managed_certificate", managed_certificate)
194
+ if pipeline_id is not None:
195
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
196
+ if project_id is not None:
197
+ pulumi.set(__self__, "project_id", project_id)
198
+ if route_stage_id is not None:
199
+ pulumi.set(__self__, "route_stage_id", route_stage_id)
200
+ if secrets is not None:
201
+ pulumi.set(__self__, "secrets", secrets)
202
+ if updated_at is not None:
203
+ pulumi.set(__self__, "updated_at", updated_at)
204
+ if waf_stage_id is not None:
205
+ pulumi.set(__self__, "waf_stage_id", waf_stage_id)
206
+
207
+ @property
208
+ @pulumi.getter(name="backendStageId")
209
+ def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
210
+ """
211
+ The backend stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
212
+ """
213
+ return pulumi.get(self, "backend_stage_id")
214
+
215
+ @backend_stage_id.setter
216
+ def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
217
+ pulumi.set(self, "backend_stage_id", value)
218
+
219
+ @property
220
+ @pulumi.getter(name="cacheStageId")
221
+ def cache_stage_id(self) -> Optional[pulumi.Input[str]]:
222
+ """
223
+ The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
224
+ """
225
+ return pulumi.get(self, "cache_stage_id")
226
+
227
+ @cache_stage_id.setter
228
+ def cache_stage_id(self, value: Optional[pulumi.Input[str]]):
229
+ pulumi.set(self, "cache_stage_id", value)
230
+
231
+ @property
232
+ @pulumi.getter(name="certificateExpiresAt")
233
+ def certificate_expires_at(self) -> Optional[pulumi.Input[str]]:
234
+ """
235
+ The expiration date of the certificate.
236
+ """
237
+ return pulumi.get(self, "certificate_expires_at")
238
+
239
+ @certificate_expires_at.setter
240
+ def certificate_expires_at(self, value: Optional[pulumi.Input[str]]):
241
+ pulumi.set(self, "certificate_expires_at", value)
242
+
243
+ @property
244
+ @pulumi.getter(name="createdAt")
245
+ def created_at(self) -> Optional[pulumi.Input[str]]:
246
+ """
247
+ The date and time of the creation of the TLS stage.
248
+ """
249
+ return pulumi.get(self, "created_at")
250
+
251
+ @created_at.setter
252
+ def created_at(self, value: Optional[pulumi.Input[str]]):
253
+ pulumi.set(self, "created_at", value)
254
+
255
+ @property
256
+ @pulumi.getter(name="managedCertificate")
257
+ def managed_certificate(self) -> Optional[pulumi.Input[bool]]:
258
+ """
259
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
260
+ """
261
+ return pulumi.get(self, "managed_certificate")
262
+
263
+ @managed_certificate.setter
264
+ def managed_certificate(self, value: Optional[pulumi.Input[bool]]):
265
+ pulumi.set(self, "managed_certificate", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="pipelineId")
269
+ def pipeline_id(self) -> Optional[pulumi.Input[str]]:
270
+ """
271
+ The ID of the pipeline.
272
+ """
273
+ return pulumi.get(self, "pipeline_id")
274
+
275
+ @pipeline_id.setter
276
+ def pipeline_id(self, value: Optional[pulumi.Input[str]]):
277
+ pulumi.set(self, "pipeline_id", value)
278
+
279
+ @property
280
+ @pulumi.getter(name="projectId")
281
+ def project_id(self) -> Optional[pulumi.Input[str]]:
282
+ """
283
+ `project_id`) The ID of the project the TLS stage is associated with.
284
+ """
285
+ return pulumi.get(self, "project_id")
286
+
287
+ @project_id.setter
288
+ def project_id(self, value: Optional[pulumi.Input[str]]):
289
+ pulumi.set(self, "project_id", value)
290
+
291
+ @property
292
+ @pulumi.getter(name="routeStageId")
293
+ def route_stage_id(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
296
+ """
297
+ return pulumi.get(self, "route_stage_id")
298
+
299
+ @route_stage_id.setter
300
+ def route_stage_id(self, value: Optional[pulumi.Input[str]]):
301
+ pulumi.set(self, "route_stage_id", value)
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]:
306
+ """
307
+ The TLS secrets.
308
+ """
309
+ return pulumi.get(self, "secrets")
310
+
311
+ @secrets.setter
312
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]):
313
+ pulumi.set(self, "secrets", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="updatedAt")
317
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ The date and time of the last update of the TLS stage.
320
+ """
321
+ return pulumi.get(self, "updated_at")
322
+
323
+ @updated_at.setter
324
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "updated_at", value)
326
+
327
+ @property
328
+ @pulumi.getter(name="wafStageId")
329
+ def waf_stage_id(self) -> Optional[pulumi.Input[str]]:
330
+ """
331
+ The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
332
+ """
333
+ return pulumi.get(self, "waf_stage_id")
334
+
335
+ @waf_stage_id.setter
336
+ def waf_stage_id(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "waf_stage_id", value)
338
+
339
+
340
+ class EdgeServicesTlsStage(pulumi.CustomResource):
341
+ @overload
342
+ def __init__(__self__,
343
+ resource_name: str,
344
+ opts: Optional[pulumi.ResourceOptions] = None,
345
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
346
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
347
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
348
+ pipeline_id: Optional[pulumi.Input[str]] = None,
349
+ project_id: Optional[pulumi.Input[str]] = None,
350
+ route_stage_id: Optional[pulumi.Input[str]] = None,
351
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
352
+ waf_stage_id: Optional[pulumi.Input[str]] = None,
353
+ __props__=None):
354
+ """
355
+ Creates and manages Scaleway Edge Services TLS Stages.
356
+
357
+ ## Example Usage
358
+
359
+ ### Managed
360
+
361
+ ```python
362
+ import pulumi
363
+ import pulumiverse_scaleway as scaleway
364
+
365
+ main = scaleway.EdgeServicesTlsStage("main",
366
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
367
+ managed_certificate=True)
368
+ ```
369
+
370
+ ### With a certificate stored in Scaleway Secret Manager
371
+
372
+ ```python
373
+ import pulumi
374
+ import pulumiverse_scaleway as scaleway
375
+
376
+ main = scaleway.EdgeServicesTlsStage("main",
377
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
378
+ secrets=[{
379
+ "secret_id": "11111111-1111-1111-1111-111111111111",
380
+ "region": "fr-par",
381
+ }])
382
+ ```
383
+
384
+ ## Import
385
+
386
+ TLS stages can be imported using the `{id}`, e.g.
387
+
388
+ bash
389
+
390
+ ```sh
391
+ $ pulumi import scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage basic 11111111-1111-1111-1111-111111111111
392
+ ```
393
+
394
+ :param str resource_name: The name of the resource.
395
+ :param pulumi.ResourceOptions opts: Options for the resource.
396
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
397
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
398
+ :param pulumi.Input[bool] managed_certificate: Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
399
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
400
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
401
+ :param pulumi.Input[str] route_stage_id: The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
402
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]] secrets: The TLS secrets.
403
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
404
+ """
405
+ ...
406
+ @overload
407
+ def __init__(__self__,
408
+ resource_name: str,
409
+ args: EdgeServicesTlsStageArgs,
410
+ opts: Optional[pulumi.ResourceOptions] = None):
411
+ """
412
+ Creates and manages Scaleway Edge Services TLS Stages.
413
+
414
+ ## Example Usage
415
+
416
+ ### Managed
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumiverse_scaleway as scaleway
421
+
422
+ main = scaleway.EdgeServicesTlsStage("main",
423
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
424
+ managed_certificate=True)
425
+ ```
426
+
427
+ ### With a certificate stored in Scaleway Secret Manager
428
+
429
+ ```python
430
+ import pulumi
431
+ import pulumiverse_scaleway as scaleway
432
+
433
+ main = scaleway.EdgeServicesTlsStage("main",
434
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
435
+ secrets=[{
436
+ "secret_id": "11111111-1111-1111-1111-111111111111",
437
+ "region": "fr-par",
438
+ }])
439
+ ```
440
+
441
+ ## Import
442
+
443
+ TLS stages can be imported using the `{id}`, e.g.
444
+
445
+ bash
446
+
447
+ ```sh
448
+ $ pulumi import scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage basic 11111111-1111-1111-1111-111111111111
449
+ ```
450
+
451
+ :param str resource_name: The name of the resource.
452
+ :param EdgeServicesTlsStageArgs args: The arguments to use to populate this resource's properties.
453
+ :param pulumi.ResourceOptions opts: Options for the resource.
454
+ """
455
+ ...
456
+ def __init__(__self__, resource_name: str, *args, **kwargs):
457
+ resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesTlsStageArgs, pulumi.ResourceOptions, *args, **kwargs)
458
+ if resource_args is not None:
459
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
460
+ else:
461
+ __self__._internal_init(resource_name, *args, **kwargs)
462
+
463
+ def _internal_init(__self__,
464
+ resource_name: str,
465
+ opts: Optional[pulumi.ResourceOptions] = None,
466
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
467
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
468
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
469
+ pipeline_id: Optional[pulumi.Input[str]] = None,
470
+ project_id: Optional[pulumi.Input[str]] = None,
471
+ route_stage_id: Optional[pulumi.Input[str]] = None,
472
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
473
+ waf_stage_id: Optional[pulumi.Input[str]] = None,
474
+ __props__=None):
475
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
476
+ if not isinstance(opts, pulumi.ResourceOptions):
477
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
478
+ if opts.id is None:
479
+ if __props__ is not None:
480
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
481
+ __props__ = EdgeServicesTlsStageArgs.__new__(EdgeServicesTlsStageArgs)
482
+
483
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
484
+ __props__.__dict__["cache_stage_id"] = cache_stage_id
485
+ __props__.__dict__["managed_certificate"] = managed_certificate
486
+ if pipeline_id is None and not opts.urn:
487
+ raise TypeError("Missing required property 'pipeline_id'")
488
+ __props__.__dict__["pipeline_id"] = pipeline_id
489
+ __props__.__dict__["project_id"] = project_id
490
+ __props__.__dict__["route_stage_id"] = route_stage_id
491
+ __props__.__dict__["secrets"] = secrets
492
+ __props__.__dict__["waf_stage_id"] = waf_stage_id
493
+ __props__.__dict__["certificate_expires_at"] = None
494
+ __props__.__dict__["created_at"] = None
495
+ __props__.__dict__["updated_at"] = None
496
+ super(EdgeServicesTlsStage, __self__).__init__(
497
+ 'scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage',
498
+ resource_name,
499
+ __props__,
500
+ opts)
501
+
502
+ @staticmethod
503
+ def get(resource_name: str,
504
+ id: pulumi.Input[str],
505
+ opts: Optional[pulumi.ResourceOptions] = None,
506
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
507
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
508
+ certificate_expires_at: Optional[pulumi.Input[str]] = None,
509
+ created_at: Optional[pulumi.Input[str]] = None,
510
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
511
+ pipeline_id: Optional[pulumi.Input[str]] = None,
512
+ project_id: Optional[pulumi.Input[str]] = None,
513
+ route_stage_id: Optional[pulumi.Input[str]] = None,
514
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
515
+ updated_at: Optional[pulumi.Input[str]] = None,
516
+ waf_stage_id: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesTlsStage':
517
+ """
518
+ Get an existing EdgeServicesTlsStage resource's state with the given name, id, and optional extra
519
+ properties used to qualify the lookup.
520
+
521
+ :param str resource_name: The unique name of the resulting resource.
522
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
523
+ :param pulumi.ResourceOptions opts: Options for the resource.
524
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
525
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
526
+ :param pulumi.Input[str] certificate_expires_at: The expiration date of the certificate.
527
+ :param pulumi.Input[str] created_at: The date and time of the creation of the TLS stage.
528
+ :param pulumi.Input[bool] managed_certificate: Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
529
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
530
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
531
+ :param pulumi.Input[str] route_stage_id: The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
532
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]] secrets: The TLS secrets.
533
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the TLS stage.
534
+ :param pulumi.Input[str] waf_stage_id: The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
535
+ """
536
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
537
+
538
+ __props__ = _EdgeServicesTlsStageState.__new__(_EdgeServicesTlsStageState)
539
+
540
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
541
+ __props__.__dict__["cache_stage_id"] = cache_stage_id
542
+ __props__.__dict__["certificate_expires_at"] = certificate_expires_at
543
+ __props__.__dict__["created_at"] = created_at
544
+ __props__.__dict__["managed_certificate"] = managed_certificate
545
+ __props__.__dict__["pipeline_id"] = pipeline_id
546
+ __props__.__dict__["project_id"] = project_id
547
+ __props__.__dict__["route_stage_id"] = route_stage_id
548
+ __props__.__dict__["secrets"] = secrets
549
+ __props__.__dict__["updated_at"] = updated_at
550
+ __props__.__dict__["waf_stage_id"] = waf_stage_id
551
+ return EdgeServicesTlsStage(resource_name, opts=opts, __props__=__props__)
552
+
553
+ @property
554
+ @pulumi.getter(name="backendStageId")
555
+ def backend_stage_id(self) -> pulumi.Output[str]:
556
+ """
557
+ The backend stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
558
+ """
559
+ return pulumi.get(self, "backend_stage_id")
560
+
561
+ @property
562
+ @pulumi.getter(name="cacheStageId")
563
+ def cache_stage_id(self) -> pulumi.Output[str]:
564
+ """
565
+ The cache stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
566
+ """
567
+ return pulumi.get(self, "cache_stage_id")
568
+
569
+ @property
570
+ @pulumi.getter(name="certificateExpiresAt")
571
+ def certificate_expires_at(self) -> pulumi.Output[str]:
572
+ """
573
+ The expiration date of the certificate.
574
+ """
575
+ return pulumi.get(self, "certificate_expires_at")
576
+
577
+ @property
578
+ @pulumi.getter(name="createdAt")
579
+ def created_at(self) -> pulumi.Output[str]:
580
+ """
581
+ The date and time of the creation of the TLS stage.
582
+ """
583
+ return pulumi.get(self, "created_at")
584
+
585
+ @property
586
+ @pulumi.getter(name="managedCertificate")
587
+ def managed_certificate(self) -> pulumi.Output[bool]:
588
+ """
589
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
590
+ """
591
+ return pulumi.get(self, "managed_certificate")
592
+
593
+ @property
594
+ @pulumi.getter(name="pipelineId")
595
+ def pipeline_id(self) -> pulumi.Output[str]:
596
+ """
597
+ The ID of the pipeline.
598
+ """
599
+ return pulumi.get(self, "pipeline_id")
600
+
601
+ @property
602
+ @pulumi.getter(name="projectId")
603
+ def project_id(self) -> pulumi.Output[str]:
604
+ """
605
+ `project_id`) The ID of the project the TLS stage is associated with.
606
+ """
607
+ return pulumi.get(self, "project_id")
608
+
609
+ @property
610
+ @pulumi.getter(name="routeStageId")
611
+ def route_stage_id(self) -> pulumi.Output[str]:
612
+ """
613
+ The route stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
614
+ """
615
+ return pulumi.get(self, "route_stage_id")
616
+
617
+ @property
618
+ @pulumi.getter
619
+ def secrets(self) -> pulumi.Output[Sequence['outputs.EdgeServicesTlsStageSecret']]:
620
+ """
621
+ The TLS secrets.
622
+ """
623
+ return pulumi.get(self, "secrets")
624
+
625
+ @property
626
+ @pulumi.getter(name="updatedAt")
627
+ def updated_at(self) -> pulumi.Output[str]:
628
+ """
629
+ The date and time of the last update of the TLS stage.
630
+ """
631
+ return pulumi.get(self, "updated_at")
632
+
633
+ @property
634
+ @pulumi.getter(name="wafStageId")
635
+ def waf_stage_id(self) -> pulumi.Output[str]:
636
+ """
637
+ The WAF stage ID the TLS stage will be linked to. Only one of `backend_stage_id`, `cache_stage_id`, `route_stage_id` and `waf_stage_id` should be specified.
638
+ """
639
+ return pulumi.get(self, "waf_stage_id")
640
+