pulumi-hcloud 1.18.0a1709364097__py3-none-any.whl → 1.22.0a1736833581__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. pulumi_hcloud/__init__.py +2 -0
  2. pulumi_hcloud/_inputs.py +247 -15
  3. pulumi_hcloud/_utilities.py +41 -5
  4. pulumi_hcloud/certificate.py +15 -10
  5. pulumi_hcloud/config/__init__.pyi +5 -0
  6. pulumi_hcloud/config/vars.py +5 -0
  7. pulumi_hcloud/firewall.py +77 -66
  8. pulumi_hcloud/firewall_attachment.py +31 -18
  9. pulumi_hcloud/floating_ip.py +39 -32
  10. pulumi_hcloud/floating_ip_assignment.py +11 -4
  11. pulumi_hcloud/get_certificate.py +25 -6
  12. pulumi_hcloud/get_certificates.py +14 -5
  13. pulumi_hcloud/get_datacenter.py +38 -23
  14. pulumi_hcloud/get_datacenters.py +28 -53
  15. pulumi_hcloud/get_firewall.py +38 -19
  16. pulumi_hcloud/get_firewalls.py +16 -5
  17. pulumi_hcloud/get_floating_ip.py +39 -13
  18. pulumi_hcloud/get_floating_ips.py +14 -5
  19. pulumi_hcloud/get_image.py +37 -9
  20. pulumi_hcloud/get_images.py +22 -5
  21. pulumi_hcloud/get_load_balancer.py +30 -7
  22. pulumi_hcloud/get_load_balancer_type.py +202 -0
  23. pulumi_hcloud/get_load_balancer_types.py +100 -0
  24. pulumi_hcloud/get_load_balancers.py +14 -5
  25. pulumi_hcloud/get_location.py +42 -25
  26. pulumi_hcloud/get_locations.py +28 -53
  27. pulumi_hcloud/get_network.py +28 -11
  28. pulumi_hcloud/get_networks.py +14 -5
  29. pulumi_hcloud/get_placement_group.py +31 -13
  30. pulumi_hcloud/get_placement_groups.py +16 -5
  31. pulumi_hcloud/get_primary_ip.py +44 -18
  32. pulumi_hcloud/get_primary_ips.py +14 -5
  33. pulumi_hcloud/get_server.py +43 -11
  34. pulumi_hcloud/get_server_type.py +75 -49
  35. pulumi_hcloud/get_server_types.py +39 -23
  36. pulumi_hcloud/get_servers.py +16 -5
  37. pulumi_hcloud/get_ssh_key.py +58 -32
  38. pulumi_hcloud/get_ssh_keys.py +35 -20
  39. pulumi_hcloud/get_volume.py +33 -12
  40. pulumi_hcloud/get_volumes.py +18 -7
  41. pulumi_hcloud/load_balancer.py +63 -60
  42. pulumi_hcloud/load_balancer_network.py +28 -15
  43. pulumi_hcloud/load_balancer_service.py +59 -52
  44. pulumi_hcloud/load_balancer_target.py +33 -24
  45. pulumi_hcloud/managed_certificate.py +57 -20
  46. pulumi_hcloud/network.py +27 -18
  47. pulumi_hcloud/network_route.py +15 -6
  48. pulumi_hcloud/network_subnet.py +15 -6
  49. pulumi_hcloud/outputs.py +265 -46
  50. pulumi_hcloud/placement_group.py +27 -18
  51. pulumi_hcloud/primary_ip.py +66 -43
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +2 -1
  54. pulumi_hcloud/rdns.py +51 -34
  55. pulumi_hcloud/server.py +185 -130
  56. pulumi_hcloud/server_network.py +26 -15
  57. pulumi_hcloud/snapshot.py +25 -18
  58. pulumi_hcloud/ssh_key.py +52 -47
  59. pulumi_hcloud/uploaded_certificate.py +73 -20
  60. pulumi_hcloud/volume.py +37 -28
  61. pulumi_hcloud/volume_attachment.py +11 -4
  62. {pulumi_hcloud-1.18.0a1709364097.dist-info → pulumi_hcloud-1.22.0a1736833581.dist-info}/METADATA +7 -6
  63. pulumi_hcloud-1.22.0a1736833581.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.18.0a1709364097.dist-info → pulumi_hcloud-1.22.0a1736833581.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.18.0a1709364097.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.18.0a1709364097.dist-info → pulumi_hcloud-1.22.0a1736833581.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,100 @@
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
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetLoadBalancerTypesResult',
20
+ 'AwaitableGetLoadBalancerTypesResult',
21
+ 'get_load_balancer_types',
22
+ 'get_load_balancer_types_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetLoadBalancerTypesResult:
27
+ """
28
+ A collection of values returned by getLoadBalancerTypes.
29
+ """
30
+ def __init__(__self__, id=None, load_balancer_types=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if load_balancer_types and not isinstance(load_balancer_types, list):
35
+ raise TypeError("Expected argument 'load_balancer_types' to be a list")
36
+ pulumi.set(__self__, "load_balancer_types", load_balancer_types)
37
+
38
+ @property
39
+ @pulumi.getter
40
+ def id(self) -> str:
41
+ """
42
+ The ID of this resource.
43
+ """
44
+ return pulumi.get(self, "id")
45
+
46
+ @property
47
+ @pulumi.getter(name="loadBalancerTypes")
48
+ def load_balancer_types(self) -> Sequence['outputs.GetLoadBalancerTypesLoadBalancerTypeResult']:
49
+ return pulumi.get(self, "load_balancer_types")
50
+
51
+
52
+ class AwaitableGetLoadBalancerTypesResult(GetLoadBalancerTypesResult):
53
+ # pylint: disable=using-constant-test
54
+ def __await__(self):
55
+ if False:
56
+ yield self
57
+ return GetLoadBalancerTypesResult(
58
+ id=self.id,
59
+ load_balancer_types=self.load_balancer_types)
60
+
61
+
62
+ def get_load_balancer_types(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypesResult:
63
+ """
64
+ Provides a list of available Hetzner Cloud Load Balancer Types.
65
+
66
+ ## Example Usage
67
+
68
+ ```python
69
+ import pulumi
70
+ import pulumi_hcloud as hcloud
71
+
72
+ all = hcloud.get_load_balancer_types()
73
+ ```
74
+ """
75
+ __args__ = dict()
76
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
77
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult).value
78
+
79
+ return AwaitableGetLoadBalancerTypesResult(
80
+ id=pulumi.get(__ret__, 'id'),
81
+ load_balancer_types=pulumi.get(__ret__, 'load_balancer_types'))
82
+ def get_load_balancer_types_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancerTypesResult]:
83
+ """
84
+ Provides a list of available Hetzner Cloud Load Balancer Types.
85
+
86
+ ## Example Usage
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_hcloud as hcloud
91
+
92
+ all = hcloud.get_load_balancer_types()
93
+ ```
94
+ """
95
+ __args__ = dict()
96
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
97
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult)
98
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypesResult(
99
+ id=pulumi.get(__response__, 'id'),
100
+ load_balancer_types=pulumi.get(__response__, 'load_balancer_types')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -93,11 +98,8 @@ def get_load_balancers(with_selector: Optional[str] = None,
93
98
  id=pulumi.get(__ret__, 'id'),
94
99
  load_balancers=pulumi.get(__ret__, 'load_balancers'),
95
100
  with_selector=pulumi.get(__ret__, 'with_selector'))
96
-
97
-
98
- @_utilities.lift_output_func(get_load_balancers)
99
101
  def get_load_balancers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
100
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancersResult]:
102
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadBalancersResult]:
101
103
  """
102
104
  Provides details about multiple Hetzner Cloud Load Balancers.
103
105
 
@@ -114,4 +116,11 @@ def get_load_balancers_output(with_selector: Optional[pulumi.Input[Optional[str]
114
116
 
115
117
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
116
118
  """
