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
 
12
17
  __all__ = ['ServerNetworkInitArgs', 'ServerNetwork']
@@ -37,7 +42,7 @@ class ServerNetworkInitArgs:
37
42
  the existence of a subnet.
38
43
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
39
44
  added to the Server. Required if `network_id` is not set.
40
- *Note*: if the `ip` property is missing, the Server is currently added
45
+ _Note_: if the `ip` property is missing, the Server is currently added
41
46
  to the last created subnet.
42
47
  """
43
48
  pulumi.set(__self__, "server_id", server_id)
@@ -114,7 +119,7 @@ class ServerNetworkInitArgs:
114
119
  """
115
120
  ID of the sub-network which should be
116
121
  added to the Server. Required if `network_id` is not set.
117
- *Note*: if the `ip` property is missing, the Server is currently added
122
+ _Note_: if the `ip` property is missing, the Server is currently added
118
123
  to the last created subnet.
119
124
  """
120
125
  return pulumi.get(self, "subnet_id")
@@ -151,7 +156,7 @@ class _ServerNetworkState:
151
156
  :param pulumi.Input[int] server_id: ID of the server.
152
157
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
153
158
  added to the Server. Required if `network_id` is not set.
154
- *Note*: if the `ip` property is missing, the Server is currently added
159
+ _Note_: if the `ip` property is missing, the Server is currently added
155
160
  to the last created subnet.
156
161
  """
157
162
  if alias_ips is not None:
@@ -240,7 +245,7 @@ class _ServerNetworkState:
240
245
  """
241
246
  ID of the sub-network which should be
242
247
  added to the Server. Required if `network_id` is not set.
243
- *Note*: if the `ip` property is missing, the Server is currently added
248
+ _Note_: if the `ip` property is missing, the Server is currently added
244
249
  to the last created subnet.
245
250
  """
246
251
  return pulumi.get(self, "subnet_id")
@@ -271,9 +276,12 @@ class ServerNetwork(pulumi.CustomResource):
271
276
  import pulumi_hcloud as hcloud
272
277
 
