pulumi-hcloud 1.20.4__py3-none-any.whl → 1.21.0__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 +234 -0
  3. pulumi_hcloud/_utilities.py +1 -1
  4. pulumi_hcloud/certificate.py +5 -0
  5. pulumi_hcloud/config/__init__.pyi +5 -0
  6. pulumi_hcloud/config/vars.py +5 -0
  7. pulumi_hcloud/firewall.py +5 -0
  8. pulumi_hcloud/firewall_attachment.py +7 -2
  9. pulumi_hcloud/floating_ip.py +5 -0
  10. pulumi_hcloud/floating_ip_assignment.py +5 -0
  11. pulumi_hcloud/get_certificate.py +23 -4
  12. pulumi_hcloud/get_certificates.py +13 -4
  13. pulumi_hcloud/get_datacenter.py +18 -5
  14. pulumi_hcloud/get_datacenters.py +18 -4
  15. pulumi_hcloud/get_firewall.py +26 -7
  16. pulumi_hcloud/get_firewalls.py +15 -4
  17. pulumi_hcloud/get_floating_ip.py +30 -4
  18. pulumi_hcloud/get_floating_ips.py +13 -4
  19. pulumi_hcloud/get_image.py +34 -4
  20. pulumi_hcloud/get_images.py +21 -4
  21. pulumi_hcloud/get_load_balancer.py +28 -5
  22. pulumi_hcloud/get_load_balancer_type.py +200 -0
  23. pulumi_hcloud/get_load_balancer_types.py +100 -0
  24. pulumi_hcloud/get_load_balancers.py +13 -4
  25. pulumi_hcloud/get_location.py +19 -4
  26. pulumi_hcloud/get_locations.py +18 -4
  27. pulumi_hcloud/get_network.py +23 -4
  28. pulumi_hcloud/get_networks.py +13 -4
  29. pulumi_hcloud/get_placement_group.py +25 -7
  30. pulumi_hcloud/get_placement_groups.py +15 -4
  31. pulumi_hcloud/get_primary_ip.py +28 -6
  32. pulumi_hcloud/get_primary_ips.py +13 -4
  33. pulumi_hcloud/get_server.py +40 -6
  34. pulumi_hcloud/get_server_type.py +35 -13
  35. pulumi_hcloud/get_server_types.py +32 -12
  36. pulumi_hcloud/get_servers.py +15 -4
  37. pulumi_hcloud/get_ssh_key.py +23 -4
  38. pulumi_hcloud/get_ssh_keys.py +14 -4
  39. pulumi_hcloud/get_volume.py +30 -7
  40. pulumi_hcloud/get_volumes.py +17 -6
  41. pulumi_hcloud/load_balancer.py +12 -7
  42. pulumi_hcloud/load_balancer_network.py +12 -7
  43. pulumi_hcloud/load_balancer_service.py +5 -0
  44. pulumi_hcloud/load_balancer_target.py +5 -0
  45. pulumi_hcloud/managed_certificate.py +5 -0
  46. pulumi_hcloud/network.py +5 -0
  47. pulumi_hcloud/network_route.py +5 -0
  48. pulumi_hcloud/network_subnet.py +5 -0
  49. pulumi_hcloud/outputs.py +68 -8
  50. pulumi_hcloud/placement_group.py +5 -0
  51. pulumi_hcloud/primary_ip.py +40 -21
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +1 -1
  54. pulumi_hcloud/rdns.py +5 -0
  55. pulumi_hcloud/server.py +25 -14
  56. pulumi_hcloud/server_network.py +12 -7
  57. pulumi_hcloud/snapshot.py +5 -0
  58. pulumi_hcloud/ssh_key.py +5 -0
  59. pulumi_hcloud/uploaded_certificate.py +5 -0
  60. pulumi_hcloud/volume.py +19 -14
  61. pulumi_hcloud/volume_attachment.py +5 -0
  62. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.dist-info}/METADATA +3 -2
  63. pulumi_hcloud-1.21.0.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.20.4.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.20.4.dist-info → pulumi_hcloud-1.21.0.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
