pulumi-hcloud 1.18.0a1710156455__py3-none-any.whl → 1.22.0a1736849475__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.
- pulumi_hcloud/__init__.py +2 -0
- pulumi_hcloud/_inputs.py +247 -15
- pulumi_hcloud/_utilities.py +41 -5
- pulumi_hcloud/certificate.py +15 -10
- pulumi_hcloud/config/__init__.pyi +5 -0
- pulumi_hcloud/config/vars.py +5 -0
- pulumi_hcloud/firewall.py +77 -70
- pulumi_hcloud/firewall_attachment.py +27 -26
- pulumi_hcloud/floating_ip.py +39 -36
- pulumi_hcloud/floating_ip_assignment.py +11 -8
- pulumi_hcloud/get_certificate.py +25 -10
- pulumi_hcloud/get_certificates.py +14 -9
- pulumi_hcloud/get_datacenter.py +38 -27
- pulumi_hcloud/get_datacenters.py +28 -53
- pulumi_hcloud/get_firewall.py +38 -23
- pulumi_hcloud/get_firewalls.py +16 -9
- pulumi_hcloud/get_floating_ip.py +37 -17
- pulumi_hcloud/get_floating_ips.py +14 -9
- pulumi_hcloud/get_image.py +37 -13
- pulumi_hcloud/get_images.py +22 -9
- pulumi_hcloud/get_load_balancer.py +30 -11
- pulumi_hcloud/get_load_balancer_type.py +202 -0
- pulumi_hcloud/get_load_balancer_types.py +100 -0
- pulumi_hcloud/get_load_balancers.py +14 -9
- pulumi_hcloud/get_location.py +42 -29
- pulumi_hcloud/get_locations.py +28 -53
- pulumi_hcloud/get_network.py +28 -15
- pulumi_hcloud/get_networks.py +14 -9
- pulumi_hcloud/get_placement_group.py +31 -17
- pulumi_hcloud/get_placement_groups.py +16 -9
- pulumi_hcloud/get_primary_ip.py +42 -22
- pulumi_hcloud/get_primary_ips.py +14 -9
- pulumi_hcloud/get_server.py +43 -15
- pulumi_hcloud/get_server_type.py +75 -53
- pulumi_hcloud/get_server_types.py +39 -23
- pulumi_hcloud/get_servers.py +16 -9
- pulumi_hcloud/get_ssh_key.py +58 -36
- pulumi_hcloud/get_ssh_keys.py +35 -24
- pulumi_hcloud/get_volume.py +33 -16
- pulumi_hcloud/get_volumes.py +18 -11
- pulumi_hcloud/load_balancer.py +63 -64
- pulumi_hcloud/load_balancer_network.py +26 -17
- pulumi_hcloud/load_balancer_service.py +57 -54
- pulumi_hcloud/load_balancer_target.py +23 -18
- pulumi_hcloud/managed_certificate.py +57 -20
- pulumi_hcloud/network.py +27 -22
- pulumi_hcloud/network_route.py +13 -8
- pulumi_hcloud/network_subnet.py +13 -8
- pulumi_hcloud/outputs.py +265 -46
- pulumi_hcloud/placement_group.py +27 -22
- pulumi_hcloud/primary_ip.py +66 -47
- pulumi_hcloud/provider.py +5 -0
- pulumi_hcloud/pulumi-plugin.json +2 -1
- pulumi_hcloud/rdns.py +41 -40
- pulumi_hcloud/server.py +123 -176
- pulumi_hcloud/server_network.py +24 -17
- pulumi_hcloud/snapshot.py +25 -22
- pulumi_hcloud/ssh_key.py +52 -51
- pulumi_hcloud/uploaded_certificate.py +73 -20
- pulumi_hcloud/volume.py +37 -32
- pulumi_hcloud/volume_attachment.py +11 -8
- {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/METADATA +7 -6
- pulumi_hcloud-1.22.0a1736849475.dist-info/RECORD +67 -0
- {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/WHEEL +1 -1
- pulumi_hcloud-1.18.0a1710156455.dist-info/RECORD +0 -65
- {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/top_level.txt +0 -0
pulumi_hcloud/firewall.py
CHANGED
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import warnings
|
|
7
|
+
import sys
|
|
7
8
|
import pulumi
|
|
8
9
|
import pulumi.runtime
|
|
9
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
|
|
10
15
|
from . import _utilities
|
|
11
16
|
from . import outputs
|
|
12
17
|
from ._inputs import *
|
|
@@ -17,13 +22,13 @@ __all__ = ['FirewallArgs', 'Firewall']
|
|
|
17
22
|
class FirewallArgs:
|
|
18
23
|
def __init__(__self__, *,
|
|
19
24
|
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]]] = None,
|
|
20
|
-
labels: Optional[pulumi.Input[Mapping[str,
|
|
25
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
21
26
|
name: Optional[pulumi.Input[str]] = None,
|
|
22
27
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]]] = None):
|
|
23
28
|
"""
|
|
24
29
|
The set of arguments for constructing a Firewall resource.
|
|
25
30
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]] apply_tos: Resources the firewall should be assigned to
|
|
26
|
-
:param pulumi.Input[Mapping[str,
|
|
31
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
|
|
27
32
|
:param pulumi.Input[str] name: Name of the Firewall.
|
|
28
33
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]] rules: Configuration of a Rule from this Firewall.
|
|
29
34
|
"""
|
|
@@ -50,14 +55,14 @@ class FirewallArgs:
|
|
|
50
55
|
|
|
51
56
|
@property
|
|
52
57
|
@pulumi.getter
|
|
53
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str,
|
|
58
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
54
59
|
"""
|
|
55
60
|
User-defined labels (key-value pairs) should be created with.
|
|
56
61
|
"""
|
|
57
62
|
return pulumi.get(self, "labels")
|
|
58
63
|
|
|
59
64
|
@labels.setter
|
|
60
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str,
|
|
65
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
61
66
|
pulumi.set(self, "labels", value)
|
|
62
67
|
|
|
63
68
|
@property
|
|
@@ -89,13 +94,13 @@ class FirewallArgs:
|
|
|
89
94
|
class _FirewallState:
|
|
90
95
|
def __init__(__self__, *,
|
|
91
96
|
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]]] = None,
|
|
92
|
-
labels: Optional[pulumi.Input[Mapping[str,
|
|
97
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
93
98
|
name: Optional[pulumi.Input[str]] = None,
|
|
94
99
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]]] = None):
|
|
95
100
|
"""
|
|
96
101
|
Input properties used for looking up and filtering Firewall resources.
|
|
97
102
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]] apply_tos: Resources the firewall should be assigned to
|
|
98
|
-
:param pulumi.Input[Mapping[str,
|
|
103
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
|
|
99
104
|
:param pulumi.Input[str] name: Name of the Firewall.
|
|
100
105
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]] rules: Configuration of a Rule from this Firewall.
|
|
101
106
|
"""
|
|
@@ -122,14 +127,14 @@ class _FirewallState:
|
|
|
122
127
|
|
|
123
128
|
@property
|
|
124
129
|
@pulumi.getter
|
|
125
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str,
|
|
130
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
126
131
|
"""
|
|
127
132
|
User-defined labels (key-value pairs) should be created with.
|
|
128
133
|
"""
|
|
129
134
|
return pulumi.get(self, "labels")
|
|
130
135
|
|
|
131
136
|
@labels.setter
|
|
132
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str,
|
|
137
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
133
138
|
pulumi.set(self, "labels", value)
|
|
134
139
|
|
|
135
140
|
@property
|
|
@@ -162,61 +167,62 @@ class Firewall(pulumi.CustomResource):
|
|
|
162
167
|
def __init__(__self__,
|
|
163
168
|
resource_name: str,
|
|
164
169
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
165
|
-
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
166
|
-
labels: Optional[pulumi.Input[Mapping[str,
|
|
170
|
+
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
|
|
171
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
167
172
|
name: Optional[pulumi.Input[str]] = None,
|
|
168
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
173
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None,
|
|
169
174
|
__props__=None):
|
|
170
175
|
"""
|
|
171
176
|
Provides a Hetzner Cloud Firewall to represent a Firewall in the Hetzner Cloud.
|
|
172
177
|
|
|
173
178
|
## Example Usage
|
|
174
179
|
|
|
175
|
-
<!--Start PulumiCodeChooser -->
|
|
176
180
|
```python
|
|
177
181
|
import pulumi
|
|
178
182
|
import pulumi_hcloud as hcloud
|
|
179
183
|
|
|
180
|
-
myfirewall = hcloud.Firewall("myfirewall",
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
"
|
|
186
|
-
"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
184
|
+
myfirewall = hcloud.Firewall("myfirewall",
|
|
185
|
+
name="my-firewall",
|
|
186
|
+
rules=[
|
|
187
|
+
{
|
|
188
|
+
"direction": "in",
|
|
189
|
+
"protocol": "icmp",
|
|
190
|
+
"source_ips": [
|
|
191
|
+
"0.0.0.0/0",
|
|
192
|
+
"::/0",
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"direction": "in",
|
|
197
|
+
"protocol": "tcp",
|
|
198
|
+
"port": "80-85",
|
|
199
|
+
"source_ips": [
|
|
200
|
+
"0.0.0.0/0",
|
|
201
|
+
"::/0",
|
|
202
|
+
],
|
|
203
|
+
},
|
|
204
|
+
])
|
|
199
205
|
node1 = hcloud.Server("node1",
|
|
206
|
+
name="node1",
|
|
200
207
|
image="debian-11",
|
|
201
|
-
server_type="
|
|
208
|
+
server_type="cx22",
|
|
202
209
|
firewall_ids=[myfirewall.id])
|
|
203
210
|
```
|
|
204
|
-
<!--End PulumiCodeChooser -->
|
|
205
211
|
|
|
206
212
|
## Import
|
|
207
213
|
|
|
208
214
|
Firewalls can be imported using its `id`:
|
|
209
215
|
|
|
210
216
|
```sh
|
|
211
|
-
$ pulumi import hcloud:index/firewall:Firewall
|
|
217
|
+
$ pulumi import hcloud:index/firewall:Firewall example "$FIREWALL_ID"
|
|
212
218
|
```
|
|
213
219
|
|
|
214
220
|
:param str resource_name: The name of the resource.
|
|
215
221
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
216
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
217
|
-
:param pulumi.Input[Mapping[str,
|
|
222
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]] apply_tos: Resources the firewall should be assigned to
|
|
223
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
|
|
218
224
|
:param pulumi.Input[str] name: Name of the Firewall.
|
|
219
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
225
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]] rules: Configuration of a Rule from this Firewall.
|
|
220
226
|
"""
|
|
221
227
|
...
|
|
222
228
|
@overload
|
|
@@ -229,43 +235,44 @@ class Firewall(pulumi.CustomResource):
|
|
|
229
235
|
|
|
230
236
|
## Example Usage
|
|
231
237
|
|
|
232
|
-
<!--Start PulumiCodeChooser -->
|
|
233
238
|
```python
|
|
234
239
|
import pulumi
|
|
235
240
|
import pulumi_hcloud as hcloud
|
|
236
241
|
|
|
237
|
-
myfirewall = hcloud.Firewall("myfirewall",
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
"
|
|
243
|
-
"
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
"
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
242
|
+
myfirewall = hcloud.Firewall("myfirewall",
|
|
243
|
+
name="my-firewall",
|
|
244
|
+
rules=[
|
|
245
|
+
{
|
|
246
|
+
"direction": "in",
|
|
247
|
+
"protocol": "icmp",
|
|
248
|
+
"source_ips": [
|
|
249
|
+
"0.0.0.0/0",
|
|
250
|
+
"::/0",
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"direction": "in",
|
|
255
|
+
"protocol": "tcp",
|
|
256
|
+
"port": "80-85",
|
|
257
|
+
"source_ips": [
|
|
258
|
+
"0.0.0.0/0",
|
|
259
|
+
"::/0",
|
|
260
|
+
],
|
|
261
|
+
},
|
|
262
|
+
])
|
|
256
263
|
node1 = hcloud.Server("node1",
|
|
264
|
+
name="node1",
|
|
257
265
|
image="debian-11",
|
|
258
|
-
server_type="
|
|
266
|
+
server_type="cx22",
|
|
259
267
|
firewall_ids=[myfirewall.id])
|
|
260
268
|
```
|
|
261
|
-
<!--End PulumiCodeChooser -->
|
|
262
269
|
|
|
263
270
|
## Import
|
|
264
271
|
|
|
265
272
|
Firewalls can be imported using its `id`:
|
|
266
273
|
|
|
267
274
|
```sh
|
|
268
|
-
$ pulumi import hcloud:index/firewall:Firewall
|
|
275
|
+
$ pulumi import hcloud:index/firewall:Firewall example "$FIREWALL_ID"
|
|
269
276
|
```
|
|
270
277
|
|
|
271
278
|
:param str resource_name: The name of the resource.
|
|
@@ -283,10 +290,10 @@ class Firewall(pulumi.CustomResource):
|
|
|
283
290
|
def _internal_init(__self__,
|
|
284
291
|
resource_name: str,
|
|
285
292
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
286
|
-
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
287
|
-
labels: Optional[pulumi.Input[Mapping[str,
|
|
293
|
+
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
|
|
294
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
288
295
|
name: Optional[pulumi.Input[str]] = None,
|
|
289
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
296
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None,
|
|
290
297
|
__props__=None):
|
|
291
298
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
292
299
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -310,10 +317,10 @@ class Firewall(pulumi.CustomResource):
|
|
|
310
317
|
def get(resource_name: str,
|
|
311
318
|
id: pulumi.Input[str],
|
|
312
319
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
313
|
-
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
314
|
-
labels: Optional[pulumi.Input[Mapping[str,
|
|
320
|
+
apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
|
|
321
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
315
322
|
name: Optional[pulumi.Input[str]] = None,
|
|
316
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
323
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None) -> 'Firewall':
|
|
317
324
|
"""
|
|
318
325
|
Get an existing Firewall resource's state with the given name, id, and optional extra
|
|
319
326
|
properties used to qualify the lookup.
|
|
@@ -321,10 +328,10 @@ class Firewall(pulumi.CustomResource):
|
|
|
321
328
|
:param str resource_name: The unique name of the resulting resource.
|
|
322
329
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
323
330
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
324
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
325
|
-
:param pulumi.Input[Mapping[str,
|
|
331
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]] apply_tos: Resources the firewall should be assigned to
|
|
332
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
|
|
326
333
|
:param pulumi.Input[str] name: Name of the Firewall.
|
|
327
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
334
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]] rules: Configuration of a Rule from this Firewall.
|
|
328
335
|
"""
|
|
329
336
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
330
337
|
|
|
@@ -346,7 +353,7 @@ class Firewall(pulumi.CustomResource):
|
|
|
346
353
|
|
|
347
354
|
@property
|
|
348
355
|
@pulumi.getter
|
|
349
|
-
def labels(self) -> pulumi.Output[Mapping[str,
|
|
356
|
+
def labels(self) -> pulumi.Output[Mapping[str, str]]:
|
|
350
357
|
"""
|
|
351
358
|
User-defined labels (key-value pairs) should be created with.
|
|
352
359
|
"""
|
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import warnings
|
|
7
|
+
import sys
|
|
7
8
|
import pulumi
|
|
8
9
|
import pulumi.runtime
|
|
9
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
|
|
10
15
|
from . import _utilities
|
|
11
16
|
|
|
12
17
|
__all__ = ['FirewallAttachmentArgs', 'FirewallAttachment']
|
|
@@ -146,7 +151,7 @@ class FirewallAttachment(pulumi.CustomResource):
|
|
|
146
151
|
"""
|
|
147
152
|
Attaches resource to a Hetzner Cloud Firewall.
|
|
148
153
|
|
|
149
|
-
|
|
154
|
+
_Note_: only one `FirewallAttachment` per Firewall is allowed.
|
|
150
155
|
Any resources that should be attached to that Firewall need to be
|
|
151
156
|
specified in that `FirewallAttachment`.
|
|
152
157
|
|
|
@@ -154,40 +159,38 @@ class FirewallAttachment(pulumi.CustomResource):
|
|
|
154
159
|
|
|
155
160
|
### Attach Servers
|
|
156
161
|
|
|
157
|
-
<!--Start PulumiCodeChooser -->
|
|
158
162
|
```python
|
|
159
163
|
import pulumi
|
|
160
164
|
import pulumi_hcloud as hcloud
|
|
161
165
|
|
|
162
|
-
test_server = hcloud.Server("
|
|
163
|
-
|
|
166
|
+
test_server = hcloud.Server("test_server",
|
|
167
|
+
name="test-server",
|
|
168
|
+
server_type="cx22",
|
|
164
169
|
image="ubuntu-20.04")
|
|
165
|
-
basic_firewall = hcloud.Firewall("
|
|
166
|
-
fw_ref = hcloud.FirewallAttachment("
|
|
170
|
+
basic_firewall = hcloud.Firewall("basic_firewall", name="basic_firewall")
|
|
171
|
+
fw_ref = hcloud.FirewallAttachment("fw_ref",
|
|
167
172
|
firewall_id=basic_firewall.id,
|
|
168
173
|
server_ids=[test_server.id])
|
|
169
174
|
```
|
|
170
|
-
<!--End PulumiCodeChooser -->
|
|
171
175
|
|
|
172
176
|
### Attach Label Selectors
|
|
173
177
|
|
|
174
|
-
<!--Start PulumiCodeChooser -->
|
|
175
178
|
```python
|
|
176
179
|
import pulumi
|
|
177
180
|
import pulumi_hcloud as hcloud
|
|
178
181
|
|
|
179
|
-
test_server = hcloud.Server("
|
|
180
|
-
|
|
182
|
+
test_server = hcloud.Server("test_server",
|
|
183
|
+
name="test-server",
|
|
184
|
+
server_type="cx22",
|
|
181
185
|
image="ubuntu-20.04",
|
|
182
186
|
labels={
|
|
183
187
|
"firewall-attachment": "test-server",
|
|
184
188
|
})
|
|
185
|
-
basic_firewall = hcloud.Firewall("
|
|
186
|
-
fw_ref = hcloud.FirewallAttachment("
|
|
189
|
+
basic_firewall = hcloud.Firewall("basic_firewall", name="basic_firewall")
|
|
190
|
+
fw_ref = hcloud.FirewallAttachment("fw_ref",
|
|
187
191
|
firewall_id=basic_firewall.id,
|
|
188
192
|
label_selectors=["firewall-attachment=test-server"])
|
|
189
193
|
```
|
|
190
|
-
<!--End PulumiCodeChooser -->
|
|
191
194
|
|
|
192
195
|
:param str resource_name: The name of the resource.
|
|
193
196
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
@@ -207,7 +210,7 @@ class FirewallAttachment(pulumi.CustomResource):
|
|
|
207
210
|
"""
|
|
208
211
|
Attaches resource to a Hetzner Cloud Firewall.
|
|
209
212
|
|
|
210
|
-
|
|
213
|
+
_Note_: only one `FirewallAttachment` per Firewall is allowed.
|
|
211
214
|
Any resources that should be attached to that Firewall need to be
|
|
212
215
|
specified in that `FirewallAttachment`.
|
|
213
216
|
|
|
@@ -215,40 +218,38 @@ class FirewallAttachment(pulumi.CustomResource):
|
|
|
215
218
|
|
|
216
219
|
### Attach Servers
|
|
217
220
|
|
|
218
|
-
<!--Start PulumiCodeChooser -->
|
|
219
221
|
```python
|
|
220
222
|
import pulumi
|
|
221
223
|
import pulumi_hcloud as hcloud
|
|
222
224
|
|
|
223
|
-
test_server = hcloud.Server("
|
|
224
|
-
|
|
225
|
+
test_server = hcloud.Server("test_server",
|
|
226
|
+
name="test-server",
|
|
227
|
+
server_type="cx22",
|
|
225
228
|
image="ubuntu-20.04")
|
|
226
|
-
basic_firewall = hcloud.Firewall("
|
|
227
|
-
fw_ref = hcloud.FirewallAttachment("
|
|
229
|
+
basic_firewall = hcloud.Firewall("basic_firewall", name="basic_firewall")
|
|
230
|
+
fw_ref = hcloud.FirewallAttachment("fw_ref",
|
|
228
231
|
firewall_id=basic_firewall.id,
|
|
229
232
|
server_ids=[test_server.id])
|
|
230
233
|
```
|
|
231
|
-
<!--End PulumiCodeChooser -->
|
|
232
234
|
|
|
233
235
|
### Attach Label Selectors
|
|
234
236
|
|
|
235
|
-
<!--Start PulumiCodeChooser -->
|
|
236
237
|
```python
|
|
237
238
|
import pulumi
|
|
238
239
|
import pulumi_hcloud as hcloud
|
|
239
240
|
|
|
240
|
-
test_server = hcloud.Server("
|
|
241
|
-
|
|
241
|
+
test_server = hcloud.Server("test_server",
|
|
242
|
+
name="test-server",
|
|
243
|
+
server_type="cx22",
|
|
242
244
|
image="ubuntu-20.04",
|
|
243
245
|
labels={
|
|
244
246
|
"firewall-attachment": "test-server",
|
|
245
247
|
})
|
|
246
|
-
basic_firewall = hcloud.Firewall("
|
|
247
|
-
fw_ref = hcloud.FirewallAttachment("
|
|
248
|
+
basic_firewall = hcloud.Firewall("basic_firewall", name="basic_firewall")
|
|
249
|
+
fw_ref = hcloud.FirewallAttachment("fw_ref",
|
|
248
250
|
firewall_id=basic_firewall.id,
|
|
249
251
|
label_selectors=["firewall-attachment=test-server"])
|
|
250
252
|
```
|
|
251
|
-
<!--End PulumiCodeChooser -->
|
|
252
253
|
|
|
253
254
|
:param str resource_name: The name of the resource.
|
|
254
255
|
:param FirewallAttachmentArgs args: The arguments to use to populate this resource's properties.
|