pulumi-hcloud 1.30.0a1768456027__py3-none-any.whl → 1.31.0__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.
@@ -26,7 +26,7 @@ class GetPrimaryIpResult:
26
26
  """
27
27
  A collection of values returned by getPrimaryIp.
28
28
  """
29
- def __init__(__self__, assignee_id=None, assignee_type=None, auto_delete=None, datacenter=None, delete_protection=None, id=None, ip_address=None, ip_network=None, labels=None, name=None, type=None, with_selector=None):
29
+ def __init__(__self__, assignee_id=None, assignee_type=None, auto_delete=None, datacenter=None, delete_protection=None, id=None, ip_address=None, ip_network=None, labels=None, location=None, name=None, type=None, with_selector=None):
30
30
  if assignee_id and not isinstance(assignee_id, int):
31
31
  raise TypeError("Expected argument 'assignee_id' to be a int")
32
32
  pulumi.set(__self__, "assignee_id", assignee_id)
@@ -54,6 +54,9 @@ class GetPrimaryIpResult:
54
54
  if labels and not isinstance(labels, dict):
55
55
  raise TypeError("Expected argument 'labels' to be a dict")
56
56
  pulumi.set(__self__, "labels", labels)
57
+ if location and not isinstance(location, str):
58
+ raise TypeError("Expected argument 'location' to be a str")
59
+ pulumi.set(__self__, "location", location)
57
60
  if name and not isinstance(name, str):
58
61
  raise TypeError("Expected argument 'name' to be a str")
59
62
  pulumi.set(__self__, "name", name)
@@ -90,9 +93,10 @@ class GetPrimaryIpResult:
90
93
 
91
94
  @_builtins.property
92
95
  @pulumi.getter
96
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
93
97
  def datacenter(self) -> _builtins.str:
94
98
  """
95
- (string) The datacenter name of the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
99
+ (string, deprecated) The datacenter name of the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
96
100
  """
97
101
  return pulumi.get(self, "datacenter")
98
102
 
@@ -136,6 +140,14 @@ class GetPrimaryIpResult:
136
140
  """
137
141
  return pulumi.get(self, "labels")
138
142
 
143
+ @_builtins.property
144
+ @pulumi.getter
145
+ def location(self) -> _builtins.str:
146
+ """
147
+ (string) The location of the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
148
+ """
149
+ return pulumi.get(self, "location")
150
+
139
151
  @_builtins.property
140
152
  @pulumi.getter
141
153
  def name(self) -> Optional[_builtins.str]:
@@ -173,6 +185,7 @@ class AwaitableGetPrimaryIpResult(GetPrimaryIpResult):
173
185
  ip_address=self.ip_address,
174
186
  ip_network=self.ip_network,
175
187
  labels=self.labels,
188
+ location=self.location,
176
189
  name=self.name,
177
190
  type=self.type,
178
191
  with_selector=self.with_selector)
@@ -194,6 +207,16 @@ def get_primary_ip(assignee_id: Optional[_builtins.int] = None,
194
207
  If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
195
208
  Currently, Primary IPs can be only attached to servers.
196
209
 
210
+ ## Deprecations
211
+
212
+ ### `datacenter` attribute
213
+
214
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
215
+
216
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
217
+
218
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer returns the `datacenter` attribute.
219
+
197
220
  ## Example Usage
198
221
 
199
222
  # Data Source: PrimaryIp
@@ -250,6 +273,7 @@ def get_primary_ip(assignee_id: Optional[_builtins.int] = None,
250
273
  ip_address=pulumi.get(__ret__, 'ip_address'),
251
274
  ip_network=pulumi.get(__ret__, 'ip_network'),
252
275
  labels=pulumi.get(__ret__, 'labels'),
276
+ location=pulumi.get(__ret__, 'location'),
253
277
  name=pulumi.get(__ret__, 'name'),
254
278
  type=pulumi.get(__ret__, 'type'),
255
279
  with_selector=pulumi.get(__ret__, 'with_selector'))
@@ -269,6 +293,16 @@ def get_primary_ip_output(assignee_id: Optional[pulumi.Input[Optional[_builtins.
269
293
  If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
270
294
  Currently, Primary IPs can be only attached to servers.
271
295
 
296
+ ## Deprecations
297
+
298
+ ### `datacenter` attribute
299
+
300
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
301
+
302
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
303
+
304
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer returns the `datacenter` attribute.
305
+
272
306
  ## Example Usage
273
307
 
274
308
  # Data Source: PrimaryIp
@@ -324,6 +358,7 @@ def get_primary_ip_output(assignee_id: Optional[pulumi.Input[Optional[_builtins.
324
358
  ip_address=pulumi.get(__response__, 'ip_address'),
325
359
  ip_network=pulumi.get(__response__, 'ip_network'),
326
360
  labels=pulumi.get(__response__, 'labels'),
361
+ location=pulumi.get(__response__, 'location'),
327
362
  name=pulumi.get(__response__, 'name'),
328
363
  type=pulumi.get(__response__, 'type'),
329
364
  with_selector=pulumi.get(__response__, 'with_selector')))
@@ -120,9 +120,10 @@ class GetServerResult:
120
120
 
121
121
  @_builtins.property
122
122
  @pulumi.getter
123
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
123
124
  def datacenter(self) -> _builtins.str:
124
125
  """
125
- (string) The datacenter name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
126
+ (string, deprecated) The datacenter name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
126
127
  """
127
128
  return pulumi.get(self, "datacenter")
128
129
 
@@ -27,7 +27,7 @@ class GetStorageBoxSubaccountResult:
27
27
  """
28
28
  A collection of values returned by getStorageBoxSubaccount.
29
29
  """
30
- def __init__(__self__, access_settings=None, description=None, home_directory=None, id=None, labels=None, server=None, storage_box_id=None, username=None, with_selector=None):
30
+ def __init__(__self__, access_settings=None, description=None, home_directory=None, id=None, labels=None, name=None, server=None, storage_box_id=None, username=None, with_selector=None):
31
31
  if access_settings and not isinstance(access_settings, dict):
32
32
  raise TypeError("Expected argument 'access_settings' to be a dict")
33
33
  pulumi.set(__self__, "access_settings", access_settings)
@@ -43,6 +43,9 @@ class GetStorageBoxSubaccountResult:
43
43
  if labels and not isinstance(labels, dict):
44
44
  raise TypeError("Expected argument 'labels' to be a dict")
45
45
  pulumi.set(__self__, "labels", labels)
46
+ if name and not isinstance(name, str):
47
+ raise TypeError("Expected argument 'name' to be a str")
48
+ pulumi.set(__self__, "name", name)
46
49
  if server and not isinstance(server, str):
47
50
  raise TypeError("Expected argument 'server' to be a str")
48
51
  pulumi.set(__self__, "server", server)
@@ -96,6 +99,14 @@ class GetStorageBoxSubaccountResult:
96
99
  """
97
100
  return pulumi.get(self, "labels")
98
101
 
102
+ @_builtins.property
103
+ @pulumi.getter
104
+ def name(self) -> _builtins.str:
105
+ """
106
+ Name of the Storage Box Subaccount.
107
+ """
108
+ return pulumi.get(self, "name")
109
+
99
110
  @_builtins.property
100
111
  @pulumi.getter
101
112
  def server(self) -> _builtins.str:
@@ -140,6 +151,7 @@ class AwaitableGetStorageBoxSubaccountResult(GetStorageBoxSubaccountResult):
140
151
  home_directory=self.home_directory,
141
152
  id=self.id,
