pulumi-hcloud 1.21.0__py3-none-any.whl → 1.21.0a1722922926__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 +0 -2
  2. pulumi_hcloud/_inputs.py +0 -234
  3. pulumi_hcloud/_utilities.py +1 -1
  4. pulumi_hcloud/certificate.py +10 -15
  5. pulumi_hcloud/config/__init__.pyi +0 -5
  6. pulumi_hcloud/config/vars.py +0 -5
  7. pulumi_hcloud/firewall.py +46 -51
  8. pulumi_hcloud/firewall_attachment.py +2 -7
  9. pulumi_hcloud/floating_ip.py +28 -33
  10. pulumi_hcloud/floating_ip_assignment.py +0 -5
  11. pulumi_hcloud/get_certificate.py +5 -24
  12. pulumi_hcloud/get_certificates.py +4 -13
  13. pulumi_hcloud/get_datacenter.py +5 -18
  14. pulumi_hcloud/get_datacenters.py +4 -18
  15. pulumi_hcloud/get_firewall.py +18 -37
  16. pulumi_hcloud/get_firewalls.py +4 -15
  17. pulumi_hcloud/get_floating_ip.py +5 -31
  18. pulumi_hcloud/get_floating_ips.py +4 -13
  19. pulumi_hcloud/get_image.py +5 -35
  20. pulumi_hcloud/get_images.py +4 -21
  21. pulumi_hcloud/get_load_balancer.py +6 -29
  22. pulumi_hcloud/get_load_balancers.py +4 -13
  23. pulumi_hcloud/get_location.py +4 -19
  24. pulumi_hcloud/get_locations.py +4 -18
  25. pulumi_hcloud/get_network.py +7 -26
  26. pulumi_hcloud/get_networks.py +4 -13
  27. pulumi_hcloud/get_placement_group.py +12 -30
  28. pulumi_hcloud/get_placement_groups.py +4 -15
  29. pulumi_hcloud/get_primary_ip.py +13 -35
  30. pulumi_hcloud/get_primary_ips.py +4 -13
  31. pulumi_hcloud/get_server.py +7 -41
  32. pulumi_hcloud/get_server_type.py +13 -35
  33. pulumi_hcloud/get_server_types.py +12 -32
  34. pulumi_hcloud/get_servers.py +4 -15
  35. pulumi_hcloud/get_ssh_key.py +4 -23
  36. pulumi_hcloud/get_ssh_keys.py +4 -14
  37. pulumi_hcloud/get_volume.py +8 -31
  38. pulumi_hcloud/get_volumes.py +6 -17
  39. pulumi_hcloud/load_balancer.py +29 -34
  40. pulumi_hcloud/load_balancer_network.py +7 -12
  41. pulumi_hcloud/load_balancer_service.py +44 -49
  42. pulumi_hcloud/load_balancer_target.py +0 -5
  43. pulumi_hcloud/managed_certificate.py +14 -19
  44. pulumi_hcloud/network.py +14 -19
  45. pulumi_hcloud/network_route.py +0 -5
  46. pulumi_hcloud/network_subnet.py +0 -5
  47. pulumi_hcloud/outputs.py +28 -88
  48. pulumi_hcloud/placement_group.py +14 -19
  49. pulumi_hcloud/primary_ip.py +37 -56
  50. pulumi_hcloud/provider.py +0 -5
  51. pulumi_hcloud/pulumi-plugin.json +1 -1
  52. pulumi_hcloud/rdns.py +0 -5
  53. pulumi_hcloud/server.py +74 -85
  54. pulumi_hcloud/server_network.py +7 -12
  55. pulumi_hcloud/snapshot.py +14 -19
  56. pulumi_hcloud/ssh_key.py +0 -5
  57. pulumi_hcloud/uploaded_certificate.py +14 -19
  58. pulumi_hcloud/volume.py +24 -29
  59. pulumi_hcloud/volume_attachment.py +0 -5
  60. {pulumi_hcloud-1.21.0.dist-info → pulumi_hcloud-1.21.0a1722922926.dist-info}/METADATA +2 -3
  61. pulumi_hcloud-1.21.0a1722922926.dist-info/RECORD +65 -0
  62. {pulumi_hcloud-1.21.0.dist-info → pulumi_hcloud-1.21.0a1722922926.dist-info}/WHEEL +1 -1
  63. pulumi_hcloud/get_load_balancer_type.py +0 -200
  64. pulumi_hcloud/get_load_balancer_types.py +0 -100
  65. pulumi_hcloud-1.21.0.dist-info/RECORD +0 -67
  66. {pulumi_hcloud-1.21.0.dist-info → pulumi_hcloud-1.21.0a1722922926.dist-info}/top_level.txt +0 -0
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
  from . import outputs
