pulumi-hcloud 1.18.0a1710156455__py3-none-any.whl → 1.22.0a1736849475__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 -70
  8. pulumi_hcloud/firewall_attachment.py +27 -26
  9. pulumi_hcloud/floating_ip.py +39 -36
  10. pulumi_hcloud/floating_ip_assignment.py +11 -8
  11. pulumi_hcloud/get_certificate.py +25 -10
  12. pulumi_hcloud/get_certificates.py +14 -9
  13. pulumi_hcloud/get_datacenter.py +38 -27
  14. pulumi_hcloud/get_datacenters.py +28 -53
  15. pulumi_hcloud/get_firewall.py +38 -23
  16. pulumi_hcloud/get_firewalls.py +16 -9
  17. pulumi_hcloud/get_floating_ip.py +37 -17
  18. pulumi_hcloud/get_floating_ips.py +14 -9
  19. pulumi_hcloud/get_image.py +37 -13
  20. pulumi_hcloud/get_images.py +22 -9
  21. pulumi_hcloud/get_load_balancer.py +30 -11
  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 -9
  25. pulumi_hcloud/get_location.py +42 -29
  26. pulumi_hcloud/get_locations.py +28 -53
  27. pulumi_hcloud/get_network.py +28 -15
  28. pulumi_hcloud/get_networks.py +14 -9
  29. pulumi_hcloud/get_placement_group.py +31 -17
  30. pulumi_hcloud/get_placement_groups.py +16 -9
  31. pulumi_hcloud/get_primary_ip.py +42 -22
  32. pulumi_hcloud/get_primary_ips.py +14 -9
  33. pulumi_hcloud/get_server.py +43 -15
  34. pulumi_hcloud/get_server_type.py +75 -53
  35. pulumi_hcloud/get_server_types.py +39 -23
  36. pulumi_hcloud/get_servers.py +16 -9
  37. pulumi_hcloud/get_ssh_key.py +58 -36
  38. pulumi_hcloud/get_ssh_keys.py +35 -24
  39. pulumi_hcloud/get_volume.py +33 -16
  40. pulumi_hcloud/get_volumes.py +18 -11
  41. pulumi_hcloud/load_balancer.py +63 -64
  42. pulumi_hcloud/load_balancer_network.py +26 -17
  43. pulumi_hcloud/load_balancer_service.py +57 -54
  44. pulumi_hcloud/load_balancer_target.py +23 -18
  45. pulumi_hcloud/managed_certificate.py +57 -20
  46. pulumi_hcloud/network.py +27 -22
  47. pulumi_hcloud/network_route.py +13 -8
  48. pulumi_hcloud/network_subnet.py +13 -8
  49. pulumi_hcloud/outputs.py +265 -46
  50. pulumi_hcloud/placement_group.py +27 -22
  51. pulumi_hcloud/primary_ip.py +66 -47
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +2 -1
  54. pulumi_hcloud/rdns.py +41 -40
  55. pulumi_hcloud/server.py +123 -176
  56. pulumi_hcloud/server_network.py +24 -17
  57. pulumi_hcloud/snapshot.py +25 -22
  58. pulumi_hcloud/ssh_key.py +52 -51
  59. pulumi_hcloud/uploaded_certificate.py +73 -20
  60. pulumi_hcloud/volume.py +37 -32
  61. pulumi_hcloud/volume_attachment.py +11 -8
  62. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/METADATA +7 -6
  63. pulumi_hcloud-1.22.0a1736849475.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.18.0a1710156455.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.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,
@@ -269,36 +274,35 @@ class LoadBalancerService(pulumi.CustomResource):
269
274
 
270
275
  ## Example Usage
271
276
 
272
- <!--Start PulumiCodeChooser -->
273
277
  ```python
274
278
  import pulumi
275
279
  import pulumi_hcloud as hcloud
276
280
 
277
- load_balancer = hcloud.LoadBalancer("loadBalancer",
281
+ load_balancer = hcloud.LoadBalancer("load_balancer",
282
+ name="my-load-balancer",
278
283
  load_balancer_type="lb11",
279
284
  location="nbg1")
280
- load_balancer_service = hcloud.LoadBalancerService("loadBalancerService",
285
+ load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
281
286
  load_balancer_id=load_balancer.id,
282
287
  protocol="http",
283
- http=hcloud.LoadBalancerServiceHttpArgs(
284
- sticky_sessions=True,
285
- cookie_name="EXAMPLE_STICKY",
286
- ),
287
- health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
288
- protocol="http",
289
- port=80,
290
- interval=10,
291
- timeout=5,
292
- http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
293
- domain="example.com",
294
- path="/healthz",
295
- response="OK",
296
- tls=True,
297
- status_codes=["200"],
298
- ),
299
- ))
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
+ })
300
305
  ```