+ return pulumi.get(self, "id")
42
+
43
+ @property
44
+ @pulumi.getter(name="loadBalancerTypes")
45
+ def load_balancer_types(self) -> Sequence['outputs.GetLoadBalancerTypesLoadBalancerTypeResult']:
46
+ """
47
+ (list) List of all load balancer types. See `data.hcloud_load_balancer_type` for the schema.
48
+ """
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[pulumi.InvokeOptions] = 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.InvokeOptions.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,9 +98,6 @@ 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
102
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancersResult]:
101
103
  """
@@ -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.InvokeOptions.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__ = [
@@ -164,9 +169,6 @@ def get_location(id: Optional[int] = None,
164
169
  longitude=pulumi.get(__ret__, 'longitude'),
165
170
  name=pulumi.get(__ret__, 'name'),
166
171
  network_zone=pulumi.get(__ret__, 'network_zone'))
167
-
168
-
169
- @_utilities.lift_output_func(get_location)
170
172
  def get_location_output(id: Optional[pulumi.Input[Optional[int]]] = None,
171
173
  name: Optional[pulumi.Input[Optional[str]]] = None,
172
174
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationResult]:
@@ -188,4 +190,17 @@ def get_location_output(id: Optional[pulumi.Input[Optional[int]]] = None,
188
190
  :param int id: ID of the location.
189
191
  :param str name: Name of the location.
190
192
  """