142
153
  labels=self.labels,
154
+ name=self.name,
143
155
  server=self.server,
144
156
  storage_box_id=self.storage_box_id,
145
157
  username=self.username,
@@ -147,6 +159,7 @@ class AwaitableGetStorageBoxSubaccountResult(GetStorageBoxSubaccountResult):
147
159
 
148
160
 
149
161
  def get_storage_box_subaccount(id: Optional[_builtins.int] = None,
162
+ name: Optional[_builtins.str] = None,
150
163
  storage_box_id: Optional[_builtins.int] = None,
151
164
  username: Optional[_builtins.str] = None,
152
165
  with_selector: Optional[_builtins.str] = None,
@@ -162,6 +175,8 @@ def get_storage_box_subaccount(id: Optional[_builtins.int] = None,
162
175
  storage_box_id = config.require_object("storageBoxId")
163
176
  by_id = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
164
177
  id=2)
178
+ by_name = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
179
+ name="badger")
165
180
  by_username = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
166
181
  username="u507137-sub1")
167
182
  by_label_selector = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
@@ -170,12 +185,14 @@ def get_storage_box_subaccount(id: Optional[_builtins.int] = None,
170
185
 
171
186
 
172
187
  :param _builtins.int id: ID of the Storage Box Subaccount.
188
+ :param _builtins.str name: Name of the Storage Box Subaccount.
173
189
  :param _builtins.int storage_box_id: ID of the Storage Box.
174
190
  :param _builtins.str username: Username of the Storage Box Subaccount.
175
191
  :param _builtins.str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/reference/hetzner#label-selector).
176
192
  """
177
193
  __args__ = dict()
178
194
  __args__['id'] = id
195
+ __args__['name'] = name
179
196
  __args__['storageBoxId'] = storage_box_id
180
197
  __args__['username'] = username
181
198
  __args__['withSelector'] = with_selector
@@ -188,11 +205,13 @@ def get_storage_box_subaccount(id: Optional[_builtins.int] = None,
188
205
  home_directory=pulumi.get(__ret__, 'home_directory'),
189
206
  id=pulumi.get(__ret__, 'id'),
190
207
  labels=pulumi.get(__ret__, 'labels'),
208
+ name=pulumi.get(__ret__, 'name'),
191
209
  server=pulumi.get(__ret__, 'server'),
192
210
  storage_box_id=pulumi.get(__ret__, 'storage_box_id'),
193
211
  username=pulumi.get(__ret__, 'username'),
194
212
  with_selector=pulumi.get(__ret__, 'with_selector'))
195
213
  def get_storage_box_subaccount_output(id: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
214
+ name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
196
215
  storage_box_id: Optional[pulumi.Input[_builtins.int]] = None,
197
216
  username: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
198
217
  with_selector: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
@@ -208,6 +227,8 @@ def get_storage_box_subaccount_output(id: Optional[pulumi.Input[Optional[_builti
208
227
  storage_box_id = config.require_object("storageBoxId")
209
228
  by_id = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
210
229
  id=2)
230
+ by_name = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
231
+ name="badger")
211
232
  by_username = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
212
233
  username="u507137-sub1")
213
234
  by_label_selector = hcloud.get_storage_box_subaccount(storage_box_id=storage_box_id,
@@ -216,12 +237,14 @@ def get_storage_box_subaccount_output(id: Optional[pulumi.Input[Optional[_builti
216
237
 
217
238
 
218
239
  :param _builtins.int id: ID of the Storage Box Subaccount.
240
+ :param _builtins.str name: Name of the Storage Box Subaccount.
219
241
  :param _builtins.int storage_box_id: ID of the Storage Box.
220
242
  :param _builtins.str username: Username of the Storage Box Subaccount.
221
243
  :param _builtins.str with_selector: Filter results using a [Label Selector](https://docs.hetzner.cloud/reference/hetzner#label-selector).
222
244
  """
223
245
  __args__ = dict()
224
246
  __args__['id'] = id
247
+ __args__['name'] = name
225
248
  __args__['storageBoxId'] = storage_box_id
226
249
  __args__['username'] = username
227
250
  __args__['withSelector'] = with_selector
@@ -233,6 +256,7 @@ def get_storage_box_subaccount_output(id: Optional[pulumi.Input[Optional[_builti
233
256
  home_directory=pulumi.get(__response__, 'home_directory'),
234
257
  id=pulumi.get(__response__, 'id'),
235
258
  labels=pulumi.get(__response__, 'labels'),
259
+ name=pulumi.get(__response__, 'name'),
236
260
  server=pulumi.get(__response__, 'server'),
237
261
  storage_box_id=pulumi.get(__response__, 'storage_box_id'),
238
262
  username=pulumi.get(__response__, 'username'),
pulumi_hcloud/outputs.py CHANGED
@@ -2547,6 +2547,7 @@ class GetPrimaryIpsPrimaryIpResult(dict):
2547
2547
  ip_address: _builtins.str,
2548
2548
  ip_network: _builtins.str,
2549
2549
  labels: Mapping[str, _builtins.str],
2550
+ location: _builtins.str,
2550
2551
  type: _builtins.str,
2551
2552
  name: Optional[_builtins.str] = None):
2552
2553
  pulumi.set(__self__, "assignee_id", assignee_id)
@@ -2558,6 +2559,7 @@ class GetPrimaryIpsPrimaryIpResult(dict):
2558
2559
  pulumi.set(__self__, "ip_address", ip_address)
2559
2560
  pulumi.set(__self__, "ip_network", ip_network)
2560
2561
  pulumi.set(__self__, "labels", labels)
2562
+ pulumi.set(__self__, "location", location)
2561
2563
  pulumi.set(__self__, "type", type)
2562
2564
  if name is not None:
2563
2565
  pulumi.set(__self__, "name", name)
@@ -2579,6 +2581,7 @@ class GetPrimaryIpsPrimaryIpResult(dict):
2579
2581
 
2580
2582
  @_builtins.property
2581
2583
  @pulumi.getter
2584
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
2582
2585
  def datacenter(self) -> _builtins.str:
2583
2586
  return pulumi.get(self, "datacenter")
2584
2587
 
@@ -2607,6 +2610,11 @@ class GetPrimaryIpsPrimaryIpResult(dict):
2607
2610
  def labels(self) -> Mapping[str, _builtins.str]:
2608
2611
  return pulumi.get(self, "labels")
2609
2612
 
2613
+ @_builtins.property
2614
+ @pulumi.getter
2615
+ def location(self) -> _builtins.str:
2616
+ return pulumi.get(self, "location")
2617
+
2610
2618
  @_builtins.property
2611
2619
  @pulumi.getter
2612
2620
  def type(self) -> _builtins.str:
@@ -3025,6 +3033,7 @@ class GetServersServerResult(dict):
3025
3033
 
3026
3034
  @_builtins.property
3027
3035
  @pulumi.getter
3036
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
3028
3037
  def datacenter(self) -> _builtins.str:
3029
3038
  return pulumi.get(self, "datacenter")
3030
3039
 
@@ -3550,6 +3559,7 @@ class GetStorageBoxSubaccountsSubaccountResult(dict):
3550
3559
  home_directory: _builtins.str,
3551
3560
  id: _builtins.int,
3552
3561
  labels: Mapping[str, _builtins.str],
3562
+ name: _builtins.str,
3553
3563
  server: _builtins.str,
3554
3564
  storage_box_id: _builtins.int,
3555
3565
  username: _builtins.str):
@@ -3559,6 +3569,7 @@ class GetStorageBoxSubaccountsSubaccountResult(dict):
3559
3569
  :param _builtins.str home_directory: Home directory of the Storage Box Subaccount.
3560
3570
  :param _builtins.int id: ID of the Storage Box Subaccount.
3561
3571
  :param Mapping[str, _builtins.str] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
3572
+ :param _builtins.str name: Name of the Storage Box Subaccount.
3562
3573
  :param _builtins.str server: FQDN of the Storage Box Subaccount.
3563
3574
  :param _builtins.int storage_box_id: ID of the Storage Box.
3564
3575
  :param _builtins.str username: Username of the Storage Box Subaccount.
@@ -3568,6 +3579,7 @@ class GetStorageBoxSubaccountsSubaccountResult(dict):
3568
3579
  pulumi.set(__self__, "home_directory", home_directory)
3569
3580
  pulumi.set(__self__, "id", id)
3570
3581
  pulumi.set(__self__, "labels", labels)
3582
+ pulumi.set(__self__, "name", name)
3571
3583
  pulumi.set(__self__, "server", server)
3572
3584
  pulumi.set(__self__, "storage_box_id", storage_box_id)
3573
3585
  pulumi.set(__self__, "username", username)
@@ -3612,6 +3624,14 @@ class GetStorageBoxSubaccountsSubaccountResult(dict):
3612
3624
  """
3613
3625
  return pulumi.get(self, "labels")
3614
3626
 
3627
+ @_builtins.property
3628
+ @pulumi.getter
3629
+ def name(self) -> _builtins.str:
3630
+ """
3631
+ Name of the Storage Box Subaccount.
3632
+ """
3633
+ return pulumi.get(self, "name")
3634
+
3615
3635
  @_builtins.property
3616
3636
  @pulumi.getter
3617
3637
  def server(self) -> _builtins.str:
@@ -26,6 +26,7 @@ class PrimaryIpArgs:
26
26
  datacenter: Optional[pulumi.Input[_builtins.str]] = None,
27
27
  delete_protection: Optional[pulumi.Input[_builtins.bool]] = None,
28
28
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
29
+ location: Optional[pulumi.Input[_builtins.str]] = None,
29
30
  name: Optional[pulumi.Input[_builtins.str]] = None):
30
31
  """
31
32
  The set of arguments for constructing a PrimaryIp resource.
@@ -37,8 +38,9 @@ class PrimaryIpArgs:
37
38
  :param pulumi.Input[_builtins.str] datacenter: The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
38
39
  :param pulumi.Input[_builtins.bool] delete_protection: Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
39
40
 
40
- Note: At least one of `datacenter` or `assignee_id` is required.
41
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
41
42
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels (key-value pairs).
43
+ :param pulumi.Input[_builtins.str] location: The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
42
44
  :param pulumi.Input[_builtins.str] name: Name of the Primary IP.
43
45
  """
44
46
  pulumi.set(__self__, "assignee_type", assignee_type)
@@ -46,12 +48,17 @@ class PrimaryIpArgs:
46
48
  pulumi.set(__self__, "type", type)
47
49
  if assignee_id is not None:
48
50
  pulumi.set(__self__, "assignee_id", assignee_id)
51
+ if datacenter is not None:
52
+ warnings.warn("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""", DeprecationWarning)
53
+ pulumi.log.warn("""datacenter is deprecated: The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
49
54
  if datacenter is not None:
50
55
  pulumi.set(__self__, "datacenter", datacenter)
51
56
  if delete_protection is not None:
52
57
  pulumi.set(__self__, "delete_protection", delete_protection)
53
58
  if labels is not None:
54
59
  pulumi.set(__self__, "labels", labels)
60
+ if location is not None:
61
+ pulumi.set(__self__, "location", location)
55
62
  if name is not None:
56
63
  pulumi.set(__self__, "name", name)
57
64
 
@@ -106,6 +113,7 @@ class PrimaryIpArgs:
106
113
 
107
114
  @_builtins.property
108
115
  @pulumi.getter
116
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
109
117
  def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
110
118
  """
111
119
  The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -122,7 +130,7 @@ class PrimaryIpArgs:
122
130
  """
123
131
  Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
124
132
 
125
- Note: At least one of `datacenter` or `assignee_id` is required.
133
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
126
134
  """
127
135
  return pulumi.get(self, "delete_protection")
128
136
 
@@ -142,6 +150,18 @@ class PrimaryIpArgs:
142
150
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
143
151
  pulumi.set(self, "labels", value)
144
152
 
153
+ @_builtins.property
154
+ @pulumi.getter
155
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
156
+ """
157
+ The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
158
+ """
159
+ return pulumi.get(self, "location")
160
+
161
+ @location.setter
162
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "location", value)
164
+
145
165
  @_builtins.property
146
166
  @pulumi.getter
147
167
  def name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -166,6 +186,7 @@ class _PrimaryIpState:
166
186
  ip_address: Optional[pulumi.Input[_builtins.str]] = None,
167
187
  ip_network: Optional[pulumi.Input[_builtins.str]] = None,
168
188
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
189
+ location: Optional[pulumi.Input[_builtins.str]] = None,
169
190
  name: Optional[pulumi.Input[_builtins.str]] = None,
170
191
  type: Optional[pulumi.Input[_builtins.str]] = None):
171
192
  """
@@ -177,10 +198,11 @@ class _PrimaryIpState:
177
198
  :param pulumi.Input[_builtins.str] datacenter: The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
178
199
  :param pulumi.Input[_builtins.bool] delete_protection: Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
179
200
 
180
- Note: At least one of `datacenter` or `assignee_id` is required.
201
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
181
202
  :param pulumi.Input[_builtins.str] ip_address: (string) IP Address of the Primary IP.
182
203
  :param pulumi.Input[_builtins.str] ip_network: (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if `type` is `ipv6`)
183
204
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels (key-value pairs).
205
+ :param pulumi.Input[_builtins.str] location: The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
184
206
  :param pulumi.Input[_builtins.str] name: Name of the Primary IP.
185
207
  :param pulumi.Input[_builtins.str] type: Type of the Primary IP. `ipv4` or `ipv6`
186
208
  """
@@ -190,6 +212,9 @@ class _PrimaryIpState:
190
212
  pulumi.set(__self__, "assignee_type", assignee_type)
191
213
  if auto_delete is not None:
192
214
  pulumi.set(__self__, "auto_delete", auto_delete)
215
+ if datacenter is not None:
216
+ warnings.warn("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""", DeprecationWarning)
217
+ pulumi.log.warn("""datacenter is deprecated: The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
193
218
  if datacenter is not None:
194
219
  pulumi.set(__self__, "datacenter", datacenter)
195
220
  if delete_protection is not None:
@@ -200,6 +225,8 @@ class _PrimaryIpState:
200
225
  pulumi.set(__self__, "ip_network", ip_network)
201
226
  if labels is not None:
202
227
  pulumi.set(__self__, "labels", labels)
228
+ if location is not None:
229
+ pulumi.set(__self__, "location", location)
203
230
  if name is not None:
204
231
  pulumi.set(__self__, "name", name)
205
232
  if type is not None:
@@ -244,6 +271,7 @@ class _PrimaryIpState:
244
271
 
245
272
  @_builtins.property
246
273
  @pulumi.getter
274
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
247
275
  def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
248
276
  """
249
277
  The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -260,7 +288,7 @@ class _PrimaryIpState:
260
288
  """
261
289
  Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
262
290
 
263
- Note: At least one of `datacenter` or `assignee_id` is required.
291
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
264
292
  """
265
293
  return pulumi.get(self, "delete_protection")
266
294
 
@@ -304,6 +332,18 @@ class _PrimaryIpState:
304
332
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
305
333
  pulumi.set(self, "labels", value)
306
334
 
335
+ @_builtins.property
336
+ @pulumi.getter
337
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
338
+ """
339
+ The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
340
+ """
341
+ return pulumi.get(self, "location")
342
+
343
+ @location.setter
344
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
345
+ pulumi.set(self, "location", value)
346
+
307
347
  @_builtins.property
308
348
  @pulumi.getter
309
349
  def name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -341,6 +381,7 @@ class PrimaryIp(pulumi.CustomResource):
341
381
  datacenter: Optional[pulumi.Input[_builtins.str]] = None,
342
382
  delete_protection: Optional[pulumi.Input[_builtins.bool]] = None,
343
383
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
384
+ location: Optional[pulumi.Input[_builtins.str]] = None,
344
385
  name: Optional[pulumi.Input[_builtins.str]] = None,
345
386
  type: Optional[pulumi.Input[_builtins.str]] = None,
346
387
  __props__=None):
@@ -350,6 +391,19 @@ class PrimaryIp(pulumi.CustomResource):
350
391
  If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
351
392
  Currently, Primary IPs can be only attached to servers.
352
393
 
394
+ ## Deprecations
395
+
396
+ ### `datacenter` attribute
397
+
398
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
399
+
400
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
401
+
402
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer accepts
403
+ and returns the `datacenter` attribute. This version of the provider remains backward compatible by preserving
404
+ the `datacenter` value in the state and by extracting the `location` name from the `datacenter` attribute when
405
+ communicating with the API.
406
+
353
407
  ## Example Usage
354
408
 
355
409
  ```python
@@ -396,8 +450,9 @@ class PrimaryIp(pulumi.CustomResource):
396
450
  :param pulumi.Input[_builtins.str] datacenter: The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
397
451
  :param pulumi.Input[_builtins.bool] delete_protection: Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
398
452
 
399
- Note: At least one of `datacenter` or `assignee_id` is required.
453
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
400
454
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels (key-value pairs).
455
+ :param pulumi.Input[_builtins.str] location: The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
401
456
  :param pulumi.Input[_builtins.str] name: Name of the Primary IP.
402
457
  :param pulumi.Input[_builtins.str] type: Type of the Primary IP. `ipv4` or `ipv6`
403
458
  """
@@ -413,6 +468,19 @@ class PrimaryIp(pulumi.CustomResource):
413
468
  If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
414
469
  Currently, Primary IPs can be only attached to servers.
415
470
 
471
+ ## Deprecations
472
+
473
+ ### `datacenter` attribute
474
+
475
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
476
+
477
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
478
+
479
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer accepts
480
+ and returns the `datacenter` attribute. This version of the provider remains backward compatible by preserving
481
+ the `datacenter` value in the state and by extracting the `location` name from the `datacenter` attribute when
482
+ communicating with the API.
483
+
416
484
  ## Example Usage
417
485
 
418
486
  ```python
@@ -471,6 +539,7 @@ class PrimaryIp(pulumi.CustomResource):
471
539
  datacenter: Optional[pulumi.Input[_builtins.str]] = None,
472
540
  delete_protection: Optional[pulumi.Input[_builtins.bool]] = None,
473
541
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
542
+ location: Optional[pulumi.Input[_builtins.str]] = None,
474
543
  name: Optional[pulumi.Input[_builtins.str]] = None,
475
544
  type: Optional[pulumi.Input[_builtins.str]] = None,
476
545
  __props__=None):
