pulumi-hcloud 1.21.0__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 (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.0a1722059020.dist-info}/METADATA +2 -3
  61. pulumi_hcloud-1.21.0a1722059020.dist-info/RECORD +65 -0
  62. {pulumi_hcloud-1.21.0.dist-info → pulumi_hcloud-1.21.0a1722059020.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.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
 
17
12
  __all__ = ['UploadedCertificateArgs', 'UploadedCertificate']
@@ -21,13 +16,13 @@ class UploadedCertificateArgs:
21
16
  def __init__(__self__, *,
22
17
  certificate: pulumi.Input[str],
23
18
  private_key: pulumi.Input[str],
24
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
19
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
25
20
  name: Optional[pulumi.Input[str]] = None):
26
21
  """
27
22
  The set of arguments for constructing a UploadedCertificate resource.
28
23
  :param pulumi.Input[str] certificate: PEM encoded TLS certificate.
29
24
  :param pulumi.Input[str] private_key: PEM encoded private key belonging to the certificate.
30
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
25
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
31
26
  certificate should be created with.
32
27
  :param pulumi.Input[str] name: Name of the Certificate.
33
28
  """
@@ -64,7 +59,7 @@ class UploadedCertificateArgs:
64
59
 
65
60
  @property
66
61
  @pulumi.getter
67
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
62
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
68
63
  """
69
64
  User-defined labels (key-value pairs) the
70
65
  certificate should be created with.
@@ -72,7 +67,7 @@ class UploadedCertificateArgs:
72
67
  return pulumi.get(self, "labels")
73
68
 
74
69
  @labels.setter
75
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
70
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
76
71
  pulumi.set(self, "labels", value)
77
72
 
78
73
  @property
@@ -95,7 +90,7 @@ class _UploadedCertificateState:
95
90
  created: Optional[pulumi.Input[str]] = None,
96
91
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
97
92
  fingerprint: Optional[pulumi.Input[str]] = None,
98
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
93
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
99
94
  name: Optional[pulumi.Input[str]] = None,
100
95
  not_valid_after: Optional[pulumi.Input[str]] = None,
101
96
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -107,7 +102,7 @@ class _UploadedCertificateState:
107
102
  :param pulumi.Input[str] created: (string) Point in time when the Certificate was created at Hetzner Cloud (in ISO-8601 format).
108
103
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: (list) Domains and subdomains covered by the certificate.
109
104
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
110
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
105
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
111
106
  certificate should be created with.
112
107
  :param pulumi.Input[str] name: Name of the Certificate.
113
108
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -185,7 +180,7 @@ class _UploadedCertificateState:
185
180
 
186
181
  @property
187
182
  @pulumi.getter
188
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
183
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
189
184
  """
190
185
  User-defined labels (key-value pairs) the
191
186
  certificate should be created with.
@@ -193,7 +188,7 @@ class _UploadedCertificateState:
193
188
  return pulumi.get(self, "labels")
194
189
 
195
190
  @labels.setter
196
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
191
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
197
192
  pulumi.set(self, "labels", value)
198
193
 
199
194
  @property
@@ -260,7 +255,7 @@ class UploadedCertificate(pulumi.CustomResource):
260
255
  resource_name: str,
261
256
  opts: Optional[pulumi.ResourceOptions] = None,
262
257
  certificate: Optional[pulumi.Input[str]] = None,
263
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
258
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
264
259
  name: Optional[pulumi.Input[str]] = None,
265
260
  private_key: Optional[pulumi.Input[str]] = None,
266
261
  __props__=None):
@@ -280,7 +275,7 @@ class UploadedCertificate(pulumi.CustomResource):
280
275
  :param str resource_name: The name of the resource.
281
276
  :param pulumi.ResourceOptions opts: Options for the resource.
282
277
  :param pulumi.Input[str] certificate: PEM encoded TLS certificate.
283
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
278
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
284
279
  certificate should be created with.
285
280
  :param pulumi.Input[str] name: Name of the Certificate.
286
281
  :param pulumi.Input[str] private_key: PEM encoded private key belonging to the certificate.
@@ -320,7 +315,7 @@ class UploadedCertificate(pulumi.CustomResource):
320
315
  resource_name: str,
