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
pulumi_hcloud/network.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__ = ['NetworkArgs', 'Network']
@@ -17,14 +22,14 @@ class NetworkArgs:
17
22
  ip_range: pulumi.Input[str],
18
23
  delete_protection: Optional[pulumi.Input[bool]] = None,
19
24
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
20
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
25
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
26
  name: Optional[pulumi.Input[str]] = None):
22
27
  """
23
28
  The set of arguments for constructing a Network resource.
24
29
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
25
30
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
26
31
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
27
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
32
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
28
33
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
29
34
  """
30
35
  pulumi.set(__self__, "ip_range", ip_range)
@@ -75,14 +80,14 @@ class NetworkArgs:
75
80
 
76
81
  @property
77
82
  @pulumi.getter
78
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
83
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
79
84
  """
80
85
  User-defined labels (key-value pairs) should be created with.
81
86
  """
82
87
  return pulumi.get(self, "labels")
83
88
 
84
89
  @labels.setter
85
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
90
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
86
91
  pulumi.set(self, "labels", value)
87
92
 
88
93
  @property
@@ -104,14 +109,14 @@ class _NetworkState:
104
109
  delete_protection: Optional[pulumi.Input[bool]] = None,
105
110
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
106
111
  ip_range: Optional[pulumi.Input[str]] = None,
107
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
112
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
108
113
  name: Optional[pulumi.Input[str]] = None):
109
114
  """
110
115
  Input properties used for looking up and filtering Network resources.
111
116
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
112
117
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
113
118
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
114
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
119
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
115
120
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
116
121
  """
117
122
  if delete_protection is not None:
@@ -163,14 +168,14 @@ class _NetworkState:
163
168
 
164
169
  @property
165
170
  @pulumi.getter
166
- def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
171
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
167
172
  """
168
173
  User-defined labels (key-value pairs) should be created with.
169
174
  """
170
175
  return pulumi.get(self, "labels")
171
176
 
172
177
  @labels.setter
173
- def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
178
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
174
179
  pulumi.set(self, "labels", value)
175
180
 
176
181
  @property
@@ -194,7 +199,7 @@ class Network(pulumi.CustomResource):
194
199
  delete_protection: Optional[pulumi.Input[bool]] = None,
195
200
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
196
201
  ip_range: Optional[pulumi.Input[str]] = None,
197
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
202
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
198
203
  name: Optional[pulumi.Input[str]] = None,
199
204
  __props__=None):
200
205
  """
@@ -202,21 +207,21 @@ class Network(pulumi.CustomResource):
202
207
 
203
208
  ## Example Usage
204
209
 
205
- <!--Start PulumiCodeChooser -->
206
210
  ```python
207
211
  import pulumi
208
212
  import pulumi_hcloud as hcloud
209
213
 
210
- priv_net = hcloud.Network("privNet", ip_range="10.0.1.0/24")
214
+ priv_net = hcloud.Network("privNet",
215
+ name="my-net",
216
+ ip_range="10.0.1.0/24")
211
217
  ```
212
- <!--End PulumiCodeChooser -->
213
218
 
214
219
  ## Import
215
220
 
216
221
  Networks can be imported using its `id`:
217
222
 
218
223
  ```sh
219
- $ pulumi import hcloud:index/network:Network myip id
224
+ $ pulumi import hcloud:index/network:Network example "$NETWORK_ID"
220
225
  ```
221
226
 
222
227
  :param str resource_name: The name of the resource.
@@ -224,7 +229,7 @@ class Network(pulumi.CustomResource):
224
229
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
225
230
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
226
231
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
227
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
232
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
228
233
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
229
234
  """
230
235
  ...
@@ -238,21 +243,21 @@ class Network(pulumi.CustomResource):
238
243
 
239
244
  ## Example Usage
240
245
 
241
- <!--Start PulumiCodeChooser -->
242
246
  ```python
243
247
  import pulumi
244
248
  import pulumi_hcloud as hcloud
245
249
 
246
- priv_net = hcloud.Network("privNet", ip_range="10.0.1.0/24")
250
+ priv_net = hcloud.Network("privNet",
251
+ name="my-net",
252
+ ip_range="10.0.1.0/24")
247
253
  ```
