pulumi-hcloud 1.20.5__py3-none-any.whl → 1.21.0a1722059020__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 (63) hide show
  1. pulumi_hcloud/_inputs.py +0 -234
  2. pulumi_hcloud/_utilities.py +1 -1
  3. pulumi_hcloud/certificate.py +10 -15
  4. pulumi_hcloud/config/__init__.pyi +0 -5
  5. pulumi_hcloud/config/vars.py +0 -5
  6. pulumi_hcloud/firewall.py +46 -51
  7. pulumi_hcloud/firewall_attachment.py +0 -5
  8. pulumi_hcloud/floating_ip.py +28 -33
  9. pulumi_hcloud/floating_ip_assignment.py +0 -5
  10. pulumi_hcloud/get_certificate.py +5 -24
  11. pulumi_hcloud/get_certificates.py +4 -13
  12. pulumi_hcloud/get_datacenter.py +4 -17
  13. pulumi_hcloud/get_datacenters.py +4 -18
  14. pulumi_hcloud/get_firewall.py +17 -36
  15. pulumi_hcloud/get_firewalls.py +4 -15
  16. pulumi_hcloud/get_floating_ip.py +5 -27
  17. pulumi_hcloud/get_floating_ips.py +4 -13
  18. pulumi_hcloud/get_image.py +5 -35
  19. pulumi_hcloud/get_images.py +4 -21
  20. pulumi_hcloud/get_load_balancer.py +5 -28
  21. pulumi_hcloud/get_load_balancers.py +4 -13
  22. pulumi_hcloud/get_location.py +4 -19
  23. pulumi_hcloud/get_locations.py +4 -18
  24. pulumi_hcloud/get_network.py +7 -26
  25. pulumi_hcloud/get_networks.py +4 -13
  26. pulumi_hcloud/get_placement_group.py +9 -27
  27. pulumi_hcloud/get_placement_groups.py +4 -15
  28. pulumi_hcloud/get_primary_ip.py +11 -33
  29. pulumi_hcloud/get_primary_ips.py +4 -13
  30. pulumi_hcloud/get_server.py +5 -39
  31. pulumi_hcloud/get_server_type.py +4 -26
  32. pulumi_hcloud/get_server_types.py +4 -15
  33. pulumi_hcloud/get_servers.py +4 -15
  34. pulumi_hcloud/get_ssh_key.py +4 -23
  35. pulumi_hcloud/get_ssh_keys.py +4 -14
  36. pulumi_hcloud/get_volume.py +5 -28
  37. pulumi_hcloud/get_volumes.py +4 -15
  38. pulumi_hcloud/load_balancer.py +22 -27
  39. pulumi_hcloud/load_balancer_network.py +0 -5
  40. pulumi_hcloud/load_balancer_service.py +44 -49
  41. pulumi_hcloud/load_balancer_target.py +0 -5
  42. pulumi_hcloud/managed_certificate.py +14 -19
  43. pulumi_hcloud/network.py +14 -19
  44. pulumi_hcloud/network_route.py +0 -5
  45. pulumi_hcloud/network_subnet.py +0 -5
  46. pulumi_hcloud/outputs.py +20 -25
  47. pulumi_hcloud/placement_group.py +14 -19
  48. pulumi_hcloud/primary_ip.py +20 -25
  49. pulumi_hcloud/provider.py +0 -5
  50. pulumi_hcloud/pulumi-plugin.json +1 -1
  51. pulumi_hcloud/rdns.py +0 -5
  52. pulumi_hcloud/server.py +60 -65
  53. pulumi_hcloud/server_network.py +0 -5
  54. pulumi_hcloud/snapshot.py +14 -19
  55. pulumi_hcloud/ssh_key.py +0 -5
  56. pulumi_hcloud/uploaded_certificate.py +14 -19
  57. pulumi_hcloud/volume.py +14 -19
  58. pulumi_hcloud/volume_attachment.py +0 -5
  59. {pulumi_hcloud-1.20.5.dist-info → pulumi_hcloud-1.21.0a1722059020.dist-info}/METADATA +2 -3
  60. pulumi_hcloud-1.21.0a1722059020.dist-info/RECORD +65 -0
  61. {pulumi_hcloud-1.20.5.dist-info → pulumi_hcloud-1.21.0a1722059020.dist-info}/WHEEL +1 -1
  62. pulumi_hcloud-1.20.5.dist-info/RECORD +0 -65
  63. {pulumi_hcloud-1.20.5.dist-info → pulumi_hcloud-1.21.0a1722059020.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
  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,7 +29,7 @@ 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.
32
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
38
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.
@@ -96,14 +91,14 @@ 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
@@ -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,7 +169,7 @@ 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
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.
@@ -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
@@ -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,9 +395,9 @@ 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
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.
@@ -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,11 +515,11 @@ 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
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.
@@ -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
  """
@@ -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']
@@ -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 *
@@ -262,8 +257,8 @@ class LoadBalancerService(pulumi.CustomResource):
262
257
  resource_name: str,
263
258
  opts: Optional[pulumi.ResourceOptions] = None,
264
259
  destination_port: Optional[pulumi.Input[int]] = None,
265
- health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
266
- http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
260
+ health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
261
+ http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
267
262
  listen_port: Optional[pulumi.Input[int]] = None,
268
263
  load_balancer_id: Optional[pulumi.Input[str]] = None,
269
264
  protocol: Optional[pulumi.Input[str]] = None,
@@ -285,23 +280,23 @@ class LoadBalancerService(pulumi.CustomResource):
285
280
  load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
286
281
  load_balancer_id=load_balancer.id,
287
282
  protocol="http",
288
- http={
289
- "sticky_sessions": True,
290
- "cookie_name": "EXAMPLE_STICKY",
291
- },
292
- health_check={
293
- "protocol": "http",
294
- "port": 80,
295
- "interval": 10,
296
- "timeout": 5,
297
- "http": {
298
- "domain": "example.com",
299
- "path": "/healthz",
300
- "response": "OK",
301
- "tls": True,
302
- "status_codes": ["200"],
303
- },
304
- })
283
+ http=hcloud.LoadBalancerServiceHttpArgs(
284
+ sticky_sessions=True,
285
+ cookie_name="EXAMPLE_STICKY",
286
+ ),
287
+ health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
288
+ protocol="http",
289
+ port=80,
290
+ interval=10,
291
+ timeout=5,
292
+ http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
293
+ domain="example.com",
294
+ path="/healthz",
295
+ response="OK",
296
+ tls=True,
297
+ status_codes=["200"],
298
+ ),
299
+ ))
305
300
  ```
306
301
 
307
302
  ## Import
@@ -317,8 +312,8 @@ class LoadBalancerService(pulumi.CustomResource):
317
312
  :param str resource_name: The name of the resource.
318
313
  :param pulumi.ResourceOptions opts: Options for the resource.
319
314
  :param pulumi.Input[int] destination_port: Port the service connects to the targets on, required if protocol is `tcp`. Can be everything between `1` and `65535`.
320
- :param pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']] health_check: Health Check configuration when `protocol` is `http` or `https`.
321
- :param pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']] http: HTTP configuration when `protocol` is `http` or `https`.
315
+ :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
316
+ :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']] http: HTTP configuration when `protocol` is `http` or `https`.
322
317
  :param pulumi.Input[int] listen_port: Port the service listen on, required if protocol is `tcp`. Can be everything between `1` and `65535`. Must be unique per Load Balancer.
323
318
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
324
319
  :param pulumi.Input[str] protocol: Protocol of the service. `http`, `https` or `tcp`
@@ -346,23 +341,23 @@ class LoadBalancerService(pulumi.CustomResource):
346
341
  load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
347
342
  load_balancer_id=load_balancer.id,
348
343
  protocol="http",
349
- http={
350
- "sticky_sessions": True,
351
- "cookie_name": "EXAMPLE_STICKY",
352
- },
353
- health_check={
354
- "protocol": "http",
355
- "port": 80,
356
- "interval": 10,
357
- "timeout": 5,
358
- "http": {
359
- "domain": "example.com",
360
- "path": "/healthz",
361
- "response": "OK",
362
- "tls": True,
363
- "status_codes": ["200"],
364
- },
365
- })
344
+ http=hcloud.LoadBalancerServiceHttpArgs(
345
+ sticky_sessions=True,
346
+ cookie_name="EXAMPLE_STICKY",
347
+ ),
348
+ health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
349
+ protocol="http",
350
+ port=80,
351
+ interval=10,
352
+ timeout=5,
353
+ http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
354
+ domain="example.com",
355
+ path="/healthz",
356
+ response="OK",
357
+ tls=True,
358
+ status_codes=["200"],
359
+ ),
360
+ ))
366
361
  ```
367
362
 
368
363
  ## Import
@@ -391,8 +386,8 @@ class LoadBalancerService(pulumi.CustomResource):
391
386
  resource_name: str,
392
387
  opts: Optional[pulumi.ResourceOptions] = None,
393
388
  destination_port: Optional[pulumi.Input[int]] = None,
394
- health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
395
- http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
389
+ health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
390
+ http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
396
391
  listen_port: Optional[pulumi.Input[int]] = None,
397
392
  load_balancer_id: Optional[pulumi.Input[str]] = None,
398
393
  protocol: Optional[pulumi.Input[str]] = None,
@@ -428,8 +423,8 @@ class LoadBalancerService(pulumi.CustomResource):
428
423
  id: pulumi.Input[str],
429
424
  opts: Optional[pulumi.ResourceOptions] = None,
430
425
  destination_port: Optional[pulumi.Input[int]] = None,
431
- health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
432
- http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
426
+ health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
427
+ http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
433
428
  listen_port: Optional[pulumi.Input[int]] = None,
434
429
  load_balancer_id: Optional[pulumi.Input[str]] = None,
435
430
  protocol: Optional[pulumi.Input[str]] = None,
@@ -442,8 +437,8 @@ class LoadBalancerService(pulumi.CustomResource):
442
437
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
443
438
  :param pulumi.ResourceOptions opts: Options for the resource.
444
439
  :param pulumi.Input[int] destination_port: Port the service connects to the targets on, required if protocol is `tcp`. Can be everything between `1` and `65535`.
445
- :param pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']] health_check: Health Check configuration when `protocol` is `http` or `https`.
446
- :param pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']] http: HTTP configuration when `protocol` is `http` or `https`.
440
+ :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
441
+ :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']] http: HTTP configuration when `protocol` is `http` or `https`.
447
442
  :param pulumi.Input[int] listen_port: Port the service listen on, required if protocol is `tcp`. Can be everything between `1` and `65535`. Must be unique per Load Balancer.
448
443
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
449
444
  :param pulumi.Input[str] protocol: Protocol of the service. `http`, `https` or `tcp`
@@ -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__ = ['LoadBalancerTargetInitArgs', 'LoadBalancerTarget']
@@ -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__ = ['ManagedCertificateArgs', 'ManagedCertificate']
@@ -20,13 +15,13 @@ __all__ = ['ManagedCertificateArgs', 'ManagedCertificate']
20
15
  class ManagedCertificateArgs:
21
16
  def __init__(__self__, *,
22
17
  domain_names: pulumi.Input[Sequence[pulumi.Input[str]]],
23
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
18
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
24
19
  name: Optional[pulumi.Input[str]] = None):
25
20
  """
26
21
  The set of arguments for constructing a ManagedCertificate resource.
27
22
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
28
23
  should be obtained.
29
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
24
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
30
25
  certificate should be created with.
31
26
  :param pulumi.Input[str] name: Name of the Certificate.
32
27
  """
@@ -51,7 +46,7 @@ class ManagedCertificateArgs:
51
46
 
52
47
  @property
53
48
  @pulumi.getter
54
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
49
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
55
50
  """
56
51
  User-defined labels (key-value pairs) the
57
52
  certificate should be created with.
@@ -59,7 +54,7 @@ class ManagedCertificateArgs:
59
54
  return pulumi.get(self, "labels")
60
55
 
61
56
  @labels.setter
62
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
57
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
63
58
  pulumi.set(self, "labels", value)
64
59
 
65
60
  @property
@@ -82,7 +77,7 @@ class _ManagedCertificateState:
82
77
  created: Optional[pulumi.Input[str]] = None,
83
78
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
84
79
  fingerprint: Optional[pulumi.Input[str]] = None,
85
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
80
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
86
81
  name: Optional[pulumi.Input[str]] = None,
87
82
  not_valid_after: Optional[pulumi.Input[str]] = None,
88
83
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -94,7 +89,7 @@ class _ManagedCertificateState:
94
89
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
95
90
  should be obtained.
96
91
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
97
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
92
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
98
93
  certificate should be created with.
99
94
  :param pulumi.Input[str] name: Name of the Certificate.
100
95
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -170,7 +165,7 @@ class _ManagedCertificateState:
170
165
 
171
166
  @property
172
167
  @pulumi.getter
173
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
168
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
174
169
  """
175
170
  User-defined labels (key-value pairs) the
176
171
  certificate should be created with.
@@ -178,7 +173,7 @@ class _ManagedCertificateState:
178
173
  return pulumi.get(self, "labels")
179
174
 
180
175
  @labels.setter
181
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
176
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
182
177
  pulumi.set(self, "labels", value)
183
178
 
184
179
  @property
@@ -233,7 +228,7 @@ class ManagedCertificate(pulumi.CustomResource):
233
228
  resource_name: str,
234
229
  opts: Optional[pulumi.ResourceOptions] = None,
235
230
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
236
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
231
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
237
232
  name: Optional[pulumi.Input[str]] = None,
238
233
  __props__=None):
239
234
  """
@@ -253,7 +248,7 @@ class ManagedCertificate(pulumi.CustomResource):
253
248
  :param pulumi.ResourceOptions opts: Options for the resource.
254
249
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
255
250
  should be obtained.
256
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
251
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
257
252
  certificate should be created with.
258
253
  :param pulumi.Input[str] name: Name of the Certificate.
259
254
  """
@@ -292,7 +287,7 @@ class ManagedCertificate(pulumi.CustomResource):
292
287
  resource_name: str,
293
288
  opts: Optional[pulumi.ResourceOptions] = None,
294
289
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
295
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
290
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
296
291
  name: Optional[pulumi.Input[str]] = None,
297
292
  __props__=None):
298
293
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -328,7 +323,7 @@ class ManagedCertificate(pulumi.CustomResource):
328
323
  created: Optional[pulumi.Input[str]] = None,
329
324
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
330
325
  fingerprint: Optional[pulumi.Input[str]] = None,
331
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
326
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
332
327
  name: Optional[pulumi.Input[str]] = None,
333
328
  not_valid_after: Optional[pulumi.Input[str]] = None,
334
329
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -345,7 +340,7 @@ class ManagedCertificate(pulumi.CustomResource):
345
340
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
346
341
  should be obtained.
347
342
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
348
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
343
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
349
344
  certificate should be created with.
350
345
  :param pulumi.Input[str] name: Name of the Certificate.
351
346
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -401,7 +396,7 @@ class ManagedCertificate(pulumi.CustomResource):
401
396
 
402
397
  @property
403
398
  @pulumi.getter
404
- def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
399
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
405
400
  """
406
401
  User-defined labels (key-value pairs) the
407
402
  certificate should be created with.
pulumi_hcloud/network.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
 
17
12
  __all__ = ['NetworkArgs', 'Network']
@@ -22,14 +17,14 @@ class NetworkArgs:
22
17
  ip_range: pulumi.Input[str],
23
18
  delete_protection: Optional[pulumi.Input[bool]] = None,
24
19
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = 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
  """
28
23
  The set of arguments for constructing a Network resource.
29
24
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
30
25
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
31
26
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
32
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
27
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
33
28
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
34
29
  """
35
30
  pulumi.set(__self__, "ip_range", ip_range)
@@ -80,14 +75,14 @@ class NetworkArgs:
80
75
 
81
76
  @property
82
77
  @pulumi.getter
83
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
78
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
84
79
  """
85
80
  User-defined labels (key-value pairs) should be created with.
86
81
  """
87
82
  return pulumi.get(self, "labels")
88
83
 
89
84
  @labels.setter
90
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
85
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
91
86
  pulumi.set(self, "labels", value)
92
87
 
93
88
  @property
@@ -109,14 +104,14 @@ class _NetworkState:
109
104
  delete_protection: Optional[pulumi.Input[bool]] = None,
110
105
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
111
106
  ip_range: Optional[pulumi.Input[str]] = None,
112
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
107
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
113
108
  name: Optional[pulumi.Input[str]] = None):