321
316
  opts: Optional[pulumi.ResourceOptions] = None,
322
317
  certificate: Optional[pulumi.Input[str]] = None,
323
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
318
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
324
319
  name: Optional[pulumi.Input[str]] = None,
325
320
  private_key: Optional[pulumi.Input[str]] = None,
326
321
  __props__=None):
@@ -362,7 +357,7 @@ class UploadedCertificate(pulumi.CustomResource):
362
357
  created: Optional[pulumi.Input[str]] = None,
363
358
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
364
359
  fingerprint: Optional[pulumi.Input[str]] = None,
365
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
360
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
366
361
  name: Optional[pulumi.Input[str]] = None,
367
362
  not_valid_after: Optional[pulumi.Input[str]] = None,
368
363
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -379,7 +374,7 @@ class UploadedCertificate(pulumi.CustomResource):
379
374
  :param pulumi.Input[str] created: (string) Point in time when the Certificate was created at Hetzner Cloud (in ISO-8601 format).
380
375
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: (list) Domains and subdomains covered by the certificate.
381
376
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
382
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
377
+ :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
383
378
  certificate should be created with.
384
379
  :param pulumi.Input[str] name: Name of the Certificate.
385
380
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -436,7 +431,7 @@ class UploadedCertificate(pulumi.CustomResource):
436
431
 
437
432
  @property
438
433
  @pulumi.getter
439
- def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
434
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
440
435
  """
441
436
  User-defined labels (key-value pairs) the
442
437
  certificate should be created with.
pulumi_hcloud/volume.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__ = ['VolumeArgs', 'Volume']
@@ -23,7 +18,7 @@ class VolumeArgs:
23
18
  automount: Optional[pulumi.Input[bool]] = None,
24
19
  delete_protection: Optional[pulumi.Input[bool]] = None,
25
20
  format: 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
  location: Optional[pulumi.Input[str]] = None,
28
23
  name: Optional[pulumi.Input[str]] = None,
29
24
  server_id: Optional[pulumi.Input[int]] = None):
@@ -35,8 +30,8 @@ class VolumeArgs:
35
30
 
36
31
  **Note:** When you want to attach multiple volumes to a server, please use the `VolumeAttachment` resource and the `location` argument instead of the `server_id` argument.
37
32
  :param pulumi.Input[str] format: Format volume after creation. `xfs` or `ext4`
38
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs).
39
- :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
33
+ :param pulumi.Input[Mapping[str, Any]] labels: (map) User-defined labels (key-value pairs).
34
+ :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed.
40
35
  :param pulumi.Input[str] name: Name of the volume to create (must be unique per project).
41
36
  :param pulumi.Input[int] server_id: Server to attach the Volume to, not allowed if location argument is passed.
42
37
  """
@@ -108,21 +103,21 @@ class VolumeArgs:
108
103
 
109
104
  @property
110
105
  @pulumi.getter
111
- def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
106
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
112
107
  """
113
- User-defined labels (key-value pairs).
108
+ (map) User-defined labels (key-value pairs).
114
109
  """
115
110
  return pulumi.get(self, "labels")
116
111
 
117
112
  @labels.setter
118
- def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
113
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
119
114
  pulumi.set(self, "labels", value)
120
115
 
121
116
  @property
122
117
  @pulumi.getter
123
118
  def location(self) -> Optional[pulumi.Input[str]]:
124
119
  """
125
- The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
120
+ The location name of the volume to create, not allowed if server_id argument is passed.
126
121
  """
127
122
  return pulumi.get(self, "location")
128
123
 
@@ -161,7 +156,7 @@ class _VolumeState:
161
156
  automount: Optional[pulumi.Input[bool]] = None,
162
157
  delete_protection: Optional[pulumi.Input[bool]] = None,
163
158
  format: Optional[pulumi.Input[str]] = None,
164
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
159
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
165
160
  linux_device: Optional[pulumi.Input[str]] = None,
166
161
  location: Optional[pulumi.Input[str]] = None,
167
162
  name: Optional[pulumi.Input[str]] = None,
@@ -174,9 +169,9 @@ class _VolumeState:
174
169
 