248
- <!--End PulumiCodeChooser -->
249
254
 
250
255
  ## Import
251
256
 
252
257
  Networks can be imported using its `id`:
253
258
 
254
259
  ```sh
255
- $ pulumi import hcloud:index/network:Network myip id
260
+ $ pulumi import hcloud:index/network:Network example "$NETWORK_ID"
256
261
  ```
257
262
 
258
263
  :param str resource_name: The name of the resource.
@@ -273,7 +278,7 @@ class Network(pulumi.CustomResource):
273
278
  delete_protection: Optional[pulumi.Input[bool]] = None,
274
279
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
275
280
  ip_range: Optional[pulumi.Input[str]] = None,
276
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
281
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
277
282
  name: Optional[pulumi.Input[str]] = None,
278
283
  __props__=None):
279
284
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -304,7 +309,7 @@ class Network(pulumi.CustomResource):
304
309
  delete_protection: Optional[pulumi.Input[bool]] = None,
305
310
  expose_routes_to_vswitch: Optional[pulumi.Input[bool]] = None,
306
311
  ip_range: Optional[pulumi.Input[str]] = None,
307
- labels: Optional[pulumi.Input[Mapping[str, Any]]] = None,
312
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
308
313
  name: Optional[pulumi.Input[str]] = None) -> 'Network':
309
314
  """
310
315
  Get an existing Network resource's state with the given name, id, and optional extra
@@ -316,7 +321,7 @@ class Network(pulumi.CustomResource):
316
321
  :param pulumi.Input[bool] delete_protection: Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
317
322
  :param pulumi.Input[bool] expose_routes_to_vswitch: Enable or disable exposing the routes to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active.
318
323
  :param pulumi.Input[str] ip_range: IP Range of the whole Network which must span all included subnets and route destinations. Must be one of the private ipv4 ranges of RFC1918.
319
- :param pulumi.Input[Mapping[str, Any]] labels: User-defined labels (key-value pairs) should be created with.
324
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels (key-value pairs) should be created with.
320
325
  :param pulumi.Input[str] name: Name of the Network to create (must be unique per project).
321
326
  """
322
327
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -356,7 +361,7 @@ class Network(pulumi.CustomResource):
356
361
 
357
362
  @property
358
363
  @pulumi.getter
