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
pulumi_hcloud/firewall.py CHANGED
@@ -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 *
@@ -22,13 +17,13 @@ __all__ = ['FirewallArgs', 'Firewall']
22
17
  class FirewallArgs:
23
18
  def __init__(__self__, *,
24
19
  apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]]] = None,
25
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
20
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
26
21
  name: Optional[pulumi.Input[str]] = None,
27
22
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]]] = None):
28
23
  """
29
24
  The set of arguments for constructing a Firewall resource.
30
25
  :param pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]] apply_tos: Resources the firewall should be assigned to
31
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
26
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
32
27
  :param pulumi.Input[str] name: Name of the Firewall.
33
28
  :param pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]] rules: Configuration of a Rule from this Firewall.
34
29
  """
@@ -55,14 +50,14 @@ class FirewallArgs:
55
50
 
56
51
  @property
57
52
  @pulumi.getter
58
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
53
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
59
54
  """
60
55
  User-defined labels (key-value pairs) should be created with.
61
56
  """
62
57
  return pulumi.get(self, "labels")
63
58
 
64
59
  @labels.setter
65
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
60
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
66
61
  pulumi.set(self, "labels", value)
67
62
 
68
63
  @property
@@ -94,13 +89,13 @@ class FirewallArgs:
94
89
  class _FirewallState:
95
90
  def __init__(__self__, *,
96
91
  apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]]] = None,
97
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
92
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
98
93
  name: Optional[pulumi.Input[str]] = None,
99
94
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]]] = None):
100
95
  """
101
96
  Input properties used for looking up and filtering Firewall resources.
102
97
  :param pulumi.Input[Sequence[pulumi.Input['FirewallApplyToArgs']]] apply_tos: Resources the firewall should be assigned to
103
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
98
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
104
99
  :param pulumi.Input[str] name: Name of the Firewall.
105
100
  :param pulumi.Input[Sequence[pulumi.Input['FirewallRuleArgs']]] rules: Configuration of a Rule from this Firewall.
106
101
  """
@@ -127,14 +122,14 @@ class _FirewallState:
127
122
 
128
123
  @property
129
124
  @pulumi.getter
130
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
125
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
131
126
  """
132
127
  User-defined labels (key-value pairs) should be created with.
133
128
  """
134
129
  return pulumi.get(self, "labels")
135
130
 
136
131
  @labels.setter
137
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
132
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
138
133
  pulumi.set(self, "labels", value)
139
134
 
140
135
  @property
@@ -167,10 +162,10 @@ class Firewall(pulumi.CustomResource):
167
162
  def __init__(__self__,
168
163
  resource_name: str,
169
164
  opts: Optional[pulumi.ResourceOptions] = None,
170
- apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
171
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
165
+ apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallApplyToArgs']]]]] = None,
166
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
172
167
  name: Optional[pulumi.Input[str]] = None,
173
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None,
168
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallRuleArgs']]]]] = None,
174
169
  __props__=None):
175
170
  """
176
171
  Provides a Hetzner Cloud Firewall to represent a Firewall in the Hetzner Cloud.
@@ -184,23 +179,23 @@ class Firewall(pulumi.CustomResource):
184
179
  myfirewall = hcloud.Firewall("myfirewall",
185
180
  name="my-firewall",
186
181
  rules=[
187
- {
188
- "direction": "in",
189
- "protocol": "icmp",
190
- "source_ips": [
182
+ hcloud.FirewallRuleArgs(
183
+ direction="in",
184
+ protocol="icmp",
185
+ source_ips=[
191
186
  "0.0.0.0/0",
192
187
  "::/0",
193
188
  ],
194
- },
195
- {
196
- "direction": "in",
197
- "protocol": "tcp",
198
- "port": "80-85",
199
- "source_ips": [
189
+ ),
190
+ hcloud.FirewallRuleArgs(
191
+ direction="in",
192
+ protocol="tcp",
193
+ port="80-85",
194
+ source_ips=[
200
195
  "0.0.0.0/0",
201
196
  "::/0",
202
197
  ],
203
- },
198
+ ),
204
199
  ])
205
200
  node1 = hcloud.Server("node1",
206
201
  name="node1",
@@ -219,10 +214,10 @@ class Firewall(pulumi.CustomResource):
219
214
 
220
215
  :param str resource_name: The name of the resource.
221
216
  :param pulumi.ResourceOptions opts: Options for the resource.
222
- :param pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]] apply_tos: Resources the firewall should be assigned to
223
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
217
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallApplyToArgs']]]] apply_tos: Resources the firewall should be assigned to
218
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
224
219
  :param pulumi.Input[str] name: Name of the Firewall.
225
- :param pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]] rules: Configuration of a Rule from this Firewall.
220
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallRuleArgs']]]] rules: Configuration of a Rule from this Firewall.
226
221
  """