175
170
  **Note:** When you want to attach multiple volumes to a server, please use the `VolumeAttachment` resource and the `location` argument instead of the `server_id` argument.
176
171
  :param pulumi.Input[str] format: Format volume after creation. `xfs` or `ext4`
177
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs).
172
+ :param pulumi.Input[Mapping[str, Any]] labels: (map) User-defined labels (key-value pairs).
178
173
  :param pulumi.Input[str] linux_device: (string) Device path on the file system for the Volume.
179
- :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed. 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 volume to create, not allowed if server_id argument is passed.
180
175
  :param pulumi.Input[str] name: Name of the volume to create (must be unique per project).
181
176
  :param pulumi.Input[int] server_id: Server to attach the Volume to, not allowed if location argument is passed.
182
177
  :param pulumi.Input[int] size: Size of the volume (in GB).
@@ -240,14 +235,14 @@ class _VolumeState:
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
- User-defined labels (key-value pairs).
240
+ (map) User-defined labels (key-value pairs).
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 _VolumeState:
266
261
  @pulumi.getter
267
262
  def location(self) -> Optional[pulumi.Input[str]]:
268
263
  """
269
- The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
264
+ The location name of the volume to create, not allowed if server_id argument is passed.
270
265
  """
271
266
  return pulumi.get(self, "location")
272
267
 
@@ -319,7 +314,7 @@ class Volume(pulumi.CustomResource):
319
314
  automount: Optional[pulumi.Input[bool]] = None,
320
315
  delete_protection: Optional[pulumi.Input[bool]] = None,
321
316
  format: Optional[pulumi.Input[str]] = None,
322
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
317
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
323
318
  location: Optional[pulumi.Input[str]] = None,
324
319
  name: Optional[pulumi.Input[str]] = None,
325
320
  server_id: Optional[pulumi.Input[int]] = None,
@@ -361,8 +356,8 @@ class Volume(pulumi.CustomResource):
361
356
 
362
357
  **Note:** When you want to attach multiple volumes to a server, please use the `VolumeAttachment` resource and the `location` argument instead of the `server_id` argument.
363
358
  :param pulumi.Input[str] format: Format volume after creation. `xfs` or `ext4`
364
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs).
365
- :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
359
+ :param pulumi.Input[Mapping[str, Any]] labels: (map) User-defined labels (key-value pairs).
360
+ :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed.
366
361
  :param pulumi.Input[str] name: Name of the volume to create (must be unique per project).
367
362
  :param pulumi.Input[int] server_id: Server to attach the Volume to, not allowed if location argument is passed.
368
363
  :param pulumi.Input[int] size: Size of the volume (in GB).
@@ -420,7 +415,7 @@ class Volume(pulumi.CustomResource):
420
415
  automount: Optional[pulumi.Input[bool]] = None,
421
416
  delete_protection: Optional[pulumi.Input[bool]] = None,
422
417
  format: Optional[pulumi.Input[str]] = None,
423
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
418
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
424
419
  location: Optional[pulumi.Input[str]] = None,
425
420
  name: Optional[pulumi.Input[str]] = None,
426
421
  server_id: Optional[pulumi.Input[int]] = None,
@@ -458,7 +453,7 @@ class Volume(pulumi.CustomResource):
458
453
  automount: Optional[pulumi.Input[bool]] = None,
459
454
  delete_protection: Optional[pulumi.Input[bool]] = None,
460
455
  format: Optional[pulumi.Input[str]] = None,
461
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
456
+ labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
462
457
  linux_device: Optional[pulumi.Input[str]] = None,
463
458
  location: Optional[pulumi.Input[str]] = None,
464
459
  name: Optional[pulumi.Input[str]] = None,
@@ -476,9 +471,9 @@ class Volume(pulumi.CustomResource):
476
471
 
477
472
  **Note:** When you want to attach multiple volumes to a server, please use the `VolumeAttachment` resource and the `location` argument instead of the `server_id` argument.
478
473
  :param pulumi.Input[str] format: Format volume after creation. `xfs` or `ext4`
479
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs).
474
+ :param pulumi.Input[Mapping[str, Any]] labels: (map) User-defined labels (key-value pairs).
480
475
  :param pulumi.Input[str] linux_device: (string) Device path on the file system for the Volume.
