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
  from ._inputs import *
@@ -257,8 +262,8 @@ class LoadBalancerService(pulumi.CustomResource):
257
262
  resource_name: str,
258
263
  opts: Optional[pulumi.ResourceOptions] = None,
259
264
  destination_port: Optional[pulumi.Input[int]] = None,
260
- health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
261
- http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
265
+ health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
266
+ http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
262
267
  listen_port: Optional[pulumi.Input[int]] = None,
263
268
  load_balancer_id: Optional[pulumi.Input[str]] = None,
264
269
  protocol: Optional[pulumi.Input[str]] = None,
@@ -273,46 +278,47 @@ class LoadBalancerService(pulumi.CustomResource):
273
278
  import pulumi
274
279
  import pulumi_hcloud as hcloud
275
280
 
276
- load_balancer = hcloud.LoadBalancer("loadBalancer",
281
+ load_balancer = hcloud.LoadBalancer("load_balancer",
282
+ name="my-load-balancer",
277
283
  load_balancer_type="lb11",
278
284
  location="nbg1")
279
- load_balancer_service = hcloud.LoadBalancerService("loadBalancerService",
285
+ load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
280
286
  load_balancer_id=load_balancer.id,
281
287
  protocol="http",
282
- http=hcloud.LoadBalancerServiceHttpArgs(
283
- sticky_sessions=True,
284
- cookie_name="EXAMPLE_STICKY",
285
- ),
286
- health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
287
- protocol="http",
288
- port=80,
289
- interval=10,
290
- timeout=5,
291
- http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
292
- domain="example.com",
293
- path="/healthz",
294
- response="OK",
295
- tls=True,
296
- status_codes=["200"],
297
- ),
298
- ))
288
+ http={
289
+ "sticky_sessions": True,
290
+ "cookie_name": "EXAMPLE_STICKY",
291
+ },
292
+ health_check={
293
+ "protocol": "http",
294
+ "port": 80,
295
+ "interval": 10,
296
+ "timeout": 5,
297
+ "http": {
298
+ "domain": "example.com",
299
+ "path": "/healthz",
300
+ "response": "OK",
301
+ "tls": True,
302
+ "status_codes": ["200"],
303
+ },
304
+ })
299
305
  ```
300
306
 
301
307
  ## Import
302
308
 
303
309
  Load Balancer Service entries can be imported using a compound ID with the following format:
304
310
 
305
- `<load-balancer-id>__<listen-port>`
311
+ `<load-balancer-id>__<listen-port>`
306
312
 
307
313
  ```sh
308
- $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService myloadbalancernetwork 123__80
314
+ $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService example "${LOAD_BALANCER_ID}__${LISTEN_PORT}"
309
315
  ```
310
316
 
311
317
  :param str resource_name: The name of the resource.
312
318
  :param pulumi.ResourceOptions opts: Options for the resource.
313
319
  :param pulumi.Input[int] destination_port: Port the service connects to the targets on, required if protocol is `tcp`. Can be everything between `1` and `65535`.
314
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
315
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']] http: HTTP configuration when `protocol` is `http` or `https`.
320
+ :param pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']] health_check: Health Check configuration when `protocol` is `http` or `https`.
321
+ :param pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']] http: HTTP configuration when `protocol` is `http` or `https`.
316
322
  :param pulumi.Input[int] listen_port: Port the service listen on, required if protocol is `tcp`. Can be everything between `1` and `65535`. Must be unique per Load Balancer.
317
323
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
318
324
  :param pulumi.Input[str] protocol: Protocol of the service. `http`, `https` or `tcp`
@@ -333,39 +339,40 @@ class LoadBalancerService(pulumi.CustomResource):
333
339
  import pulumi
334
340
  import pulumi_hcloud as hcloud
335
341
 
336
- load_balancer = hcloud.LoadBalancer("loadBalancer",
342
+ load_balancer = hcloud.LoadBalancer("load_balancer",
343
+ name="my-load-balancer",
337
344
  load_balancer_type="lb11",
338
345
  location="nbg1")
339
- load_balancer_service = hcloud.LoadBalancerService("loadBalancerService",
346
+ load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
340
347
  load_balancer_id=load_balancer.id,
341
348
  protocol="http",
342
- http=hcloud.LoadBalancerServiceHttpArgs(
343
- sticky_sessions=True,
344
- cookie_name="EXAMPLE_STICKY",
345
- ),
346
- health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
347
- protocol="http",
348
- port=80,
349
- interval=10,
350
- timeout=5,
351
- http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
352
- domain="example.com",
353
- path="/healthz",
354
- response="OK",
355
- tls=True,
356
- status_codes=["200"],
357
- ),
358
- ))
349
+ http={
350
+ "sticky_sessions": True,
351
+ "cookie_name": "EXAMPLE_STICKY",
352
+ },
353
+ health_check={
354
+ "protocol": "http",
355
+ "port": 80,
356
+ "interval": 10,
357
+ "timeout": 5,
358
+ "http": {
359
+ "domain": "example.com",
360
+ "path": "/healthz",
361
+ "response": "OK",
362
+ "tls": True,
363
+ "status_codes": ["200"],
364
+ },
365
+ })
359
366
  ```