227
222
  ...
228
223
  @overload
@@ -242,23 +237,23 @@ class Firewall(pulumi.CustomResource):
242
237
  myfirewall = hcloud.Firewall("myfirewall",
243
238
  name="my-firewall",
244
239
  rules=[
245
- {
246
- "direction": "in",
247
- "protocol": "icmp",
248
- "source_ips": [
240
+ hcloud.FirewallRuleArgs(
241
+ direction="in",
242
+ protocol="icmp",
243
+ source_ips=[
249
244
  "0.0.0.0/0",
250
245
  "::/0",
251
246
  ],
252
- },
253
- {
254
- "direction": "in",
255
- "protocol": "tcp",
256
- "port": "80-85",
257
- "source_ips": [
247
+ ),
248
+ hcloud.FirewallRuleArgs(
249
+ direction="in",
250
+ protocol="tcp",
251
+ port="80-85",
252
+ source_ips=[
258
253
  "0.0.0.0/0",
259
254
  "::/0",
260
255
  ],
261
- },
256
+ ),
262
257
  ])
263
258
  node1 = hcloud.Server("node1",
264
259
  name="node1",
@@ -290,10 +285,10 @@ class Firewall(pulumi.CustomResource):
290
285
  def _internal_init(__self__,
291
286
  resource_name: str,
292
287
  opts: Optional[pulumi.ResourceOptions] = None,
293
- apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
294
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
288
+ apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallApplyToArgs']]]]] = None,
289
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
295
290
  name: Optional[pulumi.Input[str]] = None,
296
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None,
291
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallRuleArgs']]]]] = None,
297
292
  __props__=None):
298
293
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
299
294
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -317,10 +312,10 @@ class Firewall(pulumi.CustomResource):
317
312
  def get(resource_name: str,
318
313
  id: pulumi.Input[str],
319
314
  opts: Optional[pulumi.ResourceOptions] = None,
320
- apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]]] = None,
321
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
315
+ apply_tos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallApplyToArgs']]]]] = None,
316
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
322
317
  name: Optional[pulumi.Input[str]] = None,
323
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]]] = None) -> 'Firewall':
318
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallRuleArgs']]]]] = None) -> 'Firewall':
324
319
  """
325
320
  Get an existing Firewall resource's state with the given name, id, and optional extra
326
321
  properties used to qualify the lookup.
@@ -328,10 +323,10 @@ class Firewall(pulumi.CustomResource):
328
323
  :param str resource_name: The unique name of the resulting resource.
329
324
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
330
325
  :param pulumi.ResourceOptions opts: Options for the resource.
331
- :param pulumi.Input[Sequence[pulumi.Input[Union['FirewallApplyToArgs', 'FirewallApplyToArgsDict']]]] apply_tos: Resources the firewall should be assigned to
332
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
326
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallApplyToArgs']]]] apply_tos: Resources the firewall should be assigned to
327
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
333
328
  :param pulumi.Input[str] name: Name of the Firewall.
334
- :param pulumi.Input[Sequence[pulumi.Input[Union['FirewallRuleArgs', 'FirewallRuleArgsDict']]]] rules: Configuration of a Rule from this Firewall.
329
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallRuleArgs']]]] rules: Configuration of a Rule from this Firewall.
335
330
  """
336
331
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
337
332
 
@@ -353,7 +348,7 @@ class Firewall(pulumi.CustomResource):
353
348
 
354
349
  @property
355
350
  @pulumi.getter
356
- def labels(self) -> pulumi.Output[Mapping[str, str]]:
351
+ def labels(self) -> pulumi.Output[Mapping[str, Any]]:
357
352
  """
358
353
  User-defined labels (key-value pairs) should be created with.
359
354
  """