@@ -492,6 +561,7 @@ class PrimaryIp(pulumi.CustomResource):
492
561
  __props__.__dict__["datacenter"] = datacenter
493
562
  __props__.__dict__["delete_protection"] = delete_protection
494
563
  __props__.__dict__["labels"] = labels
564
+ __props__.__dict__["location"] = location
495
565
  __props__.__dict__["name"] = name
496
566
  if type is None and not opts.urn:
497
567
  raise TypeError("Missing required property 'type'")
@@ -516,6 +586,7 @@ class PrimaryIp(pulumi.CustomResource):
516
586
  ip_address: Optional[pulumi.Input[_builtins.str]] = None,
517
587
  ip_network: Optional[pulumi.Input[_builtins.str]] = None,
518
588
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
589
+ location: Optional[pulumi.Input[_builtins.str]] = None,
519
590
  name: Optional[pulumi.Input[_builtins.str]] = None,
520
591
  type: Optional[pulumi.Input[_builtins.str]] = None) -> 'PrimaryIp':
521
592
  """
@@ -532,10 +603,11 @@ class PrimaryIp(pulumi.CustomResource):
532
603
  :param pulumi.Input[_builtins.str] datacenter: The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
533
604
  :param pulumi.Input[_builtins.bool] delete_protection: Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
534
605
 
535
- Note: At least one of `datacenter` or `assignee_id` is required.
606
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
536
607
  :param pulumi.Input[_builtins.str] ip_address: (string) IP Address of the Primary IP.
537
608
  :param pulumi.Input[_builtins.str] ip_network: (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if `type` is `ipv6`)
538
609
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels (key-value pairs).
610
+ :param pulumi.Input[_builtins.str] location: The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
539
611
  :param pulumi.Input[_builtins.str] name: Name of the Primary IP.
540
612
  :param pulumi.Input[_builtins.str] type: Type of the Primary IP. `ipv4` or `ipv6`
541
613
  """
