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.
Files changed (66) hide show
  1. pulumi_hcloud/__init__.py +2 -0
  2. pulumi_hcloud/_inputs.py +247 -15
  3. pulumi_hcloud/_utilities.py +41 -5
  4. pulumi_hcloud/certificate.py +15 -10
  5. pulumi_hcloud/config/__init__.pyi +5 -0
  6. pulumi_hcloud/config/vars.py +5 -0
  7. pulumi_hcloud/firewall.py +77 -70
  8. pulumi_hcloud/firewall_attachment.py +27 -26
  9. pulumi_hcloud/floating_ip.py +39 -36
  10. pulumi_hcloud/floating_ip_assignment.py +11 -8
  11. pulumi_hcloud/get_certificate.py +25 -10
  12. pulumi_hcloud/get_certificates.py +14 -9
  13. pulumi_hcloud/get_datacenter.py +38 -27
  14. pulumi_hcloud/get_datacenters.py +28 -53
  15. pulumi_hcloud/get_firewall.py +38 -23
  16. pulumi_hcloud/get_firewalls.py +16 -9
  17. pulumi_hcloud/get_floating_ip.py +37 -17
  18. pulumi_hcloud/get_floating_ips.py +14 -9
  19. pulumi_hcloud/get_image.py +37 -13
  20. pulumi_hcloud/get_images.py +22 -9
  21. pulumi_hcloud/get_load_balancer.py +30 -11
  22. pulumi_hcloud/get_load_balancer_type.py +202 -0
  23. pulumi_hcloud/get_load_balancer_types.py +100 -0
  24. pulumi_hcloud/get_load_balancers.py +14 -9
  25. pulumi_hcloud/get_location.py +42 -29
  26. pulumi_hcloud/get_locations.py +28 -53
  27. pulumi_hcloud/get_network.py +28 -15
  28. pulumi_hcloud/get_networks.py +14 -9
  29. pulumi_hcloud/get_placement_group.py +31 -17
  30. pulumi_hcloud/get_placement_groups.py +16 -9
  31. pulumi_hcloud/get_primary_ip.py +42 -22
  32. pulumi_hcloud/get_primary_ips.py +14 -9
  33. pulumi_hcloud/get_server.py +43 -15
  34. pulumi_hcloud/get_server_type.py +75 -53
  35. pulumi_hcloud/get_server_types.py +39 -23
  36. pulumi_hcloud/get_servers.py +16 -9
  37. pulumi_hcloud/get_ssh_key.py +58 -36
  38. pulumi_hcloud/get_ssh_keys.py +35 -24
  39. pulumi_hcloud/get_volume.py +33 -16
  40. pulumi_hcloud/get_volumes.py +18 -11
  41. pulumi_hcloud/load_balancer.py +63 -64
  42. pulumi_hcloud/load_balancer_network.py +26 -17
  43. pulumi_hcloud/load_balancer_service.py +57 -54
  44. pulumi_hcloud/load_balancer_target.py +23 -18
  45. pulumi_hcloud/managed_certificate.py +57 -20
  46. pulumi_hcloud/network.py +27 -22
  47. pulumi_hcloud/network_route.py +13 -8
  48. pulumi_hcloud/network_subnet.py +13 -8
  49. pulumi_hcloud/outputs.py +265 -46
  50. pulumi_hcloud/placement_group.py +27 -22
  51. pulumi_hcloud/primary_ip.py +66 -47
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +2 -1
  54. pulumi_hcloud/rdns.py +41 -40
  55. pulumi_hcloud/server.py +123 -176
  56. pulumi_hcloud/server_network.py +24 -17
  57. pulumi_hcloud/snapshot.py +25 -22
  58. pulumi_hcloud/ssh_key.py +52 -51
  59. pulumi_hcloud/uploaded_certificate.py +73 -20
  60. pulumi_hcloud/volume.py +37 -32
  61. pulumi_hcloud/volume_attachment.py +11 -8
  62. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/METADATA +7 -6
  63. pulumi_hcloud-1.22.0a1736849475.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.18.0a1710156455.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/top_level.txt +0 -0