@@ -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__ = ['FirewallAttachmentArgs', 'FirewallAttachment']
@@ -151,7 +146,7 @@ class FirewallAttachment(pulumi.CustomResource):
151
146
  """
152
147
  Attaches resource to a Hetzner Cloud Firewall.
153
148
 
154
- _Note_: only one `FirewallAttachment` per Firewall is allowed.
149
+ *Note*: only one `FirewallAttachment` per Firewall is allowed.
155
150
  Any resources that should be attached to that Firewall need to be
156
151
  specified in that `FirewallAttachment`.
157
152
 
@@ -210,7 +205,7 @@ class FirewallAttachment(pulumi.CustomResource):
210
205
  """
211
206
  Attaches resource to a Hetzner Cloud Firewall.
212
207
 
213
- _Note_: only one `FirewallAttachment` per Firewall is allowed.
208
+ *Note*: only one `FirewallAttachment` per Firewall is allowed.
214
209
  Any resources that should be attached to that Firewall need to be
215
210
  specified in that `FirewallAttachment`.
216
211
 
@@ -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__ = ['FloatingIpArgs', 'FloatingIp']
@@ -23,7 +18,7 @@ class FloatingIpArgs:
23
18
  delete_protection: Optional[pulumi.Input[bool]] = None,
24
19
  description: Optional[pulumi.Input[str]] = None,
25
20
  home_location: Optional[pulumi.Input[str]] = None,
26
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
27
22
  name: Optional[pulumi.Input[str]] = None,
28
23
  server_id: Optional[pulumi.Input[int]] = None):
29
24
  """
@@ -31,10 +26,10 @@ class FloatingIpArgs:
31
26
  :param pulumi.Input[str] type: Type of the Floating IP. `ipv4` `ipv6`
32
27
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
33
28
  :param pulumi.Input[str] description: Description of the Floating IP.
34
- :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
35
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
29
+ :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
30
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
36
31
  :param pulumi.Input[str] name: Name of the Floating IP.
37
- :param pulumi.Input[int] server_id: Server to assign the Floating IP to. Optional if `home_location` argument is passed.
32
+ :param pulumi.Input[int] server_id: Server to assign the Floating IP to.
38
33
  """
39
34
  pulumi.set(__self__, "type", type)
40
35
  if delete_protection is not None:
@@ -90,7 +85,7 @@ class FloatingIpArgs:
90
85
  @pulumi.getter(name="homeLocation")
91
86
  def home_location(self) -> Optional[pulumi.Input[str]]:
92
87
  """
93
- Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
88
+ Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
94
89
  """
95
90
  return pulumi.get(self, "home_location")
96
91
 
@@ -100,14 +95,14 @@ class FloatingIpArgs:
100
95
 
101
96
  @property
102
97
  @pulumi.getter
103
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
98
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
104
99
  """
105
100
  User-defined labels (key-value pairs) should be created with.
106
101
  """
107
102
  return pulumi.get(self, "labels")
108
103
 
109
104
  @labels.setter
110
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
105
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
111
106
  pulumi.set(self, "labels", value)
112
107
 
113
108
  @property
@@ -126,7 +121,7 @@ class FloatingIpArgs:
126
121
  @pulumi.getter(name="serverId")
127
122
  def server_id(self) -> Optional[pulumi.Input[int]]:
128
123
  """
129
- Server to assign the Floating IP to. Optional if `home_location` argument is passed.
124
+ Server to assign the Floating IP to.
130
125
  """
131
126
  return pulumi.get(self, "server_id")
132
127
 
@@ -143,7 +138,7 @@ class _FloatingIpState:
143
138
  home_location: Optional[pulumi.Input[str]] = None,
144
139
  ip_address: Optional[pulumi.Input[str]] = None,
145
140
  ip_network: Optional[pulumi.Input[str]] = None,
146
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
141
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
147
142
  name: Optional[pulumi.Input[str]] = None,
148
143
  server_id: Optional[pulumi.Input[int]] = None,
149
144
  type: Optional[pulumi.Input[str]] = None):
@@ -151,12 +146,12 @@ class _FloatingIpState:
151
146
  Input properties used for looking up and filtering FloatingIp resources.
152
147
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
153
148
  :param pulumi.Input[str] description: Description of the Floating IP.
154
- :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
149
+ :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
155
150
  :param pulumi.Input[str] ip_address: (string) IP Address of the Floating IP.
156
151
  :param pulumi.Input[str] ip_network: (string) IPv6 subnet. (Only set if `type` is `ipv6`)
157
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
152
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
158
153
  :param pulumi.Input[str] name: Name of the Floating IP.