117
- ...
119
+ __args__ = dict()
120
+ __args__['withSelector'] = with_selector
121
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancers:getLoadBalancers', __args__, opts=opts, typ=GetLoadBalancersResult)
123
+ return __ret__.apply(lambda __response__: GetLoadBalancersResult(
124
+ id=pulumi.get(__response__, 'id'),
125
+ load_balancers=pulumi.get(__response__, 'load_balancers'),
126
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -51,7 +56,7 @@ class GetLocationResult:
51
56
  @pulumi.getter
52
57
  def city(self) -> str:
53
58
  """
54
- (string) City of the location.
59
+ Name of the closest city to the Location. City name and optionally state in short form.
55
60
  """
56
61
  return pulumi.get(self, "city")
57
62
 
@@ -59,7 +64,7 @@ class GetLocationResult:
59
64
  @pulumi.getter
60
65
  def country(self) -> str:
61
66
  """
62
- (string) Country of the location.
67
+ Country the Location resides in. ISO 3166-1 alpha-2 code of the country.
63
68
  """
64
69
  return pulumi.get(self, "country")
65
70
 
@@ -67,15 +72,15 @@ class GetLocationResult:
67
72
  @pulumi.getter
68
73
  def description(self) -> str:
69
74
  """
70
- (string) Description of the location.
75
+ Description of the Location.
71
76
  """
72
77
  return pulumi.get(self, "description")
73
78
 
74
79
  @property
75
80
  @pulumi.getter
76
- def id(self) -> int:
81
+ def id(self) -> Optional[int]:
77
82
  """
78
- (int) Unique ID of the location.
83
+ ID of the Location.
79
84
  """
80
85
  return pulumi.get(self, "id")
81
86
 
@@ -83,7 +88,7 @@ class GetLocationResult:
83
88
  @pulumi.getter
84
89
  def latitude(self) -> float:
85
90
  """
86
- (float) Latitude of the city.
91
+ Latitude of the city closest to the Location.
87
92
  """
88
93
  return pulumi.get(self, "latitude")
89
94
 
@@ -91,15 +96,15 @@ class GetLocationResult:
91
96
  @pulumi.getter
92
97
  def longitude(self) -> float:
93
98
  """
94
- (float) Longitude of the city.
99
+ Longitude of the city closest to the Location.
95
100
  """
96
101
  return pulumi.get(self, "longitude")
97
102
 
98
103
  @property
99
104
  @pulumi.getter
100
- def name(self) -> str:
105
+ def name(self) -> Optional[str]:
101
106
  """
102
- (string) Name of the location.
107
+ Name of the Location.
103
108
  """
104
109
  return pulumi.get(self, "name")
105
110
 
@@ -107,7 +112,7 @@ class GetLocationResult:
107
112
  @pulumi.getter(name="networkZone")
108
113
  def network_zone(self) -> str:
109
114
  """
110
- (string) Network Zone of the location.
115
+ Name of the Network Zone this Location resides in.
111
116
  """
112
117
  return pulumi.get(self, "network_zone")
113
118
 
@@ -133,7 +138,8 @@ def get_location(id: Optional[int] = None,
133
138
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLocationResult:
134
139
  """
135
140
  Provides details about a specific Hetzner Cloud Location.
136
- Use this resource to get detailed information about specific location.
141
+
142
+ Use this resource to get detailed information about a specific Location.
137
143
 
138
144
  ## Example Usage
139
145
 
@@ -141,13 +147,13 @@ def get_location(id: Optional[int] = None,
141
147
  import pulumi
142
148
  import pulumi_hcloud as hcloud
143
149
 
144
- l1 = hcloud.get_location(name="fsn1")
145
- l2 = hcloud.get_location(id=1)
150
+ by_id = hcloud.get_location(id=1)
151
+ by_name = hcloud.get_location(name="fsn1")
146
152
  ```
147
153
 
148
154
 
149
- :param int id: ID of the location.
150
- :param str name: Name of the location.
155
+ :param int id: ID of the Location.
156
+ :param str name: Name of the Location.
151
157
  """
152
158
  __args__ = dict()
153
159
  __args__['id'] = id
@@ -164,15 +170,13 @@ def get_location(id: Optional[int] = None,
164
170
  longitude=pulumi.get(__ret__, 'longitude'),
165
171
  name=pulumi.get(__ret__, 'name'),
166
172
  network_zone=pulumi.get(__ret__, 'network_zone'))
167
-
168
-
169
- @_utilities.lift_output_func(get_location)
170
173
  def get_location_output(id: Optional[pulumi.Input[Optional[int]]] = None,
171
174
  name: Optional[pulumi.Input[Optional[str]]] = None,
172
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationResult]:
175
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocationResult]:
173
176
  """
174
177
  Provides details about a specific Hetzner Cloud Location.
175
- Use this resource to get detailed information about specific location.
178
+
179
+ Use this resource to get detailed information about a specific Location.
176
180
 
177
181
  ## Example Usage
178
182
 
@@ -180,12 +184,25 @@ def get_location_output(id: Optional[pulumi.Input[Optional[int]]] = None,
180
184
  import pulumi
181
185
  import pulumi_hcloud as hcloud
182
186
 
183
- l1 = hcloud.get_location(name="fsn1")
184
- l2 = hcloud.get_location(id=1)
187
+ by_id = hcloud.get_location(id=1)
188
+ by_name = hcloud.get_location(name="fsn1")
185
189
  ```
186
190
 
187
191
 
188
- :param int id: ID of the location.
189
- :param str name: Name of the location.
192
+ :param int id: ID of the Location.
193
+ :param str name: Name of the Location.
190
194
  """
191
- ...
195
+ __args__ = dict()
196
+ __args__['id'] = id
197
+ __args__['name'] = name
198
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
199
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLocation:getLocation', __args__, opts=opts, typ=GetLocationResult)
200
+ return __ret__.apply(lambda __response__: GetLocationResult(
201
+ city=pulumi.get(__response__, 'city'),
202
+ country=pulumi.get(__response__, 'country'),
203
+ description=pulumi.get(__response__, 'description'),
204
+ id=pulumi.get(__response__, 'id'),
205
+ latitude=pulumi.get(__response__, 'latitude'),
206
+ longitude=pulumi.get(__response__, 'longitude'),
207
+ name=pulumi.get(__response__, 'name'),
208
+ network_zone=pulumi.get(__response__, 'network_zone')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -41,48 +46,33 @@ class GetLocationsResult:
41
46
 
42
47
  @property
43
48
  @pulumi.getter
44
- def descriptions(self) -> Optional[Sequence[str]]:
45
- """
46
- (list) List of all location descriptions. **Deprecated**: Use `locations` attribute instead.
47
- """
48
- warnings.warn("""Use locations list instead""", DeprecationWarning)
49
- pulumi.log.warn("""descriptions is deprecated: Use locations list instead""")
50
-
49
+ @_utilities.deprecated("""Use locations list instead""")
50
+ def descriptions(self) -> Sequence[str]:
51
51
  return pulumi.get(self, "descriptions")
52
52
 
53
53
  @property
54
54
  @pulumi.getter
55
- def id(self) -> Optional[str]:
55
+ def id(self) -> str:
56
+ """
57
+ The ID of this resource.
58
+ """
56
59
  return pulumi.get(self, "id")
57
60
 
58
61
  @property
59
62
  @pulumi.getter(name="locationIds")
60
- def location_ids(self) -> Optional[Sequence[str]]:
61
- """
62
- (list) List of unique location identifiers. **Deprecated**: Use `locations` attribute instead.
63
- """
64
- warnings.warn("""Use locations list instead""", DeprecationWarning)
65
- pulumi.log.warn("""location_ids is deprecated: Use locations list instead""")
66
-
63
+ @_utilities.deprecated("""Use locations list instead""")
64
+ def location_ids(self) -> Sequence[str]:
67
65
  return pulumi.get(self, "location_ids")
68
66
 
69
67
  @property
70
68
  @pulumi.getter
71
69
  def locations(self) -> Sequence['outputs.GetLocationsLocationResult']:
72
- """
73
- (list) List of all locations. See `data.hcloud_location` for schema.
74
- """
75
70
  return pulumi.get(self, "locations")
76
71
 
77
72
  @property
78
73
  @pulumi.getter
79
- def names(self) -> Optional[Sequence[str]]:
80
- """
81
- (list) List of location names. **Deprecated**: Use `locations` attribute instead.
82
- """
83
- warnings.warn("""Use locations list instead""", DeprecationWarning)
84
- pulumi.log.warn("""names is deprecated: Use locations list instead""")
85
-
74
+ @_utilities.deprecated("""Use locations list instead""")
75
+ def names(self) -> Sequence[str]:
86
76
  return pulumi.get(self, "names")
87
77
 
88
78
 
@@ -99,25 +89,13 @@ class AwaitableGetLocationsResult(GetLocationsResult):
99
89
  names=self.names)
100
90
 
101
91
 
102
- def get_locations(descriptions: Optional[Sequence[str]] = None,
103
- id: Optional[str] = None,
104
- location_ids: Optional[Sequence[str]] = None,
105
- names: Optional[Sequence[str]] = None,
106
- opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLocationsResult:
92
+ def get_locations(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLocationsResult:
107
93
  """
108
94
  Provides a list of available Hetzner Cloud Locations.
109
- This resource may be useful to create highly available infrastructure, distributed across several locations.
110
95
 
111
-
112
- :param Sequence[str] descriptions: (list) List of all location descriptions. **Deprecated**: Use `locations` attribute instead.
113
- :param Sequence[str] location_ids: (list) List of unique location identifiers. **Deprecated**: Use `locations` attribute instead.
114
- :param Sequence[str] names: (list) List of location names. **Deprecated**: Use `locations` attribute instead.
96
+ This resource may be useful to create highly available infrastructure, distributed across several locations.
115
97
  """
116
98
  __args__ = dict()
117
- __args__['descriptions'] = descriptions
118
- __args__['id'] = id
119
- __args__['locationIds'] = location_ids
120
- __args__['names'] = names
121
99
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
100
  __ret__ = pulumi.runtime.invoke('hcloud:index/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult).value
123
101
 
@@ -127,21 +105,18 @@ def get_locations(descriptions: Optional[Sequence[str]] = None,
127
105
  location_ids=pulumi.get(__ret__, 'location_ids'),
128
106
  locations=pulumi.get(__ret__, 'locations'),
129
107
  names=pulumi.get(__ret__, 'names'))
130
-
131
-
132
- @_utilities.lift_output_func(get_locations)
133
- def get_locations_output(descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
134
- id: Optional[pulumi.Input[Optional[str]]] = None,
135
- location_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
136
- names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
137
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationsResult]:
108
+ def get_locations_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLocationsResult]:
138
109
  """
139
110
  Provides a list of available Hetzner Cloud Locations.
140
- This resource may be useful to create highly available infrastructure, distributed across several locations.
141
-
142
111
 
143
- :param Sequence[str] descriptions: (list) List of all location descriptions. **Deprecated**: Use `locations` attribute instead.
144
- :param Sequence[str] location_ids: (list) List of unique location identifiers. **Deprecated**: Use `locations` attribute instead.
145
- :param Sequence[str] names: (list) List of location names. **Deprecated**: Use `locations` attribute instead.
112
+ This resource may be useful to create highly available infrastructure, distributed across several locations.
146
113
  """
147
- ...
114
+ __args__ = dict()
115
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
116
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult)
117
+ return __ret__.apply(lambda __response__: GetLocationsResult(
118
+ descriptions=pulumi.get(__response__, 'descriptions'),
119
+ id=pulumi.get(__response__, 'id'),
120
+ location_ids=pulumi.get(__response__, 'location_ids'),
121
+ locations=pulumi.get(__response__, 'locations'),
122
+ names=pulumi.get(__response__, 'names')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -81,15 +86,13 @@ class GetNetworkResult:
81
86
 
82
87
  @property
83
88
  @pulumi.getter
84
- def labels(self) -> Mapping[str, Any]:
89
+ def labels(self) -> Mapping[str, str]:
85
90
  return pulumi.get(self, "labels")
86
91
 
87
92
  @property
88
93
  @pulumi.getter(name="mostRecent")
94
+ @_utilities.deprecated("""This attribute has no purpose.""")
89
95
  def most_recent(self) -> Optional[bool]:
90
- warnings.warn("""This attribute has no purpose.""", DeprecationWarning)
91
- pulumi.log.warn("""most_recent is deprecated: This attribute has no purpose.""")
92
-
93
96
  return pulumi.get(self, "most_recent")
94
97
 
95
98
  @property
@@ -124,7 +127,7 @@ class AwaitableGetNetworkResult(GetNetworkResult):
124
127
 
125
128
  def get_network(id: Optional[int] = None,
126
129
  ip_range: Optional[str] = None,
127
- labels: Optional[Mapping[str, Any]] = None,
130
+ labels: Optional[Mapping[str, str]] = None,
128
131
  most_recent: Optional[bool] = None,
129
132
  name: Optional[str] = None,
130
133
  with_selector: Optional[str] = None,
@@ -166,16 +169,13 @@ def get_network(id: Optional[int] = None,
166
169
  most_recent=pulumi.get(__ret__, 'most_recent'),
167
170
  name=pulumi.get(__ret__, 'name'),
168
171
  with_selector=pulumi.get(__ret__, 'with_selector'))
169
-
170
-
171
- @_utilities.lift_output_func(get_network)
172
172
  def get_network_output(id: Optional[pulumi.Input[Optional[int]]] = None,
173
173
  ip_range: Optional[pulumi.Input[Optional[str]]] = None,
174
- labels: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None,
174
+ labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
175
175
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
176
176
  name: Optional[pulumi.Input[Optional[str]]] = None,
177
177
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
178
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkResult]:
178
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkResult]:
179
179
  """
180
180
  ## Example Usage
181
181
 
@@ -194,4 +194,21 @@ def get_network_output(id: Optional[pulumi.Input[Optional[int]]] = None,
194
194
  :param str name: Name of the Network.
195
195
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
196
196
  """
197
- ...
197
+ __args__ = dict()
198
+ __args__['id'] = id
199
+ __args__['ipRange'] = ip_range
200
+ __args__['labels'] = labels
201
+ __args__['mostRecent'] = most_recent
202
+ __args__['name'] = name
203
+ __args__['withSelector'] = with_selector
204
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
205
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getNetwork:getNetwork', __args__, opts=opts, typ=GetNetworkResult)
206
+ return __ret__.apply(lambda __response__: GetNetworkResult(
207
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
208
+ expose_routes_to_vswitch=pulumi.get(__response__, 'expose_routes_to_vswitch'),
209
+ id=pulumi.get(__response__, 'id'),
210
+ ip_range=pulumi.get(__response__, 'ip_range'),
211
+ labels=pulumi.get(__response__, 'labels'),
212
+ most_recent=pulumi.get(__response__, 'most_recent'),
213
+ name=pulumi.get(__response__, 'name'),
214
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -93,11 +98,8 @@ def get_networks(with_selector: Optional[str] = None,
93
98
  id=pulumi.get(__ret__, 'id'),
94
99
  networks=pulumi.get(__ret__, 'networks'),
95
100
  with_selector=pulumi.get(__ret__, 'with_selector'))
96
-
97
-
98
- @_utilities.lift_output_func(get_networks)
99
101
  def get_networks_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
100
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworksResult]:
102
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworksResult]:
101
103
  """
102
104
  Provides details about multiple Hetzner Cloud Networks.
103
105
 
@@ -114,4 +116,11 @@ def get_networks_output(with_selector: Optional[pulumi.Input[Optional[str]]] = N
114
116
 
115
117
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
116
118
  """
117
- ...
119
+ __args__ = dict()
120
+ __args__['withSelector'] = with_selector
121
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getNetworks:getNetworks', __args__, opts=opts, typ=GetNetworksResult)
123
+ return __ret__.apply(lambda __response__: GetNetworksResult(
124
+ id=pulumi.get(__response__, 'id'),
125
+ networks=pulumi.get(__response__, 'networks'),
126
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -54,7 +59,7 @@ class GetPlacementGroupResult:
54
59
 
55
60
  @property
56
61
  @pulumi.getter
57
- def labels(self) -> Mapping[str, Any]:
62
+ def labels(self) -> Mapping[str, str]:
58
63
  """
59
64
  (map) User-defined labels (key-value pairs)
60
65
  """
@@ -82,7 +87,7 @@ class GetPlacementGroupResult:
82
87
  @pulumi.getter
83
88
  def type(self) -> str:
84
89
  """
85
- (string) Type of the Placement Group.
90
+ (string) Type of the Placement Group.
86
91
  """
87
92
  return pulumi.get(self, "type")
88
93
 
@@ -108,7 +113,7 @@ class AwaitableGetPlacementGroupResult(GetPlacementGroupResult):
108
113
 
109
114
 
110
115
  def get_placement_group(id: Optional[int] = None,
111
- labels: Optional[Mapping[str, Any]] = None,
116
+ labels: Optional[Mapping[str, str]] = None,
112
117
  most_recent: Optional[bool] = None,
113
118
  name: Optional[str] = None,
114
119
  type: Optional[str] = None,
@@ -127,10 +132,10 @@ def get_placement_group(id: Optional[int] = None,
127
132
 
128
133
 
129
134
  :param int id: ID of the placement group.
130
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
135
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
131
136
  :param bool most_recent: Return most recent placement group if multiple are found.
132
137
  :param str name: Name of the placement group.
133
- :param str type: (string) Type of the Placement Group.
138
+ :param str type: (string) Type of the Placement Group.
134
139
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
135
140
  """
136
141
  __args__ = dict()
@@ -151,16 +156,13 @@ def get_placement_group(id: Optional[int] = None,
151
156
  servers=pulumi.get(__ret__, 'servers'),
152
157
  type=pulumi.get(__ret__, 'type'),
153
158
  with_selector=pulumi.get(__ret__, 'with_selector'))
154
-
155
-
156
- @_utilities.lift_output_func(get_placement_group)
157
159
  def get_placement_group_output(id: Optional[pulumi.Input[Optional[int]]] = None,
158
- labels: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None,
160
+ labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
159
161
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
160
162
  name: Optional[pulumi.Input[Optional[str]]] = None,
161
163
  type: Optional[pulumi.Input[Optional[str]]] = None,
162
164
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
163
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlacementGroupResult]:
165
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPlacementGroupResult]:
164
166
  """
165
167
  Provides details about a specific Hetzner Cloud Placement Group.
166
168
 
@@ -174,10 +176,26 @@ def get_placement_group_output(id: Optional[pulumi.Input[Optional[int]]] = None,
174
176
 
175
177
 
176
178
  :param int id: ID of the placement group.
177
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
179
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
178
180
  :param bool most_recent: Return most recent placement group if multiple are found.
179
181
  :param str name: Name of the placement group.
180
- :param str type: (string) Type of the Placement Group.
182
+ :param str type: (string) Type of the Placement Group.
181
183
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
182
184
  """
183
- ...
185
+ __args__ = dict()
186
+ __args__['id'] = id
187
+ __args__['labels'] = labels
188
+ __args__['mostRecent'] = most_recent
189
+ __args__['name'] = name
190
+ __args__['type'] = type
191
+ __args__['withSelector'] = with_selector
192
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
193
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getPlacementGroup:getPlacementGroup', __args__, opts=opts, typ=GetPlacementGroupResult)
194
+ return __ret__.apply(lambda __response__: GetPlacementGroupResult(
195
+ id=pulumi.get(__response__, 'id'),
196
+ labels=pulumi.get(__response__, 'labels'),
197
+ most_recent=pulumi.get(__response__, 'most_recent'),
198
+ name=pulumi.get(__response__, 'name'),
199
+ servers=pulumi.get(__response__, 'servers'),
200
+ type=pulumi.get(__response__, 'type'),
201
+ with_selector=pulumi.get(__response__, 'with_selector')))