@@ -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
 
@@ -113,7 +118,6 @@ def get_images(include_deprecated: Optional[bool] = None,
113
118
 
114
119
  ## Example Usage
115
120
 
116
- <!--Start PulumiCodeChooser -->
117
121
  ```python
118
122
  import pulumi
119
123
  import pulumi_hcloud as hcloud
@@ -121,7 +125,6 @@ def get_images(include_deprecated: Optional[bool] = None,
121
125
  image2 = hcloud.get_images(with_architectures=["x86"])
122
126
  image3 = hcloud.get_images(with_selector="key=value")
123
127
  ```
124
- <!--End PulumiCodeChooser -->
125
128
 
126
129
 
127
130
  :param bool include_deprecated: Also list images that are marked as deprecated.
@@ -147,21 +150,17 @@ def get_images(include_deprecated: Optional[bool] = None,
147
150
  with_architectures=pulumi.get(__ret__, 'with_architectures'),
148
151
  with_selector=pulumi.get(__ret__, 'with_selector'),
149
152
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
150
-
151
-
152
- @_utilities.lift_output_func(get_images)
153
153
  def get_images_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]] = None,
154
154
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
155
155
  with_architectures: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
156
156
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
157
157
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
158
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImagesResult]:
158
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImagesResult]:
159
159
  """
160
160
  Provides details about multiple Hetzner Cloud Images.
161
161
 
162
162
  ## Example Usage
163
163
 
164
- <!--Start PulumiCodeChooser -->
165
164
  ```python
166
165
  import pulumi
167
166
  import pulumi_hcloud as hcloud
@@ -169,7 +168,6 @@ def get_images_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]]
169
168
  image2 = hcloud.get_images(with_architectures=["x86"])
170
169
  image3 = hcloud.get_images(with_selector="key=value")
171
170
  ```
172
- <!--End PulumiCodeChooser -->
173
171
 
174
172
 
175
173
  :param bool include_deprecated: Also list images that are marked as deprecated.
@@ -178,4 +176,19 @@ def get_images_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]]
178
176
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
179
177
  :param Sequence[str] with_statuses: List only images with the specified status, could contain `creating` or `available`.
180
178
  """
181
- ...
179
+ __args__ = dict()
180
+ __args__['includeDeprecated'] = include_deprecated
181
+ __args__['mostRecent'] = most_recent
182
+ __args__['withArchitectures'] = with_architectures
183
+ __args__['withSelector'] = with_selector
184
+ __args__['withStatuses'] = with_statuses
185
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
186
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getImages:getImages', __args__, opts=opts, typ=GetImagesResult)
187
+ return __ret__.apply(lambda __response__: GetImagesResult(
188
+ id=pulumi.get(__response__, 'id'),
189
+ images=pulumi.get(__response__, 'images'),
190
+ include_deprecated=pulumi.get(__response__, 'include_deprecated'),
191
+ most_recent=pulumi.get(__response__, 'most_recent'),
192
+ with_architectures=pulumi.get(__response__, 'with_architectures'),
193
+ with_selector=pulumi.get(__response__, 'with_selector'),
194
+ with_statuses=pulumi.get(__response__, 'with_statuses')))
@@ -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
 
@@ -111,7 +116,7 @@ class GetLoadBalancerResult:
111
116
 
112
117
  @property
113
118
  @pulumi.getter
114
- def labels(self) -> Mapping[str, Any]:
119
+ def labels(self) -> Mapping[str, str]:
115
120
  """
116
121
  (map) User-defined labels (key-value pairs) .
117
122
  """
@@ -129,7 +134,7 @@ class GetLoadBalancerResult:
129
134
  @pulumi.getter
130
135
  def location(self) -> str:
131
136
  """
132
- (string) Name of the location the Load Balancer is in.
137
+ (string) Name of the location the Load Balancer is in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
133
138
  """
134
139
  return pulumi.get(self, "location")
135
140
 