301
- <!--End PulumiCodeChooser -->
302
306
 
303
307
  ## Import
304
308
 
@@ -307,14 +311,14 @@ class LoadBalancerService(pulumi.CustomResource):
307
311
  `<load-balancer-id>__<listen-port>`
308
312
 
309
313
  ```sh
310
- $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService myloadbalancernetwork 123__80
314
+ $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService example "${LOAD_BALANCER_ID}__${LISTEN_PORT}"
311
315
  ```
312
316
 
313
317
  :param str resource_name: The name of the resource.
314
318
  :param pulumi.ResourceOptions opts: Options for the resource.
315
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`.
316
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
317
- :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`.
318
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.
319
323
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
320
324
  :param pulumi.Input[str] protocol: Protocol of the service. `http`, `https` or `tcp`
@@ -331,36 +335,35 @@ class LoadBalancerService(pulumi.CustomResource):
331
335
 
332
336
  ## Example Usage
333
337
 
334
- <!--Start PulumiCodeChooser -->
335
338
  ```python
336
339
  import pulumi
337
340
  import pulumi_hcloud as hcloud
338
341
 
339
- load_balancer = hcloud.LoadBalancer("loadBalancer",
342
+ load_balancer = hcloud.LoadBalancer("load_balancer",
343
+ name="my-load-balancer",
340
344
  load_balancer_type="lb11",
341
345
  location="nbg1")
342
- load_balancer_service = hcloud.LoadBalancerService("loadBalancerService",
346
+ load_balancer_service = hcloud.LoadBalancerService("load_balancer_service",
343
347
  load_balancer_id=load_balancer.id,
344
348
  protocol="http",
345
- http=hcloud.LoadBalancerServiceHttpArgs(
346
- sticky_sessions=True,
347
- cookie_name="EXAMPLE_STICKY",
348
- ),
349
- health_check=hcloud.LoadBalancerServiceHealthCheckArgs(
350
- protocol="http",
351
- port=80,
352
- interval=10,
353
- timeout=5,
354
- http=hcloud.LoadBalancerServiceHealthCheckHttpArgs(
355
- domain="example.com",
356
- path="/healthz",
357
- response="OK",
358
- tls=True,
359
- status_codes=["200"],
360
- ),
361
- ))
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
+ })
362
366
  ```
363
- <!--End PulumiCodeChooser -->
364
367
 
365
368
  ## Import
366
369
 
@@ -369,7 +372,7 @@ class LoadBalancerService(pulumi.CustomResource):
369
372
  `<load-balancer-id>__<listen-port>`
370
373
 
371
374
  ```sh
372
- $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService myloadbalancernetwork 123__80
375
+ $ pulumi import hcloud:index/loadBalancerService:LoadBalancerService example "${LOAD_BALANCER_ID}__${LISTEN_PORT}"
373
376
  ```
374
377
 
375
378
  :param str resource_name: The name of the resource.
@@ -388,8 +391,8 @@ class LoadBalancerService(pulumi.CustomResource):
388
391
  resource_name: str,
389
392
  opts: Optional[pulumi.ResourceOptions] = None,
390
393
  destination_port: Optional[pulumi.Input[int]] = None,
391
- health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
392
- 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,
393
396
  listen_port: Optional[pulumi.Input[int]] = None,
394
397
  load_balancer_id: Optional[pulumi.Input[str]] = None,
395
398
  protocol: Optional[pulumi.Input[str]] = None,
@@ -425,8 +428,8 @@ class LoadBalancerService(pulumi.CustomResource):
425
428
  id: pulumi.Input[str],
426
429
  opts: Optional[pulumi.ResourceOptions] = None,
427
430
  destination_port: Optional[pulumi.Input[int]] = None,
