From d52e86d9445ea8bc355e1fff895fce1e07ad5701 Mon Sep 17 00:00:00 2001 From: phm07 <22707808+phm07@users.noreply.github.com> Date: Fri, 23 Jan 2026 16:29:00 +0100 Subject: [PATCH] feat: Storage Box support no longer experimental (#793) ##### SUMMARY Storage Box support is no longer experimental and the warnings can be removed. Closes #756 --------- Co-authored-by: jo --- .../fragments/storage-box-generally-available.yml | 11 +++++++++++ plugins/module_utils/_experimental.py | 7 ------- plugins/modules/storage_box.py | 7 ------- plugins/modules/storage_box_info.py | 7 ------- plugins/modules/storage_box_snapshot.py | 7 ------- plugins/modules/storage_box_snapshot_info.py | 7 ------- plugins/modules/storage_box_subaccount.py | 7 ------- plugins/modules/storage_box_subaccount_info.py | 7 ------- plugins/modules/storage_box_type_info.py | 7 ------- 9 files changed, 11 insertions(+), 56 deletions(-) create mode 100644 changelogs/fragments/storage-box-generally-available.yml diff --git a/changelogs/fragments/storage-box-generally-available.yml b/changelogs/fragments/storage-box-generally-available.yml new file mode 100644 index 0000000..137c961 --- /dev/null +++ b/changelogs/fragments/storage-box-generally-available.yml @@ -0,0 +1,11 @@ +release_summary: | + The experimental phase for Storage Boxes is over, and Storage Boxes support is now generally available. + +minor_changes: + - storage_box - The module is no longer marked as experimental. + - storage_box_info - The module is no longer marked as experimental. + - storage_box_snapshot - The module is no longer marked as experimental. + - storage_box_snapshot_info - The module is no longer marked as experimental. + - storage_box_subaccount - The module is no longer marked as experimental. + - storage_box_subaccount_info - The module is no longer marked as experimental. + - storage_box_type_info - The module is no longer marked as experimental. diff --git a/plugins/module_utils/_experimental.py b/plugins/module_utils/_experimental.py index 43b3d92..fe4c59d 100644 --- a/plugins/module_utils/_experimental.py +++ b/plugins/module_utils/_experimental.py @@ -35,10 +35,3 @@ def experimental_warning_function(product: str, maturity: str, url: str): module.warn(message) return fn - - -storage_box_experimental_warning = experimental_warning_function( - "Storage Box support", - "experimental", - "https://github.com/ansible-collections/hetzner.hcloud/issues/756", -) diff --git a/plugins/modules/storage_box.py b/plugins/modules/storage_box.py index 24e1822..6abbe61 100644 --- a/plugins/modules/storage_box.py +++ b/plugins/modules/storage_box.py @@ -15,8 +15,6 @@ short_description: Create and manage Storage Boxes in Hetzner. description: - Create, update and delete Storage Boxes in Hetzner. - See the L(Storage Boxes API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-boxes) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -346,7 +344,6 @@ hcloud_storage_box: from ..module_utils import _storage_box from ..module_utils._base import AnsibleHCloud, AnsibleModule from ..module_utils._client import client_resource_not_found -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.locations import Location from ..module_utils._vendor.hcloud.storage_box_types import StorageBoxType @@ -363,10 +360,6 @@ class AnsibleStorageBox(AnsibleHCloud): storage_box: BoundStorageBox | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): if self.storage_box is not None: return _storage_box.prepare_result(self.storage_box) diff --git a/plugins/modules/storage_box_info.py b/plugins/modules/storage_box_info.py index e2dd824..a24146c 100644 --- a/plugins/modules/storage_box_info.py +++ b/plugins/modules/storage_box_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about Hetzner Storage Boxes. description: - Gather infos about Hetzner Storage Boxes. - See the L(Storage Boxes API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-boxes) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -187,7 +185,6 @@ from ansible.module_utils.basic import AnsibleModule from ..module_utils import _storage_box from ..module_utils._base import AnsibleHCloud -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_boxes import ( BoundStorageBox, @@ -199,10 +196,6 @@ class AnsibleStorageBox(AnsibleHCloud): storage_box: list[BoundStorageBox] | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): result = [] for o in self.storage_box or []: diff --git a/plugins/modules/storage_box_snapshot.py b/plugins/modules/storage_box_snapshot.py index 451849f..846a2e1 100644 --- a/plugins/modules/storage_box_snapshot.py +++ b/plugins/modules/storage_box_snapshot.py @@ -15,8 +15,6 @@ short_description: Create and manage Storage Box Snapshots in Hetzner. description: - Create, update and delete Storage Box Snapshots in Hetzner. - See the L(Storage Box Snapshots API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-box-snapshots) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -142,7 +140,6 @@ hcloud_storage_box_snapshot: from ..module_utils import _storage_box, _storage_box_snapshot from ..module_utils._base import AnsibleHCloud, AnsibleModule -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_boxes import ( BoundStorageBox, @@ -156,10 +153,6 @@ class AnsibleStorageBoxSnapshot(AnsibleHCloud): storage_box: BoundStorageBox | None = None storage_box_snapshot: BoundStorageBoxSnapshot | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): if self.storage_box_snapshot is None: return {} diff --git a/plugins/modules/storage_box_snapshot_info.py b/plugins/modules/storage_box_snapshot_info.py index 83dc61b..7b587b2 100644 --- a/plugins/modules/storage_box_snapshot_info.py +++ b/plugins/modules/storage_box_snapshot_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about Hetzner Storage Box Snapshots. description: - Gather infos about Hetzner Storage Box Snapshots. - See the L(Storage Boxes API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-boxes) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -136,7 +134,6 @@ hcloud_storage_box_snapshot_info: from ..module_utils import _storage_box, _storage_box_snapshot from ..module_utils._base import AnsibleHCloud, AnsibleModule -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_boxes import ( BoundStorageBox, @@ -150,10 +147,6 @@ class AnsibleStorageBoxSnapshotInfo(AnsibleHCloud): storage_box: BoundStorageBox | None = None storage_box_snapshots: list[BoundStorageBoxSnapshot] | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): result = [] diff --git a/plugins/modules/storage_box_subaccount.py b/plugins/modules/storage_box_subaccount.py index 014ac78..e447e7d 100644 --- a/plugins/modules/storage_box_subaccount.py +++ b/plugins/modules/storage_box_subaccount.py @@ -15,8 +15,6 @@ short_description: Create and manage Storage Box Subaccounts in Hetzner. description: - Create, update and delete Storage Box Subaccounts in Hetzner. - See the L(Storage Box Subaccounts API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -225,7 +223,6 @@ hcloud_storage_box_subaccount: from ..module_utils import _storage_box, _storage_box_subaccount from ..module_utils._base import AnsibleHCloud, AnsibleModule from ..module_utils._client import client_resource_not_found -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_boxes import ( BoundStorageBox, @@ -240,10 +237,6 @@ class AnsibleStorageBoxSubaccount(AnsibleHCloud): storage_box: BoundStorageBox | None = None storage_box_subaccount: BoundStorageBoxSubaccount | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): if self.storage_box_subaccount is None: return {} diff --git a/plugins/modules/storage_box_subaccount_info.py b/plugins/modules/storage_box_subaccount_info.py index a429142..386644a 100644 --- a/plugins/modules/storage_box_subaccount_info.py +++ b/plugins/modules/storage_box_subaccount_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about Hetzner Storage Box Subaccounts. description: - Gather infos about Hetzner Storage Box Subaccounts. - See the L(Storage Box Subaccounts API documentation,https://docs.hetzner.cloud/reference/hetzner#storage-box-subaccounts) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -160,7 +158,6 @@ from ansible.module_utils.basic import AnsibleModule from ..module_utils import _storage_box, _storage_box_subaccount from ..module_utils._base import AnsibleHCloud -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_boxes import ( BoundStorageBox, @@ -174,10 +171,6 @@ class AnsibleStorageBoxSubaccountInfo(AnsibleHCloud): storage_box: BoundStorageBox | None = None storage_box_subaccounts: list[BoundStorageBoxSubaccount] | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): result = [] diff --git a/plugins/modules/storage_box_type_info.py b/plugins/modules/storage_box_type_info.py index be53c5f..504b1b5 100644 --- a/plugins/modules/storage_box_type_info.py +++ b/plugins/modules/storage_box_type_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about Hetzner Storage Box Types. description: - Gather infos about available Hetzner Storage Box Types. - See the L(Storage Box Types documentation,https://docs.hetzner.cloud/reference/hetzner#storage-box-types) for more details. - - B(Experimental:) Storage Box support is experimental, breaking changes may occur within minor releases. - See https://github.com/ansible-collections/hetzner.hcloud/issues/756 for more details. author: - Jonas Lammler (@jooola) @@ -111,7 +109,6 @@ hcloud_storage_box_type_info: from ansible.module_utils.basic import AnsibleModule from ..module_utils._base import AnsibleHCloud -from ..module_utils._experimental import storage_box_experimental_warning from ..module_utils._vendor.hcloud import HCloudException from ..module_utils._vendor.hcloud.storage_box_types import BoundStorageBoxType @@ -121,10 +118,6 @@ class AnsibleStorageBoxTypeInfo(AnsibleHCloud): storage_box_types: list[BoundStorageBoxType] | None = None - def __init__(self, module: AnsibleModule): - storage_box_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): result = []