481
- :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
476
+ :param pulumi.Input[str] location: The location name of the volume to create, not allowed if server_id argument is passed.
482
477
  :param pulumi.Input[str] name: Name of the volume to create (must be unique per project).
483
478
  :param pulumi.Input[int] server_id: Server to attach the Volume to, not allowed if location argument is passed.
484
479
  :param pulumi.Input[int] size: Size of the volume (in GB).
@@ -526,9 +521,9 @@ class Volume(pulumi.CustomResource):
526
521
 
527
522
  @property
528
523
  @pulumi.getter
529
- def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
524
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
530
525
  """
531
- User-defined labels (key-value pairs).
526
+ (map) User-defined labels (key-value pairs).
532
527
  """
533
528
  return pulumi.get(self, "labels")
534
529
 
@@ -544,7 +539,7 @@ class Volume(pulumi.CustomResource):
544
539
  @pulumi.getter
545
540
  def location(self) -> pulumi.Output[str]:
546
541
  """
547
- The location name of the volume to create, not allowed if server_id argument is passed. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
542
+ The location name of the volume to create, not allowed if server_id argument is passed.
548
543
  """
549
544
  return pulumi.get(self, "location")
550
545
 
@@ -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__ = ['VolumeAttachmentArgs', 'VolumeAttachment']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_hcloud
3
- Version: 1.21.0
3
+ Version: 1.21.0a1722059020
4
4
  Summary: A Pulumi package for creating and managing hcloud cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -9,9 +9,8 @@ Keywords: pulumi,hcloud
9
9
  Requires-Python: >=3.8
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: parver >=0.2.1
12
- Requires-Dist: pulumi <4.0.0,>=3.136.0
12
+ Requires-Dist: pulumi <4.0.0,>=3.0.0
13
13
  Requires-Dist: semver >=2.8.1
14
- Requires-Dist: typing-extensions >=4.11 ; python_version < "3.11"
15
14
 
16
15
  # HCloud provider
17
16
 