17
12
 
@@ -108,6 +103,9 @@ def get_servers(with_selector: Optional[str] = None,
108
103
  servers=pulumi.get(__ret__, 'servers'),
109
104
  with_selector=pulumi.get(__ret__, 'with_selector'),
110
105
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
106
+
107
+
108
+ @_utilities.lift_output_func(get_servers)
111
109
  def get_servers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
112
110
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
113
111
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServersResult]:
@@ -125,13 +123,4 @@ def get_servers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = No
125
123
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
126
124
  :param Sequence[str] with_statuses: List only servers with the specified status, could contain `initializing`, `starting`, `running`, `stopping`, `off`, `deleting`, `rebuilding`, `migrating`, `unknown`.
127
125
  """
128
- __args__ = dict()
129
- __args__['withSelector'] = with_selector
130
- __args__['withStatuses'] = with_statuses
131
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
132
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getServers:getServers', __args__, opts=opts, typ=GetServersResult)
133
- return __ret__.apply(lambda __response__: GetServersResult(
134
- id=pulumi.get(__response__, 'id'),
135
- servers=pulumi.get(__response__, 'servers'),
136
- with_selector=pulumi.get(__response__, 'with_selector'),
137
- with_statuses=pulumi.get(__response__, 'with_statuses')))
126
+ ...
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
 
17
12
  __all__ = [
@@ -165,6 +160,9 @@ def get_ssh_key(fingerprint: Optional[str] = None,
165
160
  public_key=pulumi.get(__ret__, 'public_key'),
166
161
  selector=pulumi.get(__ret__, 'selector'),
167
162
  with_selector=pulumi.get(__ret__, 'with_selector'))
163
+
164
+
165
+ @_utilities.lift_output_func(get_ssh_key)
168
166
  def get_ssh_key_output(fingerprint: Optional[pulumi.Input[Optional[str]]] = None,
169
167
  id: Optional[pulumi.Input[Optional[int]]] = None,
170
168
  labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
@@ -198,21 +196,4 @@ def get_ssh_key_output(fingerprint: Optional[pulumi.Input[Optional[str]]] = None
198
196
  :param str public_key: (string) Public Key of the SSH Key.
199
197
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
200
198
  """
201
- __args__ = dict()
202
- __args__['fingerprint'] = fingerprint
203
- __args__['id'] = id
204
- __args__['labels'] = labels
205
- __args__['name'] = name
206
- __args__['publicKey'] = public_key
207
- __args__['selector'] = selector
208
- __args__['withSelector'] = with_selector
209
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
210
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getSshKey:getSshKey', __args__, opts=opts, typ=GetSshKeyResult)
211
- return __ret__.apply(lambda __response__: GetSshKeyResult(
212
- fingerprint=pulumi.get(__response__, 'fingerprint'),
213
- id=pulumi.get(__response__, 'id'),
214
- labels=pulumi.get(__response__, 'labels'),
215
- name=pulumi.get(__response__, 'name'),
216
- public_key=pulumi.get(__response__, 'public_key'),
217
- selector=pulumi.get(__response__, 'selector'),
218
- with_selector=pulumi.get(__response__, 'with_selector')))
199
+ ...
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
  from . import outputs
17
12
 
@@ -96,6 +91,9 @@ def get_ssh_keys(id: Optional[str] = None,
96
91
  id=pulumi.get(__ret__, 'id'),
97
92
  ssh_keys=pulumi.get(__ret__, 'ssh_keys'),
98
93
  with_selector=pulumi.get(__ret__, 'with_selector'))
