pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.26.0a1743166124__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.26.0a1743166124.dist-info}/METADATA +1 -1
  64. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/RECORD +66 -53
  65. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/WHEEL +1 -1
  66. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,258 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['EdgeServicesHeadStageArgs', 'EdgeServicesHeadStage']
18
+
19
+ @pulumi.input_type
20
+ class EdgeServicesHeadStageArgs:
21
+ def __init__(__self__, *,
22
+ pipeline_id: pulumi.Input[str],
23
+ head_stage_id: Optional[pulumi.Input[str]] = None):
24
+ """
25
+ The set of arguments for constructing a EdgeServicesHeadStage resource.
26
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
27
+ :param pulumi.Input[str] head_stage_id: The ID of head stage of the pipeline.
28
+ """
29
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
30
+ if head_stage_id is not None:
31
+ pulumi.set(__self__, "head_stage_id", head_stage_id)
32
+
33
+ @property
34
+ @pulumi.getter(name="pipelineId")
35
+ def pipeline_id(self) -> pulumi.Input[str]:
36
+ """
37
+ The ID of the pipeline.
38
+ """
39
+ return pulumi.get(self, "pipeline_id")
40
+
41
+ @pipeline_id.setter
42
+ def pipeline_id(self, value: pulumi.Input[str]):
43
+ pulumi.set(self, "pipeline_id", value)
44
+
45
+ @property
46
+ @pulumi.getter(name="headStageId")
47
+ def head_stage_id(self) -> Optional[pulumi.Input[str]]:
48
+ """
49
+ The ID of head stage of the pipeline.
50
+ """
51
+ return pulumi.get(self, "head_stage_id")
52
+
53
+ @head_stage_id.setter
54
+ def head_stage_id(self, value: Optional[pulumi.Input[str]]):
55
+ pulumi.set(self, "head_stage_id", value)
56
+
57
+
58
+ @pulumi.input_type
59
+ class _EdgeServicesHeadStageState:
60
+ def __init__(__self__, *,
61
+ head_stage_id: Optional[pulumi.Input[str]] = None,
62
+ pipeline_id: Optional[pulumi.Input[str]] = None):
63
+ """
64
+ Input properties used for looking up and filtering EdgeServicesHeadStage resources.
65
+ :param pulumi.Input[str] head_stage_id: The ID of head stage of the pipeline.
66
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
67
+ """
68
+ if head_stage_id is not None:
69
+ pulumi.set(__self__, "head_stage_id", head_stage_id)
70
+ if pipeline_id is not None:
71
+ pulumi.set(__self__, "pipeline_id", pipeline_id)
72
+
73
+ @property
74
+ @pulumi.getter(name="headStageId")
75
+ def head_stage_id(self) -> Optional[pulumi.Input[str]]:
76
+ """
77
+ The ID of head stage of the pipeline.
78
+ """
79
+ return pulumi.get(self, "head_stage_id")
80
+
81
+ @head_stage_id.setter
82
+ def head_stage_id(self, value: Optional[pulumi.Input[str]]):
83
+ pulumi.set(self, "head_stage_id", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="pipelineId")
87
+ def pipeline_id(self) -> Optional[pulumi.Input[str]]:
88
+ """
89
+ The ID of the pipeline.
90
+ """
91
+ return pulumi.get(self, "pipeline_id")
92
+
93
+ @pipeline_id.setter
94
+ def pipeline_id(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "pipeline_id", value)
96
+
97
+
98
+ class EdgeServicesHeadStage(pulumi.CustomResource):
99
+ @overload
100
+ def __init__(__self__,
101
+ resource_name: str,
102
+ opts: Optional[pulumi.ResourceOptions] = None,
103
+ head_stage_id: Optional[pulumi.Input[str]] = None,
104
+ pipeline_id: Optional[pulumi.Input[str]] = None,
105
+ __props__=None):
106
+ """
107
+ Sets the Scaleway Edge Services head stage of your pipeline.
108
+
109
+ ## Example Usage
110
+
111
+ ### Basic
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumiverse_scaleway as scaleway
116
+
117
+ main = scaleway.EdgeServicesPipeline("main",
118
+ name="my-edge_services-pipeline",
119
+ description="pipeline description")
120
+ main_edge_services_dns_stage = scaleway.EdgeServicesDnsStage("main",
121
+ pipeline_id=main.id,
122
+ tls_stage_id=main_scaleway_edge_services_tls_stage["id"],
123
+ fqdns=["subdomain.example.com"])
124
+ main_edge_services_head_stage = scaleway.EdgeServicesHeadStage("main",
125
+ pipeline_id=main.id,
126
+ head_stage_id=main_edge_services_dns_stage.id)
127
+ ```
128
+
129
+ ## Import
130
+
131
+ Head stages can be imported using the `{id}`, e.g.
132
+
133
+ bash
134
+
135
+ ```sh
136
+ $ pulumi import scaleway:index/edgeServicesHeadStage:EdgeServicesHeadStage main 11111111-1111-1111-1111-111111111111
137
+ ```
138
+
139
+ :param str resource_name: The name of the resource.
140
+ :param pulumi.ResourceOptions opts: Options for the resource.
141
+ :param pulumi.Input[str] head_stage_id: The ID of head stage of the pipeline.
142
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
143
+ """
144
+ ...
145
+ @overload
146
+ def __init__(__self__,
147
+ resource_name: str,
148
+ args: EdgeServicesHeadStageArgs,
149
+ opts: Optional[pulumi.ResourceOptions] = None):
150
+ """
151
+ Sets the Scaleway Edge Services head stage of your pipeline.
152
+
153
+ ## Example Usage
154
+
155
+ ### Basic
156
+
157
+ ```python
158
+ import pulumi
159
+ import pulumiverse_scaleway as scaleway
160
+
161
+ main = scaleway.EdgeServicesPipeline("main",
162
+ name="my-edge_services-pipeline",
163
+ description="pipeline description")
164
+ main_edge_services_dns_stage = scaleway.EdgeServicesDnsStage("main",
165
+ pipeline_id=main.id,
166
+ tls_stage_id=main_scaleway_edge_services_tls_stage["id"],
167
+ fqdns=["subdomain.example.com"])
168
+ main_edge_services_head_stage = scaleway.EdgeServicesHeadStage("main",
169
+ pipeline_id=main.id,
170
+ head_stage_id=main_edge_services_dns_stage.id)
171
+ ```
172
+
173
+ ## Import
174
+
175
+ Head stages can be imported using the `{id}`, e.g.
176
+
177
+ bash
178
+
179
+ ```sh
180
+ $ pulumi import scaleway:index/edgeServicesHeadStage:EdgeServicesHeadStage main 11111111-1111-1111-1111-111111111111
181
+ ```
182
+
183
+ :param str resource_name: The name of the resource.
184
+ :param EdgeServicesHeadStageArgs args: The arguments to use to populate this resource's properties.
185
+ :param pulumi.ResourceOptions opts: Options for the resource.
186
+ """
187
+ ...
188
+ def __init__(__self__, resource_name: str, *args, **kwargs):
189
+ resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesHeadStageArgs, pulumi.ResourceOptions, *args, **kwargs)
190
+ if resource_args is not None:
191
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
192
+ else:
193
+ __self__._internal_init(resource_name, *args, **kwargs)
194
+
195
+ def _internal_init(__self__,
196
+ resource_name: str,
197
+ opts: Optional[pulumi.ResourceOptions] = None,
198
+ head_stage_id: Optional[pulumi.Input[str]] = None,
199
+ pipeline_id: Optional[pulumi.Input[str]] = None,
200
+ __props__=None):
201
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
202
+ if not isinstance(opts, pulumi.ResourceOptions):
203
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
204
+ if opts.id is None:
205
+ if __props__ is not None:
206
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
207
+ __props__ = EdgeServicesHeadStageArgs.__new__(EdgeServicesHeadStageArgs)
208
+
209
+ __props__.__dict__["head_stage_id"] = head_stage_id
210
+ if pipeline_id is None and not opts.urn:
211
+ raise TypeError("Missing required property 'pipeline_id'")
212
+ __props__.__dict__["pipeline_id"] = pipeline_id
213
+ super(EdgeServicesHeadStage, __self__).__init__(
214
+ 'scaleway:index/edgeServicesHeadStage:EdgeServicesHeadStage',
215
+ resource_name,
216
+ __props__,
217
+ opts)
218
+
219
+ @staticmethod
220
+ def get(resource_name: str,
221
+ id: pulumi.Input[str],
222
+ opts: Optional[pulumi.ResourceOptions] = None,
223
+ head_stage_id: Optional[pulumi.Input[str]] = None,
224
+ pipeline_id: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesHeadStage':
225
+ """
226
+ Get an existing EdgeServicesHeadStage resource's state with the given name, id, and optional extra
227
+ properties used to qualify the lookup.
228
+
229
+ :param str resource_name: The unique name of the resulting resource.
230
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
231
+ :param pulumi.ResourceOptions opts: Options for the resource.
232
+ :param pulumi.Input[str] head_stage_id: The ID of head stage of the pipeline.
233
+ :param pulumi.Input[str] pipeline_id: The ID of the pipeline.
234
+ """
235
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
236
+
237
+ __props__ = _EdgeServicesHeadStageState.__new__(_EdgeServicesHeadStageState)
238
+
239
+ __props__.__dict__["head_stage_id"] = head_stage_id
240
+ __props__.__dict__["pipeline_id"] = pipeline_id
241
+ return EdgeServicesHeadStage(resource_name, opts=opts, __props__=__props__)
242
+
243
+ @property
244
+ @pulumi.getter(name="headStageId")
245
+ def head_stage_id(self) -> pulumi.Output[str]:
246
+ """
247
+ The ID of head stage of the pipeline.
248
+ """
249
+ return pulumi.get(self, "head_stage_id")
250
+
251
+ @property
252
+ @pulumi.getter(name="pipelineId")
253
+ def pipeline_id(self) -> pulumi.Output[str]:
254
+ """
255
+ The ID of the pipeline.
256
+ """
257
+ return pulumi.get(self, "pipeline_id")
258
+
@@ -0,0 +1,436 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['EdgeServicesPipelineArgs', 'EdgeServicesPipeline']
18
+
19
+ @pulumi.input_type
20
+ class EdgeServicesPipelineArgs:
21
+ def __init__(__self__, *,
22
+ description: Optional[pulumi.Input[str]] = None,
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ project_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a EdgeServicesPipeline resource.
27
+ :param pulumi.Input[str] description: The description of the pipeline.
28
+ :param pulumi.Input[str] name: The name of the pipeline.
29
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the pipeline is associated with.
30
+ """
31
+ if description is not None:
32
+ pulumi.set(__self__, "description", description)
33
+ if name is not None:
34
+ pulumi.set(__self__, "name", name)
35
+ if project_id is not None:
36
+ pulumi.set(__self__, "project_id", project_id)
37
+
38
+ @property
39
+ @pulumi.getter
40
+ def description(self) -> Optional[pulumi.Input[str]]:
41
+ """
42
+ The description of the pipeline.
43
+ """
44
+ return pulumi.get(self, "description")
45
+
46
+ @description.setter
47
+ def description(self, value: Optional[pulumi.Input[str]]):
48
+ pulumi.set(self, "description", value)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def name(self) -> Optional[pulumi.Input[str]]:
53
+ """
54
+ The name of the pipeline.
55
+ """
56
+ return pulumi.get(self, "name")
57
+
58
+ @name.setter
59
+ def name(self, value: Optional[pulumi.Input[str]]):
60
+ pulumi.set(self, "name", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="projectId")
64
+ def project_id(self) -> Optional[pulumi.Input[str]]:
65
+ """
66
+ `project_id`) The ID of the project the pipeline is associated with.
67
+ """
68
+ return pulumi.get(self, "project_id")
69
+
70
+ @project_id.setter
71
+ def project_id(self, value: Optional[pulumi.Input[str]]):
72
+ pulumi.set(self, "project_id", value)
73
+
74
+
75
+ @pulumi.input_type
76
+ class _EdgeServicesPipelineState:
77
+ def __init__(__self__, *,
78
+ created_at: Optional[pulumi.Input[str]] = None,
79
+ description: Optional[pulumi.Input[str]] = None,
80
+ name: Optional[pulumi.Input[str]] = None,
81
+ project_id: Optional[pulumi.Input[str]] = None,
82
+ status: Optional[pulumi.Input[str]] = None,
83
+ updated_at: Optional[pulumi.Input[str]] = None):
84
+ """
85
+ Input properties used for looking up and filtering EdgeServicesPipeline resources.
86
+ :param pulumi.Input[str] created_at: The date and time of the creation of the pipeline.
87
+ :param pulumi.Input[str] description: The description of the pipeline.
88
+ :param pulumi.Input[str] name: The name of the pipeline.
89
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the pipeline is associated with.
90
+ :param pulumi.Input[str] status: The status of user pipeline.
91
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the pipeline.
92
+ """
93
+ if created_at is not None:
94
+ pulumi.set(__self__, "created_at", created_at)
95
+ if description is not None:
96
+ pulumi.set(__self__, "description", description)
97
+ if name is not None:
98
+ pulumi.set(__self__, "name", name)
99
+ if project_id is not None:
100
+ pulumi.set(__self__, "project_id", project_id)
101
+ if status is not None:
102
+ pulumi.set(__self__, "status", status)
103
+ if updated_at is not None:
104
+ pulumi.set(__self__, "updated_at", updated_at)
105
+
106
+ @property
107
+ @pulumi.getter(name="createdAt")
108
+ def created_at(self) -> Optional[pulumi.Input[str]]:
109
+ """
110
+ The date and time of the creation of the pipeline.
111
+ """
112
+ return pulumi.get(self, "created_at")
113
+
114
+ @created_at.setter
115
+ def created_at(self, value: Optional[pulumi.Input[str]]):
116
+ pulumi.set(self, "created_at", value)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def description(self) -> Optional[pulumi.Input[str]]:
121
+ """
122
+ The description of the pipeline.
123
+ """
124
+ return pulumi.get(self, "description")
125
+
126
+ @description.setter
127
+ def description(self, value: Optional[pulumi.Input[str]]):
128
+ pulumi.set(self, "description", value)
129
+
130
+ @property
131
+ @pulumi.getter
132
+ def name(self) -> Optional[pulumi.Input[str]]:
133
+ """
134
+ The name of the pipeline.
135
+ """
136
+ return pulumi.get(self, "name")
137
+
138
+ @name.setter
139
+ def name(self, value: Optional[pulumi.Input[str]]):
140
+ pulumi.set(self, "name", value)
141
+
142
+ @property
143
+ @pulumi.getter(name="projectId")
144
+ def project_id(self) -> Optional[pulumi.Input[str]]:
145
+ """
146
+ `project_id`) The ID of the project the pipeline is associated with.
147
+ """
148
+ return pulumi.get(self, "project_id")
149
+
150
+ @project_id.setter
151
+ def project_id(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "project_id", value)
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def status(self) -> Optional[pulumi.Input[str]]:
157
+ """
158
+ The status of user pipeline.
159
+ """
160
+ return pulumi.get(self, "status")
161
+
162
+ @status.setter
163
+ def status(self, value: Optional[pulumi.Input[str]]):
164
+ pulumi.set(self, "status", value)
165
+
166
+ @property
167
+ @pulumi.getter(name="updatedAt")
168
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ The date and time of the last update of the pipeline.
171
+ """
172
+ return pulumi.get(self, "updated_at")
173
+
174
+ @updated_at.setter
175
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "updated_at", value)
177
+
178
+
179
+ class EdgeServicesPipeline(pulumi.CustomResource):
180
+ @overload
181
+ def __init__(__self__,
182
+ resource_name: str,
183
+ opts: Optional[pulumi.ResourceOptions] = None,
184
+ description: Optional[pulumi.Input[str]] = None,
185
+ name: Optional[pulumi.Input[str]] = None,
186
+ project_id: Optional[pulumi.Input[str]] = None,
187
+ __props__=None):
188
+ """
189
+ Creates and manages Scaleway Edge Services Pipelines.
190
+
191
+ ## Example Usage
192
+
193
+ ### Basic
194
+
195
+ ```python
196
+ import pulumi
197
+ import pulumiverse_scaleway as scaleway
198
+
199
+ main = scaleway.EdgeServicesPipeline("main",
200
+ name="pipeline-name",
201
+ description="pipeline description")
202
+ ```
203
+
204
+ ### Complete pipeline
205
+
206
+ ```python
207
+ import pulumi
208
+ import pulumiverse_scaleway as scaleway
209
+
210
+ main = scaleway.EdgeServicesPipeline("main",
211
+ name="pipeline-name",
212
+ description="pipeline description")
213
+ main_edge_services_backend_stage = scaleway.EdgeServicesBackendStage("main",
214
+ pipeline_id=main.id,
215
+ s3_backend_config={
216
+ "bucket_name": "my-bucket-name",
217
+ "bucket_region": "fr-par",
218
+ })
219
+ main_edge_services_cache_stage = scaleway.EdgeServicesCacheStage("main",
220
+ pipeline_id=main.id,
221
+ backend_stage_id=main_edge_services_backend_stage.id)
222
+ main_edge_services_tls_stage = scaleway.EdgeServicesTlsStage("main",
223
+ pipeline_id=main.id,
224
+ cache_stage_id=main_edge_services_cache_stage.id,
225
+ managed_certificate=True)
226
+ main_edge_services_dns_stage = scaleway.EdgeServicesDnsStage("main",
227
+ pipeline_id=main.id,
228
+ tls_stage_id=main_edge_services_tls_stage.id,
229
+ fqdns=["subdomain.example.com"])
230
+ main_edge_services_head_stage = scaleway.EdgeServicesHeadStage("main",
231
+ pipeline_id=main.id,
232
+ head_stage_id=main_edge_services_dns_stage.id)
233
+ ```
234
+
235
+ ## Import
236
+
237
+ Pipelines can be imported using the `{id}`, e.g.
238
+
239
+ bash
240
+
241
+ ```sh
242
+ $ pulumi import scaleway:index/edgeServicesPipeline:EdgeServicesPipeline basic 11111111-1111-1111-1111-111111111111
243
+ ```
244
+
245
+ :param str resource_name: The name of the resource.
246
+ :param pulumi.ResourceOptions opts: Options for the resource.
247
+ :param pulumi.Input[str] description: The description of the pipeline.
248
+ :param pulumi.Input[str] name: The name of the pipeline.
249
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the pipeline is associated with.
250
+ """
251
+ ...
252
+ @overload
253
+ def __init__(__self__,
254
+ resource_name: str,
255
+ args: Optional[EdgeServicesPipelineArgs] = None,
256
+ opts: Optional[pulumi.ResourceOptions] = None):
257
+ """
258
+ Creates and manages Scaleway Edge Services Pipelines.
259
+
260
+ ## Example Usage
261
+
262
+ ### Basic
263
+
264
+ ```python
265
+ import pulumi
266
+ import pulumiverse_scaleway as scaleway
267
+
268
+ main = scaleway.EdgeServicesPipeline("main",
269
+ name="pipeline-name",
270
+ description="pipeline description")
271
+ ```
272
+
273
+ ### Complete pipeline
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumiverse_scaleway as scaleway
278
+
279
+ main = scaleway.EdgeServicesPipeline("main",
280
+ name="pipeline-name",
281
+ description="pipeline description")
282
+ main_edge_services_backend_stage = scaleway.EdgeServicesBackendStage("main",
283
+ pipeline_id=main.id,
284
+ s3_backend_config={
285
+ "bucket_name": "my-bucket-name",
286
+ "bucket_region": "fr-par",
287
+ })
288
+ main_edge_services_cache_stage = scaleway.EdgeServicesCacheStage("main",
289
+ pipeline_id=main.id,
290
+ backend_stage_id=main_edge_services_backend_stage.id)
291
+ main_edge_services_tls_stage = scaleway.EdgeServicesTlsStage("main",
292
+ pipeline_id=main.id,
293
+ cache_stage_id=main_edge_services_cache_stage.id,
294
+ managed_certificate=True)
295
+ main_edge_services_dns_stage = scaleway.EdgeServicesDnsStage("main",
296
+ pipeline_id=main.id,
297
+ tls_stage_id=main_edge_services_tls_stage.id,
298
+ fqdns=["subdomain.example.com"])
299
+ main_edge_services_head_stage = scaleway.EdgeServicesHeadStage("main",
300
+ pipeline_id=main.id,
301
+ head_stage_id=main_edge_services_dns_stage.id)
302
+ ```
303
+
304
+ ## Import
305
+
306
+ Pipelines can be imported using the `{id}`, e.g.
307
+
308
+ bash
309
+
310
+ ```sh
311
+ $ pulumi import scaleway:index/edgeServicesPipeline:EdgeServicesPipeline basic 11111111-1111-1111-1111-111111111111
312
+ ```
313
+
314
+ :param str resource_name: The name of the resource.
315
+ :param EdgeServicesPipelineArgs args: The arguments to use to populate this resource's properties.
316
+ :param pulumi.ResourceOptions opts: Options for the resource.
317
+ """
318
+ ...
319
+ def __init__(__self__, resource_name: str, *args, **kwargs):
320
+ resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesPipelineArgs, pulumi.ResourceOptions, *args, **kwargs)
321
+ if resource_args is not None:
322
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
323
+ else:
324
+ __self__._internal_init(resource_name, *args, **kwargs)
325
+
326
+ def _internal_init(__self__,
327
+ resource_name: str,
328
+ opts: Optional[pulumi.ResourceOptions] = None,
329
+ description: Optional[pulumi.Input[str]] = None,
330
+ name: Optional[pulumi.Input[str]] = None,
331
+ project_id: Optional[pulumi.Input[str]] = None,
332
+ __props__=None):
333
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
334
+ if not isinstance(opts, pulumi.ResourceOptions):
335
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
336
+ if opts.id is None:
337
+ if __props__ is not None:
338
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
339
+ __props__ = EdgeServicesPipelineArgs.__new__(EdgeServicesPipelineArgs)
340
+
341
+ __props__.__dict__["description"] = description
342
+ __props__.__dict__["name"] = name
343
+ __props__.__dict__["project_id"] = project_id
344
+ __props__.__dict__["created_at"] = None
345
+ __props__.__dict__["status"] = None
346
+ __props__.__dict__["updated_at"] = None
347
+ super(EdgeServicesPipeline, __self__).__init__(
348
+ 'scaleway:index/edgeServicesPipeline:EdgeServicesPipeline',
349
+ resource_name,
350
+ __props__,
351
+ opts)
352
+
353
+ @staticmethod
354
+ def get(resource_name: str,
355
+ id: pulumi.Input[str],
356
+ opts: Optional[pulumi.ResourceOptions] = None,
357
+ created_at: Optional[pulumi.Input[str]] = None,
358
+ description: Optional[pulumi.Input[str]] = None,
359
+ name: Optional[pulumi.Input[str]] = None,
360
+ project_id: Optional[pulumi.Input[str]] = None,
361
+ status: Optional[pulumi.Input[str]] = None,
362
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesPipeline':
363
+ """
364
+ Get an existing EdgeServicesPipeline resource's state with the given name, id, and optional extra
365
+ properties used to qualify the lookup.
366
+
367
+ :param str resource_name: The unique name of the resulting resource.
368
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
369
+ :param pulumi.ResourceOptions opts: Options for the resource.
370
+ :param pulumi.Input[str] created_at: The date and time of the creation of the pipeline.
371
+ :param pulumi.Input[str] description: The description of the pipeline.
372
+ :param pulumi.Input[str] name: The name of the pipeline.
373
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the pipeline is associated with.
374
+ :param pulumi.Input[str] status: The status of user pipeline.
375
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the pipeline.
376
+ """
377
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
378
+
379
+ __props__ = _EdgeServicesPipelineState.__new__(_EdgeServicesPipelineState)
380
+
381
+ __props__.__dict__["created_at"] = created_at
382
+ __props__.__dict__["description"] = description
383
+ __props__.__dict__["name"] = name
384
+ __props__.__dict__["project_id"] = project_id
385
+ __props__.__dict__["status"] = status
386
+ __props__.__dict__["updated_at"] = updated_at
387
+ return EdgeServicesPipeline(resource_name, opts=opts, __props__=__props__)
388
+
389
+ @property
390
+ @pulumi.getter(name="createdAt")
391
+ def created_at(self) -> pulumi.Output[str]:
392
+ """
393
+ The date and time of the creation of the pipeline.
394
+ """
395
+ return pulumi.get(self, "created_at")
396
+
397
+ @property
398
+ @pulumi.getter
399
+ def description(self) -> pulumi.Output[Optional[str]]:
400
+ """
401
+ The description of the pipeline.
402
+ """
403
+ return pulumi.get(self, "description")
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def name(self) -> pulumi.Output[str]:
408
+ """
409
+ The name of the pipeline.
410
+ """
411
+ return pulumi.get(self, "name")
412
+
413
+ @property
414
+ @pulumi.getter(name="projectId")
415
+ def project_id(self) -> pulumi.Output[str]:
416
+ """
417
+ `project_id`) The ID of the project the pipeline is associated with.
418
+ """
419
+ return pulumi.get(self, "project_id")
420
+
421
+ @property
422
+ @pulumi.getter
423
+ def status(self) -> pulumi.Output[str]:
424
+ """
425
+ The status of user pipeline.
426
+ """
427
+ return pulumi.get(self, "status")
428
+
429
+ @property
430
+ @pulumi.getter(name="updatedAt")
431
+ def updated_at(self) -> pulumi.Output[str]:
432
+ """
433
+ The date and time of the last update of the pipeline.
434
+ """
435
+ return pulumi.get(self, "updated_at")
436
+