@@ -216,7 +221,6 @@ def get_load_balancer(id: Optional[int] = None,
216
221
 
217
222
  ## Example Usage
218
223
 
219
- <!--Start PulumiCodeChooser -->
220
224
  ```python
221
225
  import pulumi
222
226
  import pulumi_hcloud as hcloud
@@ -225,7 +229,6 @@ def get_load_balancer(id: Optional[int] = None,
225
229
  lb2 = hcloud.get_load_balancer(id=123)
226
230
  lb3 = hcloud.get_load_balancer(with_selector="key=value")
227
231
  ```
228
- <!--End PulumiCodeChooser -->
229
232
 
230
233
 
231
234
  :param int id: ID of the Load Balancer.
@@ -255,19 +258,15 @@ def get_load_balancer(id: Optional[int] = None,
255
258
  services=pulumi.get(__ret__, 'services'),
256
259
  targets=pulumi.get(__ret__, 'targets'),
257
260
  with_selector=pulumi.get(__ret__, 'with_selector'))
258
-
259
-
260
- @_utilities.lift_output_func(get_load_balancer)
261
261
  def get_load_balancer_output(id: Optional[pulumi.Input[Optional[int]]] = None,
262
262
  name: Optional[pulumi.Input[Optional[str]]] = None,
263
263
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
264
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerResult]:
264
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerResult]:
265
265
  """
266
266
  Provides details about a specific Hetzner Cloud Load Balancer.
267
267
 
268
268
  ## Example Usage
269
269
 
270
- <!--Start PulumiCodeChooser -->
271
270
  ```python
272
271
  import pulumi
273
272
  import pulumi_hcloud as hcloud
@@ -276,11 +275,31 @@ def get_load_balancer_output(id: Optional[pulumi.Input[Optional[int]]] = None,
276
275
  lb2 = hcloud.get_load_balancer(id=123)
277
276
  lb3 = hcloud.get_load_balancer(with_selector="key=value")
278
277
  ```
279
- <!--End PulumiCodeChooser -->
280
278
 
281
279
 
282
280
  :param int id: ID of the Load Balancer.
283
281
  :param str name: Name of the Load Balancer.
284
282
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
285
283
  """