273
278
  node1 = hcloud.Server("node1",
279
+ name="node1",
274
280
  image="debian-11",
275
- server_type="cx11")
276
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
281
+ server_type="cx22")
282
+ mynet = hcloud.Network("mynet",
283
+ name="my-net",
284
+ ip_range="10.0.0.0/8")
277
285
  foonet = hcloud.NetworkSubnet("foonet",
278
286
  network_id=mynet.id,
279
287
  type="cloud",
@@ -289,10 +297,10 @@ class ServerNetwork(pulumi.CustomResource):
289
297
 
290
298
  Server Network entries can be imported using a compound ID with the following format:
291
299
 
292
- `<server-id>-<network-id>`
300
+ `<server-id>-<network-id>`
293
301
 
294
302
  ```sh
295
- $ pulumi import hcloud:index/serverNetwork:ServerNetwork myservernetwork 123-654
303
+ $ pulumi import hcloud:index/serverNetwork:ServerNetwork example "$SERVER_ID-$NETWORK_ID"
296
304
  ```
297
305
 
298
306
  :param str resource_name: The name of the resource.
@@ -313,7 +321,7 @@ class ServerNetwork(pulumi.CustomResource):
313
321
  :param pulumi.Input[int] server_id: ID of the server.
314
322
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
315
323
  added to the Server. Required if `network_id` is not set.
316
- *Note*: if the `ip` property is missing, the Server is currently added
324
+ _Note_: if the `ip` property is missing, the Server is currently added
317
325
  to the last created subnet.
318
326
  """
319
327
  ...
@@ -332,9 +340,12 @@ class ServerNetwork(pulumi.CustomResource):
332
340
  import pulumi_hcloud as hcloud
333
341
 
334
342
  node1 = hcloud.Server("node1",
343
+ name="node1",
335
344
  image="debian-11",
336
- server_type="cx11")
337
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
345
+ server_type="cx22")
346
+ mynet = hcloud.Network("mynet",
347
+ name="my-net",
348
+ ip_range="10.0.0.0/8")
338
349
  foonet = hcloud.NetworkSubnet("foonet",
339
350
  network_id=mynet.id,
340
351
  type="cloud",
@@ -350,10 +361,10 @@ class ServerNetwork(pulumi.CustomResource):
350
361
 
351
362
  Server Network entries can be imported using a compound ID with the following format:
352
363
 
353
- `<server-id>-<network-id>`
364
+ `<server-id>-<network-id>`
354
365
 
355
366
  ```sh
356
- $ pulumi import hcloud:index/serverNetwork:ServerNetwork myservernetwork 123-654
367
+ $ pulumi import hcloud:index/serverNetwork:ServerNetwork example "$SERVER_ID-$NETWORK_ID"
357
368
  ```
358
369
 
359
370
  :param str resource_name: The name of the resource.
@@ -432,7 +443,7 @@ class ServerNetwork(pulumi.CustomResource):
432
443
  :param pulumi.Input[int] server_id: ID of the server.
433
444
  :param pulumi.Input[str] subnet_id: ID of the sub-network which should be
434
445
  added to the Server. Required if `network_id` is not set.
435
- *Note*: if the `ip` property is missing, the Server is currently added
446
+ _Note_: if the `ip` property is missing, the Server is currently added
436
447
  to the last created subnet.
437
448
  """
438
449
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -500,7 +511,7 @@ class ServerNetwork(pulumi.CustomResource):
500
511
  """
501
512
  ID of the sub-network which should be
502
513
  added to the Server. Required if `network_id` is not set.
503
- *Note*: if the `ip` property is missing, the Server is currently added
514
+ _Note_: if the `ip` property is missing, the Server is currently added
504
515
  to the last created subnet.
505
516
  """
506
517
  return pulumi.get(self, "subnet_id")
pulumi_hcloud/snapshot.py CHANGED
@@ -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__ = ['SnapshotArgs', 'Snapshot']
@@ -16,12 +21,12 @@ class SnapshotArgs:
16
21
  def __init__(__self__, *,
17
22
  server_id: pulumi.Input[int],
18
23
  description: Optional[pulumi.Input[str]] = None,
19
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None):
24
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
20
25
  """
21
26
  The set of arguments for constructing a Snapshot resource.
22
27
  :param pulumi.Input[int] server_id: Server to the snapshot should be created from.
23
28
  :param pulumi.Input[str] description: Description of the snapshot.
24
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
29
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
25
30
  """
26
31
  pulumi.set(__self__, "server_id", server_id)
27
32
  if description is not None:
@@ -55,14 +60,14 @@ class SnapshotArgs:
55
60
 
56
61
  @property
57
62
  @pulumi.getter
58
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
63
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
59
64
  """
60
65
  User-defined labels (key-value pairs) should be created with.
61
66
  """
62
67
  return pulumi.get(self, "labels")
63
68
 
64
69
  @labels.setter
65
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
70
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
66
71
  pulumi.set(self, "labels", value)
67
72
 
68
73
 
@@ -70,12 +75,12 @@ class SnapshotArgs:
70
75
  class _SnapshotState:
71
76
  def __init__(__self__, *,
72
77
  description: Optional[pulumi.Input[str]] = None,
73
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
78
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
74
79
  server_id: Optional[pulumi.Input[int]] = None):
75
80
  """
76
81
  Input properties used for looking up and filtering Snapshot resources.
77
82
  :param pulumi.Input[str] description: Description of the snapshot.
78
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
83
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
79
84
  :param pulumi.Input[int] server_id: Server to the snapshot should be created from.
80
85
  """
81
86
  if description is not None:
@@ -99,14 +104,14 @@ class _SnapshotState:
99
104
 
100
105
  @property
101
106
  @pulumi.getter
102
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
107
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
103
108
  """
104
109
  User-defined labels (key-value pairs) should be created with.
105
110
  """
106
111
  return pulumi.get(self, "labels")
107
112
 
108
113
  @labels.setter
109
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
114
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
110
115
  pulumi.set(self, "labels", value)
111
116
 
112
117
  @property
@@ -128,7 +133,7 @@ class Snapshot(pulumi.CustomResource):
128
133
  resource_name: str,
129
134
  opts: Optional[pulumi.ResourceOptions] = None,
130
135
  description: Optional[pulumi.Input[str]] = None,
131
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
136
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
132
137
  server_id: Optional[pulumi.Input[int]] = None,
133
138
  __props__=None):