@@ -0,0 +1,65 @@
1
+ pulumi_hcloud/__init__.py,sha256=XwQa2Q0Eg_R5TkcbSLgGALRZfGdMSrSFXLNkGyxrXrA,5997
2
+ pulumi_hcloud/_inputs.py,sha256=Rlk9_PYoPsVWu6lG5jVTmgozE4kOI6wtk53Gp_AP18s,29245
3
+ pulumi_hcloud/_utilities.py,sha256=aNnnaO6zRha3FhNHonuabR4fJLWGXANtK5dlh1Mz95k,10506
4
+ pulumi_hcloud/certificate.py,sha256=kLN9SHxUSkAfEfQHIawayM8ReeU21pp5DGThUeJ5V-4,13864
5
+ pulumi_hcloud/firewall.py,sha256=oqZzi-wsLvncCsBrfmcgAPD1HacB7FS5OssQwIs4l1s,14531
6
+ pulumi_hcloud/firewall_attachment.py,sha256=oyhKqps1-MDfLbOGrHyguqVkCn07n93qqb1bRwsLF3s,13750
7
+ pulumi_hcloud/floating_ip.py,sha256=V0Us-q2EIIYkt2iB-xDdbzYVoqjjqnQ1Q8tcL6TUuzk,21078
8
+ pulumi_hcloud/floating_ip_assignment.py,sha256=V9f2vFHTzTUueO44hskXo0WlDfLARD8gCTvej9bEfFA,9503
9
+ pulumi_hcloud/get_certificate.py,sha256=mHgLXNPsgtJTkS6QgpxhMepE3wbr8dNPc7RK0gNizEo,8227
10
+ pulumi_hcloud/get_certificates.py,sha256=yXDSAZb86871_j1uYr9bHafyfo1F-CEn09b4yJo6mEA,3819
11
+ pulumi_hcloud/get_datacenter.py,sha256=auj5EhCQkEfAhPrjIkWY1TzA3uCK1_BJDtFxuAb7fr8,5710
12
+ pulumi_hcloud/get_datacenters.py,sha256=zXAcU896Ar4Zy09NWHLbQL-X1xnJ7aECYOlq7rmqJ_I,6132
13
+ pulumi_hcloud/get_firewall.py,sha256=A6DezliIIZ-KbS2WExSlB-B7msEG0Sv2meT2OitTGzM,7659
14
+ pulumi_hcloud/get_firewalls.py,sha256=c4CmTar7R1HsD4OI1U-zgWv7PUvYb7NgkFgscQfJVlU,4425
15
+ pulumi_hcloud/get_floating_ip.py,sha256=-QzbpjxnB8JM7cIdMw10ITwbxy81ocfgxFs8gYzsPhc,10143
16
+ pulumi_hcloud/get_floating_ips.py,sha256=PgFAaQC8p0vli9fmKrmwN__hXpt_y8F1OV8rfi6s90U,3792
17
+ pulumi_hcloud/get_image.py,sha256=Cql3aLECgK2ChcGkyrAst6irz0Sw0tWdQEYphmZajhE,12794
18
+ pulumi_hcloud/get_images.py,sha256=razac7rpcOX8ECdLiV-yjtD85577W6jcw4VGfaOFm4Q,7265
19
+ pulumi_hcloud/get_load_balancer.py,sha256=wG3Fx61Bevdnh6ZvDtGQYN0hpBo_X0r5uToCXq8G1Do,10563
20
+ pulumi_hcloud/get_load_balancers.py,sha256=Stqjt3Er-L9Whah0RA8wP-Dji1sHR7HvtP6Wi147rnk,3950
21
+ pulumi_hcloud/get_location.py,sha256=6ZkFO_teojyIcalZ3WYkbgZnjBoeeg3UD7uZsM2yIxY,6019
22
+ pulumi_hcloud/get_locations.py,sha256=mfCb_egh_ullB2tKs_V1-fKq1sOSZYs4LRYp2tkQ2hc,5960
23
+ pulumi_hcloud/get_network.py,sha256=aH2RwWiMUpjTu8zza6fqjqI4dl6CG7ZLFfGY9PKz_OA,7496
24
+ pulumi_hcloud/get_networks.py,sha256=NzqwrGRB1WGbQUecMBtfqjPooKU1Jn0u5Q5cJ16hmqk,3707
25
+ pulumi_hcloud/get_placement_group.py,sha256=juG9rQqLzr2s59JNCvaEQp6Qu1JdA_IsSpishjKd6_c,6987
26
+ pulumi_hcloud/get_placement_groups.py,sha256=n69TZ_ywHJcMPq55ARd7e6kh33kA6diZuSlBYgYNSlo,4864
27
+ pulumi_hcloud/get_primary_ip.py,sha256=7MQ0KFjAO6yGbsDjaJ_Vwu3krwH1SW1zTZ7EQq1xgxY,11253
28
+ pulumi_hcloud/get_primary_ips.py,sha256=5-6kek1hpa66l6oh58GaJ-uplzQBfDqQBlRZ9yOX-dI,3751
29
+ pulumi_hcloud/get_server.py,sha256=2WD1At2mYrtprojMkXQNOzSnFVJopKmUhXwCD_q06R8,15362
30
+ pulumi_hcloud/get_server_type.py,sha256=sZRX34-o79gatFIGUIzIgMa04EbXTw4dpRf0wx5rSKc,10303
31
+ pulumi_hcloud/get_server_types.py,sha256=DA9awpfuGuKlihDDRvwLB5mCpvypwCZRvpcSWw7q0DU,4321
32
+ pulumi_hcloud/get_servers.py,sha256=XvRYTYFbkJ6XDN9tiqa6ECQwwB2sqtYskfA6eNBtXyo,4740
33
+ pulumi_hcloud/get_ssh_key.py,sha256=0yeUib8e8lQR3yLj27FC8TiLrXF2BbVEM8Ojs1CnJX8,7133
34
+ pulumi_hcloud/get_ssh_keys.py,sha256=294EdNbP-FYG2_0oaqZNbY5Zhk09YE6SCtlZf5_eGBs,3839
35
+ pulumi_hcloud/get_volume.py,sha256=wVGKV0IeXrusRDaanOTpKVG0KL0JUT7Irbt0ZzavOs4,9208
36
+ pulumi_hcloud/get_volumes.py,sha256=FyWyii9XrJ1dMHLZ1Dgnq8RagWSY1VSOG0kfJtbW5AY,4610
37
+ pulumi_hcloud/load_balancer.py,sha256=kwljRnut8gxuDU4qMckOKimsf7QIbcOLFDdfUPw9CUo,27492
38
+ pulumi_hcloud/load_balancer_network.py,sha256=EjRT1qAXeLwN_n-zzxu4kAisA6WFO0yk2wn3pP4uRFg,22274
39
+ pulumi_hcloud/load_balancer_service.py,sha256=d-Ns656SFRAyBEWJzyI4LGxcdJo-iWM61w7vBCiMnjI,22770
40
+ pulumi_hcloud/load_balancer_target.py,sha256=WjEuMIdWxNcXQgUrMXhVilDQpbDGkLcnyb3OeSq76AM,20567
41
+ pulumi_hcloud/managed_certificate.py,sha256=Gmi83Pi943kBZJE4xyxmYDPzyio58HOMRxuQLud_T1g,17277
42
+ pulumi_hcloud/network.py,sha256=6UZrytivq2Hir5lcZdwRgqzYtKvLlW_JOmyUV5Cb8CM,16489
43
+ pulumi_hcloud/network_route.py,sha256=6EM4sbqqPjSm7O2YkXp04lQZyaF9RxDn7GCBSyF6vP0,13344
44
+ pulumi_hcloud/network_subnet.py,sha256=hKqM7LgK145mCG8n47OJFzxdg5T67krE61tANESUAks,16139
45
+ pulumi_hcloud/outputs.py,sha256=YDryOyW19PVrzyhQCbrg5BqwRLDi0lIXFxKaxc5hd0k,79756
46
+ pulumi_hcloud/placement_group.py,sha256=T4cxMeu73sUTm3NQln6lVpGlwKwHJaHCob_0xRnw5QE,11324
47
+ pulumi_hcloud/primary_ip.py,sha256=AqIYSNFRGGk-aSv0GzENqn45isVJkLevvR77TFJOzyI,25648
48
+ pulumi_hcloud/provider.py,sha256=BGX9c2zJAjkm5t8YreUCz3fgJv5IK05aWIXkQ0IuffI,8917
49
+ pulumi_hcloud/pulumi-plugin.json,sha256=mjfNkP-P4Kh_a9X42LvNH2nFsZg5HUZc1yp9u8876is,83
50
+ pulumi_hcloud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ pulumi_hcloud/rdns.py,sha256=EwL5d8vTaVVgjUrjhnAwFH84SGS-7QlwMZAWFIJ0Bag,21146
52
+ pulumi_hcloud/server.py,sha256=1lCARoCd6LDgBTHCnQTK8jPnXklN9Z1b2vettXF36Ss,69827
53
+ pulumi_hcloud/server_network.py,sha256=dBNIIQjV5oYvETOuAhATvuxSwDStFWxOi0k_JkjJjfE,21659
54
+ pulumi_hcloud/snapshot.py,sha256=X2OkXihlpZpQxAOzLO__DNHDn7EM419q_0ZflrGWgkU,10697
55
+ pulumi_hcloud/ssh_key.py,sha256=zBl4CqkbCkJQD_VMCd3CTkdBnjGt5Jkwoex12bG39QM,11769
56
+ pulumi_hcloud/uploaded_certificate.py,sha256=rRykzhTheDX-Hv5zsZBQQ7VqgW1zhL_PWo8UXI5502s,19174
57
+ pulumi_hcloud/volume.py,sha256=BDlZ3m0h_jgyZEkPTQfM5oR6xQs7Ow23Bj5MVa_KidM,23273
58
+ pulumi_hcloud/volume_attachment.py,sha256=OWnHOxbeBX4fD6DisELelHzMFM1qsUNcUCnednTgPkY,10920
59
+ pulumi_hcloud/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
60
+ pulumi_hcloud/config/__init__.pyi,sha256=4bpGLSFeQhmBy1CMlGWAYufBHOHA52j0P4UByDPszFM,874
61
+ pulumi_hcloud/config/vars.py,sha256=o6SBB7RAqxNQoWfaqxYE490nxVqemzQ8-NztDlx284Q,1373
62
+ pulumi_hcloud-1.21.0a1722059020.dist-info/METADATA,sha256=IoDWw4rQHEOjLcv2sojB1vHYkj9_XA9vr36wVAZicOw,2057
63
+ pulumi_hcloud-1.21.0a1722059020.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
64
+ pulumi_hcloud-1.21.0a1722059020.dist-info/top_level.txt,sha256=1P62wdJ9bVotT2lSpU9iMUl24bR9TwEGl2JyhNg4Xy8,14
65
+ pulumi_hcloud-1.21.0a1722059020.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (71.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,200 +0,0 @@
1
- # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
- # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
-
5
- import copy
6
- import warnings
7
- import sys
8
- import pulumi
9
- import pulumi.runtime
10
- from typing import Any, Mapping, Optional, Sequence, Union, overload
11
- if sys.version_info >= (3, 11):
12
- from typing import NotRequired, TypedDict, TypeAlias
13
- else:
14
- from typing_extensions import NotRequired, TypedDict, TypeAlias
15
- from . import _utilities
16
-
17
- __all__ = [
18
- 'GetLoadBalancerTypeResult',
19
- 'AwaitableGetLoadBalancerTypeResult',
20
- 'get_load_balancer_type',
21
- 'get_load_balancer_type_output',
22
- ]
23
-
24
- @pulumi.output_type
25
- class GetLoadBalancerTypeResult:
26
- """
27
- A collection of values returned by getLoadBalancerType.
28
- """
29
- def __init__(__self__, description=None, id=None, max_assigned_certificates=None, max_connections=None, max_services=None, max_targets=None, name=None):
30
- if description and not isinstance(description, str):
31
- raise TypeError("Expected argument 'description' to be a str")
32
- pulumi.set(__self__, "description", description)
33
- if id and not isinstance(id, int):
34
- raise TypeError("Expected argument 'id' to be a int")
35
- pulumi.set(__self__, "id", id)
36
- if max_assigned_certificates and not isinstance(max_assigned_certificates, int):
37
- raise TypeError("Expected argument 'max_assigned_certificates' to be a int")
38
- pulumi.set(__self__, "max_assigned_certificates", max_assigned_certificates)
39
- if max_connections and not isinstance(max_connections, int):
40
- raise TypeError("Expected argument 'max_connections' to be a int")
41
- pulumi.set(__self__, "max_connections", max_connections)
42
- if max_services and not isinstance(max_services, int):
43
- raise TypeError("Expected argument 'max_services' to be a int")
44
- pulumi.set(__self__, "max_services", max_services)
45
- if max_targets and not isinstance(max_targets, int):
46
- raise TypeError("Expected argument 'max_targets' to be a int")
47
- pulumi.set(__self__, "max_targets", max_targets)
48
- if name and not isinstance(name, str):
49
- raise TypeError("Expected argument 'name' to be a str")
50
- pulumi.set(__self__, "name", name)
51
-
52
- @property
53
- @pulumi.getter
54
- def description(self) -> str:
55
- """
56
- (string) Description of the load_balancer_type.
57
- """
58
- return pulumi.get(self, "description")
59
-
60
- @property
61
- @pulumi.getter
62
- def id(self) -> int:
63
- """
64
- (int) Unique ID of the load_balancer_type.
65
- """
66
- return pulumi.get(self, "id")
67
-
68
- @property
69
- @pulumi.getter(name="maxAssignedCertificates")
70
- def max_assigned_certificates(self) -> int:
71
- """
72
- (int) Maximum number of SSL Certificates that can be assigned to the Load Balancer of this type.
73
- """
74
- return pulumi.get(self, "max_assigned_certificates")
75
-
76
- @property
77
- @pulumi.getter(name="maxConnections")
78
- def max_connections(self) -> int:
79
- """
80
- (int) Maximum number of simultaneous open connections for the Load Balancer of this type.
81
- """
82
- return pulumi.get(self, "max_connections")
83
-
84
- @property
85
- @pulumi.getter(name="maxServices")
86
- def max_services(self) -> int:
87
- """
88
- (int) Maximum number of services for the Load Balancer of this type.
89
- """
90
- return pulumi.get(self, "max_services")
91
-
92
- @property
93
- @pulumi.getter(name="maxTargets")
94
- def max_targets(self) -> int:
95
- """
96
- (int) Maximum number of targets for the Load Balancer of this type.
97
- """
98
- return pulumi.get(self, "max_targets")
99
-
100
- @property
101
- @pulumi.getter
102
- def name(self) -> str:
103
- """
104
- (string) Name of the load_balancer_type.
105
- """
106
- return pulumi.get(self, "name")
107
-
108
-
109
- class AwaitableGetLoadBalancerTypeResult(GetLoadBalancerTypeResult):
110
- # pylint: disable=using-constant-test
111
- def __await__(self):
112
- if False:
113
- yield self
114
- return GetLoadBalancerTypeResult(
115
- description=self.description,
116
- id=self.id,
117
- max_assigned_certificates=self.max_assigned_certificates,
118
- max_connections=self.max_connections,
119
- max_services=self.max_services,
120
- max_targets=self.max_targets,
121
- name=self.name)
122
-
123
-
124
- def get_load_balancer_type(id: Optional[int] = None,
125
- name: Optional[str] = None,
126
- opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypeResult:
127
- """
128
- Provides details about a specific Hetzner Cloud Load Balancer Type.
129
- Use this resource to get detailed information about specific Load Balancer Type.
130
-
131
- ## Example Usage
132
-
133
- ```python
134
- import pulumi
135
- import pulumi_hcloud as hcloud
136
-
137
- by_name = hcloud.get_load_balancer_type(name="cx22")
138
- by_id = hcloud.get_load_balancer_type(id=1)
139
- load_balancer = hcloud.LoadBalancer("load_balancer",
140
- name="my-load-balancer",
141
- load_balancer_type=name,
142
- location="nbg1")
143
- ```
144
-
145
-
146
- :param int id: ID of the load_balancer_type.
147
- :param str name: Name of the load_balancer_type.
148
- """
149
- __args__ = dict()
150
- __args__['id'] = id
151
- __args__['name'] = name
152
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
- __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult).value
154
-
155
- return AwaitableGetLoadBalancerTypeResult(
156
- description=pulumi.get(__ret__, 'description'),
157
- id=pulumi.get(__ret__, 'id'),
158
- max_assigned_certificates=pulumi.get(__ret__, 'max_assigned_certificates'),
159
- max_connections=pulumi.get(__ret__, 'max_connections'),
160
- max_services=pulumi.get(__ret__, 'max_services'),
161
- max_targets=pulumi.get(__ret__, 'max_targets'),
162
- name=pulumi.get(__ret__, 'name'))
163
- def get_load_balancer_type_output(id: Optional[pulumi.Input[Optional[int]]] = None,
164
- name: Optional[pulumi.Input[Optional[str]]] = None,
165
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerTypeResult]:
166
- """
167
- Provides details about a specific Hetzner Cloud Load Balancer Type.
168
- Use this resource to get detailed information about specific Load Balancer Type.
169
-
170
- ## Example Usage
171
-
172
- ```python
173
- import pulumi
174
- import pulumi_hcloud as hcloud
175
-
176
- by_name = hcloud.get_load_balancer_type(name="cx22")
177
- by_id = hcloud.get_load_balancer_type(id=1)
178
- load_balancer = hcloud.LoadBalancer("load_balancer",
179
- name="my-load-balancer",
180
- load_balancer_type=name,
181
- location="nbg1")
182
- ```
183
-
184
-
185
- :param int id: ID of the load_balancer_type.
186
- :param str name: Name of the load_balancer_type.
187
- """
188
- __args__ = dict()
189
- __args__['id'] = id
190
- __args__['name'] = name
191
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
192
- __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult)
193
- return __ret__.apply(lambda __response__: GetLoadBalancerTypeResult(
194
- description=pulumi.get(__response__, 'description'),
195
- id=pulumi.get(__response__, 'id'),
196
- max_assigned_certificates=pulumi.get(__response__, 'max_assigned_certificates'),
197
- max_connections=pulumi.get(__response__, 'max_connections'),
198
- max_services=pulumi.get(__response__, 'max_services'),
199
- max_targets=pulumi.get(__response__, 'max_targets'),
200
- name=pulumi.get(__response__, 'name')))