359
- def labels(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
364
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
360
365
  """
361
366
  User-defined labels (key-value pairs) should be created with.
362
367
  """
@@ -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__ = ['NetworkRouteArgs', 'NetworkRoute']
@@ -134,18 +139,18 @@ class NetworkRoute(pulumi.CustomResource):
134
139
 
135
140
  ## Example Usage
136
141
 
137
- <!--Start PulumiCodeChooser -->
138
142
  ```python
139
143
  import pulumi
140
144
  import pulumi_hcloud as hcloud
141
145
 
142
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
146
+ mynet = hcloud.Network("mynet",
147
+ name="my-net",
148
+ ip_range="10.0.0.0/8")
143
149
  priv_net = hcloud.NetworkRoute("privNet",
144
150
  network_id=mynet.id,
145
151
  destination="10.100.1.0/24",
146
152
  gateway="10.0.1.1")
147
153
  ```
148
- <!--End PulumiCodeChooser -->
149
154
 
150
155
  ## Import
151
156
 
@@ -154,7 +159,7 @@ class NetworkRoute(pulumi.CustomResource):
154
159
  `<network-id>-<destination>`
155
160
 
156
161
  ```sh
157
- $ pulumi import hcloud:index/networkRoute:NetworkRoute myroute 123-10.0.0.0/16
162
+ $ pulumi import hcloud:index/networkRoute:NetworkRoute example "$NETWORK_ID-$DESTINATION"
158
163
  ```
159
164
 
160
165
  :param str resource_name: The name of the resource.
@@ -174,18 +179,18 @@ class NetworkRoute(pulumi.CustomResource):
174
179
 
175
180
  ## Example Usage
176
181
 
177
- <!--Start PulumiCodeChooser -->
178
182
  ```python
179
183
  import pulumi
180
184
  import pulumi_hcloud as hcloud
181
185
 
182
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
186
+ mynet = hcloud.Network("mynet",
187
+ name="my-net",
188
+ ip_range="10.0.0.0/8")
183
189
  priv_net = hcloud.NetworkRoute("privNet",
184
190
  network_id=mynet.id,
185
191
  destination="10.100.1.0/24",
186
192
  gateway="10.0.1.1")
187
193
  ```
188
- <!--End PulumiCodeChooser -->
189
194
 
190
195
  ## Import
191
196
 
@@ -194,7 +199,7 @@ class NetworkRoute(pulumi.CustomResource):
194
199
  `<network-id>-<destination>`
195
200
 
196
201
  ```sh
197
- $ pulumi import hcloud:index/networkRoute:NetworkRoute myroute 123-10.0.0.0/16
202
+ $ pulumi import hcloud:index/networkRoute:NetworkRoute example "$NETWORK_ID-$DESTINATION"
198
203
  ```
199
204
 
200
205
  :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__ = ['NetworkSubnetArgs', 'NetworkSubnet']
@@ -211,19 +216,19 @@ class NetworkSubnet(pulumi.CustomResource):
211
216
 
212
217
  ## Example Usage
213
218
 
214
- <!--Start PulumiCodeChooser -->
215
219
  ```python
216
220
  import pulumi
217
221
  import pulumi_hcloud as hcloud
218
222
 
219
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
223
+ mynet = hcloud.Network("mynet",
224
+ name="my-net",
225
+ ip_range="10.0.0.0/8")
220
226
  foonet = hcloud.NetworkSubnet("foonet",
221
227
  network_id=mynet.id,
222
228
  type="cloud",
223
229
  network_zone="eu-central",
224
230
  ip_range="10.0.1.0/24")
225
231
  ```
226
- <!--End PulumiCodeChooser -->
227
232
 
228
233
  ## Import
229
234
 
@@ -232,7 +237,7 @@ class NetworkSubnet(pulumi.CustomResource):
232
237
  `<network-id>-<ip_range>`
233
238
 
234
239
  ```sh
235
- $ pulumi import hcloud:index/networkSubnet:NetworkSubnet mysubnet 123-10.0.0.0/24
240
+ $ pulumi import hcloud:index/networkSubnet:NetworkSubnet example "$NETWORK_ID-$IP_RANGE"
236
241
  ```
237
242
 
238
243
  :param str resource_name: The name of the resource.
@@ -254,19 +259,19 @@ class NetworkSubnet(pulumi.CustomResource):
254
259
 
255
260
  ## Example Usage
256
261
 
257
- <!--Start PulumiCodeChooser -->
258
262
  ```python
259
263
  import pulumi
260
264
  import pulumi_hcloud as hcloud
261
265
 
262
- mynet = hcloud.Network("mynet", ip_range="10.0.0.0/8")
266
+ mynet = hcloud.Network("mynet",
267
+ name="my-net",
268
+ ip_range="10.0.0.0/8")
263
269
  foonet = hcloud.NetworkSubnet("foonet",
264
270
  network_id=mynet.id,
265
271
  type="cloud",
266
272
  network_zone="eu-central",
267
273
  ip_range="10.0.1.0/24")
268
274
  ```
269
- <!--End PulumiCodeChooser -->
270
275
 
271
276
  ## Import
272
277
 
@@ -275,7 +280,7 @@ class NetworkSubnet(pulumi.CustomResource):
275
280
  `<network-id>-<ip_range>`
276
281
 
277
282
  ```sh
278
- $ pulumi import hcloud:index/networkSubnet:NetworkSubnet mysubnet 123-10.0.0.0/24
283
+ $ pulumi import hcloud:index/networkSubnet:NetworkSubnet example "$NETWORK_ID-$IP_RANGE"
279
284
  ```
280
285
 
281
286
  :param str resource_name: The name of the resource.