134
139
  """
@@ -141,8 +146,9 @@ class Snapshot(pulumi.CustomResource):
141
146
  import pulumi_hcloud as hcloud
142
147
 
143
148
  node1 = hcloud.Server("node1",
149
+ name="node1",
144
150
  image="debian-11",
145
- server_type="cx11")
151
+ server_type="cx22")
146
152
  my_snapshot = hcloud.Snapshot("my-snapshot", server_id=node1.id)
147
153
  ```
148
154
 
@@ -151,13 +157,13 @@ class Snapshot(pulumi.CustomResource):
151
157
  Snapshots can be imported using its image `id`:
152
158
 
153
159
  ```sh
154
- $ pulumi import hcloud:index/snapshot:Snapshot myimage id
160
+ $ pulumi import hcloud:index/snapshot:Snapshot example "$IMAGE_ID"
155
161
  ```
156
162
 
157
163
  :param str resource_name: The name of the resource.
158
164
  :param pulumi.ResourceOptions opts: Options for the resource.
159
165
  :param pulumi.Input[str] description: Description of the snapshot.
160
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
166
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
161
167
  :param pulumi.Input[int] server_id: Server to the snapshot should be created from.
162
168
  """
163
169
  ...
@@ -176,8 +182,9 @@ class Snapshot(pulumi.CustomResource):
176
182
  import pulumi_hcloud as hcloud
177
183
 
178
184
  node1 = hcloud.Server("node1",
185
+ name="node1",
179
186
  image="debian-11",
180
- server_type="cx11")
187
+ server_type="cx22")
181
188
  my_snapshot = hcloud.Snapshot("my-snapshot", server_id=node1.id)
182
189
  ```
183
190
 
@@ -186,7 +193,7 @@ class Snapshot(pulumi.CustomResource):
186
193
  Snapshots can be imported using its image `id`:
187
194
 
188
195
  ```sh
