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.
- pulumiverse_scaleway/__init__.py +105 -0
- pulumiverse_scaleway/_inputs.py +663 -0
- pulumiverse_scaleway/apple_silicon_server.py +105 -0
- pulumiverse_scaleway/applesilicon/server.py +105 -0
- pulumiverse_scaleway/domain/__init__.py +1 -0
- pulumiverse_scaleway/domain/_inputs.py +2697 -0
- pulumiverse_scaleway/domain/outputs.py +2145 -0
- pulumiverse_scaleway/domain/registration.py +777 -0
- pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
- pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
- pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
- pulumiverse_scaleway/edge_services_head_stage.py +258 -0
- pulumiverse_scaleway/edge_services_pipeline.py +436 -0
- pulumiverse_scaleway/edge_services_plan.py +239 -0
- pulumiverse_scaleway/edge_services_route_stage.py +422 -0
- pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
- pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
- pulumiverse_scaleway/elasticmetal/ip.py +13 -7
- pulumiverse_scaleway/flexible_ip.py +13 -7
- pulumiverse_scaleway/get_lb_frontend.py +12 -1
- pulumiverse_scaleway/get_lb_route.py +12 -1
- pulumiverse_scaleway/get_secret.py +15 -4
- pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/loadbalancer_backend.py +2 -2
- pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
- pulumiverse_scaleway/loadbalancer_route.py +48 -1
- pulumiverse_scaleway/loadbalancers/backend.py +2 -2
- pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
- pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
- pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
- pulumiverse_scaleway/loadbalancers/route.py +48 -1
- pulumiverse_scaleway/network/__init__.py +1 -0
- pulumiverse_scaleway/network/_inputs.py +194 -0
- pulumiverse_scaleway/network/acl.py +415 -0
- pulumiverse_scaleway/network/gateway_network.py +104 -122
- pulumiverse_scaleway/network/get_public_gateway.py +34 -1
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/network/outputs.py +139 -0
- pulumiverse_scaleway/network/public_gateway.py +124 -21
- pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/outputs.py +662 -2
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/secret.py +22 -2
- pulumiverse_scaleway/secret_version.py +6 -6
- pulumiverse_scaleway/secrets/_inputs.py +154 -0
- pulumiverse_scaleway/secrets/get_secret.py +15 -4
- pulumiverse_scaleway/secrets/outputs.py +200 -0
- pulumiverse_scaleway/secrets/secret.py +22 -2
- pulumiverse_scaleway/tem/__init__.py +2 -0
- pulumiverse_scaleway/tem/blocked_list.py +442 -0
- pulumiverse_scaleway/tem/domain.py +7 -0
- pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
- pulumiverse_scaleway/tem_domain.py +7 -0
- pulumiverse_scaleway/vpc_gateway_network.py +104 -122
- pulumiverse_scaleway/vpc_public_gateway.py +124 -21
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/RECORD +66 -53
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,239 @@
|
|
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__ = ['EdgeServicesPlanArgs', 'EdgeServicesPlan']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class EdgeServicesPlanArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
name: Optional[pulumi.Input[str]] = None,
|
23
|
+
project_id: Optional[pulumi.Input[str]] = None):
|
24
|
+
"""
|
25
|
+
The set of arguments for constructing a EdgeServicesPlan resource.
|
26
|
+
:param pulumi.Input[str] name: The name of the plan.
|
27
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the plan is associated with.
|
28
|
+
"""
|
29
|
+
if name is not None:
|
30
|
+
pulumi.set(__self__, "name", name)
|
31
|
+
if project_id is not None:
|
32
|
+
pulumi.set(__self__, "project_id", project_id)
|
33
|
+
|
34
|
+
@property
|
35
|
+
@pulumi.getter
|
36
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
37
|
+
"""
|
38
|
+
The name of the plan.
|
39
|
+
"""
|
40
|
+
return pulumi.get(self, "name")
|
41
|
+
|
42
|
+
@name.setter
|
43
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
44
|
+
pulumi.set(self, "name", value)
|
45
|
+
|
46
|
+
@property
|
47
|
+
@pulumi.getter(name="projectId")
|
48
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
49
|
+
"""
|
50
|
+
`project_id`) The ID of the project the plan is associated with.
|
51
|
+
"""
|
52
|
+
return pulumi.get(self, "project_id")
|
53
|
+
|
54
|
+
@project_id.setter
|
55
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
56
|
+
pulumi.set(self, "project_id", value)
|
57
|
+
|
58
|
+
|
59
|
+
@pulumi.input_type
|
60
|
+
class _EdgeServicesPlanState:
|
61
|
+
def __init__(__self__, *,
|
62
|
+
name: Optional[pulumi.Input[str]] = None,
|
63
|
+
project_id: Optional[pulumi.Input[str]] = None):
|
64
|
+
"""
|
65
|
+
Input properties used for looking up and filtering EdgeServicesPlan resources.
|
66
|
+
:param pulumi.Input[str] name: The name of the plan.
|
67
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the plan is associated with.
|
68
|
+
"""
|
69
|
+
if name is not None:
|
70
|
+
pulumi.set(__self__, "name", name)
|
71
|
+
if project_id is not None:
|
72
|
+
pulumi.set(__self__, "project_id", project_id)
|
73
|
+
|
74
|
+
@property
|
75
|
+
@pulumi.getter
|
76
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
77
|
+
"""
|
78
|
+
The name of the plan.
|
79
|
+
"""
|
80
|
+
return pulumi.get(self, "name")
|
81
|
+
|
82
|
+
@name.setter
|
83
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
84
|
+
pulumi.set(self, "name", value)
|
85
|
+
|
86
|
+
@property
|
87
|
+
@pulumi.getter(name="projectId")
|
88
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
89
|
+
"""
|
90
|
+
`project_id`) The ID of the project the plan is associated with.
|
91
|
+
"""
|
92
|
+
return pulumi.get(self, "project_id")
|
93
|
+
|
94
|
+
@project_id.setter
|
95
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
96
|
+
pulumi.set(self, "project_id", value)
|
97
|
+
|
98
|
+
|
99
|
+
class EdgeServicesPlan(pulumi.CustomResource):
|
100
|
+
@overload
|
101
|
+
def __init__(__self__,
|
102
|
+
resource_name: str,
|
103
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
104
|
+
name: Optional[pulumi.Input[str]] = None,
|
105
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
106
|
+
__props__=None):
|
107
|
+
"""
|
108
|
+
Creates and manages Scaleway Edge Services plans.
|
109
|
+
|
110
|
+
## Example Usage
|
111
|
+
|
112
|
+
### Basic
|
113
|
+
|
114
|
+
```python
|
115
|
+
import pulumi
|
116
|
+
import pulumiverse_scaleway as scaleway
|
117
|
+
|
118
|
+
main = scaleway.EdgeServicesPlan("main", name="starter")
|
119
|
+
```
|
120
|
+
|
121
|
+
## Import
|
122
|
+
|
123
|
+
Plans can be imported using `{project_id}/{plan_name}`, e.g.
|
124
|
+
|
125
|
+
bash
|
126
|
+
|
127
|
+
```sh
|
128
|
+
$ pulumi import scaleway:index/edgeServicesPlan:EdgeServicesPlan main 11111111-1111-1111-1111-111111111111/starter
|
129
|
+
```
|
130
|
+
|
131
|
+
:param str resource_name: The name of the resource.
|
132
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
133
|
+
:param pulumi.Input[str] name: The name of the plan.
|
134
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the plan is associated with.
|
135
|
+
"""
|
136
|
+
...
|
137
|
+
@overload
|
138
|
+
def __init__(__self__,
|
139
|
+
resource_name: str,
|
140
|
+
args: Optional[EdgeServicesPlanArgs] = None,
|
141
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
142
|
+
"""
|
143
|
+
Creates and manages Scaleway Edge Services plans.
|
144
|
+
|
145
|
+
## Example Usage
|
146
|
+
|
147
|
+
### Basic
|
148
|
+
|
149
|
+
```python
|
150
|
+
import pulumi
|
151
|
+
import pulumiverse_scaleway as scaleway
|
152
|
+
|
153
|
+
main = scaleway.EdgeServicesPlan("main", name="starter")
|
154
|
+
```
|
155
|
+
|
156
|
+
## Import
|
157
|
+
|
158
|
+
Plans can be imported using `{project_id}/{plan_name}`, e.g.
|
159
|
+
|
160
|
+
bash
|
161
|
+
|
162
|
+
```sh
|
163
|
+
$ pulumi import scaleway:index/edgeServicesPlan:EdgeServicesPlan main 11111111-1111-1111-1111-111111111111/starter
|
164
|
+
```
|
165
|
+
|
166
|
+
:param str resource_name: The name of the resource.
|
167
|
+
:param EdgeServicesPlanArgs args: The arguments to use to populate this resource's properties.
|
168
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
169
|
+
"""
|
170
|
+
...
|
171
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
172
|
+
resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesPlanArgs, pulumi.ResourceOptions, *args, **kwargs)
|
173
|
+
if resource_args is not None:
|
174
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
175
|
+
else:
|
176
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
177
|
+
|
178
|
+
def _internal_init(__self__,
|
179
|
+
resource_name: str,
|
180
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
181
|
+
name: Optional[pulumi.Input[str]] = None,
|
182
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
183
|
+
__props__=None):
|
184
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
185
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
186
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
187
|
+
if opts.id is None:
|
188
|
+
if __props__ is not None:
|
189
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
190
|
+
__props__ = EdgeServicesPlanArgs.__new__(EdgeServicesPlanArgs)
|
191
|
+
|
192
|
+
__props__.__dict__["name"] = name
|
193
|
+
__props__.__dict__["project_id"] = project_id
|
194
|
+
super(EdgeServicesPlan, __self__).__init__(
|
195
|
+
'scaleway:index/edgeServicesPlan:EdgeServicesPlan',
|
196
|
+
resource_name,
|
197
|
+
__props__,
|
198
|
+
opts)
|
199
|
+
|
200
|
+
@staticmethod
|
201
|
+
def get(resource_name: str,
|
202
|
+
id: pulumi.Input[str],
|
203
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
204
|
+
name: Optional[pulumi.Input[str]] = None,
|
205
|
+
project_id: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesPlan':
|
206
|
+
"""
|
207
|
+
Get an existing EdgeServicesPlan resource's state with the given name, id, and optional extra
|
208
|
+
properties used to qualify the lookup.
|
209
|
+
|
210
|
+
:param str resource_name: The unique name of the resulting resource.
|
211
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
212
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
213
|
+
:param pulumi.Input[str] name: The name of the plan.
|
214
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the plan is associated with.
|
215
|
+
"""
|
216
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
217
|
+
|
218
|
+
__props__ = _EdgeServicesPlanState.__new__(_EdgeServicesPlanState)
|
219
|
+
|
220
|
+
__props__.__dict__["name"] = name
|
221
|
+
__props__.__dict__["project_id"] = project_id
|
222
|
+
return EdgeServicesPlan(resource_name, opts=opts, __props__=__props__)
|
223
|
+
|
224
|
+
@property
|
225
|
+
@pulumi.getter
|
226
|
+
def name(self) -> pulumi.Output[str]:
|
227
|
+
"""
|
228
|
+
The name of the plan.
|
229
|
+
"""
|
230
|
+
return pulumi.get(self, "name")
|
231
|
+
|
232
|
+
@property
|
233
|
+
@pulumi.getter(name="projectId")
|
234
|
+
def project_id(self) -> pulumi.Output[str]:
|
235
|
+
"""
|
236
|
+
`project_id`) The ID of the project the plan is associated with.
|
237
|
+
"""
|
238
|
+
return pulumi.get(self, "project_id")
|
239
|
+
|
@@ -0,0 +1,422 @@
|
|
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__ = ['EdgeServicesRouteStageArgs', 'EdgeServicesRouteStage']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class EdgeServicesRouteStageArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
pipeline_id: pulumi.Input[str],
|
25
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
26
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]] = None,
|
27
|
+
waf_stage_id: Optional[pulumi.Input[str]] = None):
|
28
|
+
"""
|
29
|
+
The set of arguments for constructing a EdgeServicesRouteStage resource.
|
30
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
31
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the route stage is associated with.
|
32
|
+
:param pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]] rules: The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
33
|
+
:param pulumi.Input[str] waf_stage_id: The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
34
|
+
"""
|
35
|
+
pulumi.set(__self__, "pipeline_id", pipeline_id)
|
36
|
+
if project_id is not None:
|
37
|
+
pulumi.set(__self__, "project_id", project_id)
|
38
|
+
if rules is not None:
|
39
|
+
pulumi.set(__self__, "rules", rules)
|
40
|
+
if waf_stage_id is not None:
|
41
|
+
pulumi.set(__self__, "waf_stage_id", waf_stage_id)
|
42
|
+
|
43
|
+
@property
|
44
|
+
@pulumi.getter(name="pipelineId")
|
45
|
+
def pipeline_id(self) -> pulumi.Input[str]:
|
46
|
+
"""
|
47
|
+
The ID of the pipeline.
|
48
|
+
"""
|
49
|
+
return pulumi.get(self, "pipeline_id")
|
50
|
+
|
51
|
+
@pipeline_id.setter
|
52
|
+
def pipeline_id(self, value: pulumi.Input[str]):
|
53
|
+
pulumi.set(self, "pipeline_id", value)
|
54
|
+
|
55
|
+
@property
|
56
|
+
@pulumi.getter(name="projectId")
|
57
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
58
|
+
"""
|
59
|
+
`project_id`) The ID of the project the route stage is associated with.
|
60
|
+
"""
|
61
|
+
return pulumi.get(self, "project_id")
|
62
|
+
|
63
|
+
@project_id.setter
|
64
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
65
|
+
pulumi.set(self, "project_id", value)
|
66
|
+
|
67
|
+
@property
|
68
|
+
@pulumi.getter
|
69
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]]:
|
70
|
+
"""
|
71
|
+
The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
72
|
+
"""
|
73
|
+
return pulumi.get(self, "rules")
|
74
|
+
|
75
|
+
@rules.setter
|
76
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]]):
|
77
|
+
pulumi.set(self, "rules", value)
|
78
|
+
|
79
|
+
@property
|
80
|
+
@pulumi.getter(name="wafStageId")
|
81
|
+
def waf_stage_id(self) -> Optional[pulumi.Input[str]]:
|
82
|
+
"""
|
83
|
+
The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
84
|
+
"""
|
85
|
+
return pulumi.get(self, "waf_stage_id")
|
86
|
+
|
87
|
+
@waf_stage_id.setter
|
88
|
+
def waf_stage_id(self, value: Optional[pulumi.Input[str]]):
|
89
|
+
pulumi.set(self, "waf_stage_id", value)
|
90
|
+
|
91
|
+
|
92
|
+
@pulumi.input_type
|
93
|
+
class _EdgeServicesRouteStageState:
|
94
|
+
def __init__(__self__, *,
|
95
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
96
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
97
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
98
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]] = None,
|
99
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
100
|
+
waf_stage_id: Optional[pulumi.Input[str]] = None):
|
101
|
+
"""
|
102
|
+
Input properties used for looking up and filtering EdgeServicesRouteStage resources.
|
103
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the route stage.
|
104
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
105
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the route stage is associated with.
|
106
|
+
:param pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]] rules: The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
107
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the route stage.
|
108
|
+
:param pulumi.Input[str] waf_stage_id: The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
109
|
+
"""
|
110
|
+
if created_at is not None:
|
111
|
+
pulumi.set(__self__, "created_at", created_at)
|
112
|
+
if pipeline_id is not None:
|
113
|
+
pulumi.set(__self__, "pipeline_id", pipeline_id)
|
114
|
+
if project_id is not None:
|
115
|
+
pulumi.set(__self__, "project_id", project_id)
|
116
|
+
if rules is not None:
|
117
|
+
pulumi.set(__self__, "rules", rules)
|
118
|
+
if updated_at is not None:
|
119
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
120
|
+
if waf_stage_id is not None:
|
121
|
+
pulumi.set(__self__, "waf_stage_id", waf_stage_id)
|
122
|
+
|
123
|
+
@property
|
124
|
+
@pulumi.getter(name="createdAt")
|
125
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
126
|
+
"""
|
127
|
+
The date and time of the creation of the route stage.
|
128
|
+
"""
|
129
|
+
return pulumi.get(self, "created_at")
|
130
|
+
|
131
|
+
@created_at.setter
|
132
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
133
|
+
pulumi.set(self, "created_at", value)
|
134
|
+
|
135
|
+
@property
|
136
|
+
@pulumi.getter(name="pipelineId")
|
137
|
+
def pipeline_id(self) -> Optional[pulumi.Input[str]]:
|
138
|
+
"""
|
139
|
+
The ID of the pipeline.
|
140
|
+
"""
|
141
|
+
return pulumi.get(self, "pipeline_id")
|
142
|
+
|
143
|
+
@pipeline_id.setter
|
144
|
+
def pipeline_id(self, value: Optional[pulumi.Input[str]]):
|
145
|
+
pulumi.set(self, "pipeline_id", value)
|
146
|
+
|
147
|
+
@property
|
148
|
+
@pulumi.getter(name="projectId")
|
149
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
150
|
+
"""
|
151
|
+
`project_id`) The ID of the project the route stage is associated with.
|
152
|
+
"""
|
153
|
+
return pulumi.get(self, "project_id")
|
154
|
+
|
155
|
+
@project_id.setter
|
156
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
157
|
+
pulumi.set(self, "project_id", value)
|
158
|
+
|
159
|
+
@property
|
160
|
+
@pulumi.getter
|
161
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]]:
|
162
|
+
"""
|
163
|
+
The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "rules")
|
166
|
+
|
167
|
+
@rules.setter
|
168
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EdgeServicesRouteStageRuleArgs']]]]):
|
169
|
+
pulumi.set(self, "rules", value)
|
170
|
+
|
171
|
+
@property
|
172
|
+
@pulumi.getter(name="updatedAt")
|
173
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
174
|
+
"""
|
175
|
+
The date and time of the last update of the route stage.
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "updated_at")
|
178
|
+
|
179
|
+
@updated_at.setter
|
180
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
181
|
+
pulumi.set(self, "updated_at", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter(name="wafStageId")
|
185
|
+
def waf_stage_id(self) -> Optional[pulumi.Input[str]]:
|
186
|
+
"""
|
187
|
+
The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
188
|
+
"""
|
189
|
+
return pulumi.get(self, "waf_stage_id")
|
190
|
+
|
191
|
+
@waf_stage_id.setter
|
192
|
+
def waf_stage_id(self, value: Optional[pulumi.Input[str]]):
|
193
|
+
pulumi.set(self, "waf_stage_id", value)
|
194
|
+
|
195
|
+
|
196
|
+
class EdgeServicesRouteStage(pulumi.CustomResource):
|
197
|
+
@overload
|
198
|
+
def __init__(__self__,
|
199
|
+
resource_name: str,
|
200
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
201
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
202
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
203
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesRouteStageRuleArgs', 'EdgeServicesRouteStageRuleArgsDict']]]]] = None,
|
204
|
+
waf_stage_id: Optional[pulumi.Input[str]] = None,
|
205
|
+
__props__=None):
|
206
|
+
"""
|
207
|
+
Creates and manages Scaleway Edge Services Route Stages.
|
208
|
+
|
209
|
+
## Example Usage
|
210
|
+
|
211
|
+
### Basic
|
212
|
+
|
213
|
+
```python
|
214
|
+
import pulumi
|
215
|
+
import pulumiverse_scaleway as scaleway
|
216
|
+
|
217
|
+
main = scaleway.EdgeServicesRouteStage("main",
|
218
|
+
pipeline_id=main_scaleway_edge_services_pipeline["id"],
|
219
|
+
waf_stage_id=waf["id"],
|
220
|
+
rules=[{
|
221
|
+
"backend_stage_id": backend["id"],
|
222
|
+
"rule_http_match": {
|
223
|
+
"method_filters": [
|
224
|
+
"get",
|
225
|
+
"post",
|
226
|
+
],
|
227
|
+
"path_filter": {
|
228
|
+
"path_filter_type": "regex",
|
229
|
+
"value": ".*",
|
230
|
+
},
|
231
|
+
},
|
232
|
+
}])
|
233
|
+
```
|
234
|
+
|
235
|
+
## Import
|
236
|
+
|
237
|
+
Route stages can be imported using the `{id}`, e.g.
|
238
|
+
|
239
|
+
bash
|
240
|
+
|
241
|
+
```sh
|
242
|
+
$ pulumi import scaleway:index/edgeServicesRouteStage:EdgeServicesRouteStage 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] pipeline_id: The ID of the pipeline.
|
248
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the route stage is associated with.
|
249
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesRouteStageRuleArgs', 'EdgeServicesRouteStageRuleArgsDict']]]] rules: The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
250
|
+
:param pulumi.Input[str] waf_stage_id: The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
251
|
+
"""
|
252
|
+
...
|
253
|
+
@overload
|
254
|
+
def __init__(__self__,
|
255
|
+
resource_name: str,
|
256
|
+
args: EdgeServicesRouteStageArgs,
|
257
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
258
|
+
"""
|
259
|
+
Creates and manages Scaleway Edge Services Route Stages.
|
260
|
+
|
261
|
+
## Example Usage
|
262
|
+
|
263
|
+
### Basic
|
264
|
+
|
265
|
+
```python
|
266
|
+
import pulumi
|
267
|
+
import pulumiverse_scaleway as scaleway
|
268
|
+
|
269
|
+
main = scaleway.EdgeServicesRouteStage("main",
|
270
|
+
pipeline_id=main_scaleway_edge_services_pipeline["id"],
|
271
|
+
waf_stage_id=waf["id"],
|
272
|
+
rules=[{
|
273
|
+
"backend_stage_id": backend["id"],
|
274
|
+
"rule_http_match": {
|
275
|
+
"method_filters": [
|
276
|
+
"get",
|
277
|
+
"post",
|
278
|
+
],
|
279
|
+
"path_filter": {
|
280
|
+
"path_filter_type": "regex",
|
281
|
+
"value": ".*",
|
282
|
+
},
|
283
|
+
},
|
284
|
+
}])
|
285
|
+
```
|
286
|
+
|
287
|
+
## Import
|
288
|
+
|
289
|
+
Route stages can be imported using the `{id}`, e.g.
|
290
|
+
|
291
|
+
bash
|
292
|
+
|
293
|
+
```sh
|
294
|
+
$ pulumi import scaleway:index/edgeServicesRouteStage:EdgeServicesRouteStage basic 11111111-1111-1111-1111-111111111111
|
295
|
+
```
|
296
|
+
|
297
|
+
:param str resource_name: The name of the resource.
|
298
|
+
:param EdgeServicesRouteStageArgs args: The arguments to use to populate this resource's properties.
|
299
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
300
|
+
"""
|
301
|
+
...
|
302
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
303
|
+
resource_args, opts = _utilities.get_resource_args_opts(EdgeServicesRouteStageArgs, pulumi.ResourceOptions, *args, **kwargs)
|
304
|
+
if resource_args is not None:
|
305
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
306
|
+
else:
|
307
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
308
|
+
|
309
|
+
def _internal_init(__self__,
|
310
|
+
resource_name: str,
|
311
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
312
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
313
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
314
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesRouteStageRuleArgs', 'EdgeServicesRouteStageRuleArgsDict']]]]] = None,
|
315
|
+
waf_stage_id: Optional[pulumi.Input[str]] = None,
|
316
|
+
__props__=None):
|
317
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
318
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
319
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
320
|
+
if opts.id is None:
|
321
|
+
if __props__ is not None:
|
322
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
323
|
+
__props__ = EdgeServicesRouteStageArgs.__new__(EdgeServicesRouteStageArgs)
|
324
|
+
|
325
|
+
if pipeline_id is None and not opts.urn:
|
326
|
+
raise TypeError("Missing required property 'pipeline_id'")
|
327
|
+
__props__.__dict__["pipeline_id"] = pipeline_id
|
328
|
+
__props__.__dict__["project_id"] = project_id
|
329
|
+
__props__.__dict__["rules"] = rules
|
330
|
+
__props__.__dict__["waf_stage_id"] = waf_stage_id
|
331
|
+
__props__.__dict__["created_at"] = None
|
332
|
+
__props__.__dict__["updated_at"] = None
|
333
|
+
super(EdgeServicesRouteStage, __self__).__init__(
|
334
|
+
'scaleway:index/edgeServicesRouteStage:EdgeServicesRouteStage',
|
335
|
+
resource_name,
|
336
|
+
__props__,
|
337
|
+
opts)
|
338
|
+
|
339
|
+
@staticmethod
|
340
|
+
def get(resource_name: str,
|
341
|
+
id: pulumi.Input[str],
|
342
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
343
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
344
|
+
pipeline_id: Optional[pulumi.Input[str]] = None,
|
345
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
346
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesRouteStageRuleArgs', 'EdgeServicesRouteStageRuleArgsDict']]]]] = None,
|
347
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
348
|
+
waf_stage_id: Optional[pulumi.Input[str]] = None) -> 'EdgeServicesRouteStage':
|
349
|
+
"""
|
350
|
+
Get an existing EdgeServicesRouteStage resource's state with the given name, id, and optional extra
|
351
|
+
properties used to qualify the lookup.
|
352
|
+
|
353
|
+
:param str resource_name: The unique name of the resulting resource.
|
354
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
355
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
356
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the route stage.
|
357
|
+
:param pulumi.Input[str] pipeline_id: The ID of the pipeline.
|
358
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the route stage is associated with.
|
359
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['EdgeServicesRouteStageRuleArgs', 'EdgeServicesRouteStageRuleArgsDict']]]] rules: The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
360
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the route stage.
|
361
|
+
:param pulumi.Input[str] waf_stage_id: The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
362
|
+
"""
|
363
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
364
|
+
|
365
|
+
__props__ = _EdgeServicesRouteStageState.__new__(_EdgeServicesRouteStageState)
|
366
|
+
|
367
|
+
__props__.__dict__["created_at"] = created_at
|
368
|
+
__props__.__dict__["pipeline_id"] = pipeline_id
|
369
|
+
__props__.__dict__["project_id"] = project_id
|
370
|
+
__props__.__dict__["rules"] = rules
|
371
|
+
__props__.__dict__["updated_at"] = updated_at
|
372
|
+
__props__.__dict__["waf_stage_id"] = waf_stage_id
|
373
|
+
return EdgeServicesRouteStage(resource_name, opts=opts, __props__=__props__)
|
374
|
+
|
375
|
+
@property
|
376
|
+
@pulumi.getter(name="createdAt")
|
377
|
+
def created_at(self) -> pulumi.Output[str]:
|
378
|
+
"""
|
379
|
+
The date and time of the creation of the route stage.
|
380
|
+
"""
|
381
|
+
return pulumi.get(self, "created_at")
|
382
|
+
|
383
|
+
@property
|
384
|
+
@pulumi.getter(name="pipelineId")
|
385
|
+
def pipeline_id(self) -> pulumi.Output[str]:
|
386
|
+
"""
|
387
|
+
The ID of the pipeline.
|
388
|
+
"""
|
389
|
+
return pulumi.get(self, "pipeline_id")
|
390
|
+
|
391
|
+
@property
|
392
|
+
@pulumi.getter(name="projectId")
|
393
|
+
def project_id(self) -> pulumi.Output[str]:
|
394
|
+
"""
|
395
|
+
`project_id`) The ID of the project the route stage is associated with.
|
396
|
+
"""
|
397
|
+
return pulumi.get(self, "project_id")
|
398
|
+
|
399
|
+
@property
|
400
|
+
@pulumi.getter
|
401
|
+
def rules(self) -> pulumi.Output[Optional[Sequence['outputs.EdgeServicesRouteStageRule']]]:
|
402
|
+
"""
|
403
|
+
The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `waf_stage_id`.
|
404
|
+
"""
|
405
|
+
return pulumi.get(self, "rules")
|
406
|
+
|
407
|
+
@property
|
408
|
+
@pulumi.getter(name="updatedAt")
|
409
|
+
def updated_at(self) -> pulumi.Output[str]:
|
410
|
+
"""
|
411
|
+
The date and time of the last update of the route stage.
|
412
|
+
"""
|
413
|
+
return pulumi.get(self, "updated_at")
|
414
|
+
|
415
|
+
@property
|
416
|
+
@pulumi.getter(name="wafStageId")
|
417
|
+
def waf_stage_id(self) -> pulumi.Output[Optional[str]]:
|
418
|
+
"""
|
419
|
+
The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
|
420
|
+
"""
|
421
|
+
return pulumi.get(self, "waf_stage_id")
|
422
|
+
|