114
109
  """
115
110
  Input properties used for looking up and filtering Network resources.
116
111
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
117
112
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
118
113
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
119
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
114
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
120
115
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
121
116
  """
122
117
  if delete_protection is not None:
@@ -168,14 +163,14 @@ class _NetworkState:
168
163
 
169
164
  @property
170
165
  @pulumi.getter
171
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
166
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
172
167
  """
173
168
  User-defined labels (key-value pairs) should be created with.
174
169
  """
175
170
  return pulumi.get(self, "labels")
176
171
 
177
172
  @labels.setter
178
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
173
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
179
174
  pulumi.set(self, "labels", value)
180
175
 
181
176
  @property
@@ -199,7 +194,7 @@ class Network(pulumi.CustomResource):
199
194
  delete_protection: Optional[pulumi.Input[bool]] = None,
200
195
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
201
196
  ip_range: Optional[pulumi.Input[str]] = None,
202
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
197
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
203
198
  name: Optional[pulumi.Input[str]] = None,
204
199
  __props__=None):
205
200
  """
@@ -229,7 +224,7 @@ class Network(pulumi.CustomResource):
229
224
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
230
225
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
231
226
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
232
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
227
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
233
228
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
234
229
  """
235
230
  ...
@@ -278,7 +273,7 @@ class Network(pulumi.CustomResource):
278
273
  delete_protection: Optional[pulumi.Input[bool]] = None,
279
274
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
280
275
  ip_range: Optional[pulumi.Input[str]] = None,
281
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
276
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
282
277
  name: Optional[pulumi.Input[str]] = None,
283
278
  __props__=None):
284
279
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -309,7 +304,7 @@ class Network(pulumi.CustomResource):
309
304
  delete_protection: Optional[pulumi.Input[bool]] = None,
310
305
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
311
306
  ip_range: Optional[pulumi.Input[str]] = None,
312
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
307
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
313
308
  name: Optional[pulumi.Input[str]] = None) -> 'Network':
314
309
  """
315
310
  Get an existing Network resource's state with the given name, id, and optional extra
@@ -321,7 +316,7 @@ class Network(pulumi.CustomResource):
321
316
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
322
317
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
323
318
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
324
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
319
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
325
320
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
326
321
  """
327
322
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -361,7 +356,7 @@ class Network(pulumi.CustomResource):
361
356
 
362
357
  @property
363
358
  @pulumi.getter
364
- def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
359
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
365
360
  """
366
361
  User-defined labels (key-value pairs) should be created with.
367
362
  """
@@ -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__ = ['NetworkRouteArgs', 'NetworkRoute']