360
367
 
361
368
  ## Import
362
369
 
363
370
  Load Balancer Service entries can be imported using a compound ID with the following format:
364
371
 
365
- `<load-balancer-id>__<listen-port>`
372
+ `<load-balancer-id>__<listen-port>`
366
373
 
367
374
  ```sh
368
- $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService myloadbalancernetwork 123__80
375
+ $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService example "${LOAD_BALANCER_ID}__${LISTEN_PORT}"
369
376
  ```
370
377
 
371
378
  :param str resource_name: The name of the resource.
@@ -384,8 +391,8 @@ class LoadBalancerService(pulumi.CustomResource):
384
391
  resource_name: str,
385
392
  opts: Optional[pulumi.ResourceOptions] = None,
386
393
  destination_port: Optional[pulumi.Input[int]] = None,
387
- health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
388
- http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
394
+ health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
395
+ http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
389
396
  listen_port: Optional[pulumi.Input[int]] = None,
390
397
  load_balancer_id: Optional[pulumi.Input[str]] = None,
391
398
  protocol: Optional[pulumi.Input[str]] = None,
@@ -421,8 +428,8 @@ class LoadBalancerService(pulumi.CustomResource):
421
428
  id: pulumi.Input[str],
422
429
  opts: Optional[pulumi.ResourceOptions] = None,
423
430
  destination_port: Optional[pulumi.Input[int]] = None,