191
- ...
193
+ __args__ = dict()
194
+ __args__['id'] = id
195
+ __args__['name'] = name
196
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
197
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLocation:getLocation', __args__, opts=opts, typ=GetLocationResult)
198
+ return __ret__.apply(lambda __response__: GetLocationResult(
199
+ city=pulumi.get(__response__, 'city'),
200
+ country=pulumi.get(__response__, 'country'),
201
+ description=pulumi.get(__response__, 'description'),
202
+ id=pulumi.get(__response__, 'id'),
203
+ latitude=pulumi.get(__response__, 'latitude'),
204
+ longitude=pulumi.get(__response__, 'longitude'),
205
+ name=pulumi.get(__response__, 'name'),
206
+ 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
 
@@ -121,9 +126,6 @@ def get_locations(descriptions: Optional[Sequence[str]] = None,
121
126
  location_ids=pulumi.get(__ret__, 'location_ids'),
122
127
  locations=pulumi.get(__ret__, 'locations'),
123
128
  names=pulumi.get(__ret__, 'names'))
124
-
125
-
126
- @_utilities.lift_output_func(get_locations)
127
129
  def get_locations_output(descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
128
130
  id: Optional[pulumi.Input[Optional[str]]] = None,
129
131
  location_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
@@ -138,4 +140,16 @@ def get_locations_output(descriptions: Optional[pulumi.Input[Optional[Sequence[s
138
140
  :param Sequence[str] location_ids: (list) List of unique location identifiers. **Deprecated**: Use `locations` attribute instead.
139
141
  :param Sequence[str] names: (list) List of location names. **Deprecated**: Use `locations` attribute instead.
140
142
  """
141
- ...
143
+ __args__ = dict()
144
+ __args__['descriptions'] = descriptions
145
+ __args__['id'] = id
146
+ __args__['locationIds'] = location_ids
147
+ __args__['names'] = names
148
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
149
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult)
150
+ return __ret__.apply(lambda __response__: GetLocationsResult(
151
+ descriptions=pulumi.get(__response__, 'descriptions'),
152
+ id=pulumi.get(__response__, 'id'),
153
+ location_ids=pulumi.get(__response__, 'location_ids'),
154
+ locations=pulumi.get(__response__, 'locations'),
155
+ 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__ = [
@@ -164,9 +169,6 @@ def get_network(id: Optional[int] = None,
164
169
  most_recent=pulumi.get(__ret__, 'most_recent'),
165
170
  name=pulumi.get(__ret__, 'name'),
166
171
  with_selector=pulumi.get(__ret__, 'with_selector'))
167
-
168
-
169
- @_utilities.lift_output_func(get_network)
170
172
  def get_network_output(id: Optional[pulumi.Input[Optional[int]]] = None,
171
173
  ip_range: Optional[pulumi.Input[Optional[str]]] = None,
172
174
  labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
@@ -192,4 +194,21 @@ def get_network_output(id: Optional[pulumi.Input[Optional[int]]] = None,
192
194
  :param str name: Name of the Network.
193
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).
194
196
  """
195
- ...
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.InvokeOptions.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,9 +98,6 @@ 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
102
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworksResult]:
101
103
  """
@@ -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.InvokeOptions.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__ = [
@@ -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
 
@@ -130,7 +135,7 @@ def get_placement_group(id: Optional[int] = None,
130
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,9 +156,6 @@ 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
160
  labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
159
161
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
@@ -177,7 +179,23 @@ def get_placement_group_output(id: Optional[pulumi.Input[Optional[int]]] = None,
177
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.InvokeOptions.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')))
@@ -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
 
@@ -106,9 +111,6 @@ def get_placement_groups(most_recent: Optional[bool] = None,
106
111
  most_recent=pulumi.get(__ret__, 'most_recent'),
107
112
  placement_groups=pulumi.get(__ret__, 'placement_groups'),
108
113
  with_selector=pulumi.get(__ret__, 'with_selector'))
109
-
110
-
111
- @_utilities.lift_output_func(get_placement_groups)
112
114
  def get_placement_groups_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
113
115
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
114
116
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlacementGroupsResult]:
@@ -129,4 +131,13 @@ def get_placement_groups_output(most_recent: Optional[pulumi.Input[Optional[bool
129
131
  :param bool most_recent: Sorts list by date.
130
132
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
131
133
  """
132
- ...
134
+ __args__ = dict()
135
+ __args__['mostRecent'] = most_recent
136
+ __args__['withSelector'] = with_selector
137
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
138
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getPlacementGroups:getPlacementGroups', __args__, opts=opts, typ=GetPlacementGroupsResult)
139
+ return __ret__.apply(lambda __response__: GetPlacementGroupsResult(
140
+ id=pulumi.get(__response__, 'id'),
141
+ most_recent=pulumi.get(__response__, 'most_recent'),
142
+ placement_groups=pulumi.get(__response__, 'placement_groups'),
143
+ 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__ = [
@@ -87,7 +92,7 @@ class GetPrimaryIpResult:
87
92
  @pulumi.getter
88
93
  def datacenter(self) -> str:
89
94
  """
90
- (string) The datacenter name of the Primary IP.
95
+ (string) The datacenter name of the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
91
96
  """
92
97
  return pulumi.get(self, "datacenter")
93
98
 
@@ -127,7 +132,7 @@ class GetPrimaryIpResult:
127
132
  @pulumi.getter
128
133
  def labels(self) -> Mapping[str, str]:
129
134
  """
130
- (string) Description of the Primary IP.
135
+ (map) User-defined labels (key-value pairs).
131
136
  """
132
137
  return pulumi.get(self, "labels")
133
138
 
@@ -248,9 +253,6 @@ def get_primary_ip(assignee_id: Optional[int] = None,
248
253
  name=pulumi.get(__ret__, 'name'),
249
254
  type=pulumi.get(__ret__, 'type'),
250
255
  with_selector=pulumi.get(__ret__, 'with_selector'))
251
-
252
-
253
- @_utilities.lift_output_func(get_primary_ip)
254
256
  def get_primary_ip_output(assignee_id: Optional[pulumi.Input[Optional[int]]] = None,
255
257
  id: Optional[pulumi.Input[Optional[int]]] = None,
256
258
  ip_address: Optional[pulumi.Input[Optional[str]]] = None,
@@ -304,4 +306,24 @@ def get_primary_ip_output(assignee_id: Optional[pulumi.Input[Optional[int]]] = N
304
306
  :param str name: Name of the Primary IP.
305
307
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
306
308
  """
307
- ...
309
+ __args__ = dict()
310
+ __args__['assigneeId'] = assignee_id
311
+ __args__['id'] = id
312
+ __args__['ipAddress'] = ip_address
313
+ __args__['name'] = name
314
+ __args__['withSelector'] = with_selector
315
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
316
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getPrimaryIp:getPrimaryIp', __args__, opts=opts, typ=GetPrimaryIpResult)
317
+ return __ret__.apply(lambda __response__: GetPrimaryIpResult(
318
+ assignee_id=pulumi.get(__response__, 'assignee_id'),
319
+ assignee_type=pulumi.get(__response__, 'assignee_type'),
320
+ auto_delete=pulumi.get(__response__, 'auto_delete'),
321
+ datacenter=pulumi.get(__response__, 'datacenter'),
322
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
323
+ id=pulumi.get(__response__, 'id'),
324
+ ip_address=pulumi.get(__response__, 'ip_address'),
325
+ ip_network=pulumi.get(__response__, 'ip_network'),
326
+ labels=pulumi.get(__response__, 'labels'),
327
+ name=pulumi.get(__response__, 'name'),
328
+ type=pulumi.get(__response__, 'type'),
329
+ 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
 
@@ -92,9 +97,6 @@ def get_primary_ips(with_selector: Optional[str] = None,
92
97
  id=pulumi.get(__ret__, 'id'),
93
98
  primary_ips=pulumi.get(__ret__, 'primary_ips'),
94
99
  with_selector=pulumi.get(__ret__, 'with_selector'))
95
-
96
-
97
- @_utilities.lift_output_func(get_primary_ips)
98
100
  def get_primary_ips_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
99
101
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrimaryIpsResult]:
100
102
  """
@@ -112,4 +114,11 @@ def get_primary_ips_output(with_selector: Optional[pulumi.Input[Optional[str]]]
112
114
 
113
115
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
114
116
  """
115
- ...
117
+ __args__ = dict()
118
+ __args__['withSelector'] = with_selector
119
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
120
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getPrimaryIps:getPrimaryIps', __args__, opts=opts, typ=GetPrimaryIpsResult)
121
+ return __ret__.apply(lambda __response__: GetPrimaryIpsResult(
122
+ id=pulumi.get(__response__, 'id'),
123
+ primary_ips=pulumi.get(__response__, 'primary_ips'),
124
+ 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__ = [
@@ -112,7 +117,7 @@ class GetServerResult:
112
117
  @pulumi.getter
113
118
  def datacenter(self) -> str:
114
119
  """
115
- (string) The datacenter name.
120
+ (string) The datacenter name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
116
121
  """
117
122
  return pulumi.get(self, "datacenter")
118
123
 
@@ -192,7 +197,7 @@ class GetServerResult:
192
197
  @pulumi.getter
193
198
  def location(self) -> str:
194
199
  """
195
- (string) The location name.
200
+ (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
196
201
  """
197
202
  return pulumi.get(self, "location")
198
203
 
@@ -357,9 +362,6 @@ def get_server(id: Optional[int] = None,
357
362
  status=pulumi.get(__ret__, 'status'),
358
363
  with_selector=pulumi.get(__ret__, 'with_selector'),
359
364
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
360
-
361
-
362
- @_utilities.lift_output_func(get_server)
363
365
  def get_server_output(id: Optional[pulumi.Input[Optional[int]]] = None,
364
366
  name: Optional[pulumi.Input[Optional[str]]] = None,
365
367
  placement_group_id: Optional[pulumi.Input[Optional[int]]] = None,
@@ -386,4 +388,36 @@ def get_server_output(id: Optional[pulumi.Input[Optional[int]]] = None,
386
388
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
387
389
  :param Sequence[str] with_statuses: List only servers with the specified status, could contain `initializing`, `starting`, `running`, `stopping`, `off`, `deleting`, `rebuilding`, `migrating`, `unknown`.
388
390
  """
389
- ...
391
+ __args__ = dict()
392
+ __args__['id'] = id
393
+ __args__['name'] = name
394
+ __args__['placementGroupId'] = placement_group_id
395
+ __args__['selector'] = selector
396
+ __args__['withSelector'] = with_selector
397
+ __args__['withStatuses'] = with_statuses
398
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
399
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getServer:getServer', __args__, opts=opts, typ=GetServerResult)
400
+ return __ret__.apply(lambda __response__: GetServerResult(
401
+ backup_window=pulumi.get(__response__, 'backup_window'),
402
+ backups=pulumi.get(__response__, 'backups'),
403
+ datacenter=pulumi.get(__response__, 'datacenter'),
404
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
405
+ firewall_ids=pulumi.get(__response__, 'firewall_ids'),
406
+ id=pulumi.get(__response__, 'id'),
407
+ image=pulumi.get(__response__, 'image'),
408
+ ipv4_address=pulumi.get(__response__, 'ipv4_address'),
409
+ ipv6_address=pulumi.get(__response__, 'ipv6_address'),
410
+ ipv6_network=pulumi.get(__response__, 'ipv6_network'),
411
+ iso=pulumi.get(__response__, 'iso'),
412
+ labels=pulumi.get(__response__, 'labels'),
413
+ location=pulumi.get(__response__, 'location'),
414
+ name=pulumi.get(__response__, 'name'),
415
+ placement_group_id=pulumi.get(__response__, 'placement_group_id'),
416
+ primary_disk_size=pulumi.get(__response__, 'primary_disk_size'),
417
+ rebuild_protection=pulumi.get(__response__, 'rebuild_protection'),
418
+ rescue=pulumi.get(__response__, 'rescue'),
419
+ selector=pulumi.get(__response__, 'selector'),
420
+ server_type=pulumi.get(__response__, 'server_type'),
421
+ status=pulumi.get(__response__, 'status'),
422
+ with_selector=pulumi.get(__response__, 'with_selector'),
423
+ with_statuses=pulumi.get(__response__, 'with_statuses')))