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
@@ -15,6 +15,8 @@ else:
|
|
15
15
|
from .. import _utilities
|
16
16
|
|
17
17
|
__all__ = [
|
18
|
+
'AclRuleArgs',
|
19
|
+
'AclRuleArgsDict',
|
18
20
|
'GatewayNetworkIpamConfigArgs',
|
19
21
|
'GatewayNetworkIpamConfigArgsDict',
|
20
22
|
'PrivateNetworkIpv4SubnetArgs',
|
@@ -25,6 +27,198 @@ __all__ = [
|
|
25
27
|
|
26
28
|
MYPY = False
|
27
29
|
|
30
|
+
if not MYPY:
|
31
|
+
class AclRuleArgsDict(TypedDict):
|
32
|
+
action: NotRequired[pulumi.Input[str]]
|
33
|
+
"""
|
34
|
+
The policy to apply to the packet.
|
35
|
+
"""
|
36
|
+
description: NotRequired[pulumi.Input[str]]
|
37
|
+
"""
|
38
|
+
The rule description.
|
39
|
+
"""
|
40
|
+
destination: NotRequired[pulumi.Input[str]]
|
41
|
+
"""
|
42
|
+
The destination IP range to which this rule applies (CIDR notation with subnet mask).
|
43
|
+
"""
|
44
|
+
dst_port_high: NotRequired[pulumi.Input[int]]
|
45
|
+
"""
|
46
|
+
The ending port of the destination port range to which this rule applies (inclusive).
|
47
|
+
"""
|
48
|
+
dst_port_low: NotRequired[pulumi.Input[int]]
|
49
|
+
"""
|
50
|
+
The starting port of the destination port range to which this rule applies (inclusive).
|
51
|
+
"""
|
52
|
+
protocol: NotRequired[pulumi.Input[str]]
|
53
|
+
"""
|
54
|
+
The protocol to which this rule applies. Default value: ANY.
|
55
|
+
"""
|
56
|
+
source: NotRequired[pulumi.Input[str]]
|
57
|
+
"""
|
58
|
+
The Source IP range to which this rule applies (CIDR notation with subnet mask).
|
59
|
+
"""
|
60
|
+
src_port_high: NotRequired[pulumi.Input[int]]
|
61
|
+
"""
|
62
|
+
The ending port of the source port range to which this rule applies (inclusive).
|
63
|
+
"""
|
64
|
+
src_port_low: NotRequired[pulumi.Input[int]]
|
65
|
+
"""
|
66
|
+
The starting port of the source port range to which this rule applies (inclusive).
|
67
|
+
"""
|
68
|
+
elif False:
|
69
|
+
AclRuleArgsDict: TypeAlias = Mapping[str, Any]
|
70
|
+
|
71
|
+
@pulumi.input_type
|
72
|
+
class AclRuleArgs:
|
73
|
+
def __init__(__self__, *,
|
74
|
+
action: Optional[pulumi.Input[str]] = None,
|
75
|
+
description: Optional[pulumi.Input[str]] = None,
|
76
|
+
destination: Optional[pulumi.Input[str]] = None,
|
77
|
+
dst_port_high: Optional[pulumi.Input[int]] = None,
|
78
|
+
dst_port_low: Optional[pulumi.Input[int]] = None,
|
79
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
80
|
+
source: Optional[pulumi.Input[str]] = None,
|
81
|
+
src_port_high: Optional[pulumi.Input[int]] = None,
|
82
|
+
src_port_low: Optional[pulumi.Input[int]] = None):
|
83
|
+
"""
|
84
|
+
:param pulumi.Input[str] action: The policy to apply to the packet.
|
85
|
+
:param pulumi.Input[str] description: The rule description.
|
86
|
+
:param pulumi.Input[str] destination: The destination IP range to which this rule applies (CIDR notation with subnet mask).
|
87
|
+
:param pulumi.Input[int] dst_port_high: The ending port of the destination port range to which this rule applies (inclusive).
|
88
|
+
:param pulumi.Input[int] dst_port_low: The starting port of the destination port range to which this rule applies (inclusive).
|
89
|
+
:param pulumi.Input[str] protocol: The protocol to which this rule applies. Default value: ANY.
|
90
|
+
:param pulumi.Input[str] source: The Source IP range to which this rule applies (CIDR notation with subnet mask).
|
91
|
+
:param pulumi.Input[int] src_port_high: The ending port of the source port range to which this rule applies (inclusive).
|
92
|
+
:param pulumi.Input[int] src_port_low: The starting port of the source port range to which this rule applies (inclusive).
|
93
|
+
"""
|
94
|
+
if action is not None:
|
95
|
+
pulumi.set(__self__, "action", action)
|
96
|
+
if description is not None:
|
97
|
+
pulumi.set(__self__, "description", description)
|
98
|
+
if destination is not None:
|
99
|
+
pulumi.set(__self__, "destination", destination)
|
100
|
+
if dst_port_high is not None:
|
101
|
+
pulumi.set(__self__, "dst_port_high", dst_port_high)
|
102
|
+
if dst_port_low is not None:
|
103
|
+
pulumi.set(__self__, "dst_port_low", dst_port_low)
|
104
|
+
if protocol is not None:
|
105
|
+
pulumi.set(__self__, "protocol", protocol)
|
106
|
+
if source is not None:
|
107
|
+
pulumi.set(__self__, "source", source)
|
108
|
+
if src_port_high is not None:
|
109
|
+
pulumi.set(__self__, "src_port_high", src_port_high)
|
110
|
+
if src_port_low is not None:
|
111
|
+
pulumi.set(__self__, "src_port_low", src_port_low)
|
112
|
+
|
113
|
+
@property
|
114
|
+
@pulumi.getter
|
115
|
+
def action(self) -> Optional[pulumi.Input[str]]:
|
116
|
+
"""
|
117
|
+
The policy to apply to the packet.
|
118
|
+
"""
|
119
|
+
return pulumi.get(self, "action")
|
120
|
+
|
121
|
+
@action.setter
|
122
|
+
def action(self, value: Optional[pulumi.Input[str]]):
|
123
|
+
pulumi.set(self, "action", value)
|
124
|
+
|
125
|
+
@property
|
126
|
+
@pulumi.getter
|
127
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
128
|
+
"""
|
129
|
+
The rule description.
|
130
|
+
"""
|
131
|
+
return pulumi.get(self, "description")
|
132
|
+
|
133
|
+
@description.setter
|
134
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
135
|
+
pulumi.set(self, "description", value)
|
136
|
+
|
137
|
+
@property
|
138
|
+
@pulumi.getter
|
139
|
+
def destination(self) -> Optional[pulumi.Input[str]]:
|
140
|
+
"""
|
141
|
+
The destination IP range to which this rule applies (CIDR notation with subnet mask).
|
142
|
+
"""
|
143
|
+
return pulumi.get(self, "destination")
|
144
|
+
|
145
|
+
@destination.setter
|
146
|
+
def destination(self, value: Optional[pulumi.Input[str]]):
|
147
|
+
pulumi.set(self, "destination", value)
|
148
|
+
|
149
|
+
@property
|
150
|
+
@pulumi.getter(name="dstPortHigh")
|
151
|
+
def dst_port_high(self) -> Optional[pulumi.Input[int]]:
|
152
|
+
"""
|
153
|
+
The ending port of the destination port range to which this rule applies (inclusive).
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "dst_port_high")
|
156
|
+
|
157
|
+
@dst_port_high.setter
|
158
|
+
def dst_port_high(self, value: Optional[pulumi.Input[int]]):
|
159
|
+
pulumi.set(self, "dst_port_high", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter(name="dstPortLow")
|
163
|
+
def dst_port_low(self) -> Optional[pulumi.Input[int]]:
|
164
|
+
"""
|
165
|
+
The starting port of the destination port range to which this rule applies (inclusive).
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "dst_port_low")
|
168
|
+
|
169
|
+
@dst_port_low.setter
|
170
|
+
def dst_port_low(self, value: Optional[pulumi.Input[int]]):
|
171
|
+
pulumi.set(self, "dst_port_low", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter
|
175
|
+
def protocol(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
The protocol to which this rule applies. Default value: ANY.
|
178
|
+
"""
|
179
|
+
return pulumi.get(self, "protocol")
|
180
|
+
|
181
|
+
@protocol.setter
|
182
|
+
def protocol(self, value: Optional[pulumi.Input[str]]):
|
183
|
+
pulumi.set(self, "protocol", value)
|
184
|
+
|
185
|
+
@property
|
186
|
+
@pulumi.getter
|
187
|
+
def source(self) -> Optional[pulumi.Input[str]]:
|
188
|
+
"""
|
189
|
+
The Source IP range to which this rule applies (CIDR notation with subnet mask).
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "source")
|
192
|
+
|
193
|
+
@source.setter
|
194
|
+
def source(self, value: Optional[pulumi.Input[str]]):
|
195
|
+
pulumi.set(self, "source", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter(name="srcPortHigh")
|
199
|
+
def src_port_high(self) -> Optional[pulumi.Input[int]]:
|
200
|
+
"""
|
201
|
+
The ending port of the source port range to which this rule applies (inclusive).
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "src_port_high")
|
204
|
+
|
205
|
+
@src_port_high.setter
|
206
|
+
def src_port_high(self, value: Optional[pulumi.Input[int]]):
|
207
|
+
pulumi.set(self, "src_port_high", value)
|
208
|
+
|
209
|
+
@property
|
210
|
+
@pulumi.getter(name="srcPortLow")
|
211
|
+
def src_port_low(self) -> Optional[pulumi.Input[int]]:
|
212
|
+
"""
|
213
|
+
The starting port of the source port range to which this rule applies (inclusive).
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "src_port_low")
|
216
|
+
|
217
|
+
@src_port_low.setter
|
218
|
+
def src_port_low(self, value: Optional[pulumi.Input[int]]):
|
219
|
+
pulumi.set(self, "src_port_low", value)
|
220
|
+
|
221
|
+
|
28
222
|
if not MYPY:
|
29
223
|
class GatewayNetworkIpamConfigArgsDict(TypedDict):
|
30
224
|
ipam_ip_id: NotRequired[pulumi.Input[str]]
|
@@ -0,0 +1,415 @@
|
|
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__ = ['AclArgs', 'Acl']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class AclArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
default_policy: pulumi.Input[str],
|
25
|
+
rules: pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]],
|
26
|
+
vpc_id: pulumi.Input[str],
|
27
|
+
is_ipv6: Optional[pulumi.Input[bool]] = None,
|
28
|
+
region: Optional[pulumi.Input[str]] = None):
|
29
|
+
"""
|
30
|
+
The set of arguments for constructing a Acl resource.
|
31
|
+
:param pulumi.Input[str] default_policy: The action to take for packets which do not match any rules.
|
32
|
+
:param pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]] rules: The list of Network ACL rules.
|
33
|
+
:param pulumi.Input[str] vpc_id: The VPC ID the ACL belongs to.
|
34
|
+
:param pulumi.Input[bool] is_ipv6: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
35
|
+
:param pulumi.Input[str] region: `region`) The region of the ACL.
|
36
|
+
"""
|
37
|
+
pulumi.set(__self__, "default_policy", default_policy)
|
38
|
+
pulumi.set(__self__, "rules", rules)
|
39
|
+
pulumi.set(__self__, "vpc_id", vpc_id)
|
40
|
+
if is_ipv6 is not None:
|
41
|
+
pulumi.set(__self__, "is_ipv6", is_ipv6)
|
42
|
+
if region is not None:
|
43
|
+
pulumi.set(__self__, "region", region)
|
44
|
+
|
45
|
+
@property
|
46
|
+
@pulumi.getter(name="defaultPolicy")
|
47
|
+
def default_policy(self) -> pulumi.Input[str]:
|
48
|
+
"""
|
49
|
+
The action to take for packets which do not match any rules.
|
50
|
+
"""
|
51
|
+
return pulumi.get(self, "default_policy")
|
52
|
+
|
53
|
+
@default_policy.setter
|
54
|
+
def default_policy(self, value: pulumi.Input[str]):
|
55
|
+
pulumi.set(self, "default_policy", value)
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter
|
59
|
+
def rules(self) -> pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]]:
|
60
|
+
"""
|
61
|
+
The list of Network ACL rules.
|
62
|
+
"""
|
63
|
+
return pulumi.get(self, "rules")
|
64
|
+
|
65
|
+
@rules.setter
|
66
|
+
def rules(self, value: pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]]):
|
67
|
+
pulumi.set(self, "rules", value)
|
68
|
+
|
69
|
+
@property
|
70
|
+
@pulumi.getter(name="vpcId")
|
71
|
+
def vpc_id(self) -> pulumi.Input[str]:
|
72
|
+
"""
|
73
|
+
The VPC ID the ACL belongs to.
|
74
|
+
"""
|
75
|
+
return pulumi.get(self, "vpc_id")
|
76
|
+
|
77
|
+
@vpc_id.setter
|
78
|
+
def vpc_id(self, value: pulumi.Input[str]):
|
79
|
+
pulumi.set(self, "vpc_id", value)
|
80
|
+
|
81
|
+
@property
|
82
|
+
@pulumi.getter(name="isIpv6")
|
83
|
+
def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
84
|
+
"""
|
85
|
+
Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
86
|
+
"""
|
87
|
+
return pulumi.get(self, "is_ipv6")
|
88
|
+
|
89
|
+
@is_ipv6.setter
|
90
|
+
def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
91
|
+
pulumi.set(self, "is_ipv6", value)
|
92
|
+
|
93
|
+
@property
|
94
|
+
@pulumi.getter
|
95
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
96
|
+
"""
|
97
|
+
`region`) The region of the ACL.
|
98
|
+
"""
|
99
|
+
return pulumi.get(self, "region")
|
100
|
+
|
101
|
+
@region.setter
|
102
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
103
|
+
pulumi.set(self, "region", value)
|
104
|
+
|
105
|
+
|
106
|
+
@pulumi.input_type
|
107
|
+
class _AclState:
|
108
|
+
def __init__(__self__, *,
|
109
|
+
default_policy: Optional[pulumi.Input[str]] = None,
|
110
|
+
is_ipv6: Optional[pulumi.Input[bool]] = None,
|
111
|
+
region: Optional[pulumi.Input[str]] = None,
|
112
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]]] = None,
|
113
|
+
vpc_id: Optional[pulumi.Input[str]] = None):
|
114
|
+
"""
|
115
|
+
Input properties used for looking up and filtering Acl resources.
|
116
|
+
:param pulumi.Input[str] default_policy: The action to take for packets which do not match any rules.
|
117
|
+
:param pulumi.Input[bool] is_ipv6: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
118
|
+
:param pulumi.Input[str] region: `region`) The region of the ACL.
|
119
|
+
:param pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]] rules: The list of Network ACL rules.
|
120
|
+
:param pulumi.Input[str] vpc_id: The VPC ID the ACL belongs to.
|
121
|
+
"""
|
122
|
+
if default_policy is not None:
|
123
|
+
pulumi.set(__self__, "default_policy", default_policy)
|
124
|
+
if is_ipv6 is not None:
|
125
|
+
pulumi.set(__self__, "is_ipv6", is_ipv6)
|
126
|
+
if region is not None:
|
127
|
+
pulumi.set(__self__, "region", region)
|
128
|
+
if rules is not None:
|
129
|
+
pulumi.set(__self__, "rules", rules)
|
130
|
+
if vpc_id is not None:
|
131
|
+
pulumi.set(__self__, "vpc_id", vpc_id)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter(name="defaultPolicy")
|
135
|
+
def default_policy(self) -> Optional[pulumi.Input[str]]:
|
136
|
+
"""
|
137
|
+
The action to take for packets which do not match any rules.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "default_policy")
|
140
|
+
|
141
|
+
@default_policy.setter
|
142
|
+
def default_policy(self, value: Optional[pulumi.Input[str]]):
|
143
|
+
pulumi.set(self, "default_policy", value)
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter(name="isIpv6")
|
147
|
+
def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
148
|
+
"""
|
149
|
+
Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
150
|
+
"""
|
151
|
+
return pulumi.get(self, "is_ipv6")
|
152
|
+
|
153
|
+
@is_ipv6.setter
|
154
|
+
def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
155
|
+
pulumi.set(self, "is_ipv6", value)
|
156
|
+
|
157
|
+
@property
|
158
|
+
@pulumi.getter
|
159
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
160
|
+
"""
|
161
|
+
`region`) The region of the ACL.
|
162
|
+
"""
|
163
|
+
return pulumi.get(self, "region")
|
164
|
+
|
165
|
+
@region.setter
|
166
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
167
|
+
pulumi.set(self, "region", value)
|
168
|
+
|
169
|
+
@property
|
170
|
+
@pulumi.getter
|
171
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]]]:
|
172
|
+
"""
|
173
|
+
The list of Network ACL rules.
|
174
|
+
"""
|
175
|
+
return pulumi.get(self, "rules")
|
176
|
+
|
177
|
+
@rules.setter
|
178
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AclRuleArgs']]]]):
|
179
|
+
pulumi.set(self, "rules", value)
|
180
|
+
|
181
|
+
@property
|
182
|
+
@pulumi.getter(name="vpcId")
|
183
|
+
def vpc_id(self) -> Optional[pulumi.Input[str]]:
|
184
|
+
"""
|
185
|
+
The VPC ID the ACL belongs to.
|
186
|
+
"""
|
187
|
+
return pulumi.get(self, "vpc_id")
|
188
|
+
|
189
|
+
@vpc_id.setter
|
190
|
+
def vpc_id(self, value: Optional[pulumi.Input[str]]):
|
191
|
+
pulumi.set(self, "vpc_id", value)
|
192
|
+
|
193
|
+
|
194
|
+
class Acl(pulumi.CustomResource):
|
195
|
+
@overload
|
196
|
+
def __init__(__self__,
|
197
|
+
resource_name: str,
|
198
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
199
|
+
default_policy: Optional[pulumi.Input[str]] = None,
|
200
|
+
is_ipv6: Optional[pulumi.Input[bool]] = None,
|
201
|
+
region: Optional[pulumi.Input[str]] = None,
|
202
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRuleArgs', 'AclRuleArgsDict']]]]] = None,
|
203
|
+
vpc_id: Optional[pulumi.Input[str]] = None,
|
204
|
+
__props__=None):
|
205
|
+
"""
|
206
|
+
Creates and manages Scaleway VPC ACLs.
|
207
|
+
|
208
|
+
## Example Usage
|
209
|
+
|
210
|
+
### Basic
|
211
|
+
|
212
|
+
```python
|
213
|
+
import pulumi
|
214
|
+
import pulumiverse_scaleway as scaleway
|
215
|
+
|
216
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="tf-vpc-acl")
|
217
|
+
acl01 = scaleway.network.Acl("acl01",
|
218
|
+
vpc_id=vpc01.id,
|
219
|
+
is_ipv6=False,
|
220
|
+
rules=[{
|
221
|
+
"protocol": "TCP",
|
222
|
+
"src_port_low": 0,
|
223
|
+
"src_port_high": 0,
|
224
|
+
"dst_port_low": 80,
|
225
|
+
"dst_port_high": 80,
|
226
|
+
"source": "0.0.0.0/0",
|
227
|
+
"destination": "0.0.0.0/0",
|
228
|
+
"description": "Allow HTTP traffic from any source",
|
229
|
+
"action": "accept",
|
230
|
+
}],
|
231
|
+
default_policy="drop")
|
232
|
+
```
|
233
|
+
|
234
|
+
## Import
|
235
|
+
|
236
|
+
ACLs can be imported using `{region}/{id}`, e.g.
|
237
|
+
|
238
|
+
bash
|
239
|
+
|
240
|
+
```sh
|
241
|
+
$ pulumi import scaleway:network/acl:Acl main fr-par/11111111-1111-1111-1111-111111111111
|
242
|
+
```
|
243
|
+
|
244
|
+
:param str resource_name: The name of the resource.
|
245
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
246
|
+
:param pulumi.Input[str] default_policy: The action to take for packets which do not match any rules.
|
247
|
+
:param pulumi.Input[bool] is_ipv6: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
248
|
+
:param pulumi.Input[str] region: `region`) The region of the ACL.
|
249
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['AclRuleArgs', 'AclRuleArgsDict']]]] rules: The list of Network ACL rules.
|
250
|
+
:param pulumi.Input[str] vpc_id: The VPC ID the ACL belongs to.
|
251
|
+
"""
|
252
|
+
...
|
253
|
+
@overload
|
254
|
+
def __init__(__self__,
|
255
|
+
resource_name: str,
|
256
|
+
args: AclArgs,
|
257
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
258
|
+
"""
|
259
|
+
Creates and manages Scaleway VPC ACLs.
|
260
|
+
|
261
|
+
## Example Usage
|
262
|
+
|
263
|
+
### Basic
|
264
|
+
|
265
|
+
```python
|
266
|
+
import pulumi
|
267
|
+
import pulumiverse_scaleway as scaleway
|
268
|
+
|
269
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="tf-vpc-acl")
|
270
|
+
acl01 = scaleway.network.Acl("acl01",
|
271
|
+
vpc_id=vpc01.id,
|
272
|
+
is_ipv6=False,
|
273
|
+
rules=[{
|
274
|
+
"protocol": "TCP",
|
275
|
+
"src_port_low": 0,
|
276
|
+
"src_port_high": 0,
|
277
|
+
"dst_port_low": 80,
|
278
|
+
"dst_port_high": 80,
|
279
|
+
"source": "0.0.0.0/0",
|
280
|
+
"destination": "0.0.0.0/0",
|
281
|
+
"description": "Allow HTTP traffic from any source",
|
282
|
+
"action": "accept",
|
283
|
+
}],
|
284
|
+
default_policy="drop")
|
285
|
+
```
|
286
|
+
|
287
|
+
## Import
|
288
|
+
|
289
|
+
ACLs can be imported using `{region}/{id}`, e.g.
|
290
|
+
|
291
|
+
bash
|
292
|
+
|
293
|
+
```sh
|
294
|
+
$ pulumi import scaleway:network/acl:Acl main fr-par/11111111-1111-1111-1111-111111111111
|
295
|
+
```
|
296
|
+
|
297
|
+
:param str resource_name: The name of the resource.
|
298
|
+
:param AclArgs 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(AclArgs, 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
|
+
default_policy: Optional[pulumi.Input[str]] = None,
|
313
|
+
is_ipv6: Optional[pulumi.Input[bool]] = None,
|
314
|
+
region: Optional[pulumi.Input[str]] = None,
|
315
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRuleArgs', 'AclRuleArgsDict']]]]] = None,
|
316
|
+
vpc_id: Optional[pulumi.Input[str]] = None,
|
317
|
+
__props__=None):
|
318
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
319
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
320
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
321
|
+
if opts.id is None:
|
322
|
+
if __props__ is not None:
|
323
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
324
|
+
__props__ = AclArgs.__new__(AclArgs)
|
325
|
+
|
326
|
+
if default_policy is None and not opts.urn:
|
327
|
+
raise TypeError("Missing required property 'default_policy'")
|
328
|
+
__props__.__dict__["default_policy"] = default_policy
|
329
|
+
__props__.__dict__["is_ipv6"] = is_ipv6
|
330
|
+
__props__.__dict__["region"] = region
|
331
|
+
if rules is None and not opts.urn:
|
332
|
+
raise TypeError("Missing required property 'rules'")
|
333
|
+
__props__.__dict__["rules"] = rules
|
334
|
+
if vpc_id is None and not opts.urn:
|
335
|
+
raise TypeError("Missing required property 'vpc_id'")
|
336
|
+
__props__.__dict__["vpc_id"] = vpc_id
|
337
|
+
super(Acl, __self__).__init__(
|
338
|
+
'scaleway:network/acl:Acl',
|
339
|
+
resource_name,
|
340
|
+
__props__,
|
341
|
+
opts)
|
342
|
+
|
343
|
+
@staticmethod
|
344
|
+
def get(resource_name: str,
|
345
|
+
id: pulumi.Input[str],
|
346
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
347
|
+
default_policy: Optional[pulumi.Input[str]] = None,
|
348
|
+
is_ipv6: Optional[pulumi.Input[bool]] = None,
|
349
|
+
region: Optional[pulumi.Input[str]] = None,
|
350
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRuleArgs', 'AclRuleArgsDict']]]]] = None,
|
351
|
+
vpc_id: Optional[pulumi.Input[str]] = None) -> 'Acl':
|
352
|
+
"""
|
353
|
+
Get an existing Acl resource's state with the given name, id, and optional extra
|
354
|
+
properties used to qualify the lookup.
|
355
|
+
|
356
|
+
:param str resource_name: The unique name of the resulting resource.
|
357
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
358
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
359
|
+
:param pulumi.Input[str] default_policy: The action to take for packets which do not match any rules.
|
360
|
+
:param pulumi.Input[bool] is_ipv6: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
361
|
+
:param pulumi.Input[str] region: `region`) The region of the ACL.
|
362
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['AclRuleArgs', 'AclRuleArgsDict']]]] rules: The list of Network ACL rules.
|
363
|
+
:param pulumi.Input[str] vpc_id: The VPC ID the ACL belongs to.
|
364
|
+
"""
|
365
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
366
|
+
|
367
|
+
__props__ = _AclState.__new__(_AclState)
|
368
|
+
|
369
|
+
__props__.__dict__["default_policy"] = default_policy
|
370
|
+
__props__.__dict__["is_ipv6"] = is_ipv6
|
371
|
+
__props__.__dict__["region"] = region
|
372
|
+
__props__.__dict__["rules"] = rules
|
373
|
+
__props__.__dict__["vpc_id"] = vpc_id
|
374
|
+
return Acl(resource_name, opts=opts, __props__=__props__)
|
375
|
+
|
376
|
+
@property
|
377
|
+
@pulumi.getter(name="defaultPolicy")
|
378
|
+
def default_policy(self) -> pulumi.Output[str]:
|
379
|
+
"""
|
380
|
+
The action to take for packets which do not match any rules.
|
381
|
+
"""
|
382
|
+
return pulumi.get(self, "default_policy")
|
383
|
+
|
384
|
+
@property
|
385
|
+
@pulumi.getter(name="isIpv6")
|
386
|
+
def is_ipv6(self) -> pulumi.Output[Optional[bool]]:
|
387
|
+
"""
|
388
|
+
Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
|
389
|
+
"""
|
390
|
+
return pulumi.get(self, "is_ipv6")
|
391
|
+
|
392
|
+
@property
|
393
|
+
@pulumi.getter
|
394
|
+
def region(self) -> pulumi.Output[str]:
|
395
|
+
"""
|
396
|
+
`region`) The region of the ACL.
|
397
|
+
"""
|
398
|
+
return pulumi.get(self, "region")
|
399
|
+
|
400
|
+
@property
|
401
|
+
@pulumi.getter
|
402
|
+
def rules(self) -> pulumi.Output[Sequence['outputs.AclRule']]:
|
403
|
+
"""
|
404
|
+
The list of Network ACL rules.
|
405
|
+
"""
|
406
|
+
return pulumi.get(self, "rules")
|
407
|
+
|
408
|
+
@property
|
409
|
+
@pulumi.getter(name="vpcId")
|
410
|
+
def vpc_id(self) -> pulumi.Output[str]:
|
411
|
+
"""
|
412
|
+
The VPC ID the ACL belongs to.
|
413
|
+
"""
|
414
|
+
return pulumi.get(self, "vpc_id")
|
415
|
+
|