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
@@ -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,42 +46,33 @@ class GetServerTypesResult:
41
46
 
42
47
  @property
43
48
  @pulumi.getter
49
+ @_utilities.deprecated("""Use server_types list instead""")
44
50
  def descriptions(self) -> Sequence[str]:
45
- warnings.warn("""Use server_types list instead""", DeprecationWarning)
46
- pulumi.log.warn("""descriptions is deprecated: Use server_types list instead""")
47
-
48
51
  return pulumi.get(self, "descriptions")
49
52
 
50
53
  @property
51
54
  @pulumi.getter
52
55
  def id(self) -> str:
53
56
  """
54
- The provider-assigned unique ID for this managed resource.
57
+ The ID of this resource.
55
58
  """
56
59
  return pulumi.get(self, "id")
57
60
 
58
61
  @property
59
62
  @pulumi.getter
63
+ @_utilities.deprecated("""Use server_types list instead""")
60
64
  def names(self) -> Sequence[str]:
61
- warnings.warn("""Use server_types list instead""", DeprecationWarning)
62
- pulumi.log.warn("""names is deprecated: Use server_types list instead""")
63
-
64
65
  return pulumi.get(self, "names")
65
66
 
66
67
  @property
67
68
  @pulumi.getter(name="serverTypeIds")
68
- def server_type_ids(self) -> Optional[Sequence[str]]:
69
- warnings.warn("""Use server_types list instead""", DeprecationWarning)
70
- pulumi.log.warn("""server_type_ids is deprecated: Use server_types list instead""")
71
-
69
+ @_utilities.deprecated("""Use server_types list instead""")
70
+ def server_type_ids(self) -> Sequence[str]:
72
71
  return pulumi.get(self, "server_type_ids")
73
72
 
74
73
  @property
75
74
  @pulumi.getter(name="serverTypes")
76
75
  def server_types(self) -> Sequence['outputs.GetServerTypesServerTypeResult']:
77
- """
78
- (list) List of all server types. See `data.hcloud_type` for schema.
79
- """
80
76
  return pulumi.get(self, "server_types")
81
77
 
82
78
 
@@ -93,13 +89,20 @@ class AwaitableGetServerTypesResult(GetServerTypesResult):
93
89
  server_types=self.server_types)
94
90
 
95
91
 