189
- $ pulumi import hcloud:index/snapshot:Snapshot myimage id
196
+ $ pulumi import hcloud:index/snapshot:Snapshot example "$IMAGE_ID"
190
197
  ```
191
198
 
192
199
  :param str resource_name: The name of the resource.
@@ -205,7 +212,7 @@ class Snapshot(pulumi.CustomResource):
205
212
  resource_name: str,
206
213
  opts: Optional[pulumi.ResourceOptions] = None,
207
214
  description: Optional[pulumi.Input[str]] = None,
208
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
215
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
209
216
  server_id: Optional[pulumi.Input[int]] = None,
210
217
  __props__=None):
211
218
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -232,7 +239,7 @@ class Snapshot(pulumi.CustomResource):
232
239
  id: pulumi.Input[str],
233
240
  opts: Optional[pulumi.ResourceOptions] = None,
234
241
  description: Optional[pulumi.Input[str]] = None,
235
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
242
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
236
243
  server_id: Optional[pulumi.Input[int]] = None) -> 'Snapshot':
237
244
  """
238
245
  Get an existing Snapshot resource's state with the given name, id, and optional extra
@@ -242,7 +249,7 @@ class Snapshot(pulumi.CustomResource):
242
249
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
243
250
  :param pulumi.ResourceOptions opts: Options for the resource.
244
251
  :param pulumi.Input[str] description: Description of the snapshot.
245
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
252
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
246
253
  :param pulumi.Input[int] server_id: Server to the snapshot should be created from.
247
254
  """
248
255
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -264,7 +271,7 @@ class Snapshot(pulumi.CustomResource):
264
271
 
265
272
  @property
266
273
  @pulumi.getter
267
- def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
274
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
268
275
  """
269
276
  User-defined labels (key-value pairs) should be created with.
270
277
  """
pulumi_hcloud/ssh_key.py CHANGED
@@ -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__ = ['SshKeyArgs', 'SshKey']
@@ -15,13 +20,13 @@ __all__ = ['SshKeyArgs', 'SshKey']
15
20
  class SshKeyArgs:
16
21
  def __init__(__self__, *,
17
22
  public_key: pulumi.Input[str],
18
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
23
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
19
24
  name: Optional[pulumi.Input[str]] = None):
20
25
  """
21
26
  The set of arguments for constructing a SshKey resource.
22
- :param pulumi.Input[str] public_key: The public key. If this is a file, it can be read using the file interpolation function
23
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
24
- :param pulumi.Input[str] name: Name of the SSH key.
27
+ :param pulumi.Input[str] public_key: Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
28
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
29
+ :param pulumi.Input[str] name: Name of the SSH Key.
25
30
  """
26
31
  pulumi.set(__self__, "public_key", public_key)
27
32
  if labels is not None:
@@ -33,7 +38,7 @@ class SshKeyArgs:
33
38
  @pulumi.getter(name="publicKey")
34
39
  def public_key(self) -> pulumi.Input[str]:
35
40
  """
36
- The public key. If this is a file, it can be read using the file interpolation function
41
+ Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
37
42
  """
38
43
  return pulumi.get(self, "public_key")
39
44
 
@@ -43,21 +48,21 @@ class SshKeyArgs:
43
48
 
44
49
  @property
45
50
  @pulumi.getter
46
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
51
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
47
52
  """
48
- User-defined labels (key-value pairs) should be created with.
53
+ User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
49
54
  """
50
55
  return pulumi.get(self, "labels")
51
56
 
52
57
  @labels.setter
53
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
58
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
54
59
  pulumi.set(self, "labels", value)
55
60
 
56
61
  @property
57
62
  @pulumi.getter
58
63
  def name(self) -> Optional[pulumi.Input[str]]:
59
64
  """
60
- Name of the SSH key.
65
+ Name of the SSH Key.
61
66
  """
62
67
  return pulumi.get(self, "name")
63
68
 
@@ -70,15 +75,15 @@ class SshKeyArgs:
70
75
  class _SshKeyState:
71
76
  def __init__(__self__, *,
72
77
  fingerprint: Optional[pulumi.Input[str]] = None,
73
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
78
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
74
79
  name: Optional[pulumi.Input[str]] = None,
75
80
  public_key: Optional[pulumi.Input[str]] = None):
76
81
  """
77
82
  Input properties used for looking up and filtering SshKey resources.
78
- :param pulumi.Input[str] fingerprint: (string) The fingerprint of the SSH key
79
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
80
- :param pulumi.Input[str] name: Name of the SSH key.
81
- :param pulumi.Input[str] public_key: The public key. If this is a file, it can be read using the file interpolation function
83
+ :param pulumi.Input[str] fingerprint: Fingerprint of the SSH public key.
84
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
85
+ :param pulumi.Input[str] name: Name of the SSH Key.
86
+ :param pulumi.Input[str] public_key: Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
82
87
  """
83
88
  if fingerprint is not None:
84
89
  pulumi.set(__self__, "fingerprint", fingerprint)
@@ -93,7 +98,7 @@ class _SshKeyState:
93
98
  @pulumi.getter
94
99
  def fingerprint(self) -> Optional[pulumi.Input[str]]:
95
100
  """
96
- (string) The fingerprint of the SSH key
101
+ Fingerprint of the SSH public key.
97
102
  """
98
103
  return pulumi.get(self, "fingerprint")
99
104
 
@@ -103,21 +108,21 @@ class _SshKeyState:
103
108
 
104
109
  @property
105
110
  @pulumi.getter
106
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
111
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
107
112
  """
108
- User-defined labels (key-value pairs) should be created with.
113
+ User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
109
114
  """
110
115
  return pulumi.get(self, "labels")
111
116
 
112
117
  @labels.setter
113
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
118
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
114
119
  pulumi.set(self, "labels", value)
115
120
 
116
121
  @property
117
122
  @pulumi.getter
118
123
  def name(self) -> Optional[pulumi.Input[str]]:
119
124
  """
120
- Name of the SSH key.
125
+ Name of the SSH Key.
121
126
  """
122
127
  return pulumi.get(self, "name")
123
128
 
@@ -129,7 +134,7 @@ class _SshKeyState:
129
134
  @pulumi.getter(name="publicKey")
130
135
  def public_key(self) -> Optional[pulumi.Input[str]]:
131
136
  """
132
- The public key. If this is a file, it can be read using the file interpolation function
137
+ Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
133
138
  """
134
139
  return pulumi.get(self, "public_key")
135
140
 
@@ -143,36 +148,36 @@ class SshKey(pulumi.CustomResource):
143
148
  def __init__(__self__,
144
149
  resource_name: str,
145
150
  opts: Optional[pulumi.ResourceOptions] = None,
146
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
151
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
147
152
  name: Optional[pulumi.Input[str]] = None,
148
153
  public_key: Optional[pulumi.Input[str]] = None,
149
154
  __props__=None):
150
155
  """
151
- Provides a Hetzner Cloud SSH key resource to manage SSH keys for server access.
156
+ Provides a Hetzner Cloud SSH Key resource to manage SSH Keys for server access.
152
157
 
153
158
  ## Example Usage
154
159
 
155
160
  ```python
