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__ = ['FloatingIpAssignmentArgs', 'FloatingIpAssignment']
@@ -107,8 +112,9 @@ class FloatingIpAssignment(pulumi.CustomResource):
107
112
  import pulumi_hcloud as hcloud
108
113
 
109
114
  node1 = hcloud.Server("node1",
115
+ name="node1",
110
116
  image="debian-11",
111
- server_type="cx11",
117
+ server_type="cx22",
112
118
  datacenter="fsn1-dc8")
113
119
  master = hcloud.FloatingIp("master",
114
120
  type="ipv4",
@@ -123,7 +129,7 @@ class FloatingIpAssignment(pulumi.CustomResource):
123
129
  Floating IP Assignments can be imported using the `floating_ip_id`:
124
130
 
125
131
  ```sh
126
- $ pulumi import hcloud:index/floatingIpAssignment:FloatingIpAssignment myfloatingipassignment <floating_ip_id>
132
+ $ pulumi import hcloud:index/floatingIpAssignment:FloatingIpAssignment example "$FLOATING_IP_ID"
127
133
  ```
128
134
 
129
135
  :param str resource_name: The name of the resource.
@@ -147,8 +153,9 @@ class FloatingIpAssignment(pulumi.CustomResource):
147
153
  import pulumi_hcloud as hcloud
148
154
 
149
155
  node1 = hcloud.Server("node1",
156
+ name="node1",
150
157
  image="debian-11",
151
- server_type="cx11",
158
+ server_type="cx22",
152
159
  datacenter="fsn1-dc8")
153
160
  master = hcloud.FloatingIp("master",
154
161
  type="ipv4",
@@ -163,7 +170,7 @@ class FloatingIpAssignment(pulumi.CustomResource):
163
170
  Floating IP Assignments can be imported using the `floating_ip_id`:
164
171
 
165
172
  ```sh
166
- $ pulumi import hcloud:index/floatingIpAssignment:FloatingIpAssignment myfloatingipassignment <floating_ip_id>
173
+ $ pulumi import hcloud:index/floatingIpAssignment:FloatingIpAssignment example "$FLOATING_IP_ID"
167
174
  ```
168
175
 
169
176
  :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__ = [
@@ -98,7 +103,7 @@ class GetCertificateResult:
98
103
 
99
104
  @property
100
105
  @pulumi.getter
101
- def labels(self) -> Mapping[str, Any]:
106
+ def labels(self) -> Mapping[str, str]:
102
107
  """
103
108
  (map) User-defined labels (key-value pairs) assigned to the certificate.
104
109
  """
@@ -197,13 +202,10 @@ def get_certificate(id: Optional[int] = None,
197
202
  not_valid_before=pulumi.get(__ret__, 'not_valid_before'),
198
203
  type=pulumi.get(__ret__, 'type'),
199
204
  with_selector=pulumi.get(__ret__, 'with_selector'))
200
-
201
-
202
- @_utilities.lift_output_func(get_certificate)
203
205
  def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
204
206
  name: Optional[pulumi.Input[Optional[str]]] = None,
205
207
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
206
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificateResult]:
208
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificateResult]:
207
209
  """
208
210
  Provides details about a specific Hetzner Cloud Certificate.
209
211
 
@@ -220,4 +222,21 @@ def get_certificate_output(id: Optional[pulumi.Input[Optional[int]]] = None,
220
222
  :param str name: Name of the certificate.
221
223
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
222
224
  """
223
- ...
225
+ __args__ = dict()
226
+ __args__['id'] = id
227
+ __args__['name'] = name
228
+ __args__['withSelector'] = with_selector
229
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
230
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getCertificate:getCertificate', __args__, opts=opts, typ=GetCertificateResult)
231
+ return __ret__.apply(lambda __response__: GetCertificateResult(
232
+ certificate=pulumi.get(__response__, 'certificate'),
233
+ created=pulumi.get(__response__, 'created'),
234
+ domain_names=pulumi.get(__response__, 'domain_names'),
235
+ fingerprint=pulumi.get(__response__, 'fingerprint'),
236
+ id=pulumi.get(__response__, 'id'),
237
+ labels=pulumi.get(__response__, 'labels'),
238
+ name=pulumi.get(__response__, 'name'),
239
+ not_valid_after=pulumi.get(__response__, 'not_valid_after'),
240
+ not_valid_before=pulumi.get(__response__, 'not_valid_before'),
241
+ type=pulumi.get(__response__, 'type'),
242
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -92,11 +97,8 @@ def get_certificates(with_selector: Optional[str] = None,
92
97
  certificates=pulumi.get(__ret__, 'certificates'),
93
98
  id=pulumi.get(__ret__, 'id'),
94
99
  with_selector=pulumi.get(__ret__, 'with_selector'))
95
-
96
-
97
- @_utilities.lift_output_func(get_certificates)
98
100
  def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
99
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificatesResult]:
101
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificatesResult]:
100
102
  """
101
103
  Provides details about multiple Hetzner Cloud Certificates.
102
104
 
@@ -112,4 +114,11 @@ def get_certificates_output(with_selector: Optional[pulumi.Input[Optional[str]]]
112
114
 
113
115
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
114
116
  """
115
- ...
117
+ __args__ = dict()
118
+ __args__['withSelector'] = with_selector
119
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
120
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getCertificates:getCertificates', __args__, opts=opts, typ=GetCertificatesResult)
121
+ return __ret__.apply(lambda __response__: GetCertificatesResult(
122
+ certificates=pulumi.get(__response__, 'certificates'),
123
+ id=pulumi.get(__response__, 'id'),
124
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -45,7 +50,7 @@ class GetDatacenterResult:
45
50
  @pulumi.getter(name="availableServerTypeIds")
46
51
  def available_server_type_ids(self) -> Sequence[int]:
47
52
  """
48
- (list) List of available server types.
53
+ List of currently available Server Types in the Datacenter.
49
54
  """
50
55
  return pulumi.get(self, "available_server_type_ids")
51
56
 
@@ -53,15 +58,15 @@ class GetDatacenterResult:
53
58
  @pulumi.getter
54
59
  def description(self) -> str:
55
60
  """
56
- (string) Description of the datacenter.
61
+ Description of the Datacenter.
57
62
  """
58
63
  return pulumi.get(self, "description")
59
64
 
60
65
  @property
61
66
  @pulumi.getter
62
- def id(self) -> int:
67
+ def id(self) -> Optional[int]:
63
68
  """
64
- (int) Unique ID of the datacenter.
69
+ ID of the Datacenter.
65
70
  """
66
71
  return pulumi.get(self, "id")
67
72
 
@@ -69,15 +74,15 @@ class GetDatacenterResult:
69
74
  @pulumi.getter
70
75
  def location(self) -> Mapping[str, str]:
71
76
  """
72
- (map) Physical datacenter location.
77
+ Location of the Datacenter. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
73
78
  """
74
79
  return pulumi.get(self, "location")
75
80
 
76
81
  @property
77
82
  @pulumi.getter
78
- def name(self) -> str:
83
+ def name(self) -> Optional[str]:
79
84
  """
80
- (string) Name of the datacenter.
85
+ Name of the Datacenter.
81
86
  """
82
87
  return pulumi.get(self, "name")
83
88
 
@@ -85,7 +90,7 @@ class GetDatacenterResult:
85
90
  @pulumi.getter(name="supportedServerTypeIds")
86
91
  def supported_server_type_ids(self) -> Sequence[int]:
87
92
  """
88
- (list) List of server types supported by the datacenter.
93
+ List of supported Server Types in the Datacenter.
89
94
  """
90
95
  return pulumi.get(self, "supported_server_type_ids")
91
96
 
@@ -109,7 +114,8 @@ def get_datacenter(id: Optional[int] = None,
109
114
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatacenterResult:
110
115
  """
111
116
  Provides details about a specific Hetzner Cloud Datacenter.
112
- Use this resource to get detailed information about specific datacenter.
117
+
118
+ Use this resource to get detailed information about a specific Datacenter.
113
119
 
114
120
  ## Example Usage
115
121
 
@@ -117,13 +123,13 @@ def get_datacenter(id: Optional[int] = None,
117
123
  import pulumi
118
124
  import pulumi_hcloud as hcloud
119
125
 
120
- ds1 = hcloud.get_datacenter(name="fsn1-dc8")
121
- ds2 = hcloud.get_datacenter(id=4)
126
+ by_id = hcloud.get_datacenter(id=4)
127
+ by_name = hcloud.get_datacenter(name="fsn1-dc14")
122
128
  ```
123
129
 
124
130
 
125
- :param int id: ID of the datacenter.
126
- :param str name: Name of the datacenter.
131
+ :param int id: ID of the Datacenter.
132
+ :param str name: Name of the Datacenter.
127
133
  """
128
134
  __args__ = dict()
129
135
  __args__['id'] = id
@@ -138,15 +144,13 @@ def get_datacenter(id: Optional[int] = None,
138
144
  location=pulumi.get(__ret__, 'location'),
139
145
  name=pulumi.get(__ret__, 'name'),
140
146
  supported_server_type_ids=pulumi.get(__ret__, 'supported_server_type_ids'))
141
-
142
-
143
- @_utilities.lift_output_func(get_datacenter)
144
147
  def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
145
148
  name: Optional[pulumi.Input[Optional[str]]] = None,
146
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacenterResult]:
149
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatacenterResult]:
147
150
  """
148
151
  Provides details about a specific Hetzner Cloud Datacenter.
149
- Use this resource to get detailed information about specific datacenter.
152
+
153
+ Use this resource to get detailed information about a specific Datacenter.
150
154
 
151
155
  ## Example Usage
152
156
 
@@ -154,12 +158,23 @@ def get_datacenter_output(id: Optional[pulumi.Input[Optional[int]]] = None,
154
158
  import pulumi
155
159
  import pulumi_hcloud as hcloud
156
160
 
157
- ds1 = hcloud.get_datacenter(name="fsn1-dc8")
158
- ds2 = hcloud.get_datacenter(id=4)
161
+ by_id = hcloud.get_datacenter(id=4)
162
+ by_name = hcloud.get_datacenter(name="fsn1-dc14")
159
163
  ```
160
164
 
161
165
 
162
- :param int id: ID of the datacenter.
163
- :param str name: Name of the datacenter.
166
+ :param int id: ID of the Datacenter.
167
+ :param str name: Name of the Datacenter.
164
168
  """
165
- ...
169
+ __args__ = dict()
170
+ __args__['id'] = id
171
+ __args__['name'] = name
172
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
173
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getDatacenter:getDatacenter', __args__, opts=opts, typ=GetDatacenterResult)
174
+ return __ret__.apply(lambda __response__: GetDatacenterResult(
175
+ available_server_type_ids=pulumi.get(__response__, 'available_server_type_ids'),
176
+ description=pulumi.get(__response__, 'description'),
177
+ id=pulumi.get(__response__, 'id'),
178
+ location=pulumi.get(__response__, 'location'),
179
+ name=pulumi.get(__response__, 'name'),
180
+ supported_server_type_ids=pulumi.get(__response__, 'supported_server_type_ids')))
@@ -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,48 +46,33 @@ class GetDatacentersResult:
41
46
 
42
47
  @property
43
48
  @pulumi.getter(name="datacenterIds")
44
- def datacenter_ids(self) -> Optional[Sequence[str]]:
45
- """
46
- (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
47
- """
48
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
49
- pulumi.log.warn("""datacenter_ids is deprecated: Use datacenters list instead""")
50
-
49
+ @_utilities.deprecated("""Use datacenters list instead""")
50
+ def datacenter_ids(self) -> Sequence[str]:
51
51
  return pulumi.get(self, "datacenter_ids")
52
52
 
53
53
  @property
54
54
  @pulumi.getter
55
55
  def datacenters(self) -> Sequence['outputs.GetDatacentersDatacenterResult']:
56
- """
57
- (list) List of all datacenters. See `data.hcloud_datacenter` for schema.
58
- """
59
56
  return pulumi.get(self, "datacenters")
60
57
 
61
58
  @property
62
59
  @pulumi.getter
63
- def descriptions(self) -> Optional[Sequence[str]]:
64
- """
65
- (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
66
- """
67
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
68
- pulumi.log.warn("""descriptions is deprecated: Use datacenters list instead""")
69
-
60
+ @_utilities.deprecated("""Use datacenters list instead""")
61
+ def descriptions(self) -> Sequence[str]:
70
62
  return pulumi.get(self, "descriptions")
71
63
 
72
64
  @property
73
65
  @pulumi.getter
74
- def id(self) -> Optional[str]:
66
+ def id(self) -> str:
67
+ """
68
+ The ID of this resource.
69
+ """
75
70
  return pulumi.get(self, "id")
76
71
 
77
72
  @property
78
73
  @pulumi.getter
79
- def names(self) -> Optional[Sequence[str]]:
80
- """
81
- (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
82
- """
83
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
84
- pulumi.log.warn("""names is deprecated: Use datacenters list instead""")
85
-
74
+ @_utilities.deprecated("""Use datacenters list instead""")
75
+ def names(self) -> Sequence[str]:
86
76
  return pulumi.get(self, "names")
87
77
 
88
78
 
@@ -99,25 +89,13 @@ class AwaitableGetDatacentersResult(GetDatacentersResult):
99
89
  names=self.names)
100
90
 
101
91
 
102
- def get_datacenters(datacenter_ids: Optional[Sequence[str]] = None,
103
- descriptions: Optional[Sequence[str]] = None,
104
- id: Optional[str] = None,
105
- names: Optional[Sequence[str]] = None,
106
- opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatacentersResult:
92
+ def get_datacenters(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatacentersResult:
107
93
  """
108
94
  Provides a list of available Hetzner Cloud Datacenters.
109
- This resource may be useful to create highly available infrastructure, distributed across several datacenters.
110
-
111
95
 
112
- :param Sequence[str] datacenter_ids: (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
113
- :param Sequence[str] descriptions: (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
114
- :param Sequence[str] names: (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
96
+ This resource may be useful to create highly available infrastructure, distributed across several Datacenters.
115
97
  """
116
98
  __args__ = dict()
117
- __args__['datacenterIds'] = datacenter_ids
118
- __args__['descriptions'] = descriptions
119
- __args__['id'] = id
120
- __args__['names'] = names
121
99
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
100
  __ret__ = pulumi.runtime.invoke('hcloud:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult).value
123
101
 
@@ -127,21 +105,18 @@ def get_datacenters(datacenter_ids: Optional[Sequence[str]] = None,
127
105
  descriptions=pulumi.get(__ret__, 'descriptions'),
128
106
  id=pulumi.get(__ret__, 'id'),
129
107
  names=pulumi.get(__ret__, 'names'))
130
-
131
-
132
- @_utilities.lift_output_func(get_datacenters)
133
- def get_datacenters_output(datacenter_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
134
- descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
135
- id: Optional[pulumi.Input[Optional[str]]] = None,
136
- names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
137
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacentersResult]:
108
+ def get_datacenters_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatacentersResult]:
138
109
  """
139
110
  Provides a list of available Hetzner Cloud Datacenters.
140
- This resource may be useful to create highly available infrastructure, distributed across several datacenters.
141
111
 
142
-
143
- :param Sequence[str] datacenter_ids: (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
144
- :param Sequence[str] descriptions: (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
145
- :param Sequence[str] names: (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
112
+ This resource may be useful to create highly available infrastructure, distributed across several Datacenters.
146
113
  """
147
- ...
114
+ __args__ = dict()
115
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
116
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult)
117
+ return __ret__.apply(lambda __response__: GetDatacentersResult(
118
+ datacenter_ids=pulumi.get(__response__, 'datacenter_ids'),
119
+ datacenters=pulumi.get(__response__, 'datacenters'),
120
+ descriptions=pulumi.get(__response__, 'descriptions'),
121
+ id=pulumi.get(__response__, 'id'),
122
+ names=pulumi.get(__response__, 'names')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -64,7 +69,7 @@ class GetFirewallResult:
64
69
 
65
70
  @property
66
71
  @pulumi.getter
67
- def labels(self) -> Optional[Mapping[str, Any]]:
72
+ def labels(self) -> Optional[Mapping[str, str]]:
68
73
  """
69
74
  (map) User-defined labels (key-value pairs)
70
75
  """
@@ -87,7 +92,7 @@ class GetFirewallResult:
87
92
  @pulumi.getter
88
93
  def rules(self) -> Optional[Sequence['outputs.GetFirewallRuleResult']]:
89
94
  """
90
- (string) Configuration of a Rule from this Firewall.
95
+ (string) Configuration of a Rule from this Firewall.
91
96
  """
92
97
  return pulumi.get(self, "rules")
93
98
 
@@ -112,12 +117,12 @@ class AwaitableGetFirewallResult(GetFirewallResult):
112
117
  with_selector=self.with_selector)
113
118
 
114
119
 
115
- def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApplyToArgs']]] = None,
120
+ def get_firewall(apply_tos: Optional[Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']]] = None,
116
121
  id: Optional[int] = None,
117
- labels: Optional[Mapping[str, Any]] = None,
122
+ labels: Optional[Mapping[str, str]] = None,
118
123
  most_recent: Optional[bool] = None,
119
124
  name: Optional[str] = None,
120
- rules: Optional[Sequence[pulumi.InputType['GetFirewallRuleArgs']]] = None,
125
+ rules: Optional[Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']]] = None,
121
126
  with_selector: Optional[str] = None,
122
127
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFirewallResult:
123
128
  """
@@ -132,12 +137,12 @@ def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApply
132
137
  ```
133
138
 
134
139
 
135
- :param Sequence[pulumi.InputType['GetFirewallApplyToArgs']] apply_tos: Configuration of the Applied Resources
140
+ :param Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']] apply_tos: Configuration of the Applied Resources
136
141
  :param int id: ID of the firewall.
137
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
142
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
138
143
  :param bool most_recent: Return most recent firewall if multiple are found.
139
144
  :param str name: Name of the firewall.
140
- :param Sequence[pulumi.InputType['GetFirewallRuleArgs']] rules: (string) Configuration of a Rule from this Firewall.
145
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
141
146
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
142
147
  """
143
148
  __args__ = dict()
@@ -159,17 +164,14 @@ def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApply
159
164
  name=pulumi.get(__ret__, 'name'),
160
165
  rules=pulumi.get(__ret__, 'rules'),
161
166
  with_selector=pulumi.get(__ret__, 'with_selector'))
162
-
163
-
164
- @_utilities.lift_output_func(get_firewall)
165
- def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetFirewallApplyToArgs']]]]] = None,
167
+ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']]]]] = None,
166
168
  id: Optional[pulumi.Input[Optional[int]]] = None,
167
- labels: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None,
169
+ labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
168
170
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
169
171
  name: Optional[pulumi.Input[Optional[str]]] = None,
170
- rules: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetFirewallRuleArgs']]]]] = None,
172
+ rules: Optional[pulumi.Input[Optional[Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']]]]] = None,
171
173
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
172
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallResult]:
174
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallResult]:
173
175
  """
174
176
  Provides details about a specific Hetzner Cloud Firewall.
175
177
 
@@ -182,12 +184,29 @@ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[pulum
182
184
  ```
183
185
 
184
186
 
185
- :param Sequence[pulumi.InputType['GetFirewallApplyToArgs']] apply_tos: Configuration of the Applied Resources
187
+ :param Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']] apply_tos: Configuration of the Applied Resources
186
188
  :param int id: ID of the firewall.
187
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
189
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
188
190
  :param bool most_recent: Return most recent firewall if multiple are found.
189
191
  :param str name: Name of the firewall.
190
- :param Sequence[pulumi.InputType['GetFirewallRuleArgs']] rules: (string) Configuration of a Rule from this Firewall.
192
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
191
193
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
192
194
  """
193
- ...
195
+ __args__ = dict()
196
+ __args__['applyTos'] = apply_tos
197
+ __args__['id'] = id
198
+ __args__['labels'] = labels
199
+ __args__['mostRecent'] = most_recent
200
+ __args__['name'] = name
201
+ __args__['rules'] = rules
202
+ __args__['withSelector'] = with_selector
203
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
204
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewall:getFirewall', __args__, opts=opts, typ=GetFirewallResult)
205
+ return __ret__.apply(lambda __response__: GetFirewallResult(
206
+ apply_tos=pulumi.get(__response__, 'apply_tos'),
207
+ id=pulumi.get(__response__, 'id'),
208
+ labels=pulumi.get(__response__, 'labels'),
209
+ most_recent=pulumi.get(__response__, 'most_recent'),
210
+ name=pulumi.get(__response__, 'name'),
211
+ rules=pulumi.get(__response__, 'rules'),
212
+ 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
 
@@ -105,12 +110,9 @@ def get_firewalls(most_recent: Optional[bool] = None,
105
110
  id=pulumi.get(__ret__, 'id'),
106
111
  most_recent=pulumi.get(__ret__, 'most_recent'),
107
112
  with_selector=pulumi.get(__ret__, 'with_selector'))
108
-
109
-
110
- @_utilities.lift_output_func(get_firewalls)
111
113
  def get_firewalls_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
112
114
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
113
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallsResult]:
115
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallsResult]:
114
116
  """
115
117
  Provides details about multiple Hetzner Cloud Firewall.
116
118
 
@@ -127,4 +129,13 @@ def get_firewalls_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = N
127
129
  :param bool most_recent: Sorts list by date.
128
130
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
129
131
  """
130
- ...
132
+ __args__ = dict()
133
+ __args__['mostRecent'] = most_recent
134
+ __args__['withSelector'] = with_selector
135
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
136
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewalls:getFirewalls', __args__, opts=opts, typ=GetFirewallsResult)
137
+ return __ret__.apply(lambda __response__: GetFirewallsResult(
138
+ firewalls=pulumi.get(__response__, 'firewalls'),
139
+ id=pulumi.get(__response__, 'id'),
140
+ most_recent=pulumi.get(__response__, 'most_recent'),
141
+ with_selector=pulumi.get(__response__, 'with_selector')))