96
- def get_server_types(server_type_ids: Optional[Sequence[str]] = None,
97
- opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServerTypesResult:
92
+ def get_server_types(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServerTypesResult:
98
93
  """
99
94
  Provides a list of available Hetzner Cloud Server Types.
95
+
96
+ ## Example Usage
97
+
98
+ ```python
99
+ import pulumi
100
+ import pulumi_hcloud as hcloud
101
+
102
+ all = hcloud.get_server_types()
103
+ ```
100
104
  """
101
105
  __args__ = dict()
102
- __args__['serverTypeIds'] = server_type_ids
103
106
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
104
107
  __ret__ = pulumi.runtime.invoke('hcloud:index/getServerTypes:getServerTypes', __args__, opts=opts, typ=GetServerTypesResult).value
105
108
 
@@ -109,12 +112,25 @@ def get_server_types(server_type_ids: Optional[Sequence[str]] = None,
109
112
  names=pulumi.get(__ret__, 'names'),
110
113
  server_type_ids=pulumi.get(__ret__, 'server_type_ids'),
111
114
  server_types=pulumi.get(__ret__, 'server_types'))
112
-
113
-
114
- @_utilities.lift_output_func(get_server_types)
115
- def get_server_types_output(server_type_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
116
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerTypesResult]:
115
+ def get_server_types_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerTypesResult]:
117
116
  """
118
117
  Provides a list of available Hetzner Cloud Server Types.
118
+
119
+ ## Example Usage
120
+
121
+ ```python
122
+ import pulumi
123
+ import pulumi_hcloud as hcloud
124
+
125
+ all = hcloud.get_server_types()
126
+ ```
119
127
  """
120
- ...
128
+ __args__ = dict()
129
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
130
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getServerTypes:getServerTypes', __args__, opts=opts, typ=GetServerTypesResult)
131
+ return __ret__.apply(lambda __response__: GetServerTypesResult(
132
+ descriptions=pulumi.get(__response__, 'descriptions'),
133
+ id=pulumi.get(__response__, 'id'),
134
+ names=pulumi.get(__response__, 'names'),
135
+ server_type_ids=pulumi.get(__response__, 'server_type_ids'),
136
+ server_types=pulumi.get(__response__, 'server_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
 
@@ -103,12 +108,9 @@ def get_servers(with_selector: Optional[str] = None,
103
108
  servers=pulumi.get(__ret__, 'servers'),
104
109
  with_selector=pulumi.get(__ret__, 'with_selector'),
105
110
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
106
-
107
-
108
- @_utilities.lift_output_func(get_servers)
109
111
  def get_servers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
110
112
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
111
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServersResult]:
113
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServersResult]:
112
114
  """
113
115
  ## Example Usage
114
116
 
@@ -123,4 +125,13 @@ def get_servers_output(with_selector: Optional[pulumi.Input[Optional[str]]] = No
123
125
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
124
126
  :param Sequence[str] with_statuses: List only servers with the specified status, could contain `initializing`, `starting`, `running`, `stopping`, `off`, `deleting`, `rebuilding`, `migrating`, `unknown`.
125
127
  """
126
- ...
128
+ __args__ = dict()
129
+ __args__['withSelector'] = with_selector
130
+ __args__['withStatuses'] = with_statuses
131
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
132
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getServers:getServers', __args__, opts=opts, typ=GetServersResult)
133
+ return __ret__.apply(lambda __response__: GetServersResult(
134
+ id=pulumi.get(__response__, 'id'),
135
+ servers=pulumi.get(__response__, 'servers'),
136
+ with_selector=pulumi.get(__response__, 'with_selector'),
137
+ with_statuses=pulumi.get(__response__, 'with_statuses')))
@@ -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__ = [
@@ -46,30 +51,33 @@ class GetSshKeyResult:
46
51
 
47
52
  @property
48
53
  @pulumi.getter
49
- def fingerprint(self) -> str:
54
+ def fingerprint(self) -> Optional[str]:
50
55
  """
51
- (string) Fingerprint of the SSH Key.
56
+ Fingerprint of the SSH Key.
52
57
  """
53
58
  return pulumi.get(self, "fingerprint")
54
59
 
55
60
  @property
56
61
  @pulumi.getter
57
- def id(self) -> int:
62
+ def id(self) -> Optional[int]:
58
63
  """
59
- (int) Unique ID of the SSH Key.
64
+ ID of the SSH Key.
60
65
  """
61
66
  return pulumi.get(self, "id")
62
67
 
63
68
  @property
64
69
  @pulumi.getter
65
- def labels(self) -> Mapping[str, Any]:
70
+ def labels(self) -> Mapping[str, str]:
71
+ """
72
+ User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
73
+ """
66
74
  return pulumi.get(self, "labels")
67
75
 
68
76
  @property
69
77
  @pulumi.getter
70
- def name(self) -> str:
78
+ def name(self) -> Optional[str]:
71
79
  """
72
- (string) Name of the SSH Key.
80
+ Name of the SSH Key.
73
81
  """
74
82
  return pulumi.get(self, "name")
75
83
 
@@ -77,21 +85,25 @@ class GetSshKeyResult:
77
85
  @pulumi.getter(name="publicKey")
78
86
  def public_key(self) -> str:
79
87
  """
80
- (string) Public Key of the SSH Key.
88
+ Public key of the SSH Key pair.
81
89
  """
82
90
  return pulumi.get(self, "public_key")
83
91
 
84
92
  @property
85
93
  @pulumi.getter
94
+ @_utilities.deprecated("""Please use the with_selector property instead.""")
86
95
  def selector(self) -> Optional[str]:
87
- warnings.warn("""Please use the with_selector property instead.""", DeprecationWarning)
88
- pulumi.log.warn("""selector is deprecated: Please use the with_selector property instead.""")
89
-
96
+ """
97
+ Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
98
+ """
90
99
  return pulumi.get(self, "selector")
91
100
 
92
101
  @property
93
102
  @pulumi.getter(name="withSelector")
94
103
  def with_selector(self) -> Optional[str]:
104
+ """
105
+ Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
106
+ """
95
107
  return pulumi.get(self, "with_selector")
96
108
 
97
109
 
@@ -123,14 +135,14 @@ def get_ssh_key(fingerprint: Optional[str] = None,
123
135
  import pulumi
124
136
  import pulumi_hcloud as hcloud
125
137
 
126
- ssh_key1 = hcloud.get_ssh_key(id=1234)
127
- ssh_key2 = hcloud.get_ssh_key(name="my-ssh-key")
128
- ssh_key3 = hcloud.get_ssh_key(fingerprint="43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8")
129
- ssh_key4 = hcloud.get_ssh_key(with_selector="key=value")
138
+ by_id = hcloud.get_ssh_key(id=24332897)
139
+ by_name = hcloud.get_ssh_key(name="my-ssh-key")
140
+ by_fingerprint = hcloud.get_ssh_key(fingerprint="55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8")
141
+ by_label = hcloud.get_ssh_key(with_selector="key=value")
130
142
  main = hcloud.Server("main", ssh_keys=[
131
- ssh_key1.id,
132
- ssh_key2.id,
133
- ssh_key3.id,
143
+ by_id.id,
144
+ by_name.id,
145
+ by_fingerprint.id,
134
146
  ])
135
147
  ```
136
148
 
@@ -138,7 +150,8 @@ def get_ssh_key(fingerprint: Optional[str] = None,
138
150
  :param str fingerprint: Fingerprint of the SSH Key.
139
151
  :param int id: ID of the SSH Key.
140
152
  :param str name: Name of the SSH Key.
141
- :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
153
+ :param str selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
154
+ :param str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
142
155
  """
143
156
  __args__ = dict()
144
157
  __args__['fingerprint'] = fingerprint
@@ -157,15 +170,12 @@ def get_ssh_key(fingerprint: Optional[str] = None,
157
170
  public_key=pulumi.get(__ret__, 'public_key'),
158
171
  selector=pulumi.get(__ret__, 'selector'),
159
172
  with_selector=pulumi.get(__ret__, 'with_selector'))
160
-
161
-
162
- @_utilities.lift_output_func(get_ssh_key)
163
173
  def get_ssh_key_output(fingerprint: Optional[pulumi.Input[Optional[str]]] = None,
164
174
  id: Optional[pulumi.Input[Optional[int]]] = None,
165
175
  name: Optional[pulumi.Input[Optional[str]]] = None,
166
176
  selector: Optional[pulumi.Input[Optional[str]]] = None,
167
177
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
168
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSshKeyResult]:
178
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSshKeyResult]:
169
179
  """
170
180
  ## Example Usage
171
181
 
@@ -173,14 +183,14 @@ def get_ssh_key_output(fingerprint: Optional[pulumi.Input[Optional[str]]] = None
173
183
  import pulumi
174
184
  import pulumi_hcloud as hcloud
175
185
 
176
- ssh_key1 = hcloud.get_ssh_key(id=1234)
177
- ssh_key2 = hcloud.get_ssh_key(name="my-ssh-key")
178
- ssh_key3 = hcloud.get_ssh_key(fingerprint="43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8")
179
- ssh_key4 = hcloud.get_ssh_key(with_selector="key=value")
186
+ by_id = hcloud.get_ssh_key(id=24332897)
187
+ by_name = hcloud.get_ssh_key(name="my-ssh-key")
188
+ by_fingerprint = hcloud.get_ssh_key(fingerprint="55:58:dc:bd:61:6e:7d:24:07:a7:7d:9b:be:99:83:a8")
189
+ by_label = hcloud.get_ssh_key(with_selector="key=value")
180
190
  main = hcloud.Server("main", ssh_keys=[
181
- ssh_key1.id,
182
- ssh_key2.id,
183
- ssh_key3.id,
191
+ by_id.id,
192
+ by_name.id,
193
+ by_fingerprint.id,
184
194
  ])
185
195
  ```
186
196
 
@@ -188,6 +198,22 @@ def get_ssh_key_output(fingerprint: Optional[pulumi.Input[Optional[str]]] = None
188
198
  :param str fingerprint: Fingerprint of the SSH Key.
189
199
  :param int id: ID of the SSH Key.
190
200
  :param str name: Name of the SSH Key.
191
- :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
201
+ :param str selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
202
+ :param str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector).
192
203
  """
193
- ...
204
+ __args__ = dict()
205
+ __args__['fingerprint'] = fingerprint
206
+ __args__['id'] = id
207
+ __args__['name'] = name
208
+ __args__['selector'] = selector
209
+ __args__['withSelector'] = with_selector
210
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
211
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getSshKey:getSshKey', __args__, opts=opts, typ=GetSshKeyResult)
212
+ return __ret__.apply(lambda __response__: GetSshKeyResult(
213
+ fingerprint=pulumi.get(__response__, 'fingerprint'),
214
+ id=pulumi.get(__response__, 'id'),
215
+ labels=pulumi.get(__response__, 'labels'),
216
+ name=pulumi.get(__response__, 'name'),
217
+ public_key=pulumi.get(__response__, 'public_key'),
218
+ selector=pulumi.get(__response__, 'selector'),
219
+ 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
 
@@ -35,23 +40,23 @@ class GetSshKeysResult:
35
40
 
36
41
  @property
37
42
  @pulumi.getter
38
- def id(self) -> str:
43
+ def id(self) -> Optional[str]:
39
44
  """
40
- The provider-assigned unique ID for this managed resource.
45
+ The ID of this resource.
41
46
  """
42
47
  return pulumi.get(self, "id")
43
48
 
44
49
  @property
45
50
  @pulumi.getter(name="sshKeys")
46
51
  def ssh_keys(self) -> Sequence['outputs.GetSshKeysSshKeyResult']:
47
- """
48
- (list) List of all matches SSH keys. See `data.hcloud_ssh_key` for schema.
49
- """
50
52
  return pulumi.get(self, "ssh_keys")
51
53
 
52
54
  @property
53
55
  @pulumi.getter(name="withSelector")
54
56
  def with_selector(self) -> Optional[str]:
57
+ """
58
+ Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector)
59
+ """
55
60
  return pulumi.get(self, "with_selector")
56
61
 
57
62
 
@@ -66,7 +71,8 @@ class AwaitableGetSshKeysResult(GetSshKeysResult):
66
71
  with_selector=self.with_selector)
67
72
 
68
73
 
69
- def get_ssh_keys(with_selector: Optional[str] = None,
74
+ def get_ssh_keys(id: Optional[str] = None,
75
+ with_selector: Optional[str] = None,
70
76
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSshKeysResult:
71
77
  """
72
78
  ## Example Usage
@@ -75,15 +81,17 @@ def get_ssh_keys(with_selector: Optional[str] = None,
75
81
  import pulumi
76
82
  import pulumi_hcloud as hcloud
77
83
 
78
- all_keys = hcloud.get_ssh_keys()
79
- keys_by_selector = hcloud.get_ssh_keys(with_selector="foo=bar")
80
- main = hcloud.Server("main", ssh_keys=[__item.name for __item in all_keys.ssh_keys])
84
+ all = hcloud.get_ssh_keys()
85
+ by_label = hcloud.get_ssh_keys(with_selector="foo=bar")
86
+ main = hcloud.Server("main", ssh_keys=[__item.name for __item in all.ssh_keys])
81
87
  ```
82
88
 
83
89
 
84
- :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
90
+ :param str id: The ID of this resource.
91
+ :param str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector)
85
92
  """
86
93
  __args__ = dict()
94
+ __args__['id'] = id
87
95
  __args__['withSelector'] = with_selector
88
96
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
89
97
  __ret__ = pulumi.runtime.invoke('hcloud:index/getSshKeys:getSshKeys', __args__, opts=opts, typ=GetSshKeysResult).value
@@ -92,11 +100,9 @@ def get_ssh_keys(with_selector: Optional[str] = None,
92
100
  id=pulumi.get(__ret__, 'id'),
93
101
  ssh_keys=pulumi.get(__ret__, 'ssh_keys'),
94
102
  with_selector=pulumi.get(__ret__, 'with_selector'))
95
-
96
-
97
- @_utilities.lift_output_func(get_ssh_keys)
98
- def get_ssh_keys_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
99
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSshKeysResult]:
103
+ def get_ssh_keys_output(id: Optional[pulumi.Input[Optional[str]]] = None,
104
+ with_selector: Optional[pulumi.Input[Optional[str]]] = None,
105
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSshKeysResult]:
100
106
  """
101
107
  ## Example Usage
102
108
 
@@ -104,12 +110,21 @@ def get_ssh_keys_output(with_selector: Optional[pulumi.Input[Optional[str]]] = N
104
110
  import pulumi
105
111
  import pulumi_hcloud as hcloud
106
112
 
107
- all_keys = hcloud.get_ssh_keys()
108
- keys_by_selector = hcloud.get_ssh_keys(with_selector="foo=bar")
109
- main = hcloud.Server("main", ssh_keys=[__item.name for __item in all_keys.ssh_keys])
113
+ all = hcloud.get_ssh_keys()
114
+ by_label = hcloud.get_ssh_keys(with_selector="foo=bar")
115
+ main = hcloud.Server("main", ssh_keys=[__item.name for __item in all.ssh_keys])
110
116
  ```
111
117
 
112
118
 
113
- :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
119
+ :param str id: The ID of this resource.
120
+ :param str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/#label-selector)
114
121
  """
115
- ...
122
+ __args__ = dict()
123
+ __args__['id'] = id
124
+ __args__['withSelector'] = with_selector
125
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
126
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getSshKeys:getSshKeys', __args__, opts=opts, typ=GetSshKeysResult)
127
+ return __ret__.apply(lambda __response__: GetSshKeysResult(
128
+ id=pulumi.get(__response__, 'id'),
129
+ ssh_keys=pulumi.get(__response__, 'ssh_keys'),
130
+ 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__ = [
@@ -74,7 +79,7 @@ class GetVolumeResult:
74
79
 
75
80
  @property
76
81
  @pulumi.getter
77
- def labels(self) -> Mapping[str, Any]:
82
+ def labels(self) -> Mapping[str, str]:
78
83
  """
79
84
  (map) User-defined labels (key-value pairs).
80
85
  """
@@ -92,7 +97,7 @@ class GetVolumeResult:
92
97
  @pulumi.getter
93
98
  def location(self) -> Optional[str]:
94
99
  """
95
- (string) The location name.
100
+ (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
96
101
  """
97
102
  return pulumi.get(self, "location")
98
103
 
@@ -106,10 +111,8 @@ class GetVolumeResult:
106
111
 
107
112
  @property
108
113
  @pulumi.getter
114
+ @_utilities.deprecated("""Please use the with_selector property instead.""")
109
115
  def selector(self) -> Optional[str]:
110
- warnings.warn("""Please use the with_selector property instead.""", DeprecationWarning)
111
- pulumi.log.warn("""selector is deprecated: Please use the with_selector property instead.""")
112
-
113
116
  return pulumi.get(self, "selector")
114
117
 
115
118
  @property
@@ -180,7 +183,7 @@ def get_volume(id: Optional[int] = None,
180
183
 
181
184
 
182
185
  :param int id: ID of the volume.
183
- :param str location: (string) The location name.
186
+ :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
184
187
  :param str name: Name of the volume.
185
188
  :param int server_id: (Optional, int) Server ID the volume is attached to
186
189
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
@@ -209,9 +212,6 @@ def get_volume(id: Optional[int] = None,
209
212
  size=pulumi.get(__ret__, 'size'),
210
213
  with_selector=pulumi.get(__ret__, 'with_selector'),
211
214
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
212
-
213
-
214
- @_utilities.lift_output_func(get_volume)
215
215
  def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
216
216
  location: Optional[pulumi.Input[Optional[str]]] = None,
217
217
  name: Optional[pulumi.Input[Optional[str]]] = None,
@@ -219,7 +219,7 @@ def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
219
219
  server_id: Optional[pulumi.Input[Optional[int]]] = None,
220
220
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
221
221
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
222
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeResult]:
222
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVolumeResult]:
223
223
  """
224
224
  ## Example Usage
225
225
 
@@ -234,10 +234,31 @@ def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
234
234
 
235
235
 
236
236
  :param int id: ID of the volume.
237
- :param str location: (string) The location name.
237
+ :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
238
238
  :param str name: Name of the volume.
239
239
  :param int server_id: (Optional, int) Server ID the volume is attached to
240
240
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
241
241
  :param Sequence[str] with_statuses: List only volumes with the specified status, could contain `creating` or `available`.
242
242
  """
243
- ...
243
+ __args__ = dict()
244
+ __args__['id'] = id
245
+ __args__['location'] = location
246
+ __args__['name'] = name
247
+ __args__['selector'] = selector
248
+ __args__['serverId'] = server_id
249
+ __args__['withSelector'] = with_selector
250
+ __args__['withStatuses'] = with_statuses
251
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
252
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult)
253
+ return __ret__.apply(lambda __response__: GetVolumeResult(
254
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
255
+ id=pulumi.get(__response__, 'id'),
256
+ labels=pulumi.get(__response__, 'labels'),
257
+ linux_device=pulumi.get(__response__, 'linux_device'),
258
+ location=pulumi.get(__response__, 'location'),
259
+ name=pulumi.get(__response__, 'name'),
260
+ selector=pulumi.get(__response__, 'selector'),
261
+ server_id=pulumi.get(__response__, 'server_id'),
262
+ size=pulumi.get(__response__, 'size'),
263
+ with_selector=pulumi.get(__response__, 'with_selector'),
264
+ with_statuses=pulumi.get(__response__, 'with_statuses')))
@@ -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
 
@@ -79,7 +84,7 @@ def get_volumes(with_selector: Optional[str] = None,
79
84
  with_statuses: Optional[Sequence[str]] = None,
80
85
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumesResult:
81
86
  """
82
- Provides details about multiple Hetzner Cloud volumes.
87
+ Provides details about multiple Hetzner Cloud Volumes.
83
88
 
84
89
  ## Example Usage
85
90
 
@@ -106,14 +111,11 @@ def get_volumes(with_selector: Optional[str] = None,
106
111
  volumes=pulumi.get(__ret__, 'volumes'),
107
112
  with_selector=pulumi.get(__ret__, 'with_selector'),
108
113
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
109
-
110
-
111
- @_utilities.lift_output_func(get_volumes)
112
114
  def get_volumes_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
113
115
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
114
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumesResult]:
116
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVolumesResult]:
115
117
  """
116
- Provides details about multiple Hetzner Cloud volumes.
118
+ Provides details about multiple Hetzner Cloud Volumes.
117
119
 
118
120
  ## Example Usage
119
121
 
@@ -129,4 +131,13 @@ def get_volumes_output(with_selector: Optional[pulumi.Input[Optional[str]]] = No
129
131
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
130
132
  :param Sequence[str] with_statuses: List only volumes with the specified status, could contain `creating` or `available`.
131
133
  """
132
- ...
134
+ __args__ = dict()
135
+ __args__['withSelector'] = with_selector
136
+ __args__['withStatuses'] = with_statuses
137
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
138
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getVolumes:getVolumes', __args__, opts=opts, typ=GetVolumesResult)
139
+ return __ret__.apply(lambda __response__: GetVolumesResult(
140
+ id=pulumi.get(__response__, 'id'),
141
+ volumes=pulumi.get(__response__, 'volumes'),
142
+ with_selector=pulumi.get(__response__, 'with_selector'),
143
+ with_statuses=pulumi.get(__response__, 'with_statuses')))