156
161
  import pulumi
157
162
  import pulumi_hcloud as hcloud
163
+ import pulumi_std as std
158
164
 
159
- # Create a new SSH key
160
- default = hcloud.SshKey("default", public_key=(lambda path: open(path).read())("~/.ssh/id_rsa.pub"))
165
+ main = hcloud.SshKey("main",
166
+ name="my-ssh-key",
167
+ public_key=std.file(input="~/.ssh/id_ed25519.pub").result)
161
168
  ```
162
169
 
163
170
  ## Import
164
171
 
165
- SSH keys can be imported using the SSH key `id`:
166
-
167
172
  ```sh
168
- $ pulumi import hcloud:index/sshKey:SshKey mykey id
173
+ $ pulumi import hcloud:index/sshKey:SshKey example "$SSH_KEY_ID"
169
174
  ```
170
175
 
171
176
  :param str resource_name: The name of the resource.
172
177
  :param pulumi.ResourceOptions opts: Options for the resource.
173
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
174
- :param pulumi.Input[str] name: Name of the SSH key.
175
- :param pulumi.Input[str] public_key: The public key. If this is a file, it can be read using the file interpolation function
178
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
179
+ :param pulumi.Input[str] name: Name of the SSH Key.
180
+ :param pulumi.Input[str] public_key: Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
176
181
  """
177
182
  ...
178
183
  @overload
@@ -181,24 +186,24 @@ class SshKey(pulumi.CustomResource):
181
186
  args: SshKeyArgs,
182
187
  opts: Optional[pulumi.ResourceOptions] = None):
183
188
  """
184
- Provides a Hetzner Cloud SSH key resource to manage SSH keys for server access.
189
+ Provides a Hetzner Cloud SSH Key resource to manage SSH Keys for server access.
185
190
 
186
191
  ## Example Usage
187
192
 
188
193
  ```python
189
194
  import pulumi
190
195
  import pulumi_hcloud as hcloud
196
+ import pulumi_std as std
191
197
 
