pulumi-hcloud 1.20.4__tar.gz → 1.21.0__tar.gz
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-1.20.4 → pulumi_hcloud-1.21.0}/PKG-INFO +3 -2
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/__init__.py +2 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/_inputs.py +234 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/_utilities.py +1 -1
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/certificate.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/config/__init__.pyi +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/config/vars.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/firewall.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/firewall_attachment.py +7 -2
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/floating_ip.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/floating_ip_assignment.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_certificate.py +23 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_certificates.py +13 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_datacenter.py +18 -5
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_datacenters.py +18 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_firewall.py +26 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_firewalls.py +15 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_floating_ip.py +30 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_floating_ips.py +13 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_image.py +34 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_images.py +21 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_load_balancer.py +28 -5
- pulumi_hcloud-1.21.0/pulumi_hcloud/get_load_balancer_type.py +200 -0
- pulumi_hcloud-1.21.0/pulumi_hcloud/get_load_balancer_types.py +100 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_load_balancers.py +13 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_location.py +19 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_locations.py +18 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_network.py +23 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_networks.py +13 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_placement_group.py +25 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_placement_groups.py +15 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_primary_ip.py +28 -6
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_primary_ips.py +13 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_server.py +40 -6
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_server_type.py +35 -13
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_server_types.py +32 -12
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_servers.py +15 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_ssh_key.py +23 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_ssh_keys.py +14 -4
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_volume.py +30 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/get_volumes.py +17 -6
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/load_balancer.py +12 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/load_balancer_network.py +12 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/load_balancer_service.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/load_balancer_target.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/managed_certificate.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/network.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/network_route.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/network_subnet.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/outputs.py +68 -8
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/placement_group.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/primary_ip.py +40 -21
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/provider.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/pulumi-plugin.json +1 -1
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/rdns.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/server.py +25 -14
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/server_network.py +12 -7
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/snapshot.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/ssh_key.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/uploaded_certificate.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/volume.py +19 -14
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/volume_attachment.py +5 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud.egg-info/PKG-INFO +3 -2
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud.egg-info/SOURCES.txt +2 -0
- pulumi_hcloud-1.21.0/pulumi_hcloud.egg-info/requires.txt +6 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pyproject.toml +2 -2
- pulumi_hcloud-1.20.4/pulumi_hcloud.egg-info/requires.txt +0 -3
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/README.md +0 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/config/__init__.py +0 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud/py.typed +0 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud.egg-info/dependency_links.txt +0 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/pulumi_hcloud.egg-info/top_level.txt +0 -0
- {pulumi_hcloud-1.20.4 → pulumi_hcloud-1.21.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pulumi_hcloud
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.21.0
|
|
4
4
|
Summary: A Pulumi package for creating and managing hcloud cloud resources.
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://pulumi.io
|
|
@@ -9,8 +9,9 @@ Keywords: pulumi,hcloud
|
|
|
9
9
|
Requires-Python: >=3.8
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
11
11
|
Requires-Dist: parver>=0.2.1
|
|
12
|
-
Requires-Dist: pulumi<4.0.0,>=3.
|
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.136.0
|
|
13
13
|
Requires-Dist: semver>=2.8.1
|
|
14
|
+
Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
|
|
14
15
|
|
|
15
16
|
# HCloud provider
|
|
16
17
|
|
|
@@ -21,6 +21,8 @@ from .get_floating_ips import *
|
|
|
21
21
|
from .get_image import *
|
|
22
22
|
from .get_images import *
|
|
23
23
|
from .get_load_balancer import *
|
|
24
|
+
from .get_load_balancer_type import *
|
|
25
|
+
from .get_load_balancer_types import *
|
|
24
26
|
from .get_load_balancers import *
|
|
25
27
|
from .get_location import *
|
|
26
28
|
from .get_locations import *
|
|
@@ -4,25 +4,58 @@
|
|
|
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__ = [
|
|
13
18
|
'FirewallApplyToArgs',
|
|
19
|
+
'FirewallApplyToArgsDict',
|
|
14
20
|
'FirewallRuleArgs',
|
|
21
|
+
'FirewallRuleArgsDict',
|
|
15
22
|
'LoadBalancerAlgorithmArgs',
|
|
23
|
+
'LoadBalancerAlgorithmArgsDict',
|
|
16
24
|
'LoadBalancerServiceHealthCheckArgs',
|
|
25
|
+
'LoadBalancerServiceHealthCheckArgsDict',
|
|
17
26
|
'LoadBalancerServiceHealthCheckHttpArgs',
|
|
27
|
+
'LoadBalancerServiceHealthCheckHttpArgsDict',
|
|
18
28
|
'LoadBalancerServiceHttpArgs',
|
|
29
|
+
'LoadBalancerServiceHttpArgsDict',
|
|
19
30
|
'LoadBalancerTargetArgs',
|
|
31
|
+
'LoadBalancerTargetArgsDict',
|
|
20
32
|
'ServerNetworkArgs',
|
|
33
|
+
'ServerNetworkArgsDict',
|
|
21
34
|
'ServerPublicNetArgs',
|
|
35
|
+
'ServerPublicNetArgsDict',
|
|
22
36
|
'GetFirewallApplyToArgs',
|
|
37
|
+
'GetFirewallApplyToArgsDict',
|
|
23
38
|
'GetFirewallRuleArgs',
|
|
39
|
+
'GetFirewallRuleArgsDict',
|
|
24
40
|
]
|
|
25
41
|
|
|
42
|
+
MYPY = False
|
|
43
|
+
|
|
44
|
+
if not MYPY:
|
|
45
|
+
class FirewallApplyToArgsDict(TypedDict):
|
|
46
|
+
label_selector: NotRequired[pulumi.Input[str]]
|
|
47
|
+
"""
|
|
48
|
+
Label Selector to select servers the firewall should be applied to (only one
|
|
49
|
+
of `server` and `label_selector`can be applied in one block)
|
|
50
|
+
"""
|
|
51
|
+
server: NotRequired[pulumi.Input[int]]
|
|
52
|
+
"""
|
|
53
|
+
ID of the server you want to apply the firewall to (only one of `server`
|
|
54
|
+
and `label_selector`can be applied in one block)
|
|
55
|
+
"""
|
|
56
|
+
elif False:
|
|
57
|
+
FirewallApplyToArgsDict: TypeAlias = Mapping[str, Any]
|
|
58
|
+
|
|
26
59
|
@pulumi.input_type
|
|
27
60
|
class FirewallApplyToArgs:
|
|
28
61
|
def __init__(__self__, *,
|
|
@@ -66,6 +99,38 @@ class FirewallApplyToArgs:
|
|
|
66
99
|
pulumi.set(self, "server", value)
|
|
67
100
|
|
|
68
101
|
|
|
102
|
+
if not MYPY:
|
|
103
|
+
class FirewallRuleArgsDict(TypedDict):
|
|
104
|
+
direction: pulumi.Input[str]
|
|
105
|
+
"""
|
|
106
|
+
Direction of the Firewall Rule. `in`
|
|
107
|
+
"""
|
|
108
|
+
protocol: pulumi.Input[str]
|
|
109
|
+
"""
|
|
110
|
+
Protocol of the Firewall Rule. `tcp`, `icmp`, `udp`, `gre`, `esp`
|
|
111
|
+
"""
|
|
112
|
+
description: NotRequired[pulumi.Input[str]]
|
|
113
|
+
"""
|
|
114
|
+
Description of the firewall rule
|
|
115
|
+
"""
|
|
116
|
+
destination_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
117
|
+
"""
|
|
118
|
+
List of IPs or CIDRs that are allowed within this Firewall Rule (when `direction`
|
|
119
|
+
is `out`)
|
|
120
|
+
"""
|
|
121
|
+
port: NotRequired[pulumi.Input[str]]
|
|
122
|
+
"""
|
|
123
|
+
Port of the Firewall Rule. Required when `protocol` is `tcp` or `udp`. You can use `any`
|
|
124
|
+
to allow all ports for the specific protocol. Port ranges are also possible: `80-85` allows all ports between 80 and 85.
|
|
125
|
+
"""
|
|
126
|
+
source_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
127
|
+
"""
|
|
128
|
+
List of IPs or CIDRs that are allowed within this Firewall Rule (when `direction`
|
|
129
|
+
is `in`)
|
|
130
|
+
"""
|
|
131
|
+
elif False:
|
|
132
|
+
FirewallRuleArgsDict: TypeAlias = Mapping[str, Any]
|
|
133
|
+
|
|
69
134
|
@pulumi.input_type
|
|
70
135
|
class FirewallRuleArgs:
|
|
71
136
|
def __init__(__self__, *,
|
|
@@ -173,6 +238,15 @@ class FirewallRuleArgs:
|
|
|
173
238
|
pulumi.set(self, "source_ips", value)
|
|
174
239
|
|
|
175
240
|
|
|
241
|
+
if not MYPY:
|
|
242
|
+
class LoadBalancerAlgorithmArgsDict(TypedDict):
|
|
243
|
+
type: NotRequired[pulumi.Input[str]]
|
|
244
|
+
"""
|
|
245
|
+
Type of the Load Balancer Algorithm. `round_robin` or `least_connections`
|
|
246
|
+
"""
|
|
247
|
+
elif False:
|
|
248
|
+
LoadBalancerAlgorithmArgsDict: TypeAlias = Mapping[str, Any]
|
|
249
|
+
|
|
176
250
|
@pulumi.input_type
|
|
177
251
|
class LoadBalancerAlgorithmArgs:
|
|
178
252
|
def __init__(__self__, *,
|
|
@@ -196,6 +270,35 @@ class LoadBalancerAlgorithmArgs:
|
|
|
196
270
|
pulumi.set(self, "type", value)
|
|
197
271
|
|
|
198
272
|
|
|
273
|
+
if not MYPY:
|
|
274
|
+
class LoadBalancerServiceHealthCheckArgsDict(TypedDict):
|
|
275
|
+
interval: pulumi.Input[int]
|
|
276
|
+
"""
|
|
277
|
+
Interval how often the health check will be performed, in seconds.
|
|
278
|
+
"""
|
|
279
|
+
port: pulumi.Input[int]
|
|
280
|
+
"""
|
|
281
|
+
Port the health check tries to connect to, required if protocol is `tcp`. Can be everything between `1` and `65535`. Must be unique per Load Balancer.
|
|
282
|
+
"""
|
|
283
|
+
protocol: pulumi.Input[str]
|
|
284
|
+
"""
|
|
285
|
+
Protocol the health check uses. `http` or `tcp`
|
|
286
|
+
"""
|
|
287
|
+
timeout: pulumi.Input[int]
|
|
288
|
+
"""
|
|
289
|
+
Timeout when a health check try will be canceled if there is no response, in seconds.
|
|
290
|
+
"""
|
|
291
|
+
http: NotRequired[pulumi.Input['LoadBalancerServiceHealthCheckHttpArgsDict']]
|
|
292
|
+
"""
|
|
293
|
+
HTTP configuration. Required if `protocol` is `http`.
|
|
294
|
+
"""
|
|
295
|
+
retries: NotRequired[pulumi.Input[int]]
|
|
296
|
+
"""
|
|
297
|
+
Number of tries a health check will be performed until a target will be listed as `unhealthy`.
|
|
298
|
+
"""
|
|
299
|
+
elif False:
|
|
300
|
+
LoadBalancerServiceHealthCheckArgsDict: TypeAlias = Mapping[str, Any]
|
|
301
|
+
|
|
199
302
|
@pulumi.input_type
|
|
200
303
|
class LoadBalancerServiceHealthCheckArgs:
|
|
201
304
|
def __init__(__self__, *,
|
|
@@ -295,6 +398,31 @@ class LoadBalancerServiceHealthCheckArgs:
|
|
|
295
398
|
pulumi.set(self, "retries", value)
|
|
296
399
|
|
|
297
400
|
|
|
401
|
+
if not MYPY:
|
|
402
|
+
class LoadBalancerServiceHealthCheckHttpArgsDict(TypedDict):
|
|
403
|
+
domain: NotRequired[pulumi.Input[str]]
|
|
404
|
+
"""
|
|
405
|
+
Domain we try to access when performing the Health Check.
|
|
406
|
+
"""
|
|
407
|
+
path: NotRequired[pulumi.Input[str]]
|
|
408
|
+
"""
|
|
409
|
+
Path we try to access when performing the Health Check.
|
|
410
|
+
"""
|
|
411
|
+
response: NotRequired[pulumi.Input[str]]
|
|
412
|
+
"""
|
|
413
|
+
Response we expect to be included in the Target response when a Health Check was performed.
|
|
414
|
+
"""
|
|
415
|
+
status_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
416
|
+
"""
|
|
417
|
+
We expect that the target answers with these status codes. If not the target is marked as `unhealthy`.
|
|
418
|
+
"""
|
|
419
|
+
tls: NotRequired[pulumi.Input[bool]]
|
|
420
|
+
"""
|
|
421
|
+
Enable TLS certificate checking.
|
|
422
|
+
"""
|
|
423
|
+
elif False:
|
|
424
|
+
LoadBalancerServiceHealthCheckHttpArgsDict: TypeAlias = Mapping[str, Any]
|
|
425
|
+
|
|
298
426
|
@pulumi.input_type
|
|
299
427
|
class LoadBalancerServiceHealthCheckHttpArgs:
|
|
300
428
|
def __init__(__self__, *,
|
|
@@ -382,6 +510,31 @@ class LoadBalancerServiceHealthCheckHttpArgs:
|
|
|
382
510
|
pulumi.set(self, "tls", value)
|
|
383
511
|
|
|
384
512
|
|
|
513
|
+
if not MYPY:
|
|
514
|
+
class LoadBalancerServiceHttpArgsDict(TypedDict):
|
|
515
|
+
certificates: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]
|
|
516
|
+
"""
|
|
517
|
+
List of IDs from certificates which the Load Balancer has.
|
|
518
|
+
"""
|
|
519
|
+
cookie_lifetime: NotRequired[pulumi.Input[int]]
|
|
520
|
+
"""
|
|
521
|
+
Lifetime of the cookie for sticky session (in seconds). Default: `300`
|
|
522
|
+
"""
|
|
523
|
+
cookie_name: NotRequired[pulumi.Input[str]]
|
|
524
|
+
"""
|
|
525
|
+
Name of the cookie for sticky session. Default: `HCLBSTICKY`
|
|
526
|
+
"""
|
|
527
|
+
redirect_http: NotRequired[pulumi.Input[bool]]
|
|
528
|
+
"""
|
|
529
|
+
Redirect HTTP to HTTPS traffic. Only supported for services with `protocol` `https` using the default HTTP port `80`.
|
|
530
|
+
"""
|
|
531
|
+
sticky_sessions: NotRequired[pulumi.Input[bool]]
|
|
532
|
+
"""
|
|
533
|
+
Enable sticky sessions
|
|
534
|
+
"""
|
|
535
|
+
elif False:
|
|
536
|
+
LoadBalancerServiceHttpArgsDict: TypeAlias = Mapping[str, Any]
|
|
537
|
+
|
|
385
538
|
@pulumi.input_type
|
|
386
539
|
class LoadBalancerServiceHttpArgs:
|
|
387
540
|
def __init__(__self__, *,
|
|
@@ -469,6 +622,17 @@ class LoadBalancerServiceHttpArgs:
|
|
|
469
622
|
pulumi.set(self, "sticky_sessions", value)
|
|
470
623
|
|
|
471
624
|
|
|
625
|
+
if not MYPY:
|
|
626
|
+
class LoadBalancerTargetArgsDict(TypedDict):
|
|
627
|
+
type: pulumi.Input[str]
|
|
628
|
+
"""
|
|
629
|
+
(string) Type of the Load Balancer Algorithm. `round_robin` or `least_connections`
|
|
630
|
+
"""
|
|
631
|
+
server_id: NotRequired[pulumi.Input[int]]
|
|
632
|
+
use_private_ip: NotRequired[pulumi.Input[bool]]
|
|
633
|
+
elif False:
|
|
634
|
+
LoadBalancerTargetArgsDict: TypeAlias = Mapping[str, Any]
|
|
635
|
+
|
|
472
636
|
@pulumi.input_type
|
|
473
637
|
class LoadBalancerTargetArgs:
|
|
474
638
|
def __init__(__self__, *,
|
|
@@ -519,6 +683,24 @@ class LoadBalancerTargetArgs:
|
|
|
519
683
|
pulumi.set(self, "use_private_ip", value)
|
|
520
684
|
|
|
521
685
|
|
|
686
|
+
if not MYPY:
|
|
687
|
+
class ServerNetworkArgsDict(TypedDict):
|
|
688
|
+
network_id: pulumi.Input[int]
|
|
689
|
+
"""
|
|
690
|
+
ID of the network
|
|
691
|
+
"""
|
|
692
|
+
alias_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
693
|
+
ip: NotRequired[pulumi.Input[str]]
|
|
694
|
+
"""
|
|
695
|
+
Specify the IP the server should get in the network
|
|
696
|
+
"""
|
|
697
|
+
mac_address: NotRequired[pulumi.Input[str]]
|
|
698
|
+
"""
|
|
699
|
+
(Optional, string) The MAC address the private interface of the server has
|
|
700
|
+
"""
|
|
701
|
+
elif False:
|
|
702
|
+
ServerNetworkArgsDict: TypeAlias = Mapping[str, Any]
|
|
703
|
+
|
|
522
704
|
@pulumi.input_type
|
|
523
705
|
class ServerNetworkArgs:
|
|
524
706
|
def __init__(__self__, *,
|
|
@@ -585,6 +767,15 @@ class ServerNetworkArgs:
|
|
|
585
767
|
pulumi.set(self, "mac_address", value)
|
|
586
768
|
|
|
587
769
|
|
|
770
|
+
if not MYPY:
|
|
771
|
+
class ServerPublicNetArgsDict(TypedDict):
|
|
772
|
+
ipv4: NotRequired[pulumi.Input[int]]
|
|
773
|
+
ipv4_enabled: NotRequired[pulumi.Input[bool]]
|
|
774
|
+
ipv6: NotRequired[pulumi.Input[int]]
|
|
775
|
+
ipv6_enabled: NotRequired[pulumi.Input[bool]]
|
|
776
|
+
elif False:
|
|
777
|
+
ServerPublicNetArgsDict: TypeAlias = Mapping[str, Any]
|
|
778
|
+
|
|
588
779
|
@pulumi.input_type
|
|
589
780
|
class ServerPublicNetArgs:
|
|
590
781
|
def __init__(__self__, *,
|
|
@@ -638,6 +829,20 @@ class ServerPublicNetArgs:
|
|
|
638
829
|
pulumi.set(self, "ipv6_enabled", value)
|
|
639
830
|
|
|
640
831
|
|
|
832
|
+
if not MYPY:
|
|
833
|
+
class GetFirewallApplyToArgsDict(TypedDict):
|
|
834
|
+
label_selector: str
|
|
835
|
+
"""
|
|
836
|
+
(string) Label Selector to select servers the firewall is applied to. Empty if a server is directly
|
|
837
|
+
referenced
|
|
838
|
+
"""
|
|
839
|
+
server: int
|
|
840
|
+
"""
|
|
841
|
+
(int) ID of a server where the firewall is applied to. `0` if applied to a label_selector
|
|
842
|
+
"""
|
|
843
|
+
elif False:
|
|
844
|
+
GetFirewallApplyToArgsDict: TypeAlias = Mapping[str, Any]
|
|
845
|
+
|
|
641
846
|
@pulumi.input_type
|
|
642
847
|
class GetFirewallApplyToArgs:
|
|
643
848
|
def __init__(__self__, *,
|
|
@@ -677,6 +882,35 @@ class GetFirewallApplyToArgs:
|
|
|
677
882
|
pulumi.set(self, "server", value)
|
|
678
883
|
|
|
679
884
|
|
|
885
|
+
if not MYPY:
|
|
886
|
+
class GetFirewallRuleArgsDict(TypedDict):
|
|
887
|
+
direction: str
|
|
888
|
+
"""
|
|
889
|
+
(Required, string) Direction of the Firewall Rule. `in`, `out`
|
|
890
|
+
"""
|
|
891
|
+
description: NotRequired[str]
|
|
892
|
+
"""
|
|
893
|
+
(Optional, string) Description of the firewall rule
|
|
894
|
+
"""
|
|
895
|
+
destination_ips: NotRequired[Sequence[str]]
|
|
896
|
+
"""
|
|
897
|
+
(Required, List) List of CIDRs that are allowed within this Firewall Rule (when `direction` is `out`)
|
|
898
|
+
"""
|
|
899
|
+
port: NotRequired[str]
|
|
900
|
+
"""
|
|
901
|
+
(Required, string) Port of the Firewall Rule. Required when `protocol` is `tcp` or `udp`
|
|
902
|
+
"""
|
|
903
|
+
protocol: NotRequired[str]
|
|
904
|
+
"""
|
|
905
|
+
(Required, string) Protocol of the Firewall Rule. `tcp`, `icmp`, `udp`, `gre`, `esp`
|
|
906
|
+
"""
|
|
907
|
+
source_ips: NotRequired[Sequence[str]]
|
|
908
|
+
"""
|
|
909
|
+
(Required, List) List of CIDRs that are allowed within this Firewall Rule (when `direction` is `in`)
|
|
910
|
+
"""
|
|
911
|
+
elif False:
|
|
912
|
+
GetFirewallRuleArgsDict: TypeAlias = Mapping[str, Any]
|
|
913
|
+
|
|
680
914
|
@pulumi.input_type
|
|
681
915
|
class GetFirewallRuleArgs:
|
|
682
916
|
def __init__(__self__, *,
|
|
@@ -264,7 +264,7 @@ def call_plain(
|
|
|
264
264
|
output = pulumi.runtime.call(tok, props, res, typ)
|
|
265
265
|
|
|
266
266
|
# Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
|
267
|
-
result, known, secret, _ = _sync_await(asyncio.
|
|
267
|
+
result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
|
|
268
268
|
|
|
269
269
|
problem = None
|
|
270
270
|
if not known:
|
|
@@ -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__ = ['CertificateArgs', 'Certificate']
|
|
@@ -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
|
endpoint: Optional[str]
|
|
@@ -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
|
import types
|
|
@@ -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 *
|
|
@@ -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
|
|
|
@@ -205,7 +210,7 @@ class FirewallAttachment(pulumi.CustomResource):
|
|
|
205
210
|
"""
|
|
206
211
|
Attaches resource to a Hetzner Cloud Firewall.
|
|
207
212
|
|
|
208
|
-
|
|
213
|
+
_Note_: only one `FirewallAttachment` per Firewall is allowed.
|
|
209
214
|
Any resources that should be attached to that Firewall need to be
|
|
210
215
|
specified in that `FirewallAttachment`.
|
|
211
216
|
|
|
@@ -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__ = ['FloatingIpArgs', 'FloatingIp']
|
|
@@ -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__ = ['FloatingIpAssignmentArgs', 'FloatingIpAssignment']
|
|
@@ -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__ = [
|
|
@@ -197,9 +202,6 @@ def get_certificate(id: Optional[int] = None,
|
|
|
197
202
|
not_valid_before=pulumi.get(__ret__, 'not_valid_before'),
|
|
198
203
|
type=pulumi.get(__ret__, 'type'),
|
|
199
204
|
with_selector=pulumi.get(__ret__, 'with_selector'))
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
@_utilities.lift_output_func(get_certificate)
|
|
203
205
|
def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
|
|
204
206
|
name: Optional[pulumi.Input[Optional[str]]] = None,
|
|
205
207
|
with_selector: Optional[pulumi.Input[Optional[str]]] = None,
|
|
@@ -220,4 +222,21 @@ def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
|
|
|
220
222
|
:param str name: Name of the certificate.
|
|
221
223
|
:param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
|
|
222
224
|
"""
|
|
223
|
-
|
|
225
|
+
__args__ = dict()
|
|
226
|
+
__args__['id'] = id
|
|
227
|
+
__args__['name'] = name
|
|
228
|
+
__args__['withSelector'] = with_selector
|
|
229
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
230
|
+
__ret__ = pulumi.runtime.invoke_output('hcloud:index/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult)
|
|
231
|
+
return __ret__.apply(lambda __response__: GetCertificateResult(
|
|
232
|
+
certificate=pulumi.get(__response__, 'certificate'),
|
|
233
|
+
created=pulumi.get(__response__, 'created'),
|
|
234
|
+
domain_names=pulumi.get(__response__, 'domain_names'),
|
|
235
|
+
fingerprint=pulumi.get(__response__, 'fingerprint'),
|
|
236
|
+
id=pulumi.get(__response__, 'id'),
|
|
237
|
+
labels=pulumi.get(__response__, 'labels'),
|
|
238
|
+
name=pulumi.get(__response__, 'name'),
|
|
239
|
+
not_valid_after=pulumi.get(__response__, 'not_valid_after'),
|
|
240
|
+
not_valid_before=pulumi.get(__response__, 'not_valid_before'),
|
|
241
|
+
type=pulumi.get(__response__, 'type'),
|
|
242
|
+
with_selector=pulumi.get(__response__, 'with_selector')))
|
|
@@ -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
|
|
|
@@ -92,9 +97,6 @@ def get_certificates(with_selector: Optional[str] = None,
|
|
|
92
97
|
certificates=pulumi.get(__ret__, 'certificates'),
|
|
93
98
|
id=pulumi.get(__ret__, 'id'),
|
|
94
99
|
with_selector=pulumi.get(__ret__, 'with_selector'))
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
@_utilities.lift_output_func(get_certificates)
|
|
98
100
|
def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
|
|
99
101
|
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificatesResult]:
|
|
100
102
|
"""
|
|
@@ -112,4 +114,11 @@ def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]]
|
|
|
112
114
|
|
|
113
115
|
:param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
|
|
114
116
|
"""
|
|
115
|
-
|
|
117
|
+
__args__ = dict()
|
|
118
|
+
__args__['withSelector'] = with_selector
|
|
119
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
120
|
+
__ret__ = pulumi.runtime.invoke_output('hcloud:index/getCertificates:getCertificates', __args__, opts=opts, typ=GetCertificatesResult)
|
|
121
|
+
return __ret__.apply(lambda __response__: GetCertificatesResult(
|
|
122
|
+
certificates=pulumi.get(__response__, 'certificates'),
|
|
123
|
+
id=pulumi.get(__response__, 'id'),
|
|
124
|
+
with_selector=pulumi.get(__response__, 'with_selector')))
|
|
@@ -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__ = [
|
|
@@ -69,7 +74,7 @@ class GetDatacenterResult:
|
|
|
69
74
|
@pulumi.getter
|
|
70
75
|
def location(self) -> Mapping[str, str]:
|
|
71
76
|
"""
|
|
72
|
-
(map)
|
|
77
|
+
(map) Location details of the datacenter. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
|
|
73
78
|
"""
|
|
74
79
|
return pulumi.get(self, "location")
|
|
75
80
|
|
|
@@ -138,9 +143,6 @@ def get_datacenter(id: Optional[int] = None,
|
|
|
138
143
|
location=pulumi.get(__ret__, 'location'),
|
|
139
144
|
name=pulumi.get(__ret__, 'name'),
|
|
140
145
|
supported_server_type_ids=pulumi.get(__ret__, 'supported_server_type_ids'))
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
@_utilities.lift_output_func(get_datacenter)
|
|
144
146
|
def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
|
|
145
147
|
name: Optional[pulumi.Input[Optional[str]]] = None,
|
|
146
148
|
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacenterResult]:
|
|
@@ -162,4 +164,15 @@ def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
|
|
|
162
164
|
:param int id: ID of the datacenter.
|
|
163
165
|
:param str name: Name of the datacenter.
|
|
164
166
|
"""
|
|
165
|
-
|
|
167
|
+
__args__ = dict()
|
|
168
|
+
__args__['id'] = id
|
|
169
|
+
__args__['name'] = name
|
|
170
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
171
|
+
__ret__ = pulumi.runtime.invoke_output('hcloud:index/getDatacenter:getDatacenter', __args__, opts=opts, typ=GetDatacenterResult)
|
|
172
|
+
return __ret__.apply(lambda __response__: GetDatacenterResult(
|
|
173
|
+
available_server_type_ids=pulumi.get(__response__, 'available_server_type_ids'),
|
|
174
|
+
description=pulumi.get(__response__, 'description'),
|
|
175
|
+
id=pulumi.get(__response__, 'id'),
|
|
176
|
+
location=pulumi.get(__response__, 'location'),
|
|
177
|
+
name=pulumi.get(__response__, 'name'),
|
|
178
|
+
supported_server_type_ids=pulumi.get(__response__, 'supported_server_type_ids')))
|
|
@@ -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
|
|
|
@@ -121,9 +126,6 @@ def get_datacenters(datacenter_ids: Optional[Sequence[str]] = None,
|
|
|
121
126
|
descriptions=pulumi.get(__ret__, 'descriptions'),
|
|
122
127
|
id=pulumi.get(__ret__, 'id'),
|
|
123
128
|
names=pulumi.get(__ret__, 'names'))
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
@_utilities.lift_output_func(get_datacenters)
|
|
127
129
|
def get_datacenters_output(datacenter_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
|
|
128
130
|
descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
|
|
129
131
|
id: Optional[pulumi.Input[Optional[str]]] = None,
|
|
@@ -138,4 +140,16 @@ def get_datacenters_output(datacenter_ids: Optional[pulumi.Input[Optional[Sequen
|
|
|
138
140
|
:param Sequence[str] descriptions: (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
|
|
139
141
|
:param Sequence[str] names: (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
|
|
140
142
|
"""
|
|
141
|
-
|
|
143
|
+
__args__ = dict()
|
|
144
|
+
__args__['datacenterIds'] = datacenter_ids
|
|
145
|
+
__args__['descriptions'] = descriptions
|
|
146
|
+
__args__['id'] = id
|
|
147
|
+
__args__['names'] = names
|
|
148
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
149
|
+
__ret__ = pulumi.runtime.invoke_output('hcloud:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult)
|
|
150
|
+
return __ret__.apply(lambda __response__: GetDatacentersResult(
|
|
151
|
+
datacenter_ids=pulumi.get(__response__, 'datacenter_ids'),
|
|
152
|
+
datacenters=pulumi.get(__response__, 'datacenters'),
|
|
153
|
+
descriptions=pulumi.get(__response__, 'descriptions'),
|
|
154
|
+
id=pulumi.get(__response__, 'id'),
|
|
155
|
+
names=pulumi.get(__response__, 'names')))
|