159
- :param pulumi.Input[int] server_id: Server to assign the Floating IP to. Optional if `home_location` argument is passed.
154
+ :param pulumi.Input[int] server_id: Server to assign the Floating IP to.
160
155
  :param pulumi.Input[str] type: Type of the Floating IP. `ipv4` `ipv6`
161
156
  """
162
157
  if delete_protection is not None:
@@ -206,7 +201,7 @@ class _FloatingIpState:
206
201
  @pulumi.getter(name="homeLocation")
207
202
  def home_location(self) -> Optional[pulumi.Input[str]]:
208
203
  """
209
- Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
204
+ Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
210
205
  """
211
206
  return pulumi.get(self, "home_location")
212
207
 
@@ -240,14 +235,14 @@ class _FloatingIpState:
240
235
 
241
236
  @property
242
237
  @pulumi.getter
243
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
238
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
244
239
  """
245
240
  User-defined labels (key-value pairs) should be created with.
246
241
  """
247
242
  return pulumi.get(self, "labels")
248
243
 
249
244
  @labels.setter
250
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
245
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
251
246
  pulumi.set(self, "labels", value)
252
247
 
253
248
  @property
@@ -266,7 +261,7 @@ class _FloatingIpState:
266
261
  @pulumi.getter(name="serverId")
267
262
  def server_id(self) -> Optional[pulumi.Input[int]]:
268
263
  """
269
- Server to assign the Floating IP to. Optional if `home_location` argument is passed.
264
+ Server to assign the Floating IP to.
270
265
  """
271
266
  return pulumi.get(self, "server_id")
272
267
 
@@ -295,7 +290,7 @@ class FloatingIp(pulumi.CustomResource):
295
290
  delete_protection: Optional[pulumi.Input[bool]] = None,
296
291
  description: Optional[pulumi.Input[str]] = None,
297
292
  home_location: Optional[pulumi.Input[str]] = None,
298
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
293
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
299
294
  name: Optional[pulumi.Input[str]] = None,
300
295
  server_id: Optional[pulumi.Input[int]] = None,
301
296
  type: Optional[pulumi.Input[str]] = None,
@@ -330,10 +325,10 @@ class FloatingIp(pulumi.CustomResource):
330
325
  :param pulumi.ResourceOptions opts: Options for the resource.
331
326
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
332
327
  :param pulumi.Input[str] description: Description of the Floating IP.
333
- :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
334
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
328
+ :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
329
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
335
330
  :param pulumi.Input[str] name: Name of the Floating IP.
336
- :param pulumi.Input[int] server_id: Server to assign the Floating IP to. Optional if `home_location` argument is passed.
331
+ :param pulumi.Input[int] server_id: Server to assign the Floating IP to.
337
332
  :param pulumi.Input[str] type: Type of the Floating IP. `ipv4` `ipv6`
338
333
  """
339
334
  ...
@@ -386,7 +381,7 @@ class FloatingIp(pulumi.CustomResource):
386
381
  delete_protection: Optional[pulumi.Input[bool]] = None,
387
382
  description: Optional[pulumi.Input[str]] = None,
388
383
  home_location: Optional[pulumi.Input[str]] = None,
389
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
384
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
390
385
  name: Optional[pulumi.Input[str]] = None,
391
386
  server_id: Optional[pulumi.Input[int]] = None,
392
387
  type: Optional[pulumi.Input[str]] = None,
@@ -425,7 +420,7 @@ class FloatingIp(pulumi.CustomResource):
425
420
  home_location: Optional[pulumi.Input[str]] = None,
426
421
  ip_address: Optional[pulumi.Input[str]] = None,
427
422
  ip_network: Optional[pulumi.Input[str]] = None,
428
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
423
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
429
424
  name: Optional[pulumi.Input[str]] = None,
430
425
  server_id: Optional[pulumi.Input[int]] = None,
431
426
  type: Optional[pulumi.Input[str]] = None) -> 'FloatingIp':
@@ -438,12 +433,12 @@ class FloatingIp(pulumi.CustomResource):
438
433
  :param pulumi.ResourceOptions opts: Options for the resource.
439
434
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
440
435
  :param pulumi.Input[str] description: Description of the Floating IP.
441
- :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
436
+ :param pulumi.Input[str] home_location: Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
442
437
  :param pulumi.Input[str] ip_address: (string) IP Address of the Floating IP.
443
438
  :param pulumi.Input[str] ip_network: (string) IPv6 subnet. (Only set if `type` is `ipv6`)
