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.
- pulumi_hcloud/get_primary_ip.py +37 -2
- pulumi_hcloud/get_server.py +2 -1
- pulumi_hcloud/get_storage_box_subaccount.py +25 -1
- pulumi_hcloud/outputs.py +20 -0
- pulumi_hcloud/primary_ip.py +89 -7
- pulumi_hcloud/pulumi-plugin.json +1 -1
- pulumi_hcloud/server.py +39 -4
- pulumi_hcloud/storage_box.py +27 -7
- pulumi_hcloud/storage_box_subaccount.py +50 -1
- {pulumi_hcloud-1.30.0a1768456027.dist-info → pulumi_hcloud-1.31.0.dist-info}/METADATA +1 -1
- {pulumi_hcloud-1.30.0a1768456027.dist-info → pulumi_hcloud-1.31.0.dist-info}/RECORD +13 -13
- {pulumi_hcloud-1.30.0a1768456027.dist-info → pulumi_hcloud-1.31.0.dist-info}/WHEEL +0 -0
- {pulumi_hcloud-1.30.0a1768456027.dist-info → pulumi_hcloud-1.31.0.dist-info}/top_level.txt +0 -0
pulumi_hcloud/get_primary_ip.py
CHANGED
|
@@ -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')))
|
pulumi_hcloud/get_server.py
CHANGED
|
@@ -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:
|
pulumi_hcloud/primary_ip.py
CHANGED
|
@@ -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]:
|
pulumi_hcloud/pulumi-plugin.json
CHANGED
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
pulumi_hcloud/storage_box.py
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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]:
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
82
|
-
pulumi_hcloud-1.
|
|
83
|
-
pulumi_hcloud-1.
|
|
84
|
-
pulumi_hcloud-1.
|
|
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,,
|
|
File without changes
|
|
File without changes
|