424
- health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
425
- http: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']]] = None,
431
+ health_check: Optional[pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']]] = None,
432
+ http: Optional[pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']]] = None,
426
433
  listen_port: Optional[pulumi.Input[int]] = None,
427
434
  load_balancer_id: Optional[pulumi.Input[str]] = None,
428
435
  protocol: Optional[pulumi.Input[str]] = None,
@@ -435,8 +442,8 @@ class LoadBalancerService(pulumi.CustomResource):
435
442
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
436
443
  :param pulumi.ResourceOptions opts: Options for the resource.
437
444
  :param pulumi.Input[int] destination_port: Port the service connects to the targets on, required if protocol is `tcp`. Can be everything between `1` and `65535`.
438
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
439
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHttpArgs']] http: HTTP configuration when `protocol` is `http` or `https`.
445
+ :param pulumi.Input[Union['LoadBalancerServiceHealthCheckArgs', 'LoadBalancerServiceHealthCheckArgsDict']] health_check: Health Check configuration when `protocol` is `http` or `https`.
446
+ :param pulumi.Input[Union['LoadBalancerServiceHttpArgs', 'LoadBalancerServiceHttpArgsDict']] http: HTTP configuration when `protocol` is `http` or `https`.
440
447
  :param pulumi.Input[int] listen_port: Port the service listen on, required if protocol is `tcp`. Can be everything between `1` and `65535`. Must be unique per Load Balancer.
441
448
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
442
449
  :param pulumi.Input[str] protocol: Protocol of the service. `http`, `https` or `tcp`
@@ -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__ = ['LoadBalancerTargetInitArgs', 'LoadBalancerTarget']
@@ -266,13 +271,15 @@ class LoadBalancerTarget(pulumi.CustomResource):
266
271
  import pulumi
267
272
  import pulumi_hcloud as hcloud
268
273
 
269
- my_server = hcloud.Server("myServer",
270
- server_type="cx11",
274
+ my_server = hcloud.Server("my_server",
275
+ name="my-server",
276
+ server_type="cx22",
271
277
  image="ubuntu-18.04")
272
- load_balancer = hcloud.LoadBalancer("loadBalancer",
278
+ load_balancer = hcloud.LoadBalancer("load_balancer",
279
+ name="my-load-balancer",
273
280
  load_balancer_type="lb11",
274
281
  location="nbg1")
275
- load_balancer_target = hcloud.LoadBalancerTarget("loadBalancerTarget",
282
+ load_balancer_target = hcloud.LoadBalancerTarget("load_balancer_target",
276
283
  type="server",
277
284
  load_balancer_id=load_balancer.id,
278
285
  server_id=my_server.id)
@@ -282,26 +289,26 @@ class LoadBalancerTarget(pulumi.CustomResource):
282
289
 
283
290
  Load Balancer Target entries can be imported using a compound ID with the following format:
284
291
 
285
- `<load-balancer-id>__<type>__<identifier>`
292
+ `<load-balancer-id>__<type>__<identifier>`
286
293
 
287
- Where _identifier_ depends on the _type_:
294
+ Where _identifier_ depends on the _type_:
288
295
 
289
- - `server`: server id, for example: `123`
296
+ - `server`: server id, for example: `123`
290
297
 
291
- - `label_selector`: label selector, for example: `foo=bar`
298
+ - `label_selector`: label selector, for example: `foo=bar`
292
299
 
293
- - `ip`: ip address, for example: `203.0.113.123`
300
+ - `ip`: ip address, for example: `203.0.113.123`
294
301
 
295
302
  ```sh
296
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerservertarget 123__server__321
303
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget server "${LOAD_BALANCER_ID}__server__${SERVER_ID}"
297
304
  ```
298
305
 
299
306
  ```sh
300
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerlabeltarget 123__label_selector__foo=bar
307
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget label "${LOAD_BALANCER_ID}__label_selector__${LABEL_SELECTOR}"
301
308
  ```
302
309
 
303
310
  ```sh
304
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalanceriptarget 123__ip__203.0.113.123
311
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget ip "${LOAD_BALANCER_ID}__ip__${IP}"
305
312
  ```
306
313
 
307
314
  :param str resource_name: The name of the resource.
@@ -335,13 +342,15 @@ class LoadBalancerTarget(pulumi.CustomResource):
335
342
  import pulumi
336
343
  import pulumi_hcloud as hcloud
337
344
 
338
- my_server = hcloud.Server("myServer",
339
- server_type="cx11",
345
+ my_server = hcloud.Server("my_server",
346
+ name="my-server",
347
+ server_type="cx22",
340
348
  image="ubuntu-18.04")
341
- load_balancer = hcloud.LoadBalancer("loadBalancer",
349
+ load_balancer = hcloud.LoadBalancer("load_balancer",
350
+ name="my-load-balancer",
342
351
  load_balancer_type="lb11",
343
352
  location="nbg1")
344
- load_balancer_target = hcloud.LoadBalancerTarget("loadBalancerTarget",
353
+ load_balancer_target = hcloud.LoadBalancerTarget("load_balancer_target",
345
354
  type="server",
346
355
  load_balancer_id=load_balancer.id,
347
356
  server_id=my_server.id)
@@ -351,26 +360,26 @@ class LoadBalancerTarget(pulumi.CustomResource):
351
360
 
352
361
  Load Balancer Target entries can be imported using a compound ID with the following format:
353
362
 
354
- `<load-balancer-id>__<type>__<identifier>`
363
+ `<load-balancer-id>__<type>__<identifier>`
355
364
 
356
- Where _identifier_ depends on the _type_:
365
+ Where _identifier_ depends on the _type_:
357
366
 
358
- - `server`: server id, for example: `123`
367
+ - `server`: server id, for example: `123`
359
368
 
360
- - `label_selector`: label selector, for example: `foo=bar`
369
+ - `label_selector`: label selector, for example: `foo=bar`
361
370
 
362
- - `ip`: ip address, for example: `203.0.113.123`
371
+ - `ip`: ip address, for example: `203.0.113.123`
363
372
 
364
373
  ```sh
365
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerservertarget 123__server__321
374
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget server "${LOAD_BALANCER_ID}__server__${SERVER_ID}"
366
375
  ```
367
376
 
368
377
  ```sh
369
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerlabeltarget 123__label_selector__foo=bar
378
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget label "${LOAD_BALANCER_ID}__label_selector__${LABEL_SELECTOR}"
370
379
  ```
371
380
 
372
381
  ```sh
373
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalanceriptarget 123__ip__203.0.113.123
382
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget ip "${LOAD_BALANCER_ID}__ip__${IP}"
374
383
  ```
375
384
 
376
385
  :param str resource_name: The name of the resource.
@@ -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__ = ['ManagedCertificateArgs', 'ManagedCertificate']
@@ -15,13 +20,13 @@ __all__ = ['ManagedCertificateArgs', 'ManagedCertificate']
15
20
  class ManagedCertificateArgs:
16
21
  def __init__(__self__, *,
17
22
  domain_names: pulumi.Input[Sequence[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 ManagedCertificate resource.
22
27
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
23
28
  should be obtained.
24
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
29
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
25
30
  certificate should be created with.
26
31
  :param pulumi.Input[str] name: Name of the Certificate.
27
32
  """
@@ -46,7 +51,7 @@ class ManagedCertificateArgs:
46
51
 
47
52
  @property
48
53
  @pulumi.getter
49
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
54
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
50
55
  """
51
56
  User-defined labels (key-value pairs) the
52
57
  certificate should be created with.
@@ -54,7 +59,7 @@ class ManagedCertificateArgs:
54
59
  return pulumi.get(self, "labels")
55
60
 
56
61
  @labels.setter
57
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
62
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
58
63
  pulumi.set(self, "labels", value)
59
64
 
60
65
  @property
@@ -77,7 +82,7 @@ class _ManagedCertificateState:
77
82
  created: Optional[pulumi.Input[str]] = None,
78
83
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
79
84
  fingerprint: Optional[pulumi.Input[str]] = None,
80
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
85
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
81
86
  name: Optional[pulumi.Input[str]] = None,
82
87
  not_valid_after: Optional[pulumi.Input[str]] = None,
83
88
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -89,7 +94,7 @@ class _ManagedCertificateState:
89
94
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
90
95
  should be obtained.
91
96
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
92
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
97
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
93
98
  certificate should be created with.
94
99
  :param pulumi.Input[str] name: Name of the Certificate.
95
100
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -165,7 +170,7 @@ class _ManagedCertificateState:
165
170
 
166
171
  @property
167
172
  @pulumi.getter
168
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
173
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
169
174
  """
170
175
  User-defined labels (key-value pairs) the
171
176
  certificate should be created with.
@@ -173,7 +178,7 @@ class _ManagedCertificateState:
173
178
  return pulumi.get(self, "labels")
174
179
 
175
180
  @labels.setter
176
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
181
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
177
182
  pulumi.set(self, "labels", value)
178
183
 
179
184
  @property
@@ -228,27 +233,43 @@ class ManagedCertificate(pulumi.CustomResource):
228
233
  resource_name: str,
229
234
  opts: Optional[pulumi.ResourceOptions] = None,
230
235
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
231
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
236
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
232
237
  name: Optional[pulumi.Input[str]] = None,
233
238
  __props__=None):
234
239
  """
235
240
  Obtain a Hetzner Cloud managed TLS certificate.
236
241
 
242
+ ## Example Usage
243
+
244
+ ```python
245
+ import pulumi
246
+ import pulumi_hcloud as hcloud
247
+
248
+ managed_cert = hcloud.ManagedCertificate("managed_cert",
249
+ name="managed_cert",
250
+ domain_names=[
251
+ "*.example.com",
252
+ "example.com",
253
+ ],
254
+ labels={
255
+ "label_1": "value_1",
256
+ "label_2": "value_2",
257
+ })
258
+ ```
259
+
237
260
  ## Import
238
261
 
239
262
  Managed certificates can be imported using their `id`:
240
263
 
241
- hcl
242
-
243
264
  ```sh
244
- $ pulumi import hcloud:index/managedCertificate:ManagedCertificate sample_certificate id
265
+ $ pulumi import hcloud:index/managedCertificate:ManagedCertificate example "$CERTIFICATE_ID"
245
266
  ```
246
267
 
247
268
  :param str resource_name: The name of the resource.
248
269
  :param pulumi.ResourceOptions opts: Options for the resource.
249
270
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
250
271
  should be obtained.
251
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
272
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
252
273
  certificate should be created with.
253
274
  :param pulumi.Input[str] name: Name of the Certificate.
254
275
  """
@@ -261,14 +282,30 @@ class ManagedCertificate(pulumi.CustomResource):
261
282
  """
262
283
  Obtain a Hetzner Cloud managed TLS certificate.
263
284
 
285
+ ## Example Usage
286
+
287
+ ```python
288
+ import pulumi
289
+ import pulumi_hcloud as hcloud
290
+
291
+ managed_cert = hcloud.ManagedCertificate("managed_cert",
292
+ name="managed_cert",
293
+ domain_names=[
294
+ "*.example.com",
295
+ "example.com",
296
+ ],
297
+ labels={
298
+ "label_1": "value_1",
299
+ "label_2": "value_2",
300
+ })
301
+ ```
302
+
264
303
  ## Import
265
304
 
266
305
  Managed certificates can be imported using their `id`:
267
306
 
268
- hcl
269
-
270
307
  ```sh
271
- $ pulumi import hcloud:index/managedCertificate:ManagedCertificate sample_certificate id
308
+ $ pulumi import hcloud:index/managedCertificate:ManagedCertificate example "$CERTIFICATE_ID"
272
309
  ```
273
310
 
274
311
  :param str resource_name: The name of the resource.
@@ -287,7 +324,7 @@ class ManagedCertificate(pulumi.CustomResource):
287
324
  resource_name: str,
288
325
  opts: Optional[pulumi.ResourceOptions] = None,
289
326
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
290
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
327
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
291
328
  name: Optional[pulumi.Input[str]] = None,
292
329
  __props__=None):
293
330
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -323,7 +360,7 @@ class ManagedCertificate(pulumi.CustomResource):
323
360
  created: Optional[pulumi.Input[str]] = None,
324
361
  domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
325
362
  fingerprint: Optional[pulumi.Input[str]] = None,
326
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
363
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
327
364
  name: Optional[pulumi.Input[str]] = None,
328
365
  not_valid_after: Optional[pulumi.Input[str]] = None,
329
366
  not_valid_before: Optional[pulumi.Input[str]] = None,
@@ -340,7 +377,7 @@ class ManagedCertificate(pulumi.CustomResource):
340
377
  :param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: Domain names for which a certificate
341
378
  should be obtained.
342
379
  :param pulumi.Input[str] fingerprint: (string) Fingerprint of the certificate.
343
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) the
380
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) the
344
381
  certificate should be created with.
345
382
  :param pulumi.Input[str] name: Name of the Certificate.
346
383
  :param pulumi.Input[str] not_valid_after: (string) Point in time when the Certificate stops being valid (in ISO-8601 format).
@@ -396,7 +433,7 @@ class ManagedCertificate(pulumi.CustomResource):
396
433
 
397
434
  @property
398
435
  @pulumi.getter
399
- def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
436
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
400
437
  """
401
438
  User-defined labels (key-value pairs) the
402
439
  certificate should be created with.