@@ -551,6 +623,7 @@ class PrimaryIp(pulumi.CustomResource):
551
623
  __props__.__dict__["ip_address"] = ip_address
552
624
  __props__.__dict__["ip_network"] = ip_network
553
625
  __props__.__dict__["labels"] = labels
626
+ __props__.__dict__["location"] = location
554
627
  __props__.__dict__["name"] = name
555
628
  __props__.__dict__["type"] = type
556
629
  return PrimaryIp(resource_name, opts=opts, __props__=__props__)
@@ -582,6 +655,7 @@ class PrimaryIp(pulumi.CustomResource):
582
655
 
583
656
  @_builtins.property
584
657
  @pulumi.getter
658
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
585
659
  def datacenter(self) -> pulumi.Output[_builtins.str]:
586
660
  """
587
661
  The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -594,7 +668,7 @@ class PrimaryIp(pulumi.CustomResource):
594
668
  """
595
669
  Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
596
670
 
597
- Note: At least one of `datacenter` or `assignee_id` is required.
671
+ Note: At least one of `location`, `datacenter` or `assignee_id` is required.
598
672
  """
599
673
  return pulumi.get(self, "delete_protection")
600
674
 
@@ -622,6 +696,14 @@ class PrimaryIp(pulumi.CustomResource):
622
696
  """
623
697
  return pulumi.get(self, "labels")
624
698
 
699
+ @_builtins.property
700
+ @pulumi.getter
701
+ def location(self) -> pulumi.Output[_builtins.str]:
702
+ """
703
+ The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
704
+ """
705
+ return pulumi.get(self, "location")
706
+
625
707
  @_builtins.property
626
708
  @pulumi.getter
627
709
  def name(self) -> pulumi.Output[_builtins.str]:
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "hcloud",
4
- "version": "1.30.0-alpha.1768456027"
4
+ "version": "1.31.0"
5
5
  }
pulumi_hcloud/server.py CHANGED
@@ -75,6 +75,9 @@ class ServerArgs:
75
75
  pulumi.set(__self__, "allow_deprecated_images", allow_deprecated_images)
76
76
  if backups is not None:
77
77
  pulumi.set(__self__, "backups", backups)
78
+ if datacenter is not None:
79
+ warnings.warn("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""", DeprecationWarning)
80
+ pulumi.log.warn("""datacenter is deprecated: The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
78
81
  if datacenter is not None:
79
82
  pulumi.set(__self__, "datacenter", datacenter)
80
83
  if delete_protection is not None:
@@ -150,6 +153,7 @@ class ServerArgs:
150
153
 
151
154
  @_builtins.property
152
155
  @pulumi.getter
156
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
153
157
  def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
154
158
  """
155
159
  The datacenter name to create the server in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -440,6 +444,9 @@ class _ServerState:
440
444
  pulumi.set(__self__, "backup_window", backup_window)
441
445
  if backups is not None:
442
446
  pulumi.set(__self__, "backups", backups)
447
+ if datacenter is not None:
448
+ warnings.warn("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""", DeprecationWarning)
449
+ pulumi.log.warn("""datacenter is deprecated: The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
443
450
  if datacenter is not None:
444
451
  pulumi.set(__self__, "datacenter", datacenter)
445
452
  if delete_protection is not None:
@@ -528,6 +535,7 @@ class _ServerState:
528
535
 
529
536
  @_builtins.property
530
537
  @pulumi.getter
538
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
531
539
  def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
532
540
  """
533
541
  The datacenter name to create the server in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -848,6 +856,19 @@ class Server(pulumi.CustomResource):
848
856
  """
849
857
  Provides an Hetzner Cloud server resource. This can be used to create, modify, and delete servers. Servers also support provisioning.
850
858
 
859
+ ## Deprecations
860
+
861
+ ### `datacenter` attribute
862
+
863
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
864
+
865
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
866
+
867
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer accepts
868
+ and returns the `datacenter` attribute. This version of the provider remains backward compatible by preserving
869
+ the `datacenter` value in the state and by extracting the `location` name from the `datacenter` attribute when
870
+ communicating with the API.
871
+
851
872
  ## Example Usage
852
873
 
853
874
  ### Basic server creation
@@ -874,7 +895,7 @@ class Server(pulumi.CustomResource):
874
895
  ### Server creation with one linked primary ip (ipv4)
875
896
  primary_ip1 = hcloud.PrimaryIp("primary_ip_1",
876
897
  name="primary_ip_test",
877
- datacenter="fsn1-dc14",
898
+ location="hel1",
878
899
  type="ipv4",
879
900
  assignee_type="server",
880
901
  auto_delete=True,
@@ -885,7 +906,7 @@ class Server(pulumi.CustomResource):
885
906
  name="test-server",
886
907
  image="ubuntu-24.04",
887
908
  server_type="cx23",
888
- datacenter="fsn1-dc14",
909
+ location="hel1",
889
910
  labels={
890
911
  "test": "tessst1",
891
912
  },
@@ -996,6 +1017,19 @@ class Server(pulumi.CustomResource):
996
1017
  """
997
1018
  Provides an Hetzner Cloud server resource. This can be used to create, modify, and delete servers. Servers also support provisioning.
998
1019
 
1020
+ ## Deprecations
1021
+
1022
+ ### `datacenter` attribute
1023
+
1024
+ The `datacenter` attribute is deprecated, use the `location` attribute instead.
1025
+
1026
+ See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
1027
+
1028
+ > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer accepts
1029
+ and returns the `datacenter` attribute. This version of the provider remains backward compatible by preserving
1030
+ the `datacenter` value in the state and by extracting the `location` name from the `datacenter` attribute when
1031
+ communicating with the API.
1032
+
999
1033
  ## Example Usage
1000
1034
 
1001
1035
  ### Basic server creation
@@ -1022,7 +1056,7 @@ class Server(pulumi.CustomResource):
1022
1056
  ### Server creation with one linked primary ip (ipv4)
1023
1057
  primary_ip1 = hcloud.PrimaryIp("primary_ip_1",
1024
1058
  name="primary_ip_test",
1025
- datacenter="fsn1-dc14",
1059
+ location="hel1",
1026
1060
  type="ipv4",
1027
1061
  assignee_type="server",
1028
1062
  auto_delete=True,
@@ -1033,7 +1067,7 @@ class Server(pulumi.CustomResource):
1033
1067
  name="test-server",
1034
1068
  image="ubuntu-24.04",
1035
1069
  server_type="cx23",
1036
- datacenter="fsn1-dc14",
1070
+ location="hel1",
1037
1071
  labels={
1038
1072
  "test": "tessst1",
1039
1073
  },
@@ -1317,6 +1351,7 @@ class Server(pulumi.CustomResource):
1317
1351
 
1318
1352
  @_builtins.property
1319
1353
  @pulumi.getter
1354
+ @_utilities.deprecated("""The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.""")
1320
1355
  def datacenter(self) -> pulumi.Output[_builtins.str]:
1321
1356
  """
1322
1357
  The datacenter name to create the server in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
@@ -39,7 +39,7 @@ class StorageBoxArgs:
39
39
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
40
40
  :param pulumi.Input[_builtins.str] name: Name of the Storage Box.
41
41
  :param pulumi.Input['StorageBoxSnapshotPlanArgs'] snapshot_plan: Details of the active snapshot plan.
42
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
42
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
43
43
  """
44
44
  pulumi.set(__self__, "location", location)
45
45
  pulumi.set(__self__, "password", password)
@@ -154,7 +154,7 @@ class StorageBoxArgs:
154
154
  @pulumi.getter(name="sshKeys")
155
155
  def ssh_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
156
156
  """
157
- SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
157
+ SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
158
158
  """
159
159
  return pulumi.get(self, "ssh_keys")
160
160
 
@@ -187,7 +187,7 @@ class _StorageBoxState:
187
187
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
188
188
  :param pulumi.Input[_builtins.str] server: FQDN of the Storage Box.
189
189
  :param pulumi.Input['StorageBoxSnapshotPlanArgs'] snapshot_plan: Details of the active snapshot plan.
190
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
190
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
191
191
  :param pulumi.Input[_builtins.str] storage_box_type: Name of the Storage Box Type.
192
192
  :param pulumi.Input[_builtins.str] system: Host system of the Storage Box.
193
193
  :param pulumi.Input[_builtins.str] username: Primary username of the Storage Box.
@@ -314,7 +314,7 @@ class _StorageBoxState:
314
314
  @pulumi.getter(name="sshKeys")
315
315
  def ssh_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
316
316
  """
317
- SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
317
+ SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
318
318
  """
319
319
  return pulumi.get(self, "ssh_keys")
320
320
 
@@ -381,6 +381,7 @@ class StorageBox(pulumi.CustomResource):
381
381
  ```python
382
382
  import pulumi
383
383
  import pulumi_hcloud as hcloud
384
+ import pulumi_std as std
384
385
 
385
386
  backups = hcloud.StorageBox("backups",
386
387
  name="backups",
@@ -404,6 +405,15 @@ class StorageBox(pulumi.CustomResource):
404
405
  "day_of_week": 3,
405
406
  },
406
407
  delete_protection=True)
408
+ ssh_key = hcloud.StorageBox("ssh_key",
409
+ name="backups",
410
+ storage_box_type="bx21",
411
+ location="hel1",
412
+ password=storage_box_password,
413
+ ssh_keys=[
414
+ my_key["publicKey"],
415
+ std.file(input="~/.ssh/id_ed25519.pub").result,
416
+ ])
407
417
  ```
408
418
 
409
419
  ## Import
@@ -434,7 +444,7 @@ class StorageBox(pulumi.CustomResource):
434
444
  :param pulumi.Input[_builtins.str] name: Name of the Storage Box.
435
445
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
436
446
  :param pulumi.Input[Union['StorageBoxSnapshotPlanArgs', 'StorageBoxSnapshotPlanArgsDict']] snapshot_plan: Details of the active snapshot plan.
437
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
447
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
438
448
  :param pulumi.Input[_builtins.str] storage_box_type: Name of the Storage Box Type.
439
449
  """
440
450
  ...
@@ -449,6 +459,7 @@ class StorageBox(pulumi.CustomResource):
449
459
  ```python
450
460
  import pulumi
451
461
  import pulumi_hcloud as hcloud
462
+ import pulumi_std as std
452
463
 
453
464
  backups = hcloud.StorageBox("backups",
454
465
  name="backups",
@@ -472,6 +483,15 @@ class StorageBox(pulumi.CustomResource):
472
483
  "day_of_week": 3,
473
484
  },
474
485
  delete_protection=True)
486
+ ssh_key = hcloud.StorageBox("ssh_key",
487
+ name="backups",
488
+ storage_box_type="bx21",
489
+ location="hel1",
490
+ password=storage_box_password,
491
+ ssh_keys=[
492
+ my_key["publicKey"],
493
+ std.file(input="~/.ssh/id_ed25519.pub").result,
494
+ ])
475
495
  ```
476
496
 
477
497
  ## Import
@@ -583,7 +603,7 @@ class StorageBox(pulumi.CustomResource):
583
603
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
584
604
  :param pulumi.Input[_builtins.str] server: FQDN of the Storage Box.
585
605
  :param pulumi.Input[Union['StorageBoxSnapshotPlanArgs', 'StorageBoxSnapshotPlanArgsDict']] snapshot_plan: Details of the active snapshot plan.
586
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
606
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ssh_keys: SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
587
607
  :param pulumi.Input[_builtins.str] storage_box_type: Name of the Storage Box Type.
588
608
  :param pulumi.Input[_builtins.str] system: Host system of the Storage Box.
589
609
  :param pulumi.Input[_builtins.str] username: Primary username of the Storage Box.
@@ -671,7 +691,7 @@ class StorageBox(pulumi.CustomResource):
671
691
  @pulumi.getter(name="sshKeys")
672
692
  def ssh_keys(self) -> pulumi.Output[Sequence[_builtins.str]]:
673
693
  """
674
- SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
694
+ SSH public keys in OpenSSH format to inject into the Storage Box. It is not possible to update the SSH Keys through the API, so changing this attribute forces a replace of the Storage Box.
675
695
  """
676
696
  return pulumi.get(self, "ssh_keys")
677
697
 
@@ -26,7 +26,8 @@ class StorageBoxSubaccountArgs:
26
26
  storage_box_id: pulumi.Input[_builtins.int],
27
27
  access_settings: Optional[pulumi.Input['StorageBoxSubaccountAccessSettingsArgs']] = None,
28
28
  description: Optional[pulumi.Input[_builtins.str]] = None,
29
- labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
29
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None):
30
31
  """
31
32
  The set of arguments for constructing a StorageBoxSubaccount resource.
32
33
  :param pulumi.Input[_builtins.str] home_directory: Home directory of the Storage Box Subaccount. The directory will be created if it doesn't exist yet.
@@ -35,6 +36,7 @@ class StorageBoxSubaccountArgs:
35
36
  :param pulumi.Input['StorageBoxSubaccountAccessSettingsArgs'] access_settings: Access settings for the Subaccount.
36
37
  :param pulumi.Input[_builtins.str] description: A description of the Storage Box Subaccount.
37
38
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
39
+ :param pulumi.Input[_builtins.str] name: Name of the Storage Box Subaccount.
38
40
  """
39
41
  pulumi.set(__self__, "home_directory", home_directory)
40
42
  pulumi.set(__self__, "password", password)
@@ -45,6 +47,8 @@ class StorageBoxSubaccountArgs:
45
47
  pulumi.set(__self__, "description", description)
46
48
  if labels is not None:
47
49
  pulumi.set(__self__, "labels", labels)
50
+ if name is not None:
51
+ pulumi.set(__self__, "name", name)
48
52
 
49
53
  @_builtins.property
50
54
  @pulumi.getter(name="homeDirectory")
@@ -118,6 +122,18 @@ class StorageBoxSubaccountArgs:
118
122
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
119
123
  pulumi.set(self, "labels", value)
120
124
 
125
+ @_builtins.property
126
+ @pulumi.getter
127
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
128
+ """
129
+ Name of the Storage Box Subaccount.
130
+ """
131
+ return pulumi.get(self, "name")
132
+
133
+ @name.setter
134
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
135
+ pulumi.set(self, "name", value)
136
+
121
137
 
122
138
  @pulumi.input_type
123
139
  class _StorageBoxSubaccountState:
@@ -126,6 +142,7 @@ class _StorageBoxSubaccountState:
126
142
  description: Optional[pulumi.Input[_builtins.str]] = None,
127
143
  home_directory: Optional[pulumi.Input[_builtins.str]] = None,
128
144
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
145
+ name: Optional[pulumi.Input[_builtins.str]] = None,
129
146
  password: Optional[pulumi.Input[_builtins.str]] = None,
130
147
  server: Optional[pulumi.Input[_builtins.str]] = None,
131
148
  storage_box_id: Optional[pulumi.Input[_builtins.int]] = None,
@@ -136,6 +153,7 @@ class _StorageBoxSubaccountState:
136
153
  :param pulumi.Input[_builtins.str] description: A description of the Storage Box Subaccount.
137
154
  :param pulumi.Input[_builtins.str] home_directory: Home directory of the Storage Box Subaccount. The directory will be created if it doesn't exist yet.
138
155
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
156
+ :param pulumi.Input[_builtins.str] name: Name of the Storage Box Subaccount.
139
157
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
140
158
  :param pulumi.Input[_builtins.str] server: FQDN of the Storage Box Subaccount.
141
159
  :param pulumi.Input[_builtins.int] storage_box_id: ID of the Storage Box.
@@ -149,6 +167,8 @@ class _StorageBoxSubaccountState:
149
167
  pulumi.set(__self__, "home_directory", home_directory)
150
168
  if labels is not None:
151
169
  pulumi.set(__self__, "labels", labels)
170
+ if name is not None:
171
+ pulumi.set(__self__, "name", name)
152
172
  if password is not None:
153
173
  pulumi.set(__self__, "password", password)
154
174
  if server is not None:
@@ -206,6 +226,18 @@ class _StorageBoxSubaccountState:
206
226
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
207
227
  pulumi.set(self, "labels", value)
208
228
 
229
+ @_builtins.property
230
+ @pulumi.getter
231
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
232
+ """
233
+ Name of the Storage Box Subaccount.
234
+ """
235
+ return pulumi.get(self, "name")
236
+
237
+ @name.setter
238
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
239
+ pulumi.set(self, "name", value)
240
+
209
241
  @_builtins.property
210
242
  @pulumi.getter
211
243
  def password(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -265,6 +297,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
265
297
  description: Optional[pulumi.Input[_builtins.str]] = None,
266
298
  home_directory: Optional[pulumi.Input[_builtins.str]] = None,
267
299
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
300
+ name: Optional[pulumi.Input[_builtins.str]] = None,
268
301
  password: Optional[pulumi.Input[_builtins.str]] = None,
269
302
  storage_box_id: Optional[pulumi.Input[_builtins.int]] = None,
270
303
  __props__=None):
@@ -280,6 +313,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
280
313
  main = hcloud.StorageBox("main")
281
314
  team_badger = hcloud.StorageBoxSubaccount("team_badger",
282
315
  storage_box_id=main.id,
316
+ name="badger",
283
317
  home_directory="teams/badger/",
284
318
  password=team_badger_password,
285
319
  access_settings={
@@ -319,6 +353,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
319
353
  :param pulumi.Input[_builtins.str] description: A description of the Storage Box Subaccount.
320
354
  :param pulumi.Input[_builtins.str] home_directory: Home directory of the Storage Box Subaccount. The directory will be created if it doesn't exist yet.
321
355
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
356
+ :param pulumi.Input[_builtins.str] name: Name of the Storage Box Subaccount.
322
357
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
323
358
  :param pulumi.Input[_builtins.int] storage_box_id: ID of the Storage Box.
324
359
  """
@@ -340,6 +375,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
340
375
  main = hcloud.StorageBox("main")
341
376
  team_badger = hcloud.StorageBoxSubaccount("team_badger",
342
377
  storage_box_id=main.id,
378
+ name="badger",
343
379
  home_directory="teams/badger/",
344
380
  password=team_badger_password,
345
381
  access_settings={
@@ -392,6 +428,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
392
428
  description: Optional[pulumi.Input[_builtins.str]] = None,
393
429
  home_directory: Optional[pulumi.Input[_builtins.str]] = None,
394
430
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
431
+ name: Optional[pulumi.Input[_builtins.str]] = None,
395
432
  password: Optional[pulumi.Input[_builtins.str]] = None,
396
433
  storage_box_id: Optional[pulumi.Input[_builtins.int]] = None,
397
434
  __props__=None):
@@ -409,6 +446,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
409
446
  raise TypeError("Missing required property 'home_directory'")
410
447
  __props__.__dict__["home_directory"] = home_directory
411
448
  __props__.__dict__["labels"] = labels
449
+ __props__.__dict__["name"] = name
412
450
  if password is None and not opts.urn:
413
451
  raise TypeError("Missing required property 'password'")
414
452
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
@@ -433,6 +471,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
433
471
  description: Optional[pulumi.Input[_builtins.str]] = None,
434
472
  home_directory: Optional[pulumi.Input[_builtins.str]] = None,
435
473
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
474
+ name: Optional[pulumi.Input[_builtins.str]] = None,
436
475
  password: Optional[pulumi.Input[_builtins.str]] = None,
437
476
  server: Optional[pulumi.Input[_builtins.str]] = None,
438
477
  storage_box_id: Optional[pulumi.Input[_builtins.int]] = None,
@@ -448,6 +487,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
448
487
  :param pulumi.Input[_builtins.str] description: A description of the Storage Box Subaccount.
449
488
  :param pulumi.Input[_builtins.str] home_directory: Home directory of the Storage Box Subaccount. The directory will be created if it doesn't exist yet.
450
489
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
490
+ :param pulumi.Input[_builtins.str] name: Name of the Storage Box Subaccount.
451
491
  :param pulumi.Input[_builtins.str] password: Password of the Storage Box. For more details, see the [Storage Boxes password policy](https://docs.hetzner.cloud/reference/hetzner#storage-boxes-password-policy).
452
492
  :param pulumi.Input[_builtins.str] server: FQDN of the Storage Box Subaccount.
453
493
  :param pulumi.Input[_builtins.int] storage_box_id: ID of the Storage Box.
@@ -461,6 +501,7 @@ class StorageBoxSubaccount(pulumi.CustomResource):
461
501
  __props__.__dict__["description"] = description
462
502
  __props__.__dict__["home_directory"] = home_directory
463
503
  __props__.__dict__["labels"] = labels
504
+ __props__.__dict__["name"] = name
464
505
  __props__.__dict__["password"] = password
465
506
  __props__.__dict__["server"] = server
466
507
  __props__.__dict__["storage_box_id"] = storage_box_id
@@ -499,6 +540,14 @@ class StorageBoxSubaccount(pulumi.CustomResource):
499
540
  """
500
541
  return pulumi.get(self, "labels")
501
542
 
543
+ @_builtins.property
544
+ @pulumi.getter
545
+ def name(self) -> pulumi.Output[_builtins.str]:
546
+ """
547
+ Name of the Storage Box Subaccount.
548
+ """
549
+ return pulumi.get(self, "name")
550
+
502
551
  @_builtins.property
503
552
  @pulumi.getter
504
553
  def password(self) -> pulumi.Output[_builtins.str]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_hcloud
3
- Version: 1.30.0a1768456027
3
+ Version: 1.31.0
4
4
  Summary: A Pulumi package for creating and managing hcloud cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -26,9 +26,9 @@ pulumi_hcloud/get_network.py,sha256=SdKcVx6OFkXNybCUSEQLecSyVVJgwSF0zSMizKiFAP8,
26
26
  pulumi_hcloud/get_networks.py,sha256=sEljEIbMwTb3Na5v3qgn9YyWbKEPpFwalWlND1b9_ps,4476
27
27
  pulumi_hcloud/get_placement_group.py,sha256=LXTivTxHZI-YW3ZEJyJWSmfa-mlFgIg2-9OXk_0VH68,8417
28
28
  pulumi_hcloud/get_placement_groups.py,sha256=-Q9zgSP70Q4RfwsujfLoUQyuJF9-muUBDw9z2NEjK2k,5831
29
- pulumi_hcloud/get_primary_ip.py,sha256=IjChRmmLZ6Qhsfg4ZUQEPyc3Y7IPfvbheEj9-HdgyRE,13129
29
+ pulumi_hcloud/get_primary_ip.py,sha256=uq2g9v5vKpiE0ja05neZUNY0oo5tXo_RdTHWTdd7sIQ,14848
30
30
  pulumi_hcloud/get_primary_ips.py,sha256=ISWAFO2WjDUBAL1lqpyT6sQLsfUeH2lNa0CkM4GGWfg,4531
31
- pulumi_hcloud/get_server.py,sha256=2MzRkZYGoaPxIpkud8mmeb1ADz3qpSfFVlYAsS5PAPE,19603
31
+ pulumi_hcloud/get_server.py,sha256=TrvkUWWgwUZ-CKTzj8pjwQiLTZ3tip5MVfmDtaZWO08,19847
32
32
  pulumi_hcloud/get_server_type.py,sha256=nyFrzzzN6jlMCGzboprEmkP8rHg_iaQOeCbPj3f_wPQ,12634
33
33
  pulumi_hcloud/get_server_types.py,sha256=QPvZsdouhCeVEWAgSOk8aHEN27vPOI_vMtKY8O0FT1w,5065
34
34
  pulumi_hcloud/get_servers.py,sha256=HtAEc6WwuJHUWIl9BTe2SPyXyubDVWuQgCyPhAOm5g0,5674
@@ -37,7 +37,7 @@ pulumi_hcloud/get_ssh_keys.py,sha256=Ez82yqrhr3jkMasP7sJLz7zv9OD_y8PHgD80aG6VMJ0
37
37
  pulumi_hcloud/get_storage_box.py,sha256=t6ZGh1TDBmIsEHg5e87P5nK6KpUUSb_KJpt0vF-OXnI,10520
38
38
  pulumi_hcloud/get_storage_box_snapshot.py,sha256=VTne-MnESRVW62AKhW-vGn66CsbWfBfMZjN1MXF0xpY,8304
39
39
  pulumi_hcloud/get_storage_box_snapshots.py,sha256=Gi3wJeMPQ-6N4wRpyqZmioO6NtZSrQj23Ud_SxHekp4,6120
40
- pulumi_hcloud/get_storage_box_subaccount.py,sha256=bkWIh1_j_clf0mHesna1I_qM7S9yG8Dn5c8Fxg7AXDY,10160
40
+ pulumi_hcloud/get_storage_box_subaccount.py,sha256=2jGDrDsTaJtfKhb1ufNoA0dc25-lLw3fMp4OR_jR1oo,11198
41
41
  pulumi_hcloud/get_storage_box_subaccounts.py,sha256=3SZSDXBW5JQFTTSHTodEt7Tt5z6b3uOpUPExX_g7Sa8,6206
42
42
  pulumi_hcloud/get_storage_box_type.py,sha256=m33hF2ohbe0e7pPSn5b3vNM1VgcBaVQoGdiBPeqMjrg,9262
43
43
  pulumi_hcloud/get_storage_box_types.py,sha256=We99VXLTx-6y5YxJN44sTjjyMt9sjv2eMuCTr0ZBvbo,3404
@@ -56,20 +56,20 @@ pulumi_hcloud/managed_certificate.py,sha256=q6gAyJl00PjDHJjaBs_vvEPt8TAb-Yiczqiv
56
56
  pulumi_hcloud/network.py,sha256=EBySDBb29ONLN6-BuRSvopEZINVfYwMf2aBm3Qh6LoI,17773
57
57
  pulumi_hcloud/network_route.py,sha256=901fDIx0Xu6MDK4bx1BJz46xCvrsru3bO0l5PdB7nm4,14110
58
58
  pulumi_hcloud/network_subnet.py,sha256=uvsqAGEV9Izwx1HgsGYloadkWoAH5CGcZjkiYZYSRKs,17309
59
- pulumi_hcloud/outputs.py,sha256=LxZz_notl5dgaBQWiANuEYZ4kOZ8iWQ6TFKPyX1m_58,165303
59
+ pulumi_hcloud/outputs.py,sha256=hbyRDqOACbpg6m7BLzJN-KZmmd8SLteAIRpWIq0w5-M,166330
60
60
  pulumi_hcloud/placement_group.py,sha256=-gG9gDS9nStdhwbmkMHdxkIIfPdpnDskzejwlYWdtW8,12340
61
- pulumi_hcloud/primary_ip.py,sha256=GE16wjtRWHfg3EFrLi5m2uPxZX3yykfZmD-OpDCLohM,29214
61
+ pulumi_hcloud/primary_ip.py,sha256=jK6AZA_gt17c4TD-XE3SusHS9u3-2BCBhuzs7lgcsHU,35338
62
62
  pulumi_hcloud/provider.py,sha256=FKRmk_72TGxTt3QIAQKXpoHuJQeSRqzX1IEDHxz25xs,11939
63
- pulumi_hcloud/pulumi-plugin.json,sha256=Uz9CK7OE6jd2RuGwXJb12HkwGfdR_Xt91uGyBQqXsP8,83
63
+ pulumi_hcloud/pulumi-plugin.json,sha256=4WNubbCxvCDOmGF9I2XBJSE-X9QiKLfhZMzQyGCxc4w,66
64
64
  pulumi_hcloud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  pulumi_hcloud/rdns.py,sha256=GNvU5uFUQoN4QgbyEmafa0oU73895Azi-bbbIANtpes,22584
66
- pulumi_hcloud/server.py,sha256=qjw56FSxn-WZh0SF0I8sOmokyj10hvL3hjBN5P-R2r0,75248
66
+ pulumi_hcloud/server.py,sha256=lIu3Z_NI0zYaH1-9c3EVlgfSeDP_UFoxV4cySkD9ENE,78344
67
67
  pulumi_hcloud/server_network.py,sha256=0nWzZZ1ruBWMwoXNYcSfpZLT9duPWSZiHBMDzDxrqrI,18717
68
68
  pulumi_hcloud/snapshot.py,sha256=1GqxDdDVTxCLDx1O74P_A09dKTVMaGgNUEh5QXSIj9Y,11633
69
69
  pulumi_hcloud/ssh_key.py,sha256=YHMS5v4gW29CWvkriLQ_IhbNIKTMrDtVhL6N0g5TiTA,13435
70
- pulumi_hcloud/storage_box.py,sha256=M9ryhF-M1aritLw6U6smkJLzIQZaBCcdiRjH4widutY,31839
70
+ pulumi_hcloud/storage_box.py,sha256=vGcPWhnt25USHcljDEQuuKXj_nCQ2mxPLFwMLTLBVQA,32117
71
71
  pulumi_hcloud/storage_box_snapshot.py,sha256=xb-HGFmwiJgQBEQSgOShorx80zuuZrx2FvXSXYtbK6w,14955
72
- pulumi_hcloud/storage_box_subaccount.py,sha256=AJztdd3yDB-GL1IyfzMruUgc1SmOI2MvzBS5RP-PbWU,24325
72
+ pulumi_hcloud/storage_box_subaccount.py,sha256=M4bqMJBz7zQ_vutOR7ojOv8QJhDqsUYKqf4P34jqbcM,26177
73
73
  pulumi_hcloud/uploaded_certificate.py,sha256=tuzpOpXeiRj2tOrcUZPn9VJwf97icq3dwbjxwHnG844,22436
74
74
  pulumi_hcloud/volume.py,sha256=nuBDjOWf1Qg_5V3qM9q26zrbZ198LZAqdDy-ifBbZ9Y,26034
75
75
  pulumi_hcloud/volume_attachment.py,sha256=hcYgM038GtavqfcM4HbMHGwApVozoZXIhKelqln-xcs,11652
@@ -78,7 +78,7 @@ pulumi_hcloud/zone_rrset.py,sha256=lJsPkITtPfFMPhrjA-_L3flcF4hiskYZIG8VBbisjIg,1
78
78
  pulumi_hcloud/config/__init__.py,sha256=XWnQfVtc2oPapjSXXCdORFJvMpXt_SMJQASWdTRoPmc,296
79
79
  pulumi_hcloud/config/__init__.pyi,sha256=ttSEGzCjhU4oZmt2UOBWX60R15QPTttLQtvJA5TrKu8,1190
80
80
  pulumi_hcloud/config/vars.py,sha256=Pxt4RVSMzZsjHU1rMMzmiDvawGbOqxhPDt6BZ1tyuLE,1836
81
- pulumi_hcloud-1.30.0a1768456027.dist-info/METADATA,sha256=1nR8rjoLzbgg4Zu-it80elnJvOLZH60kov8MxoIorrU,2123
82
- pulumi_hcloud-1.30.0a1768456027.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
- pulumi_hcloud-1.30.0a1768456027.dist-info/top_level.txt,sha256=1P62wdJ9bVotT2lSpU9iMUl24bR9TwEGl2JyhNg4Xy8,14
84
- pulumi_hcloud-1.30.0a1768456027.dist-info/RECORD,,
81
+ pulumi_hcloud-1.31.0.dist-info/METADATA,sha256=G4TcnhqMXw72nMFOQ00eWQ0bnw8zIgrzcbqWYyRRlKg,2112
82
+ pulumi_hcloud-1.31.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
+ pulumi_hcloud-1.31.0.dist-info/top_level.txt,sha256=1P62wdJ9bVotT2lSpU9iMUl24bR9TwEGl2JyhNg4Xy8,14
84
+ pulumi_hcloud-1.31.0.dist-info/RECORD,,