From 337067d9dee6acfe8281aee3373d5cb9e724ffb1 Mon Sep 17 00:00:00 2001 From: "Jonas L." Date: Mon, 10 Nov 2025 11:52:37 +0100 Subject: [PATCH] feat: DNS support is now generally available (#727) ##### SUMMARY DNS support is now general available. See https://docs.hetzner.cloud/changelog#2025-11-10-dns-ga for more details. ##### ISSUE TYPE - Feature Pull Request --- changelogs/fragments/dns-support-generally-available.yml | 2 ++ plugins/module_utils/experimental.py | 7 ------- plugins/modules/zone.py | 7 ------- plugins/modules/zone_info.py | 7 ------- plugins/modules/zone_rrset.py | 7 ------- plugins/modules/zone_rrset_info.py | 7 ------- 6 files changed, 2 insertions(+), 35 deletions(-) create mode 100644 changelogs/fragments/dns-support-generally-available.yml diff --git a/changelogs/fragments/dns-support-generally-available.yml b/changelogs/fragments/dns-support-generally-available.yml new file mode 100644 index 0000000..7671d93 --- /dev/null +++ b/changelogs/fragments/dns-support-generally-available.yml @@ -0,0 +1,2 @@ +minor_changes: + - DNS support is now generally available. diff --git a/plugins/module_utils/experimental.py b/plugins/module_utils/experimental.py index 9bc27b0..e253e87 100644 --- a/plugins/module_utils/experimental.py +++ b/plugins/module_utils/experimental.py @@ -32,10 +32,3 @@ def experimental_warning_function(product: str, maturity: str, url: str): module.warn(message) return fn - - -dns_experimental_warning = experimental_warning_function( - "DNS API", - "in beta", - "https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta", -) diff --git a/plugins/modules/zone.py b/plugins/modules/zone.py index 96dafc0..8d1cc24 100644 --- a/plugins/modules/zone.py +++ b/plugins/modules/zone.py @@ -15,8 +15,6 @@ short_description: Create and manage DNS Zone on the Hetzner Cloud. description: - Create, update and delete DNS Zone on the Hetzner Cloud. - See the L(Zones API documentation,https://docs.hetzner.cloud/reference/cloud#zones) for more details. - - B(Experimental:) DNS API is in beta, breaking changes may occur within minor releases. - See https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta for more details. author: - Jonas Lammler (@jooola) @@ -259,7 +257,6 @@ hcloud_zone: from ansible.module_utils.basic import AnsibleModule -from ..module_utils.experimental import dns_experimental_warning from ..module_utils.hcloud import AnsibleHCloud from ..module_utils.vendor.hcloud import APIException, HCloudException from ..module_utils.vendor.hcloud.actions import BoundAction @@ -271,10 +268,6 @@ class AnsibleHCloudZone(AnsibleHCloud): hcloud_zone: BoundZone | None = None - def __init__(self, module: AnsibleModule): - dns_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): return { "id": self.hcloud_zone.id, diff --git a/plugins/modules/zone_info.py b/plugins/modules/zone_info.py index fc18175..0ed7a7e 100644 --- a/plugins/modules/zone_info.py +++ b/plugins/modules/zone_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about your Hetzner Cloud Zones. description: - Gather infos about your Hetzner Cloud Zones. - See the L(Zones API documentation,https://docs.hetzner.cloud/reference/cloud#zones) for more details. - - B(Experimental:) DNS API is in beta, breaking changes may occur within minor releases. - See https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta for more details. author: - Jonas Lammler (@jooola) @@ -158,7 +156,6 @@ hcloud_zone_info: from ansible.module_utils.basic import AnsibleModule -from ..module_utils.experimental import dns_experimental_warning from ..module_utils.hcloud import AnsibleHCloud from ..module_utils.vendor.hcloud import APIException, HCloudException from ..module_utils.vendor.hcloud.zones import BoundZone, ZonePrimaryNameserver @@ -169,10 +166,6 @@ class AnsibleHCloudZoneInfo(AnsibleHCloud): hcloud_zone_info: list[BoundZone] | None = None - def __init__(self, module: AnsibleModule): - dns_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): tmp = [] diff --git a/plugins/modules/zone_rrset.py b/plugins/modules/zone_rrset.py index aba1e86..795f270 100644 --- a/plugins/modules/zone_rrset.py +++ b/plugins/modules/zone_rrset.py @@ -15,8 +15,6 @@ short_description: Create and manage Zone RRSets on the Hetzner Cloud. description: - Create, update and delete Zone RRSets on the Hetzner Cloud. - See the L(Zone RRSets API documentation,https://docs.hetzner.cloud/reference/cloud#zone-rrsets) for more details. - - B(Experimental:) DNS API is in beta, breaking changes may occur within minor releases. - See https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta for more details. author: - Jonas Lammler (@jooola) @@ -174,7 +172,6 @@ from typing import Literal from ansible.module_utils.basic import AnsibleModule -from ..module_utils.experimental import dns_experimental_warning from ..module_utils.hcloud import AnsibleHCloud from ..module_utils.vendor.hcloud import APIException, HCloudException from ..module_utils.vendor.hcloud.actions import BoundAction @@ -186,10 +183,6 @@ class AnsibleHCloudZoneRRSet(AnsibleHCloud): hcloud_zone_rrset: BoundZoneRRSet | None = None - def __init__(self, module: AnsibleModule): - dns_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): return { # Do not use the zone name to prevent a request to the API. diff --git a/plugins/modules/zone_rrset_info.py b/plugins/modules/zone_rrset_info.py index 722a682..30cc039 100644 --- a/plugins/modules/zone_rrset_info.py +++ b/plugins/modules/zone_rrset_info.py @@ -15,8 +15,6 @@ short_description: Gather infos about your Hetzner Cloud Zone RRSets. description: - Gather infos about your Hetzner Cloud Zone RRSets. - See the L(Zone RRSets API documentation,https://docs.hetzner.cloud/reference/cloud#zone-rrsets) for more details. - - B(Experimental:) DNS API is in beta, breaking changes may occur within minor releases. - See https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta for more details. author: - Jonas Lammler (@jooola) @@ -120,7 +118,6 @@ hcloud_zone_rrset_info: from ansible.module_utils.basic import AnsibleModule -from ..module_utils.experimental import dns_experimental_warning from ..module_utils.hcloud import AnsibleHCloud from ..module_utils.vendor.hcloud import APIException, HCloudException from ..module_utils.vendor.hcloud.zones import BoundZoneRRSet, Zone, ZoneRecord @@ -131,10 +128,6 @@ class AnsibleHCloudZoneRRSetInfo(AnsibleHCloud): hcloud_zone_rrset_info: list[BoundZoneRRSet] | None = None - def __init__(self, module: AnsibleModule): - dns_experimental_warning(module) - super().__init__(module) - def _prepare_result(self): tmp = []