94
+
95
+
96
+ @_utilities.lift_output_func(get_ssh_keys)
99
97
  def get_ssh_keys_output(id: Optional[pulumi.Input[Optional[str]]] = None,
100
98
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
101
99
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSshKeysResult]:
@@ -114,12 +112,4 @@ def get_ssh_keys_output(id: Optional[pulumi.Input[Optional[str]]] = None,
114
112
 
115
113
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
116
114
  """
117
- __args__ = dict()
118
- __args__['id'] = id
119
- __args__['withSelector'] = with_selector
120
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
121
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getSshKeys:getSshKeys', __args__, opts=opts, typ=GetSshKeysResult)
122
- return __ret__.apply(lambda __response__: GetSshKeysResult(
123
- id=pulumi.get(__response__, 'id'),
124
- ssh_keys=pulumi.get(__response__, 'ssh_keys'),
125
- with_selector=pulumi.get(__response__, 'with_selector')))
115
+ ...
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
 
17
12
  __all__ = [
@@ -79,7 +74,7 @@ class GetVolumeResult:
79
74
 
80
75
  @property
81
76
  @pulumi.getter
82
- def labels(self) -> Mapping[str, str]:
77
+ def labels(self) -> Mapping[str, Any]:
83
78
  """
84
79
  (map) User-defined labels (key-value pairs).
85
80
  """
@@ -97,7 +92,7 @@ class GetVolumeResult:
97
92
  @pulumi.getter
98
93
  def location(self) -> Optional[str]:
99
94
  """
100
- (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
95
+ (string) The location name.
101
96
  """
102
97
  return pulumi.get(self, "location")
103
98
 
@@ -183,7 +178,7 @@ def get_volume(id: Optional[int] = None,
183
178
 
184
179
 
185
180
  :param int id: ID of the volume.
186
- :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
181
+ :param str location: (string) The location name.
187
182
  :param str name: Name of the volume.
188
183
  :param int server_id: (Optional, int) Server ID the volume is attached to
189
184
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
@@ -212,6 +207,9 @@ def get_volume(id: Optional[int] = None,
212
207
  size=pulumi.get(__ret__, 'size'),
213
208
  with_selector=pulumi.get(__ret__, 'with_selector'),
214
209
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
210
+
211
+
212
+ @_utilities.lift_output_func(get_volume)
215
213
  def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
216
214
  location: Optional[pulumi.Input[Optional[str]]] = None,
217
215
  name: Optional[pulumi.Input[Optional[str]]] = None,
@@ -234,31 +232,10 @@ def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
234
232
 
235
233
 
236
234
  :param int id: ID of the volume.
237
- :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
235
+ :param str location: (string) The location name.
238
236
  :param str name: Name of the volume.
239
237
  :param int server_id: (Optional, int) Server ID the volume is attached to
240
238
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
241
239
  :param Sequence[str] with_statuses: List only volumes with the specified status, could contain `creating` or `available`.
242
240
  """
243
- __args__ = dict()
244
- __args__['id'] = id
245
- __args__['location'] = location
246
- __args__['name'] = name
247
- __args__['selector'] = selector
248
- __args__['serverId'] = server_id
249
- __args__['withSelector'] = with_selector
250
- __args__['withStatuses'] = with_statuses
251
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
252
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult)
253
- return __ret__.apply(lambda __response__: GetVolumeResult(
254
- delete_protection=pulumi.get(__response__, 'delete_protection'),
255
- id=pulumi.get(__response__, 'id'),
256
- labels=pulumi.get(__response__, 'labels'),
257
- linux_device=pulumi.get(__response__, 'linux_device'),
258
- location=pulumi.get(__response__, 'location'),
259
- name=pulumi.get(__response__, 'name'),
260
- selector=pulumi.get(__response__, 'selector'),
261
- server_id=pulumi.get(__response__, 'server_id'),
262
- size=pulumi.get(__response__, 'size'),
263
- with_selector=pulumi.get(__response__, 'with_selector'),
264
- with_statuses=pulumi.get(__response__, 'with_statuses')))
241
+ ...
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
  from . import outputs
17
12
 
@@ -84,7 +79,7 @@ def get_volumes(with_selector: Optional[str] = None,
84
79
  with_statuses: Optional[Sequence[str]] = None,
85
80
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumesResult:
86
81
  """
87
- Provides details about multiple Hetzner Cloud Volumes.
82
+ Provides details about multiple Hetzner Cloud volumes.
88
83
 
89
84
  ## Example Usage
90
85
 
@@ -111,11 +106,14 @@ def get_volumes(with_selector: Optional[str] = None,
111
106
  volumes=pulumi.get(__ret__, 'volumes'),
112
107
  with_selector=pulumi.get(__ret__, 'with_selector'),
113
108
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
109
+
110
+
111
+ @_utilities.lift_output_func(get_volumes)
114
112
  def get_volumes_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
115
113
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
116
114
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumesResult]:
117
115
  """
118
- Provides details about multiple Hetzner Cloud Volumes.
116
+ Provides details about multiple Hetzner Cloud volumes.
119
117
 
120
118
  ## Example Usage
121
119
 
@@ -131,13 +129,4 @@ def get_volumes_output(with_selector: Optional[pulumi.Input[Optional[str]]] = No
131
129
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
132
130
  :param Sequence[str] with_statuses: List only volumes with the specified status, could contain `creating` or `available`.
133
131
  """
134
- __args__ = dict()
135
- __args__['withSelector'] = with_selector
136
- __args__['withStatuses'] = with_statuses
137
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
138
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getVolumes:getVolumes', __args__, opts=opts, typ=GetVolumesResult)
139
- return __ret__.apply(lambda __response__: GetVolumesResult(
140
- id=pulumi.get(__response__, 'id'),
141
- volumes=pulumi.get(__response__, 'volumes'),
142
- with_selector=pulumi.get(__response__, 'with_selector'),
143
- with_statuses=pulumi.get(__response__, 'with_statuses')))
132
+ ...
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
  from . import outputs
17
12
  from ._inputs import *
@@ -24,7 +19,7 @@ class LoadBalancerArgs:
24
19
  load_balancer_type: pulumi.Input[str],
25
20
  algorithm: Optional[pulumi.Input['LoadBalancerAlgorithmArgs']] = None,
26
21
  delete_protection: Optional[pulumi.Input[bool]] = None,
27
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
28
23
  location: Optional[pulumi.Input[str]] = None,
29
24
  name: Optional[pulumi.Input[str]] = None,
30
25
  network_zone: Optional[pulumi.Input[str]] = None,
@@ -34,8 +29,8 @@ class LoadBalancerArgs:
34
29
  :param pulumi.Input[str] load_balancer_type: Type of the Load Balancer.
35
30
  :param pulumi.Input['LoadBalancerAlgorithmArgs'] algorithm: Configuration of the algorithm the Load Balancer use.
36
31
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
37
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
38
- :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
32
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
33
+ :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set.
39
34
  :param pulumi.Input[str] name: Name of the Load Balancer.
40
35
  :param pulumi.Input[str] network_zone: The Network Zone of the Load Balancer. Require when no location is set.
41
36
  """
@@ -96,21 +91,21 @@ class LoadBalancerArgs:
96
91
 
97
92
  @property
98
93
  @pulumi.getter
99
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
94
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
100
95
  """
101
96
  User-defined labels (key-value pairs) should be created with.
102
97
  """
103
98
  return pulumi.get(self, "labels")
104
99
 
105
100
  @labels.setter
106
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
101
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
107
102
  pulumi.set(self, "labels", value)
108
103
 
109
104
  @property
110
105
  @pulumi.getter
111
106
  def location(self) -> Optional[pulumi.Input[str]]:
112
107
  """
113
- The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
108
+ The location name of the Load Balancer. Require when no network_zone is set.
114
109
  """
115
110
  return pulumi.get(self, "location")
116
111
 
@@ -160,7 +155,7 @@ class _LoadBalancerState:
160
155
  delete_protection: Optional[pulumi.Input[bool]] = None,
161
156
  ipv4: Optional[pulumi.Input[str]] = None,
162
157
  ipv6: Optional[pulumi.Input[str]] = None,
163
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
158
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
164
159
  load_balancer_type: Optional[pulumi.Input[str]] = None,
165
160
  location: Optional[pulumi.Input[str]] = None,
166
161
  name: Optional[pulumi.Input[str]] = None,
@@ -174,9 +169,9 @@ class _LoadBalancerState:
174
169
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
175
170
  :param pulumi.Input[str] ipv4: (string) IPv4 Address of the Load Balancer.
176
171
  :param pulumi.Input[str] ipv6: (string) IPv6 Address of the Load Balancer.
177
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
172
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
178
173
  :param pulumi.Input[str] load_balancer_type: Type of the Load Balancer.
179
- :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
174
+ :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set.
180
175
  :param pulumi.Input[str] name: Name of the Load Balancer.
181
176
  :param pulumi.Input[int] network_id: (int) ID of the first private network that this Load Balancer is connected to.
182
177
  :param pulumi.Input[str] network_ip: (string) IP of the Load Balancer in the first private network that it is connected to.
@@ -260,14 +255,14 @@ class _LoadBalancerState:
260
255
 
261
256
  @property
262
257
  @pulumi.getter
263
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
258
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
264
259
  """
265
260
  User-defined labels (key-value pairs) should be created with.
266
261
  """
267
262
  return pulumi.get(self, "labels")
268
263
 
269
264
  @labels.setter
270
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
265
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
271
266
  pulumi.set(self, "labels", value)
272
267
 
273
268
  @property
@@ -286,7 +281,7 @@ class _LoadBalancerState:
286
281
  @pulumi.getter
287
282
  def location(self) -> Optional[pulumi.Input[str]]:
288
283
  """
289
- The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
284
+ The location name of the Load Balancer. Require when no network_zone is set.
290
285
  """
291
286
  return pulumi.get(self, "location")
292
287
 
@@ -358,14 +353,14 @@ class LoadBalancer(pulumi.CustomResource):
358
353
  def __init__(__self__,
359
354
  resource_name: str,
360
355
  opts: Optional[pulumi.ResourceOptions] = None,
361
- algorithm: Optional[pulumi.Input[Union['LoadBalancerAlgorithmArgs', 'LoadBalancerAlgorithmArgsDict']]] = None,
356
+ algorithm: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAlgorithmArgs']]] = None,
362
357
  delete_protection: Optional[pulumi.Input[bool]] = None,
363
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
358
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
364
359
  load_balancer_type: Optional[pulumi.Input[str]] = None,
365
360
  location: Optional[pulumi.Input[str]] = None,
366
361
  name: Optional[pulumi.Input[str]] = None,
367
362
  network_zone: Optional[pulumi.Input[str]] = None,
368
- targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerTargetArgs', 'LoadBalancerTargetArgsDict']]]]] = None,
363
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerTargetArgs']]]]] = None,
369
364
  __props__=None):
370
365
  """
371
366
  Provides a Hetzner Cloud Load Balancer to represent a Load Balancer in the Hetzner Cloud.
@@ -400,11 +395,11 @@ class LoadBalancer(pulumi.CustomResource):
400
395
 
401
396
  :param str resource_name: The name of the resource.
402
397
  :param pulumi.ResourceOptions opts: Options for the resource.
403
- :param pulumi.Input[Union['LoadBalancerAlgorithmArgs', 'LoadBalancerAlgorithmArgsDict']] algorithm: Configuration of the algorithm the Load Balancer use.
398
+ :param pulumi.Input[pulumi.InputType['LoadBalancerAlgorithmArgs']] algorithm: Configuration of the algorithm the Load Balancer use.
404
399
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
405
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
400
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
406
401
  :param pulumi.Input[str] load_balancer_type: Type of the Load Balancer.
407
- :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
402
+ :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set.
408
403
  :param pulumi.Input[str] name: Name of the Load Balancer.
409
404
  :param pulumi.Input[str] network_zone: The Network Zone of the Load Balancer. Require when no location is set.
410
405
  """
@@ -460,14 +455,14 @@ class LoadBalancer(pulumi.CustomResource):
460
455
  def _internal_init(__self__,
461
456
  resource_name: str,
462
457
  opts: Optional[pulumi.ResourceOptions] = None,
463
- algorithm: Optional[pulumi.Input[Union['LoadBalancerAlgorithmArgs', 'LoadBalancerAlgorithmArgsDict']]] = None,
458
+ algorithm: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAlgorithmArgs']]] = None,
464
459
  delete_protection: Optional[pulumi.Input[bool]] = None,
465
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
460
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
466
461
  load_balancer_type: Optional[pulumi.Input[str]] = None,
467
462
  location: Optional[pulumi.Input[str]] = None,
468
463
  name: Optional[pulumi.Input[str]] = None,
469
464
  network_zone: Optional[pulumi.Input[str]] = None,
470
- targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerTargetArgs', 'LoadBalancerTargetArgsDict']]]]] = None,
465
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerTargetArgs']]]]] = None,
471
466
  __props__=None):
472
467
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
473
468
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -501,18 +496,18 @@ class LoadBalancer(pulumi.CustomResource):
501
496
  def get(resource_name: str,
502
497
  id: pulumi.Input[str],
503
498
  opts: Optional[pulumi.ResourceOptions] = None,
504
- algorithm: Optional[pulumi.Input[Union['LoadBalancerAlgorithmArgs', 'LoadBalancerAlgorithmArgsDict']]] = None,
499
+ algorithm: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAlgorithmArgs']]] = None,
505
500
  delete_protection: Optional[pulumi.Input[bool]] = None,
506
501
  ipv4: Optional[pulumi.Input[str]] = None,
507
502
  ipv6: Optional[pulumi.Input[str]] = None,
508
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
503
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
509
504
  load_balancer_type: Optional[pulumi.Input[str]] = None,
510
505
  location: Optional[pulumi.Input[str]] = None,
511
506
  name: Optional[pulumi.Input[str]] = None,
512
507
  network_id: Optional[pulumi.Input[int]] = None,
513
508
  network_ip: Optional[pulumi.Input[str]] = None,
514
509
  network_zone: Optional[pulumi.Input[str]] = None,
515
- targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerTargetArgs', 'LoadBalancerTargetArgsDict']]]]] = None) -> 'LoadBalancer':
510
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LoadBalancerTargetArgs']]]]] = None) -> 'LoadBalancer':
516
511
  """
517
512
  Get an existing LoadBalancer resource's state with the given name, id, and optional extra
518
513
  properties used to qualify the lookup.
@@ -520,13 +515,13 @@ class LoadBalancer(pulumi.CustomResource):
520
515
  :param str resource_name: The unique name of the resulting resource.
521
516
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
522
517
  :param pulumi.ResourceOptions opts: Options for the resource.
523
- :param pulumi.Input[Union['LoadBalancerAlgorithmArgs', 'LoadBalancerAlgorithmArgsDict']] algorithm: Configuration of the algorithm the Load Balancer use.
518
+ :param pulumi.Input[pulumi.InputType['LoadBalancerAlgorithmArgs']] algorithm: Configuration of the algorithm the Load Balancer use.
524
519
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
525
520
  :param pulumi.Input[str] ipv4: (string) IPv4 Address of the Load Balancer.
526
521
  :param pulumi.Input[str] ipv6: (string) IPv6 Address of the Load Balancer.
527
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
522
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
528
523
  :param pulumi.Input[str] load_balancer_type: Type of the Load Balancer.
529
- :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
524
+ :param pulumi.Input[str] location: The location name of the Load Balancer. Require when no network_zone is set.
530
525
  :param pulumi.Input[str] name: Name of the Load Balancer.
531
526
  :param pulumi.Input[int] network_id: (int) ID of the first private network that this Load Balancer is connected to.
532
527
  :param pulumi.Input[str] network_ip: (string) IP of the Load Balancer in the first private network that it is connected to.
@@ -584,7 +579,7 @@ class LoadBalancer(pulumi.CustomResource):
584
579
 
585
580
  @property
586
581
  @pulumi.getter
587
- def labels(self) -> pulumi.Output[Mapping[str, str]]:
582
+ def labels(self) -> pulumi.Output[Mapping[str, Any]]:
588
583
  """
589
584
  User-defined labels (key-value pairs) should be created with.
590
585
  """
@@ -602,7 +597,7 @@ class LoadBalancer(pulumi.CustomResource):
602
597
  @pulumi.getter
603
598
  def location(self) -> pulumi.Output[str]:
604
599
  """
605
- The location name of the Load Balancer. Require when no network_zone is set. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
600
+ The location name of the Load Balancer. Require when no network_zone is set.
606
601
  """
607
602
  return pulumi.get(self, "location")
608
603
 
@@ -4,14 +4,9 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
- import sys
8
7
  import pulumi
9
8
  import pulumi.runtime
10
9
  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
10
  from . import _utilities
16
11
 
17
12
  __all__ = ['LoadBalancerNetworkArgs', 'LoadBalancerNetwork']
@@ -42,7 +37,7 @@ class LoadBalancerNetworkArgs:
42
37
  `LoadBalancerNetwork` and the existence of a subnet.
43
38
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
44
39
  added to the Load Balancer. Required if `network_id` is not set.
45
- _Note_: if the `ip` property is missing, the Load Balancer is
40
+ *Note*: if the `ip` property is missing, the Load Balancer is
46
41
  currently added to the last created subnet.
47
42
  """
48
43
  pulumi.set(__self__, "load_balancer_id", load_balancer_id)
@@ -119,7 +114,7 @@ class LoadBalancerNetworkArgs:
119
114
  """
120
115
  ID of the sub-network which should be
121
116
  added to the Load Balancer. Required if `network_id` is not set.
122
- _Note_: if the `ip` property is missing, the Load Balancer is
117
+ *Note*: if the `ip` property is missing, the Load Balancer is
123
118
  currently added to the last created subnet.
124
119
  """
125
120
  return pulumi.get(self, "subnet_id")
@@ -155,7 +150,7 @@ class _LoadBalancerNetworkState:
155
150
  `LoadBalancerNetwork` and the existence of a subnet.
156
151
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
157
152
  added to the Load Balancer. Required if `network_id` is not set.
158
- _Note_: if the `ip` property is missing, the Load Balancer is
153
+ *Note*: if the `ip` property is missing, the Load Balancer is
159
154
  currently added to the last created subnet.
160
155
  """
161
156
  if enable_public_interface is not None:
@@ -233,7 +228,7 @@ class _LoadBalancerNetworkState:
233
228
  """
234
229
  ID of the sub-network which should be
235
230
  added to the Load Balancer. Required if `network_id` is not set.
236
- _Note_: if the `ip` property is missing, the Load Balancer is
231
+ *Note*: if the `ip` property is missing, the Load Balancer is
237
232
  currently added to the last created subnet.
238
233
  """
239
234
  return pulumi.get(self, "subnet_id")
@@ -310,7 +305,7 @@ class LoadBalancerNetwork(pulumi.CustomResource):
310
305
  `LoadBalancerNetwork` and the existence of a subnet.
311
306
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
312
307
  added to the Load Balancer. Required if `network_id` is not set.
313
- _Note_: if the `ip` property is missing, the Load Balancer is
308
+ *Note*: if the `ip` property is missing, the Load Balancer is
314
309
  currently added to the last created subnet.
315
310
  """
316
311
  ...
@@ -431,7 +426,7 @@ class LoadBalancerNetwork(pulumi.CustomResource):
431
426
  `LoadBalancerNetwork` and the existence of a subnet.
432
427
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
433
428
  added to the Load Balancer. Required if `network_id` is not set.
434
- _Note_: if the `ip` property is missing, the Load Balancer is
429
+ *Note*: if the `ip` property is missing, the Load Balancer is
435
430
  currently added to the last created subnet.
436
431
  """
437
432
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -493,7 +488,7 @@ class LoadBalancerNetwork(pulumi.CustomResource):
493
488
  """
494
489
  ID of the sub-network which should be
495
490
  added to the Load Balancer. Required if `network_id` is not set.
496
- _Note_: if the `ip` property is missing, the Load Balancer is
491
+ *Note*: if the `ip` property is missing, the Load Balancer is
497
492
  currently added to the last created subnet.
498
493
  """
499
494
  return pulumi.get(self, "subnet_id")