192
- # Create a new SSH key
193
- default = hcloud.SshKey("default", public_key=(lambda path: open(path).read())("~/.ssh/id_rsa.pub"))
198
+ main = hcloud.SshKey("main",
199
+ name="my-ssh-key",
200
+ public_key=std.file(input="~/.ssh/id_ed25519.pub").result)
194
201
  ```
195
202
 
196
203
  ## Import
197
204
 
198
- SSH keys can be imported using the SSH key `id`:
199
-
200
205
  ```sh
201
- $ pulumi import hcloud:index/sshKey:SshKey mykey id
206
+ $ pulumi import hcloud:index/sshKey:SshKey example "$SSH_KEY_ID"
202
207
  ```
203
208
 
204
209
  :param str resource_name: The name of the resource.
@@ -216,7 +221,7 @@ class SshKey(pulumi.CustomResource):
216
221
  def _internal_init(__self__,
217
222
  resource_name: str,
218
223
  opts: Optional[pulumi.ResourceOptions] = None,
219
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
224
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
220
225
  name: Optional[pulumi.Input[str]] = None,
221
226
  public_key: Optional[pulumi.Input[str]] = None,
222
227
  __props__=None):
@@ -245,7 +250,7 @@ class SshKey(pulumi.CustomResource):
245
250
  id: pulumi.Input[str],
246
251
  opts: Optional[pulumi.ResourceOptions] = None,
247
252
  fingerprint: Optional[pulumi.Input[str]] = None,
248
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
253
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
249
254
  name: Optional[pulumi.Input[str]] = None,
250
255
  public_key: Optional[pulumi.Input[str]] = None) -> 'SshKey':
251
256
  """
@@ -255,10 +260,10 @@ class SshKey(pulumi.CustomResource):
255
260
  :param str resource_name: The unique name of the resulting resource.
256
261
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
257
262
  :param pulumi.ResourceOptions opts: Options for the resource.
258
- :param pulumi.Input[str] fingerprint: (string) The fingerprint of the SSH key
259
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
260
- :param pulumi.Input[str] name: Name of the SSH key.
261
- :param pulumi.Input[str] public_key: The public key. If this is a file, it can be read using the file interpolation function
263
+ :param pulumi.Input[str] fingerprint: Fingerprint of the SSH public key.
264
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
265
+ :param pulumi.Input[str] name: Name of the SSH Key.
266
+ :param pulumi.Input[str] public_key: Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
262
267
  """
263
268
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
264
269
 
@@ -274,15 +279,15 @@ class SshKey(pulumi.CustomResource):
274
279
  @pulumi.getter
275
280
  def fingerprint(self) -> pulumi.Output[str]:
276
281
  """
277
- (string) The fingerprint of the SSH key
282
+ Fingerprint of the SSH public key.
278
283
  """
279
284
  return pulumi.get(self, "fingerprint")
280
285
 
281
286
  @property
282
287
  @pulumi.getter
283
- def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
288
+ def labels(self) -> pulumi.Output[Mapping[str, str]]:
284
289
  """
285
- User-defined labels (key-value pairs) should be created with.
290
+ User-defined [labels](https://docs.hetzner.cloud/#labels) (key-value pairs) for the resource.
286
291
  """
287
292
  return pulumi.get(self, "labels")
288
293
 
@@ -290,7 +295,7 @@ class SshKey(pulumi.CustomResource):
290
295
  @pulumi.getter
291
296
  def name(self) -> pulumi.Output[str]:
292
297
  """
293
- Name of the SSH key.
298
+ Name of the SSH Key.
294
299
  """
295
300
  return pulumi.get(self, "name")
296
301
 
@@ -298,7 +303,7 @@ class SshKey(pulumi.CustomResource):
298
303
  @pulumi.getter(name="publicKey")
299
304
  def public_key(self) -> pulumi.Output[str]:
300
305
  """
301
- The public key. If this is a file, it can be read using the file interpolation function
306
+ Public key of the SSH Key pair. If this is a file, it can be read using the `file` interpolation function.
302
307
  """
303
308
  return pulumi.get(self, "public_key")
304
309