286
- ...
284
+ __args__ = dict()
285
+ __args__['id'] = id
286
+ __args__['name'] = name
287
+ __args__['withSelector'] = with_selector
288
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
289
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancer:getLoadBalancer', __args__, opts=opts, typ=GetLoadBalancerResult)
290
+ return __ret__.apply(lambda __response__: GetLoadBalancerResult(
291
+ algorithms=pulumi.get(__response__, 'algorithms'),
292
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
293
+ id=pulumi.get(__response__, 'id'),
294
+ ipv4=pulumi.get(__response__, 'ipv4'),
295
+ ipv6=pulumi.get(__response__, 'ipv6'),
296
+ labels=pulumi.get(__response__, 'labels'),
297
+ load_balancer_type=pulumi.get(__response__, 'load_balancer_type'),
298
+ location=pulumi.get(__response__, 'location'),
299
+ name=pulumi.get(__response__, 'name'),
300
+ network_id=pulumi.get(__response__, 'network_id'),
301
+ network_ip=pulumi.get(__response__, 'network_ip'),
302
+ network_zone=pulumi.get(__response__, 'network_zone'),
303
+ services=pulumi.get(__response__, 'services'),
304
+ targets=pulumi.get(__response__, 'targets'),
305
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -0,0 +1,202 @@
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__ = [
18
+ 'GetLoadBalancerTypeResult',
19
+ 'AwaitableGetLoadBalancerTypeResult',
20
+ 'get_load_balancer_type',
21
+ 'get_load_balancer_type_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetLoadBalancerTypeResult:
26
+ """
27
+ A collection of values returned by getLoadBalancerType.
28
+ """
29
+ def __init__(__self__, description=None, id=None, max_assigned_certificates=None, max_connections=None, max_services=None, max_targets=None, name=None):
30
+ if description and not isinstance(description, str):
31
+ raise TypeError("Expected argument 'description' to be a str")
32
+ pulumi.set(__self__, "description", description)
33
+ if id and not isinstance(id, int):
34
+ raise TypeError("Expected argument 'id' to be a int")
35
+ pulumi.set(__self__, "id", id)
36
+ if max_assigned_certificates and not isinstance(max_assigned_certificates, int):
37
+ raise TypeError("Expected argument 'max_assigned_certificates' to be a int")
38
+ pulumi.set(__self__, "max_assigned_certificates", max_assigned_certificates)
39
+ if max_connections and not isinstance(max_connections, int):
40
+ raise TypeError("Expected argument 'max_connections' to be a int")
41
+ pulumi.set(__self__, "max_connections", max_connections)
42
+ if max_services and not isinstance(max_services, int):
43
+ raise TypeError("Expected argument 'max_services' to be a int")
44
+ pulumi.set(__self__, "max_services", max_services)
45
+ if max_targets and not isinstance(max_targets, int):
46
+ raise TypeError("Expected argument 'max_targets' to be a int")
47
+ pulumi.set(__self__, "max_targets", max_targets)
48
+ if name and not isinstance(name, str):
49
+ raise TypeError("Expected argument 'name' to be a str")
50
+ pulumi.set(__self__, "name", name)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def description(self) -> str:
55
+ """
56
+ Description of the Load Balancer Type.
57
+ """
58
+ return pulumi.get(self, "description")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def id(self) -> int:
63
+ """
64
+ ID of the Load Balancer Type.
65
+ """
66
+ return pulumi.get(self, "id")
67
+
68
+ @property
69
+ @pulumi.getter(name="maxAssignedCertificates")
70
+ def max_assigned_certificates(self) -> int:
71
+ """
72
+ Maximum number of certificates that can be assigned for the Load Balancer of this type.
73
+ """
74
+ return pulumi.get(self, "max_assigned_certificates")
75
+
76
+ @property
77
+ @pulumi.getter(name="maxConnections")
78
+ def max_connections(self) -> int:
79
+ """
80
+ Maximum number of simultaneous open connections for the Load Balancer of this type.
81
+ """
82
+ return pulumi.get(self, "max_connections")
83
+
84
+ @property
85
+ @pulumi.getter(name="maxServices")
86
+ def max_services(self) -> int:
87
+ """
88
+ Maximum number of services for the Load Balancer of this type.
89
+ """
90
+ return pulumi.get(self, "max_services")
91
+
92
+ @property
93
+ @pulumi.getter(name="maxTargets")
94
+ def max_targets(self) -> int:
95
+ """
96
+ Maximum number of targets for the Load Balancer of this type.
97
+ """
98
+ return pulumi.get(self, "max_targets")
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def name(self) -> str:
103
+ """
104
+ Name of the Load Balancer Type.
105
+ """
106
+ return pulumi.get(self, "name")
107
+
108
+
109
+ class AwaitableGetLoadBalancerTypeResult(GetLoadBalancerTypeResult):
110
+ # pylint: disable=using-constant-test
111
+ def __await__(self):
112
+ if False:
113
+ yield self
114
+ return GetLoadBalancerTypeResult(
115
+ description=self.description,
116
+ id=self.id,
117
+ max_assigned_certificates=self.max_assigned_certificates,
118
+ max_connections=self.max_connections,
119
+ max_services=self.max_services,
120
+ max_targets=self.max_targets,
121
+ name=self.name)
122
+
123
+
124
+ def get_load_balancer_type(id: Optional[int] = None,
125
+ name: Optional[str] = None,
126
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypeResult:
127
+ """
128
+ Provides details about a specific Hetzner Cloud Load Balancer Type.
129
+
130
+ Use this resource to get detailed information about a specific Load Balancer Type.
131
+
132
+ ## Example Usage
133
+
134
+ ```python
135
+ import pulumi
136
+ import pulumi_hcloud as hcloud
137
+
138
+ by_id = hcloud.get_load_balancer_type(id=1)
139
+ by_name = hcloud.get_load_balancer_type(name="lb11")
140
+ main = hcloud.LoadBalancer("main",
141
+ name="my-load-balancer",
142
+ load_balancer_type=name,
143
+ location="fsn1")
144
+ ```
145
+
146
+
147
+ :param int id: ID of the Load Balancer Type.
148
+ :param str name: Name of the Load Balancer Type.
149
+ """
150
+ __args__ = dict()
151
+ __args__['id'] = id
152
+ __args__['name'] = name
153
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
154
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult).value
155
+
156
+ return AwaitableGetLoadBalancerTypeResult(
157
+ description=pulumi.get(__ret__, 'description'),
158
+ id=pulumi.get(__ret__, 'id'),
159
+ max_assigned_certificates=pulumi.get(__ret__, 'max_assigned_certificates'),
160
+ max_connections=pulumi.get(__ret__, 'max_connections'),
161
+ max_services=pulumi.get(__ret__, 'max_services'),
162
+ max_targets=pulumi.get(__ret__, 'max_targets'),
163
+ name=pulumi.get(__ret__, 'name'))
164
+ def get_load_balancer_type_output(id: Optional[pulumi.Input[Optional[int]]] = None,
165
+ name: Optional[pulumi.Input[Optional[str]]] = None,
166
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerTypeResult]:
167
+ """
168
+ Provides details about a specific Hetzner Cloud Load Balancer Type.
169
+
170
+ Use this resource to get detailed information about a specific Load Balancer Type.
171
+
172
+ ## Example Usage
173
+
174
+ ```python
175
+ import pulumi
176
+ import pulumi_hcloud as hcloud
177
+
178
+ by_id = hcloud.get_load_balancer_type(id=1)
179
+ by_name = hcloud.get_load_balancer_type(name="lb11")
180
+ main = hcloud.LoadBalancer("main",
181
+ name="my-load-balancer",
182
+ load_balancer_type=name,
183
+ location="fsn1")
184
+ ```
185
+
186
+
187
+ :param int id: ID of the Load Balancer Type.
188
+ :param str name: Name of the Load Balancer Type.
189
+ """
190
+ __args__ = dict()
191
+ __args__['id'] = id
192
+ __args__['name'] = name
193
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
194
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult)
195
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypeResult(
196
+ description=pulumi.get(__response__, 'description'),
197
+ id=pulumi.get(__response__, 'id'),
198
+ max_assigned_certificates=pulumi.get(__response__, 'max_assigned_certificates'),
199
+ max_connections=pulumi.get(__response__, 'max_connections'),
200
+ max_services=pulumi.get(__response__, 'max_services'),
201
+ max_targets=pulumi.get(__response__, 'max_targets'),
202
+ name=pulumi.get(__response__, 'name')))
@@ -0,0 +1,100 @@
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
+
18
+ __all__ = [
19
+ 'GetLoadBalancerTypesResult',
20
+ 'AwaitableGetLoadBalancerTypesResult',
21
+ 'get_load_balancer_types',
22
+ 'get_load_balancer_types_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetLoadBalancerTypesResult:
27
+ """
28
+ A collection of values returned by getLoadBalancerTypes.
29
+ """
30
+ def __init__(__self__, id=None, load_balancer_types=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if load_balancer_types and not isinstance(load_balancer_types, list):
35
+ raise TypeError("Expected argument 'load_balancer_types' to be a list")
36
+ pulumi.set(__self__, "load_balancer_types", load_balancer_types)
37
+
38
+ @property
39
+ @pulumi.getter
40
+ def id(self) -> str:
41
+ """
42
+ The ID of this resource.
43
+ """
44
+ return pulumi.get(self, "id")
45
+
46
+ @property
47
+ @pulumi.getter(name="loadBalancerTypes")
48
+ def load_balancer_types(self) -> Sequence['outputs.GetLoadBalancerTypesLoadBalancerTypeResult']:
49
+ return pulumi.get(self, "load_balancer_types")
50
+
51
+
52
+ class AwaitableGetLoadBalancerTypesResult(GetLoadBalancerTypesResult):
53
+ # pylint: disable=using-constant-test
54
+ def __await__(self):
55
+ if False:
56
+ yield self
57
+ return GetLoadBalancerTypesResult(
58
+ id=self.id,
59
+ load_balancer_types=self.load_balancer_types)
60
+
61
+
62
+ def get_load_balancer_types(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypesResult:
63
+ """
64
+ Provides a list of available Hetzner Cloud Load Balancer Types.
65
+
66
+ ## Example Usage
67
+
68
+ ```python
69
+ import pulumi
70
+ import pulumi_hcloud as hcloud
71
+
72
+ all = hcloud.get_load_balancer_types()
73
+ ```
74
+ """
75
+ __args__ = dict()
76
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
77
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult).value
78
+
79
+ return AwaitableGetLoadBalancerTypesResult(
80
+ id=pulumi.get(__ret__, 'id'),
81
+ load_balancer_types=pulumi.get(__ret__, 'load_balancer_types'))
82
+ def get_load_balancer_types_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerTypesResult]:
83
+ """
84
+ Provides a list of available Hetzner Cloud Load Balancer Types.
85
+
86
+ ## Example Usage
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_hcloud as hcloud
91
+
92
+ all = hcloud.get_load_balancer_types()
93
+ ```
94
+ """
95
+ __args__ = dict()
96
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
97
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult)
98
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypesResult(
99
+ id=pulumi.get(__response__, 'id'),
100
+ load_balancer_types=pulumi.get(__response__, 'load_balancer_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
 
@@ -73,7 +78,6 @@ def get_load_balancers(with_selector: Optional[str] = None,
73
78
 
74
79
  ## Example Usage
75
80
 
76
- <!--Start PulumiCodeChooser -->
77
81
  ```python
78
82
  import pulumi
79
83
  import pulumi_hcloud as hcloud
@@ -81,7 +85,6 @@ def get_load_balancers(with_selector: Optional[str] = None,
81
85
  lb2 = hcloud.get_load_balancers()
82
86
  lb3 = hcloud.get_load_balancers(with_selector="key=value")
83
87
  ```
84
- <!--End PulumiCodeChooser -->
85
88
 
86
89
 
87
90
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
@@ -95,17 +98,13 @@ def get_load_balancers(with_selector: Optional[str] = None,
95
98
  id=pulumi.get(__ret__, 'id'),
96
99
  load_balancers=pulumi.get(__ret__, 'load_balancers'),
97
100
  with_selector=pulumi.get(__ret__, 'with_selector'))
98
-
99
-
100
- @_utilities.lift_output_func(get_load_balancers)
101
101
  def get_load_balancers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
102
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancersResult]:
102
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancersResult]:
103
103
  """
104
104
  Provides details about multiple Hetzner Cloud Load Balancers.
105
105
 
106
106
  ## Example Usage
107
107
 
108
- <!--Start PulumiCodeChooser -->
109
108
  ```python
110
109
  import pulumi
111
110
  import pulumi_hcloud as hcloud
@@ -113,9 +112,15 @@ def get_load_balancers_output(with_selector: Optional[pulumi.Input[Optional[str]
113
112
  lb2 = hcloud.get_load_balancers()
114
113
  lb3 = hcloud.get_load_balancers(with_selector="key=value")
115
114
  ```
116
- <!--End PulumiCodeChooser -->
117
115
 
118
116
 
119
117
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
120
118
  """
121
- ...
119
+ __args__ = dict()
120
+ __args__['withSelector'] = with_selector
121
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancers:getLoadBalancers', __args__, opts=opts, typ=GetLoadBalancersResult)
123
+ return __ret__.apply(lambda __response__: GetLoadBalancersResult(
124
+ id=pulumi.get(__response__, 'id'),
125
+ load_balancers=pulumi.get(__response__, 'load_balancers'),
126
+ with_selector=pulumi.get(__response__, 'with_selector')))