428
- health_check: Optional[pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']]] = None,
429
- 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,
430
433
  listen_port: Optional[pulumi.Input[int]] = None,
431
434
  load_balancer_id: Optional[pulumi.Input[str]] = None,
432
435
  protocol: Optional[pulumi.Input[str]] = None,
@@ -439,8 +442,8 @@ class LoadBalancerService(pulumi.CustomResource):
439
442
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
440
443
  :param pulumi.ResourceOptions opts: Options for the resource.
441
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`.
442
- :param pulumi.Input[pulumi.InputType['LoadBalancerServiceHealthCheckArgs']] health_check: Health Check configuration when `protocol` is `http` or `https`.
443
- :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`.
444
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.
445
448
  :param pulumi.Input[str] load_balancer_id: Id of the load balancer this service belongs to.
446
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']
@@ -262,23 +267,23 @@ class LoadBalancerTarget(pulumi.CustomResource):
262
267
 
263
268
  ## Example Usage
264
269
 
265
- <!--Start PulumiCodeChooser -->
266
270
  ```python
267
271
  import pulumi
268
272
  import pulumi_hcloud as hcloud
269
273
 
270
- my_server = hcloud.Server("myServer",
271
- server_type="cx11",
274
+ my_server = hcloud.Server("my_server",
275
+ name="my-server",
276
+ server_type="cx22",
272
277
  image="ubuntu-18.04")
273
- load_balancer = hcloud.LoadBalancer("loadBalancer",
278
+ load_balancer = hcloud.LoadBalancer("load_balancer",
279
+ name="my-load-balancer",
274
280
  load_balancer_type="lb11",
275
281
  location="nbg1")
276
- load_balancer_target = hcloud.LoadBalancerTarget("loadBalancerTarget",
282
+ load_balancer_target = hcloud.LoadBalancerTarget("load_balancer_target",
277
283
  type="server",
278
284
  load_balancer_id=load_balancer.id,
279
285
  server_id=my_server.id)
280
286
  ```
281
- <!--End PulumiCodeChooser -->
282
287
 
283
288
  ## Import
284
289
 
@@ -295,15 +300,15 @@ class LoadBalancerTarget(pulumi.CustomResource):
295
300
  - `ip`: ip address, for example: `203.0.113.123`
296
301
 
297
302
  ```sh
298
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerservertarget 123__server__321
303
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget server "${LOAD_BALANCER_ID}__server__${SERVER_ID}"
299
304
  ```
300
305
 
301
306
  ```sh
302
- $ 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}"
303
308
  ```
304
309
 
305
310
  ```sh
306
- $ 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}"
307
312
  ```
308
313
 
309
314
  :param str resource_name: The name of the resource.
@@ -333,23 +338,23 @@ class LoadBalancerTarget(pulumi.CustomResource):
333
338
 
334
339
  ## Example Usage
335
340
 
336
- <!--Start PulumiCodeChooser -->
337
341
  ```python
338
342
  import pulumi
339
343
  import pulumi_hcloud as hcloud
340
344
 
341
- my_server = hcloud.Server("myServer",
342
- server_type="cx11",
345
+ my_server = hcloud.Server("my_server",
346
+ name="my-server",
347
+ server_type="cx22",
343
348
  image="ubuntu-18.04")
344
- load_balancer = hcloud.LoadBalancer("loadBalancer",
349
+ load_balancer = hcloud.LoadBalancer("load_balancer",
350
+ name="my-load-balancer",
345
351
  load_balancer_type="lb11",
346
352
  location="nbg1")
347
- load_balancer_target = hcloud.LoadBalancerTarget("loadBalancerTarget",
353
+ load_balancer_target = hcloud.LoadBalancerTarget("load_balancer_target",
348
354
  type="server",
349
355
  load_balancer_id=load_balancer.id,
350
356
  server_id=my_server.id)
351
357
  ```
352
- <!--End PulumiCodeChooser -->
353
358
 
354
359
  ## Import
355
360
 
@@ -366,15 +371,15 @@ class LoadBalancerTarget(pulumi.CustomResource):
366
371
  - `ip`: ip address, for example: `203.0.113.123`
367
372
 
368
373
  ```sh
369
- $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget myloadbalancerservertarget 123__server__321
374
+ $ pulumi import hcloud:index/loadBalancerTarget:LoadBalancerTarget server "${LOAD_BALANCER_ID}__server__${SERVER_ID}"
370
375
  ```
371
376
 
372
377
  ```sh
373
- $ 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}"
374
379
  ```
375
380
 
376
381
  ```sh
377
- $ 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}"
378
383
  ```
379
384
 
380
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.