444
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
439
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
445
440
  :param pulumi.Input[str] name: Name of the Floating IP.
446
- :param pulumi.Input[int] server_id: Server to assign the Floating IP to. Optional if `home_location` argument is passed.
441
+ :param pulumi.Input[int] server_id: Server to assign the Floating IP to.
447
442
  :param pulumi.Input[str] type: Type of the Floating IP. `ipv4` `ipv6`
448
443
  """
449
444
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -481,7 +476,7 @@ class FloatingIp(pulumi.CustomResource):
481
476
  @pulumi.getter(name="homeLocation")
482
477
  def home_location(self) -> pulumi.Output[str]:
483
478
  """
484
- Name of home location (routing is optimized for that location). Optional if `server_id` argument is passed.
479
+ Name of home location (routing is optimized for that location). Optional if server_id argument is passed.
485
480
  """
486
481
  return pulumi.get(self, "home_location")
487
482
 
@@ -503,7 +498,7 @@ class FloatingIp(pulumi.CustomResource):
503
498
 
504
499
  @property
505
500
  @pulumi.getter
506
- def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
501
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
507
502
  """
508
503
  User-defined labels (key-value pairs) should be created with.
509
504
  """
@@ -521,7 +516,7 @@ class FloatingIp(pulumi.CustomResource):
521
516
  @pulumi.getter(name="serverId")
522
517
  def server_id(self) -> pulumi.Output[int]:
523
518
  """
524
- Server to assign the Floating IP to. Optional if `home_location` argument is passed.
519
+ Server to assign the Floating IP to.
525
520
  """
526
521
  return pulumi.get(self, "server_id")
527
522
 
@@ -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__ = ['FloatingIpAssignmentArgs', 'FloatingIpAssignment']
@@ -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__ = [
@@ -103,7 +98,7 @@ class GetCertificateResult:
103
98
 
104
99
  @property
105
100
  @pulumi.getter
106
- def labels(self) -> Mapping[str, str]:
101
+ def labels(self) -> Mapping[str, Any]:
107
102
  """
108
103
  (map) User-defined labels (key-value pairs) assigned to the certificate.
109
104
  """
@@ -202,6 +197,9 @@ def get_certificate(id: Optional[int] = None,
202
197
  not_valid_before=pulumi.get(__ret__, 'not_valid_before'),
203
198
  type=pulumi.get(__ret__, 'type'),
204
199
  with_selector=pulumi.get(__ret__, 'with_selector'))
200
+
201
+
202
+ @_utilities.lift_output_func(get_certificate)
205
203
  def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
206
204
  name: Optional[pulumi.Input[Optional[str]]] = None,
207
205
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
@@ -222,21 +220,4 @@ def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
222
220
  :param str name: Name of the certificate.
223
221
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
224
222
  """
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')))
223
+ ...
@@ -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
 
@@ -97,6 +92,9 @@ def get_certificates(with_selector: Optional[str] = None,
97
92
  certificates=pulumi.get(__ret__, 'certificates'),
98
93
  id=pulumi.get(__ret__, 'id'),
99
94
  with_selector=pulumi.get(__ret__, 'with_selector'))
95
+
96
+
97
+ @_utilities.lift_output_func(get_certificates)
100
98
  def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
101
99
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificatesResult]:
102
100
  """
@@ -114,11 +112,4 @@ def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]]
114
112
 
115
113
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
116
114
  """
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')))
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__ = [
@@ -74,7 +69,7 @@ class GetDatacenterResult:
74
69
  @pulumi.getter
75
70
  def location(self) -> Mapping[str, str]:
76
71
  """
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.
72
+ (map) Physical datacenter location.
78
73
  """
79
74
  return pulumi.get(self, "location")
80
75
 
@@ -143,6 +138,9 @@ def get_datacenter(id: Optional[int] = None,
143
138
  location=pulumi.get(__ret__, 'location'),
144
139
  name=pulumi.get(__ret__, 'name'),
145
140
  supported_server_type_ids=pulumi.get(__ret__, 'supported_server_type_ids'))
141
+
142
+
143
+ @_utilities.lift_output_func(get_datacenter)
146
144
  def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
147
145
  name: Optional[pulumi.Input[Optional[str]]] = None,
148
146
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacenterResult]:
@@ -164,15 +162,4 @@ def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
164
162
  :param int id: ID of the datacenter.
165
163
  :param str name: Name of the datacenter.
166
164
  """
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')))
165
+ ...