pulumi-hcloud 1.20.4__py3-none-any.whl → 1.21.0__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 +234 -0
  3. pulumi_hcloud/_utilities.py +1 -1
  4. pulumi_hcloud/certificate.py +5 -0
  5. pulumi_hcloud/config/__init__.pyi +5 -0
  6. pulumi_hcloud/config/vars.py +5 -0
  7. pulumi_hcloud/firewall.py +5 -0
  8. pulumi_hcloud/firewall_attachment.py +7 -2
  9. pulumi_hcloud/floating_ip.py +5 -0
  10. pulumi_hcloud/floating_ip_assignment.py +5 -0
  11. pulumi_hcloud/get_certificate.py +23 -4
  12. pulumi_hcloud/get_certificates.py +13 -4
  13. pulumi_hcloud/get_datacenter.py +18 -5
  14. pulumi_hcloud/get_datacenters.py +18 -4
  15. pulumi_hcloud/get_firewall.py +26 -7
  16. pulumi_hcloud/get_firewalls.py +15 -4
  17. pulumi_hcloud/get_floating_ip.py +30 -4
  18. pulumi_hcloud/get_floating_ips.py +13 -4
  19. pulumi_hcloud/get_image.py +34 -4
  20. pulumi_hcloud/get_images.py +21 -4
  21. pulumi_hcloud/get_load_balancer.py +28 -5
  22. pulumi_hcloud/get_load_balancer_type.py +200 -0
  23. pulumi_hcloud/get_load_balancer_types.py +100 -0
  24. pulumi_hcloud/get_load_balancers.py +13 -4
  25. pulumi_hcloud/get_location.py +19 -4
  26. pulumi_hcloud/get_locations.py +18 -4
  27. pulumi_hcloud/get_network.py +23 -4
  28. pulumi_hcloud/get_networks.py +13 -4
  29. pulumi_hcloud/get_placement_group.py +25 -7
  30. pulumi_hcloud/get_placement_groups.py +15 -4
  31. pulumi_hcloud/get_primary_ip.py +28 -6
  32. pulumi_hcloud/get_primary_ips.py +13 -4
  33. pulumi_hcloud/get_server.py +40 -6
  34. pulumi_hcloud/get_server_type.py +35 -13
  35. pulumi_hcloud/get_server_types.py +32 -12
  36. pulumi_hcloud/get_servers.py +15 -4
  37. pulumi_hcloud/get_ssh_key.py +23 -4
  38. pulumi_hcloud/get_ssh_keys.py +14 -4
  39. pulumi_hcloud/get_volume.py +30 -7
  40. pulumi_hcloud/get_volumes.py +17 -6
  41. pulumi_hcloud/load_balancer.py +12 -7
  42. pulumi_hcloud/load_balancer_network.py +12 -7
  43. pulumi_hcloud/load_balancer_service.py +5 -0
  44. pulumi_hcloud/load_balancer_target.py +5 -0
  45. pulumi_hcloud/managed_certificate.py +5 -0
  46. pulumi_hcloud/network.py +5 -0
  47. pulumi_hcloud/network_route.py +5 -0
  48. pulumi_hcloud/network_subnet.py +5 -0
  49. pulumi_hcloud/outputs.py +68 -8
  50. pulumi_hcloud/placement_group.py +5 -0
  51. pulumi_hcloud/primary_ip.py +40 -21
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +1 -1
  54. pulumi_hcloud/rdns.py +5 -0
  55. pulumi_hcloud/server.py +25 -14
  56. pulumi_hcloud/server_network.py +12 -7
  57. pulumi_hcloud/snapshot.py +5 -0
  58. pulumi_hcloud/ssh_key.py +5 -0
  59. pulumi_hcloud/uploaded_certificate.py +5 -0
  60. pulumi_hcloud/volume.py +19 -14
  61. pulumi_hcloud/volume_attachment.py +5 -0
  62. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.dist-info}/METADATA +3 -2
  63. pulumi_hcloud-1.21.0.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.20.4.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.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
  from ._inputs import *
@@ -87,7 +92,7 @@ class GetFirewallResult:
87
92
  @pulumi.getter
88
93
  def rules(self) -> Optional[Sequence['outputs.GetFirewallRuleResult']]:
89
94
  """
90
- (string) Configuration of a Rule from this Firewall.
95
+ (string) Configuration of a Rule from this Firewall.
91
96
  """
92
97
  return pulumi.get(self, "rules")
93
98
 
