From 7f535fef449744661e517c6cab64cc3bffdebc25 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 23 Jan 2026 13:37:41 +0100
Subject: [PATCH] chore(deps): update dependency hcloud to v2.16.0 (#792)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.15.0` → `2.16.0` |

|

|
---
### Release Notes
hetznercloud/hcloud-python (hcloud)
###
[`v2.16.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v2160)
[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.15.0...v2.16.0)
##### Storage Boxes support is now generally available
The experimental phase for Storage Boxes is over, and Storage Boxes
support is now generally available.
##### Features
- **servers**: allow setting user\_data for rebuild
([#627](https://redirect.github.com/hetznercloud/hcloud-python/issues/627))
- Storage Box support no longer experimental
([#626](https://redirect.github.com/hetznercloud/hcloud-python/issues/626))
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ansible-collections/hetzner.hcloud).
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo
---
.../module_utils/_vendor/hcloud/_version.py | 2 +-
.../_vendor/hcloud/servers/client.py | 9 +-
.../hcloud/storage_box_types/client.py | 15 --
.../_vendor/hcloud/storage_boxes/client.py | 197 ------------------
scripts/vendor.py | 2 +-
5 files changed, 10 insertions(+), 215 deletions(-)
diff --git a/plugins/module_utils/_vendor/hcloud/_version.py b/plugins/module_utils/_vendor/hcloud/_version.py
index 8a06bd2..aa056a4 100644
--- a/plugins/module_utils/_vendor/hcloud/_version.py
+++ b/plugins/module_utils/_vendor/hcloud/_version.py
@@ -1,3 +1,3 @@
from __future__ import annotations
-__version__ = "2.15.0" # x-releaser-pleaser-version
+__version__ = "2.16.0" # x-releaser-pleaser-version
diff --git a/plugins/module_utils/_vendor/hcloud/servers/client.py b/plugins/module_utils/_vendor/hcloud/servers/client.py
index 49cc794..61cfaab 100644
--- a/plugins/module_utils/_vendor/hcloud/servers/client.py
+++ b/plugins/module_utils/_vendor/hcloud/servers/client.py
@@ -361,14 +361,16 @@ class BoundServer(BoundModelBase[Server], Server):
def rebuild(
self,
image: Image | BoundImage,
+ user_data: str | None = None,
# pylint: disable=unused-argument
**kwargs: Any,
) -> RebuildResponse:
"""Rebuilds a server overwriting its disk with the content of an image, thereby destroying all data on the target server.
:param image: Image to use for the rebuilt server
+ :param user_data: Cloud-Init user data to use during Server rebuild (optional)
"""
- return self._client.rebuild(self, image=image)
+ return self._client.rebuild(self, image=image, user_data=user_data)
def change_type(
self,
@@ -1039,6 +1041,7 @@ class ServersClient(
self,
server: Server | BoundServer,
image: Image | BoundImage,
+ user_data: str | None = None,
# pylint: disable=unused-argument
**kwargs: Any,
) -> RebuildResponse:
@@ -1046,8 +1049,12 @@ class ServersClient(
:param server: Server to rebuild
:param image: Image to use for the rebuilt server
+ :param user_data: Cloud-Init user data to use during Server rebuild (optional)
"""
data: dict[str, Any] = {"image": image.id_or_name}
+ if user_data is not None:
+ data["user_data"] = user_data
+
response = self._client.request(
url=f"{self._base_url}/{server.id}/actions/rebuild",
method="POST",
diff --git a/plugins/module_utils/_vendor/hcloud/storage_box_types/client.py b/plugins/module_utils/_vendor/hcloud/storage_box_types/client.py
index 25c1e89..20e8208 100644
--- a/plugins/module_utils/_vendor/hcloud/storage_box_types/client.py
+++ b/plugins/module_utils/_vendor/hcloud/storage_box_types/client.py
@@ -31,9 +31,6 @@ class StorageBoxTypesClient(ResourceClientBase):
A client for the Storage Box Types API.
See https://docs.hetzner.cloud/reference/hetzner#storage-box-types.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
_base_url = "/storage_box_types"
@@ -49,9 +46,6 @@ class StorageBoxTypesClient(ResourceClientBase):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-types-get-a-storage-box-type
:param id: ID of the Storage Box Type.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="GET",
@@ -66,9 +60,6 @@ class StorageBoxTypesClient(ResourceClientBase):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-types-list-storage-box-types
:param name: Name of the Storage Box Type.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_first_by(self.get_list, name=name)
@@ -86,9 +77,6 @@ class StorageBoxTypesClient(ResourceClientBase):
:param name: Name of the Storage Box Type.
:param page: Page number to return.
:param per_page: Maximum number of entries returned per page.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
params: dict[str, Any] = {}
if name is not None:
@@ -120,9 +108,6 @@ class StorageBoxTypesClient(ResourceClientBase):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-types-list-storage-box-types
:param name: Name of the Storage Box Type.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._iter_pages(
self.get_list,
diff --git a/plugins/module_utils/_vendor/hcloud/storage_boxes/client.py b/plugins/module_utils/_vendor/hcloud/storage_boxes/client.py
index e0c7679..e1ca5c4 100644
--- a/plugins/module_utils/_vendor/hcloud/storage_boxes/client.py
+++ b/plugins/module_utils/_vendor/hcloud/storage_boxes/client.py
@@ -98,9 +98,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param sort: Sort Actions by field and direction.
:param page: Page number to get.
:param per_page: Maximum number of Actions returned per page.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_actions_list(
self,
@@ -123,9 +120,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param status: Filter the actions by status. The response will only contain actions matching the specified statuses.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_actions(
self,
@@ -146,9 +140,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param name: Name of the Storage Box.
:param labels: User-defined labels (key/value pairs) for the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.update(
self,
@@ -161,9 +152,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
Deletes a Storage Box.
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes-delete-a-storage-box
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.delete(self)
@@ -180,9 +168,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes-list-folders-of-a-storage-box
:param path: Relative path to list the folders from.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_folders(
self,
@@ -200,9 +185,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-change-protection
:param delete: Prevents the Storage Box from being deleted.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.change_protection(
self,
@@ -219,9 +201,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-change-type
:param storage_box_type: Storage Box Type to change to.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.change_type(
self,
@@ -238,9 +217,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-reset-password
:param password: New password.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.reset_password(
self,
@@ -257,9 +233,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-update-access-settings
:param access_settings: New access settings for the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.update_access_settings(
self,
@@ -276,9 +249,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-rollback-snapshot
:param snapshot: Snapshot to rollback to.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.rollback_snapshot(
self,
@@ -292,9 +262,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
Disable the snapshot plan of a Storage Box.
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-disable-snapshot-plan
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.disable_snapshot_plan(self)
@@ -308,9 +275,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-enable-snapshot-plan
:param snapshot_plan: Snapshot Plan to enable.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.enable_snapshot_plan(
self,
@@ -330,9 +294,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-snapshots-get-a-snapshot
:param id: ID of the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_snapshot_by_id(self, id=id)
@@ -346,9 +307,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-snapshots-list-snapshots
:param name: Name of the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_snapshot_by_name(self, name=name)
@@ -369,9 +327,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param is_automatic: Filter wether the snapshot was made by a Snapshot Plan.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_snapshot_list(
self,
@@ -398,9 +353,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param is_automatic: Filter whether the snapshot was made by a Snapshot Plan.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_snapshot_all(
self,
@@ -423,9 +375,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param description: Description of the Snapshot.
:param labels: User-defined labels (key/value pairs) for the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.create_snapshot(
self,
@@ -446,9 +395,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts-get-a-subaccount
:param id: ID of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_subaccount_by_id(self, id=id)
@@ -462,9 +408,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts-list-subaccounts
:param name: Name of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_subaccount_by_name(self, name=name)
@@ -478,9 +421,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts-list-subaccounts
:param username: User name of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_subaccount_by_username(self, username=username)
@@ -501,9 +441,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param username: Filter resources by their username. The response will only contain the resources matching exactly the specified username.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_subaccount_list(
self,
@@ -530,9 +467,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param username: Filter resources by their username. The response will only contain the resources matching exactly the specified username.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.get_subaccount_all(
self,
@@ -564,9 +498,6 @@ class BoundStorageBox(BoundModelBase[StorageBox], StorageBox):
:param access_settings: Access settings of the Subaccount.
:param description: Description of the Subaccount.
:param labels: User-defined labels (key/value pairs) for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.create_subaccount(
self,
@@ -623,9 +554,6 @@ class BoundStorageBoxSnapshot(BoundModelBase[StorageBoxSnapshot], StorageBoxSnap
:param description: Description of the Snapshot.
:param labels: User-defined labels (key/value pairs) for the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.update_snapshot(
self,
@@ -640,9 +568,6 @@ class BoundStorageBoxSnapshot(BoundModelBase[StorageBoxSnapshot], StorageBoxSnap
Deletes a Storage Box Snapshot.
See https://docs.hetzner.cloud/reference/hetzner#storage-box-snapshots-delete-a-snapshot
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.delete_snapshot(self)
@@ -695,9 +620,6 @@ class BoundStorageBoxSubaccount(
:param name: Name of the Subaccount.
:param description: Description of the Subaccount.
:param labels: User-defined labels (key/value pairs) for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.update_subaccount(
self,
@@ -713,9 +635,6 @@ class BoundStorageBoxSubaccount(
Deletes a Storage Box Subaccount.
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts-delete-a-subaccount
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.delete_subaccount(self)
@@ -729,9 +648,6 @@ class BoundStorageBoxSubaccount(
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccount-actions-change-home-directory
:param home_directory: Home directory for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.change_subaccount_home_directory(
self, home_directory=home_directory
@@ -748,8 +664,6 @@ class BoundStorageBoxSubaccount(
:param password: Password for the Subaccount.
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.reset_subaccount_password(self, password=password)
@@ -763,9 +677,6 @@ class BoundStorageBoxSubaccount(
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccount-actions-update-access-settings
:param access_settings: Access settings for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._client.update_subaccount_access_settings(
self,
@@ -796,9 +707,6 @@ class StorageBoxesClient(
A client for the Storage Boxes API.
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
_base_url = "/storage_boxes"
@@ -821,9 +729,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes-get-a-storage-box
:param id: ID of the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="GET",
@@ -838,9 +743,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes-list-storage-boxes
:param name: Name of the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_first_by(self.get_list, name=name)
@@ -863,9 +765,6 @@ class StorageBoxesClient(
:param sort: Sort resources by field and direction.
:param page: Page number to return.
:param per_page: Maximum number of entries returned per page.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
params: dict[str, Any] = {}
if name is not None:
@@ -904,9 +803,6 @@ class StorageBoxesClient(
:param name: Name of the Storage Box.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._iter_pages(
self.get_list,
@@ -938,9 +834,6 @@ class StorageBoxesClient(
:param ssh_keys: SSH public keys of the Storage Box.
:param access_settings: Access settings of the Storage Box.
:param labels: User-defined labels (key/value pairs) for the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {
"name": name,
@@ -984,9 +877,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param name: Name of the Storage Box.
:param labels: User-defined labels (key/value pairs) for the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {}
if name is not None:
@@ -1012,9 +902,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-boxes-delete-a-storage-box
:param storage_box: Storage Box to delete.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="DELETE",
@@ -1040,9 +927,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to list the folders from.
:param path: Relative path to list the folders from.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
params: dict[str, Any] = {}
if path is not None:
@@ -1075,9 +959,6 @@ class StorageBoxesClient(
:param sort: Sort Actions by field and direction.
:param page: Page number to get.
:param per_page: Maximum number of Actions returned per page.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_actions_list(
f"{self._base_url}/{storage_box.id}",
@@ -1102,9 +983,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Actions for.
:param status: Filter the actions by status. The response will only contain actions matching the specified statuses.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._iter_pages(
self.get_actions_list,
@@ -1126,9 +1004,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param delete: Prevents the Storage Box from being deleted.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {}
if delete is not None:
@@ -1153,9 +1028,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param storage_box_type: Storage Box Type to change to.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {
"storage_box_type": storage_box_type.id_or_name,
@@ -1180,9 +1052,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param password: New password.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {
"password": password,
@@ -1207,9 +1076,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param access_settings: New access settings for the Storage Box.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = access_settings.to_payload()
@@ -1232,9 +1098,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param snapshot: Snapshot to rollback to.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {
"snapshot": snapshot.id_or_name,
@@ -1257,9 +1120,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-box-actions-disable-snapshot-plan
:param storage_box: Storage Box to update.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="POST",
@@ -1279,9 +1139,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to update.
:param snapshot_plan: Snapshot Plan to enable.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = snapshot_plan.to_payload()
@@ -1307,9 +1164,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Snapshot from.
:param id: ID of the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="GET",
@@ -1329,9 +1183,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Snapshot from.
:param name: Name of the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_first_by(self.get_snapshot_list, storage_box, name=name)
@@ -1354,9 +1205,6 @@ class StorageBoxesClient(
:param is_automatic: Filter whether the snapshot was made by a Snapshot Plan.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
params: dict[str, Any] = {}
if name is not None:
@@ -1399,9 +1247,6 @@ class StorageBoxesClient(
:param is_automatic: Filter whether the snapshot was made by a Snapshot Plan.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
# The endpoint does not have pagination, forward to the list method.
result, _ = self.get_snapshot_list(
@@ -1428,9 +1273,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to create a Snapshot from.
:param description: Description of the Snapshot.
:param labels: User-defined labels (key/value pairs) for the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {}
if description is not None:
@@ -1468,9 +1310,6 @@ class StorageBoxesClient(
:param snapshot: Storage Box Snapshot to update.
:param description: Description of the Snapshot.
:param labels: User-defined labels (key/value pairs) for the Snapshot.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if snapshot.storage_box is None:
raise ValueError("snapshot storage_box property is none")
@@ -1498,9 +1337,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-box-snapshots-delete-a-snapshot
:param snapshot: Storage Box Snapshot to delete.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if snapshot.storage_box is None:
raise ValueError("snapshot storage_box property is none")
@@ -1528,9 +1364,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Subaccount from.
:param id: ID of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
response = self._client.request(
method="GET",
@@ -1550,9 +1383,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Subaccount from.
:param name: Name of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_first_by(
self.get_subaccount_list,
@@ -1572,9 +1402,6 @@ class StorageBoxesClient(
:param storage_box: Storage Box to get the Subaccount from.
:param username: User name of the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
return self._get_first_by(
self.get_subaccount_list,
@@ -1601,9 +1428,6 @@ class StorageBoxesClient(
:param username: Filter resources by their username. The response will only contain the resources matching exactly the specified username.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
params: dict[str, Any] = {}
if name is not None:
@@ -1647,9 +1471,6 @@ class StorageBoxesClient(
:param username: Filter resources by their username. The response will only contain the resources matching exactly the specified username.
:param label_selector: Filter resources by labels. The response will only contain resources matching the label selector.
:param sort: Sort resources by field and direction.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
# The endpoint does not have pagination, forward to the list method.
result, _ = self.get_subaccount_list(
@@ -1684,9 +1505,6 @@ class StorageBoxesClient(
:param access_settings: Access settings of the Subaccount.
:param description: Description of the Subaccount.
:param labels: User-defined labels (key/value pairs) for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
data: dict[str, Any] = {
"home_directory": home_directory,
@@ -1733,9 +1551,6 @@ class StorageBoxesClient(
:param name: Name of the Subaccount.
:param description: Description of the Subaccount.
:param labels: User-defined labels (key/value pairs) for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if subaccount.storage_box is None:
raise ValueError("subaccount storage_box property is none")
@@ -1765,9 +1580,6 @@ class StorageBoxesClient(
See https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts-delete-a-subaccount
:param subaccount: Storage Box Subaccount to delete.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if subaccount.storage_box is None:
raise ValueError("subaccount storage_box property is none")
@@ -1792,9 +1604,6 @@ class StorageBoxesClient(
:param subaccount: Storage Box Subaccount to update.
:param home_directory: Home directory for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if subaccount.storage_box is None:
raise ValueError("subaccount storage_box property is none")
@@ -1822,9 +1631,6 @@ class StorageBoxesClient(
:param subaccount: Storage Box Subaccount to update.
:param password: Password for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if subaccount.storage_box is None:
raise ValueError("subaccount storage_box property is none")
@@ -1852,9 +1658,6 @@ class StorageBoxesClient(
:param subaccount: Storage Box Subaccount to update.
:param access_settings: Access settings for the Subaccount.
-
- Experimental:
- Storage Box support is experimental, breaking changes may occur within minor releases.
"""
if subaccount.storage_box is None:
raise ValueError("subaccount storage_box property is none")
diff --git a/scripts/vendor.py b/scripts/vendor.py
index a9e630c..b6cb1b9 100755
--- a/scripts/vendor.py
+++ b/scripts/vendor.py
@@ -22,7 +22,7 @@ from textwrap import dedent
logger = logging.getLogger("vendor")
HCLOUD_SOURCE_URL = "https://github.com/hetznercloud/hcloud-python"
-HCLOUD_VERSION = "v2.15.0"
+HCLOUD_VERSION = "v2.16.0"
HCLOUD_VENDOR_PATH = "plugins/module_utils/_vendor/hcloud"