pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.27.0a1743490704__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 (66) hide show
  1. pulumiverse_scaleway/__init__.py +105 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/apple_silicon_server.py +105 -0
  4. pulumiverse_scaleway/applesilicon/server.py +105 -0
  5. pulumiverse_scaleway/domain/__init__.py +1 -0
  6. pulumiverse_scaleway/domain/_inputs.py +2697 -0
  7. pulumiverse_scaleway/domain/outputs.py +2145 -0
  8. pulumiverse_scaleway/domain/registration.py +777 -0
  9. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  10. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  11. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  12. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  13. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  14. pulumiverse_scaleway/edge_services_plan.py +239 -0
  15. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  16. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  17. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  18. pulumiverse_scaleway/elasticmetal/ip.py +13 -7
  19. pulumiverse_scaleway/flexible_ip.py +13 -7
  20. pulumiverse_scaleway/get_lb_frontend.py +12 -1
  21. pulumiverse_scaleway/get_lb_route.py +12 -1
  22. pulumiverse_scaleway/get_secret.py +15 -4
  23. pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
  24. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
  25. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
  26. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  27. pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
  28. pulumiverse_scaleway/loadbalancer_route.py +48 -1
  29. pulumiverse_scaleway/loadbalancers/backend.py +2 -2
  30. pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
  31. pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
  32. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  33. pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
  34. pulumiverse_scaleway/loadbalancers/route.py +48 -1
  35. pulumiverse_scaleway/network/__init__.py +1 -0
  36. pulumiverse_scaleway/network/_inputs.py +194 -0
  37. pulumiverse_scaleway/network/acl.py +415 -0
  38. pulumiverse_scaleway/network/gateway_network.py +104 -122
  39. pulumiverse_scaleway/network/get_public_gateway.py +34 -1
  40. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
  41. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
  42. pulumiverse_scaleway/network/outputs.py +139 -0
  43. pulumiverse_scaleway/network/public_gateway.py +124 -21
  44. pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
  45. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
  46. pulumiverse_scaleway/outputs.py +662 -2
  47. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  48. pulumiverse_scaleway/secret.py +22 -2
  49. pulumiverse_scaleway/secret_version.py +6 -6
  50. pulumiverse_scaleway/secrets/_inputs.py +154 -0
  51. pulumiverse_scaleway/secrets/get_secret.py +15 -4
  52. pulumiverse_scaleway/secrets/outputs.py +200 -0
  53. pulumiverse_scaleway/secrets/secret.py +22 -2
  54. pulumiverse_scaleway/tem/__init__.py +2 -0
  55. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  56. pulumiverse_scaleway/tem/domain.py +7 -0
  57. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  58. pulumiverse_scaleway/tem_domain.py +7 -0
  59. pulumiverse_scaleway/vpc_gateway_network.py +104 -122
  60. pulumiverse_scaleway/vpc_public_gateway.py +124 -21
  61. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
  62. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
  63. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/METADATA +1 -1
  64. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/RECORD +66 -53
  65. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/WHEEL +1 -1
  66. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,546 @@
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
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]] = None):
30
+ """
31
+ The set of arguments for constructing a EdgeServicesTlsStage resource.
32
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
33
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to.
34
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to.
35
+ :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.
36
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
37
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]] secrets: The TLS secrets.
38
+ """
39
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
40
+ if backend_stage_id is not None:
41
+ pulumi.set(__self__, "backend_stage_id", backend_stage_id)
42
+ if cache_stage_id is not None:
43
+ pulumi.set(__self__, "cache_stage_id", cache_stage_id)
44
+ if managed_certificate is not None:
45
+ pulumi.set(__self__, "managed_certificate", managed_certificate)
46
+ if project_id is not None:
47
+ pulumi.set(__self__, "project_id", project_id)
48
+ if secrets is not None:
49
+ pulumi.set(__self__, "secrets", secrets)
50
+
51
+ @property
52
+ @pulumi.getter(name="pipelineId")
53
+ def pipeline_id(self) -> pulumi.Input[str]:
54
+ """
55
+ The ID of the pipeline.
56
+ """
57
+ return pulumi.get(self, "pipeline_id")
58
+
59
+ @pipeline_id.setter
60
+ def pipeline_id(self, value: pulumi.Input[str]):
61
+ pulumi.set(self, "pipeline_id", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="backendStageId")
65
+ def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
66
+ """
67
+ The backend stage ID the TLS stage will be linked to.
68
+ """
69
+ return pulumi.get(self, "backend_stage_id")
70
+
71
+ @backend_stage_id.setter
72
+ def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
73
+ pulumi.set(self, "backend_stage_id", value)
74
+
75
+ @property
76
+ @pulumi.getter(name="cacheStageId")
77
+ def cache_stage_id(self) -> Optional[pulumi.Input[str]]:
78
+ """
79
+ The cache stage ID the TLS stage will be linked to.
80
+ """
81
+ return pulumi.get(self, "cache_stage_id")
82
+
83
+ @cache_stage_id.setter
84
+ def cache_stage_id(self, value: Optional[pulumi.Input[str]]):
85
+ pulumi.set(self, "cache_stage_id", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="managedCertificate")
89
+ def managed_certificate(self) -> Optional[pulumi.Input[bool]]:
90
+ """
91
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
92
+ """
93
+ return pulumi.get(self, "managed_certificate")
94
+
95
+ @managed_certificate.setter
96
+ def managed_certificate(self, value: Optional[pulumi.Input[bool]]):
97
+ pulumi.set(self, "managed_certificate", value)
98
+
99
+ @property
100
+ @pulumi.getter(name="projectId")
101
+ def project_id(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ `project_id`) The ID of the project the TLS stage is associated with.
104
+ """
105
+ return pulumi.get(self, "project_id")
106
+
107
+ @project_id.setter
108
+ def project_id(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "project_id", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]:
114
+ """
115
+ The TLS secrets.
116
+ """
117
+ return pulumi.get(self, "secrets")
118
+
119
+ @secrets.setter
120
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]):
121
+ pulumi.set(self, "secrets", value)
122
+
123
+
124
+ @pulumi.input_type
125
+ class _EdgeServicesTlsStageState:
126
+ def __init__(__self__, *,
127
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
128
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
129
+ certificate_expires_at: Optional[pulumi.Input[str]] = None,
130
+ created_at: Optional[pulumi.Input[str]] = None,
131
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
132
+ pipeline_id: Optional[pulumi.Input[str]] = None,
133
+ project_id: Optional[pulumi.Input[str]] = None,
134
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]] = None,
135
+ updated_at: Optional[pulumi.Input[str]] = None):
136
+ """
137
+ Input properties used for looking up and filtering EdgeServicesTlsStage resources.
138
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to.
139
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to.
140
+ :param pulumi.Input[str] certificate_expires_at: The expiration date of the certificate.
141
+ :param pulumi.Input[str] created_at: The date and time of the creation of the TLS stage.
142
+ :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.
143
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
144
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
145
+ :param pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]] secrets: The TLS secrets.
146
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the TLS stage.
147
+ """
148
+ if backend_stage_id is not None:
149
+ pulumi.set(__self__, "backend_stage_id", backend_stage_id)
150
+ if cache_stage_id is not None:
151
+ pulumi.set(__self__, "cache_stage_id", cache_stage_id)
152
+ if certificate_expires_at is not None:
153
+ pulumi.set(__self__, "certificate_expires_at", certificate_expires_at)
154
+ if created_at is not None:
155
+ pulumi.set(__self__, "created_at", created_at)
156
+ if managed_certificate is not None:
157
+ pulumi.set(__self__, "managed_certificate", managed_certificate)
158
+ if pipeline_id is not None:
159
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
160
+ if project_id is not None:
161
+ pulumi.set(__self__, "project_id", project_id)
162
+ if secrets is not None:
163
+ pulumi.set(__self__, "secrets", secrets)
164
+ if updated_at is not None:
165
+ pulumi.set(__self__, "updated_at", updated_at)
166
+
167
+ @property
168
+ @pulumi.getter(name="backendStageId")
169
+ def backend_stage_id(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The backend stage ID the TLS stage will be linked to.
172
+ """
173
+ return pulumi.get(self, "backend_stage_id")
174
+
175
+ @backend_stage_id.setter
176
+ def backend_stage_id(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "backend_stage_id", value)
178
+
179
+ @property
180
+ @pulumi.getter(name="cacheStageId")
181
+ def cache_stage_id(self) -> Optional[pulumi.Input[str]]:
182
+ """
183
+ The cache stage ID the TLS stage will be linked to.
184
+ """
185
+ return pulumi.get(self, "cache_stage_id")
186
+
187
+ @cache_stage_id.setter
188
+ def cache_stage_id(self, value: Optional[pulumi.Input[str]]):
189
+ pulumi.set(self, "cache_stage_id", value)
190
+
191
+ @property
192
+ @pulumi.getter(name="certificateExpiresAt")
193
+ def certificate_expires_at(self) -> Optional[pulumi.Input[str]]:
194
+ """
195
+ The expiration date of the certificate.
196
+ """
197
+ return pulumi.get(self, "certificate_expires_at")
198
+
199
+ @certificate_expires_at.setter
200
+ def certificate_expires_at(self, value: Optional[pulumi.Input[str]]):
201
+ pulumi.set(self, "certificate_expires_at", value)
202
+
203
+ @property
204
+ @pulumi.getter(name="createdAt")
205
+ def created_at(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The date and time of the creation of the TLS stage.
208
+ """
209
+ return pulumi.get(self, "created_at")
210
+
211
+ @created_at.setter
212
+ def created_at(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "created_at", value)
214
+
215
+ @property
216
+ @pulumi.getter(name="managedCertificate")
217
+ def managed_certificate(self) -> Optional[pulumi.Input[bool]]:
218
+ """
219
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
220
+ """
221
+ return pulumi.get(self, "managed_certificate")
222
+
223
+ @managed_certificate.setter
224
+ def managed_certificate(self, value: Optional[pulumi.Input[bool]]):
225
+ pulumi.set(self, "managed_certificate", value)
226
+
227
+ @property
228
+ @pulumi.getter(name="pipelineId")
229
+ def pipeline_id(self) -> Optional[pulumi.Input[str]]:
230
+ """
231
+ The ID of the pipeline.
232
+ """
233
+ return pulumi.get(self, "pipeline_id")
234
+
235
+ @pipeline_id.setter
236
+ def pipeline_id(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "pipeline_id", value)
238
+
239
+ @property
240
+ @pulumi.getter(name="projectId")
241
+ def project_id(self) -> Optional[pulumi.Input[str]]:
242
+ """
243
+ `project_id`) The ID of the project the TLS stage is associated with.
244
+ """
245
+ return pulumi.get(self, "project_id")
246
+
247
+ @project_id.setter
248
+ def project_id(self, value: Optional[pulumi.Input[str]]):
249
+ pulumi.set(self, "project_id", value)
250
+
251
+ @property
252
+ @pulumi.getter
253
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]:
254
+ """
255
+ The TLS secrets.
256
+ """
257
+ return pulumi.get(self, "secrets")
258
+
259
+ @secrets.setter
260
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesTlsStageSecretArgs']]]]):
261
+ pulumi.set(self, "secrets", value)
262
+
263
+ @property
264
+ @pulumi.getter(name="updatedAt")
265
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
266
+ """
267
+ The date and time of the last update of the TLS stage.
268
+ """
269
+ return pulumi.get(self, "updated_at")
270
+
271
+ @updated_at.setter
272
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "updated_at", value)
274
+
275
+
276
+ class EdgeServicesTlsStage(pulumi.CustomResource):
277
+ @overload
278
+ def __init__(__self__,
279
+ resource_name: str,
280
+ opts: Optional[pulumi.ResourceOptions] = None,
281
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
282
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
283
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
284
+ pipeline_id: Optional[pulumi.Input[str]] = None,
285
+ project_id: Optional[pulumi.Input[str]] = None,
286
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
287
+ __props__=None):
288
+ """
289
+ Creates and manages Scaleway Edge Services TLS Stages.
290
+
291
+ ## Example Usage
292
+
293
+ ### Managed
294
+
295
+ ```python
296
+ import pulumi
297
+ import pulumiverse_scaleway as scaleway
298
+
299
+ main = scaleway.EdgeServicesTlsStage("main",
300
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
301
+ managed_certificate=True)
302
+ ```
303
+
304
+ ### With a certificate stored in Scaleway Secret Manager
305
+
306
+ ```python
307
+ import pulumi
308
+ import pulumiverse_scaleway as scaleway
309
+
310
+ main = scaleway.EdgeServicesTlsStage("main",
311
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
312
+ secrets=[{
313
+ "secret_id": "11111111-1111-1111-1111-111111111111",
314
+ "region": "fr-par",
315
+ }])
316
+ ```
317
+
318
+ ## Import
319
+
320
+ TLS stages can be imported using the `{id}`, e.g.
321
+
322
+ bash
323
+
324
+ ```sh
325
+ $ pulumi import scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage basic 11111111-1111-1111-1111-111111111111
326
+ ```
327
+
328
+ :param str resource_name: The name of the resource.
329
+ :param pulumi.ResourceOptions opts: Options for the resource.
330
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to.
331
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to.
332
+ :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.
333
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
334
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
335
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]] secrets: The TLS secrets.
336
+ """
337
+ ...
338
+ @overload
339
+ def __init__(__self__,
340
+ resource_name: str,
341
+ args: EdgeServicesTlsStageArgs,
342
+ opts: Optional[pulumi.ResourceOptions] = None):
343
+ """
344
+ Creates and manages Scaleway Edge Services TLS Stages.
345
+
346
+ ## Example Usage
347
+
348
+ ### Managed
349
+
350
+ ```python
351
+ import pulumi
352
+ import pulumiverse_scaleway as scaleway
353
+
354
+ main = scaleway.EdgeServicesTlsStage("main",
355
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
356
+ managed_certificate=True)
357
+ ```
358
+
359
+ ### With a certificate stored in Scaleway Secret Manager
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
+ secrets=[{
368
+ "secret_id": "11111111-1111-1111-1111-111111111111",
369
+ "region": "fr-par",
370
+ }])
371
+ ```
372
+
373
+ ## Import
374
+
375
+ TLS stages can be imported using the `{id}`, e.g.
376
+
377
+ bash
378
+
379
+ ```sh
380
+ $ pulumi import scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage basic 11111111-1111-1111-1111-111111111111
381
+ ```
382
+
383
+ :param str resource_name: The name of the resource.
384
+ :param EdgeServicesTlsStageArgs args: The arguments to use to populate this resource's properties.
385
+ :param pulumi.ResourceOptions opts: Options for the resource.
386
+ """
387
+ ...
388
+ def __init__(__self__, resource_name: str, *args, **kwargs):
389
+ resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesTlsStageArgs, pulumi.ResourceOptions, *args, **kwargs)
390
+ if resource_args is not None:
391
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
392
+ else:
393
+ __self__._internal_init(resource_name, *args, **kwargs)
394
+
395
+ def _internal_init(__self__,
396
+ resource_name: str,
397
+ opts: Optional[pulumi.ResourceOptions] = None,
398
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
399
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
400
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
401
+ pipeline_id: Optional[pulumi.Input[str]] = None,
402
+ project_id: Optional[pulumi.Input[str]] = None,
403
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
404
+ __props__=None):
405
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
406
+ if not isinstance(opts, pulumi.ResourceOptions):
407
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
408
+ if opts.id is None:
409
+ if __props__ is not None:
410
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
411
+ __props__ = EdgeServicesTlsStageArgs.__new__(EdgeServicesTlsStageArgs)
412
+
413
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
414
+ __props__.__dict__["cache_stage_id"] = cache_stage_id
415
+ __props__.__dict__["managed_certificate"] = managed_certificate
416
+ if pipeline_id is None and not opts.urn:
417
+ raise TypeError("Missing required property 'pipeline_id'")
418
+ __props__.__dict__["pipeline_id"] = pipeline_id
419
+ __props__.__dict__["project_id"] = project_id
420
+ __props__.__dict__["secrets"] = secrets
421
+ __props__.__dict__["certificate_expires_at"] = None
422
+ __props__.__dict__["created_at"] = None
423
+ __props__.__dict__["updated_at"] = None
424
+ super(EdgeServicesTlsStage, __self__).__init__(
425
+ 'scaleway:index/edgeServicesTlsStage:EdgeServicesTlsStage',
426
+ resource_name,
427
+ __props__,
428
+ opts)
429
+
430
+ @staticmethod
431
+ def get(resource_name: str,
432
+ id: pulumi.Input[str],
433
+ opts: Optional[pulumi.ResourceOptions] = None,
434
+ backend_stage_id: Optional[pulumi.Input[str]] = None,
435
+ cache_stage_id: Optional[pulumi.Input[str]] = None,
436
+ certificate_expires_at: Optional[pulumi.Input[str]] = None,
437
+ created_at: Optional[pulumi.Input[str]] = None,
438
+ managed_certificate: Optional[pulumi.Input[bool]] = None,
439
+ pipeline_id: Optional[pulumi.Input[str]] = None,
440
+ project_id: Optional[pulumi.Input[str]] = None,
441
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]]] = None,
442
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesTlsStage':
443
+ """
444
+ Get an existing EdgeServicesTlsStage resource's state with the given name, id, and optional extra
445
+ properties used to qualify the lookup.
446
+
447
+ :param str resource_name: The unique name of the resulting resource.
448
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
449
+ :param pulumi.ResourceOptions opts: Options for the resource.
450
+ :param pulumi.Input[str] backend_stage_id: The backend stage ID the TLS stage will be linked to.
451
+ :param pulumi.Input[str] cache_stage_id: The cache stage ID the TLS stage will be linked to.
452
+ :param pulumi.Input[str] certificate_expires_at: The expiration date of the certificate.
453
+ :param pulumi.Input[str] created_at: The date and time of the creation of the TLS stage.
454
+ :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.
455
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
456
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the TLS stage is associated with.
457
+ :param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesTlsStageSecretArgs', 'EdgeServicesTlsStageSecretArgsDict']]]] secrets: The TLS secrets.
458
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the TLS stage.
459
+ """
460
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
461
+
462
+ __props__ = _EdgeServicesTlsStageState.__new__(_EdgeServicesTlsStageState)
463
+
464
+ __props__.__dict__["backend_stage_id"] = backend_stage_id
465
+ __props__.__dict__["cache_stage_id"] = cache_stage_id
466
+ __props__.__dict__["certificate_expires_at"] = certificate_expires_at
467
+ __props__.__dict__["created_at"] = created_at
468
+ __props__.__dict__["managed_certificate"] = managed_certificate
469
+ __props__.__dict__["pipeline_id"] = pipeline_id
470
+ __props__.__dict__["project_id"] = project_id
471
+ __props__.__dict__["secrets"] = secrets
472
+ __props__.__dict__["updated_at"] = updated_at
473
+ return EdgeServicesTlsStage(resource_name, opts=opts, __props__=__props__)
474
+
475
+ @property
476
+ @pulumi.getter(name="backendStageId")
477
+ def backend_stage_id(self) -> pulumi.Output[str]:
478
+ """
479
+ The backend stage ID the TLS stage will be linked to.
480
+ """
481
+ return pulumi.get(self, "backend_stage_id")
482
+
483
+ @property
484
+ @pulumi.getter(name="cacheStageId")
485
+ def cache_stage_id(self) -> pulumi.Output[str]:
486
+ """
487
+ The cache stage ID the TLS stage will be linked to.
488
+ """
489
+ return pulumi.get(self, "cache_stage_id")
490
+
491
+ @property
492
+ @pulumi.getter(name="certificateExpiresAt")
493
+ def certificate_expires_at(self) -> pulumi.Output[str]:
494
+ """
495
+ The expiration date of the certificate.
496
+ """
497
+ return pulumi.get(self, "certificate_expires_at")
498
+
499
+ @property
500
+ @pulumi.getter(name="createdAt")
501
+ def created_at(self) -> pulumi.Output[str]:
502
+ """
503
+ The date and time of the creation of the TLS stage.
504
+ """
505
+ return pulumi.get(self, "created_at")
506
+
507
+ @property
508
+ @pulumi.getter(name="managedCertificate")
509
+ def managed_certificate(self) -> pulumi.Output[bool]:
510
+ """
511
+ Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
512
+ """
513
+ return pulumi.get(self, "managed_certificate")
514
+
515
+ @property
516
+ @pulumi.getter(name="pipelineId")
517
+ def pipeline_id(self) -> pulumi.Output[str]:
518
+ """
519
+ The ID of the pipeline.
520
+ """
521
+ return pulumi.get(self, "pipeline_id")
522
+
523
+ @property
524
+ @pulumi.getter(name="projectId")
525
+ def project_id(self) -> pulumi.Output[str]:
526
+ """
527
+ `project_id`) The ID of the project the TLS stage is associated with.
528
+ """
529
+ return pulumi.get(self, "project_id")
530
+
531
+ @property
532
+ @pulumi.getter
533
+ def secrets(self) -> pulumi.Output[Sequence['outputs.EdgeServicesTlsStageSecret']]:
534
+ """
535
+ The TLS secrets.
536
+ """
537
+ return pulumi.get(self, "secrets")
538
+
539
+ @property
540
+ @pulumi.getter(name="updatedAt")
541
+ def updated_at(self) -> pulumi.Output[str]:
542
+ """
543
+ The date and time of the last update of the TLS stage.
544
+ """
545
+ return pulumi.get(self, "updated_at")
546
+