@@ -137,7 +142,7 @@ def get_firewall(apply_tos: Optional[Sequence[Union['GetFirewallApplyToArgs', 'G
137
142
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
138
143
  :param bool most_recent: Return most recent firewall if multiple are found.
139
144
  :param str name: Name of the firewall.
140
- :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
145
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
141
146
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
142
147
  """
143
148
  __args__ = dict()
@@ -159,9 +164,6 @@ def get_firewall(apply_tos: Optional[Sequence[Union['GetFirewallApplyToArgs', 'G
159
164
  name=pulumi.get(__ret__, 'name'),
160
165
  rules=pulumi.get(__ret__, 'rules'),
161
166
  with_selector=pulumi.get(__ret__, 'with_selector'))
162
-
163
-
164
- @_utilities.lift_output_func(get_firewall)
165
167
  def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']]]]] = None,
166
168
  id: Optional[pulumi.Input[Optional[int]]] = None,
167
169
  labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
@@ -187,7 +189,24 @@ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[Union
187
189
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
188
190
  :param bool most_recent: Return most recent firewall if multiple are found.
189
191
  :param str name: Name of the firewall.
190
- :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
192
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
191
193
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
192
194
  """
193
- ...
195
+ __args__ = dict()
196
+ __args__['applyTos'] = apply_tos
197
+ __args__['id'] = id
198
+ __args__['labels'] = labels
199
+ __args__['mostRecent'] = most_recent
200
+ __args__['name'] = name
201
+ __args__['rules'] = rules
202
+ __args__['withSelector'] = with_selector
203
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
204
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewall:getFirewall', __args__, opts=opts, typ=GetFirewallResult)
205
+ return __ret__.apply(lambda __response__: GetFirewallResult(
206
+ apply_tos=pulumi.get(__response__, 'apply_tos'),
207
+ id=pulumi.get(__response__, 'id'),
208
+ labels=pulumi.get(__response__, 'labels'),
209
+ most_recent=pulumi.get(__response__, 'most_recent'),
210
+ name=pulumi.get(__response__, 'name'),
211
+ rules=pulumi.get(__response__, 'rules'),
212
+ 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
 
@@ -105,9 +110,6 @@ def get_firewalls(most_recent: Optional[bool] = None,
105
110
  id=pulumi.get(__ret__, 'id'),
106
111
  most_recent=pulumi.get(__ret__, 'most_recent'),
107
112
  with_selector=pulumi.get(__ret__, 'with_selector'))
108
-
109
-
110
- @_utilities.lift_output_func(get_firewalls)
111
113
  def get_firewalls_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
112
114
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
113
115
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallsResult]:
@@ -127,4 +129,13 @@ def get_firewalls_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = N
127
129
  :param bool most_recent: Sorts list by date.
128
130
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
129
131
  """
130
- ...
132
+ __args__ = dict()
133
+ __args__['mostRecent'] = most_recent
134
+ __args__['withSelector'] = with_selector
135
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
136
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewalls:getFirewalls', __args__, opts=opts, typ=GetFirewallsResult)
137
+ return __ret__.apply(lambda __response__: GetFirewallsResult(
138
+ firewalls=pulumi.get(__response__, 'firewalls'),
139
+ id=pulumi.get(__response__, 'id'),
140
+ most_recent=pulumi.get(__response__, 'most_recent'),
141
+ 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__ = [
@@ -185,10 +190,12 @@ def get_floating_ip(id: Optional[int] = None,
185
190
  ## Example Usage
186
191
 
187
192
  # Data Source: FloatingIp
193
+
188
194
  Provides details about a Hetzner Cloud Floating IP.
189
195
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
190
196
 
191
197
  ### Additional Examples
198
+
192
199
  ```python
193
200
  import pulumi
194
201
  import pulumi_hcloud as hcloud
@@ -230,9 +237,6 @@ def get_floating_ip(id: Optional[int] = None,
230
237
  server_id=pulumi.get(__ret__, 'server_id'),
231
238
  type=pulumi.get(__ret__, 'type'),
232
239
  with_selector=pulumi.get(__ret__, 'with_selector'))
233
-
234
-
235
- @_utilities.lift_output_func(get_floating_ip)
236
240
  def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
237
241
  ip_address: Optional[pulumi.Input[Optional[str]]] = None,
238
242
  name: Optional[pulumi.Input[Optional[str]]] = None,
@@ -247,10 +251,12 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
247
251
  ## Example Usage
248
252
 
249
253
  # Data Source: FloatingIp
254
+
250
255
  Provides details about a Hetzner Cloud Floating IP.
251
256
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
252
257
 
253
258
  ### Additional Examples
259
+
254
260
  ```python
255
261
  import pulumi
256
262
  import pulumi_hcloud as hcloud
@@ -270,4 +276,24 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
270
276
  :param str name: Name of the Floating IP.
271
277
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
272
278
  """
273
- ...
279
+ __args__ = dict()
280
+ __args__['id'] = id
281
+ __args__['ipAddress'] = ip_address
282
+ __args__['name'] = name
283
+ __args__['selector'] = selector
284
+ __args__['withSelector'] = with_selector
285
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
286
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFloatingIp:getFloatingIp', __args__, opts=opts, typ=GetFloatingIpResult)
287
+ return __ret__.apply(lambda __response__: GetFloatingIpResult(
288
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
289
+ description=pulumi.get(__response__, 'description'),
290
+ home_location=pulumi.get(__response__, 'home_location'),
291
+ id=pulumi.get(__response__, 'id'),
292
+ ip_address=pulumi.get(__response__, 'ip_address'),
293
+ ip_network=pulumi.get(__response__, 'ip_network'),
294
+ labels=pulumi.get(__response__, 'labels'),
295
+ name=pulumi.get(__response__, 'name'),
296
+ selector=pulumi.get(__response__, 'selector'),
297
+ server_id=pulumi.get(__response__, 'server_id'),
298
+ type=pulumi.get(__response__, 'type'),
299
+ 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_floating_ips(with_selector: Optional[str] = None,
92
97
  floating_ips=pulumi.get(__ret__, 'floating_ips'),
93
98
  id=pulumi.get(__ret__, 'id'),
94
99
  with_selector=pulumi.get(__ret__, 'with_selector'))
95
-
96
-
97
- @_utilities.lift_output_func(get_floating_ips)
98
100
  def get_floating_ips_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
99
101
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFloatingIpsResult]:
100
102
  """
@@ -112,4 +114,11 @@ def get_floating_ips_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/getFloatingIps:getFloatingIps', __args__, opts=opts, typ=GetFloatingIpsResult)
121
+ return __ret__.apply(lambda __response__: GetFloatingIpsResult(
122
+ floating_ips=pulumi.get(__response__, 'floating_ips'),
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__ = [
@@ -278,9 +283,6 @@ def get_image(id: Optional[int] = None,
278
283
  with_architecture=pulumi.get(__ret__, 'with_architecture'),
279
284
  with_selector=pulumi.get(__ret__, 'with_selector'),
280
285
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
281
-
282
-
283
- @_utilities.lift_output_func(get_image)
284
286
  def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
285
287
  include_deprecated: Optional[pulumi.Input[Optional[bool]]] = None,
286
288
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
@@ -313,4 +315,32 @@ def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
313
315
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
314
316
  :param Sequence[str] with_statuses: Select only images with the specified status, could contain `creating` or `available`.
315
317
  """
316
- ...
318
+ __args__ = dict()
319
+ __args__['id'] = id
320
+ __args__['includeDeprecated'] = include_deprecated
321
+ __args__['mostRecent'] = most_recent
322
+ __args__['name'] = name
323
+ __args__['selector'] = selector
324
+ __args__['withArchitecture'] = with_architecture
325
+ __args__['withSelector'] = with_selector
326
+ __args__['withStatuses'] = with_statuses
327
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
328
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getImage:getImage', __args__, opts=opts, typ=GetImageResult)
329
+ return __ret__.apply(lambda __response__: GetImageResult(
330
+ architecture=pulumi.get(__response__, 'architecture'),
331
+ created=pulumi.get(__response__, 'created'),
332
+ deprecated=pulumi.get(__response__, 'deprecated'),
333
+ description=pulumi.get(__response__, 'description'),
334
+ id=pulumi.get(__response__, 'id'),
335
+ include_deprecated=pulumi.get(__response__, 'include_deprecated'),
336
+ labels=pulumi.get(__response__, 'labels'),
337
+ most_recent=pulumi.get(__response__, 'most_recent'),
338
+ name=pulumi.get(__response__, 'name'),
339
+ os_flavor=pulumi.get(__response__, 'os_flavor'),
340
+ os_version=pulumi.get(__response__, 'os_version'),
341
+ rapid_deploy=pulumi.get(__response__, 'rapid_deploy'),
342
+ selector=pulumi.get(__response__, 'selector'),
343
+ type=pulumi.get(__response__, 'type'),
344
+ with_architecture=pulumi.get(__response__, 'with_architecture'),
345
+ with_selector=pulumi.get(__response__, 'with_selector'),
346
+ 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
 
@@ -145,9 +150,6 @@ def get_images(include_deprecated: Optional[bool] = None,
145
150
  with_architectures=pulumi.get(__ret__, 'with_architectures'),
146
151
  with_selector=pulumi.get(__ret__, 'with_selector'),
147
152
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
148
-
149
-
150
- @_utilities.lift_output_func(get_images)
151
153
  def get_images_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]] = None,
152
154
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
153
155
  with_architectures: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
@@ -174,4 +176,19 @@ def get_images_output(include_deprecated: Optional[pulumi.Input[Optional[bool]]]
174
176
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
175
177
  :param Sequence[str] with_statuses: List only images with the specified status, could contain `creating` or `available`.
176
178
  """
177
- ...
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.InvokeOptions.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
 
@@ -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
 
@@ -253,9 +258,6 @@ def get_load_balancer(id: Optional[int] = None,
253
258
  services=pulumi.get(__ret__, 'services'),
254
259
  targets=pulumi.get(__ret__, 'targets'),
255
260
  with_selector=pulumi.get(__ret__, 'with_selector'))
256
-
257
-
258
- @_utilities.lift_output_func(get_load_balancer)
259
261
  def get_load_balancer_output(id: Optional[pulumi.Input[Optional[int]]] = None,
260
262
  name: Optional[pulumi.Input[Optional[str]]] = None,
261
263
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
@@ -279,4 +281,25 @@ def get_load_balancer_output(id: Optional[pulumi.Input[Optional[int]]] = None,
279
281
  :param str name: Name of the Load Balancer.
280
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).
281
283
  """
282
- ...
284
+ __args__ = dict()
285
+ __args__['id'] = id
286
+ __args__['name'] = name
287
+ __args__['withSelector'] = with_selector
288
+ opts = pulumi.InvokeOptions.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,200 @@
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
+ (string) 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
+ (int) Unique 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
+ (int) Maximum number of SSL Certificates that can be assigned to 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
+ (int) 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
+ (int) 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
+ (int) 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
+ (string) 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
+ Use this resource to get detailed information about specific Load Balancer Type.
130
+
131
+ ## Example Usage
132
+
133
+ ```python
134
+ import pulumi
135
+ import pulumi_hcloud as hcloud
136
+
137
+ by_name = hcloud.get_load_balancer_type(name="cx22")
138
+ by_id = hcloud.get_load_balancer_type(id=1)
139
+ load_balancer = hcloud.LoadBalancer("load_balancer",
140
+ name="my-load-balancer",
141
+ load_balancer_type=name,
142
+ location="nbg1")
143
+ ```
144
+
145
+
146
+ :param int id: ID of the load_balancer_type.
147
+ :param str name: Name of the load_balancer_type.
148
+ """
149
+ __args__ = dict()
150
+ __args__['id'] = id
151
+ __args__['name'] = name
152
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult).value
154
+
155
+ return AwaitableGetLoadBalancerTypeResult(
156
+ description=pulumi.get(__ret__, 'description'),
157
+ id=pulumi.get(__ret__, 'id'),
158
+ max_assigned_certificates=pulumi.get(__ret__, 'max_assigned_certificates'),
159
+ max_connections=pulumi.get(__ret__, 'max_connections'),
160
+ max_services=pulumi.get(__ret__, 'max_services'),
161
+ max_targets=pulumi.get(__ret__, 'max_targets'),
162
+ name=pulumi.get(__ret__, 'name'))
163
+ def get_load_balancer_type_output(id: Optional[pulumi.Input[Optional[int]]] = None,
164
+ name: Optional[pulumi.Input[Optional[str]]] = None,
165
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerTypeResult]:
166
+ """
167
+ Provides details about a specific Hetzner Cloud Load Balancer Type.
168
+ Use this resource to get detailed information about specific Load Balancer Type.
169
+
170
+ ## Example Usage
171
+
172
+ ```python
173
+ import pulumi
174
+ import pulumi_hcloud as hcloud
175
+
176
+ by_name = hcloud.get_load_balancer_type(name="cx22")
177
+ by_id = hcloud.get_load_balancer_type(id=1)
178
+ load_balancer = hcloud.LoadBalancer("load_balancer",
179
+ name="my-load-balancer",
180
+ load_balancer_type=name,
181
+ location="nbg1")
182
+ ```
183
+
184
+
185
+ :param int id: ID of the load_balancer_type.
186
+ :param str name: Name of the load_balancer_type.
187
+ """
188
+ __args__ = dict()
189
+ __args__['id'] = id
190
+ __args__['name'] = name
191
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
192
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult)
193
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypeResult(
194
+ description=pulumi.get(__response__, 'description'),
195
+ id=pulumi.get(__response__, 'id'),
196
+ max_assigned_certificates=pulumi.get(__response__, 'max_assigned_certificates'),
197
+ max_connections=pulumi.get(__response__, 'max_connections'),
198
+ max_services=pulumi.get(__response__, 'max_services'),
199
+ max_targets=pulumi.get(__response__, 'max_targets'),
200
+ name=pulumi.get(__response__, 'name')))