1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00
hetzner.hcloud/plugins/module_utils/experimental.py
Jonas L. 36053c7ee8
feat: warn when experimental features are used (#669)
##### SUMMARY

- Document how users can learn about experimental features.
- Document how developers can release experimental features.
- Log a warning when experimental features are being used.

##### ISSUE TYPE

- Feature Pull Request
2025-07-21 11:03:31 +02:00

31 lines
967 B
Python

# Copyright: (c) 2025, Hetzner Cloud GmbH <info@hetzner-cloud.de>
from __future__ import annotations
from .hcloud import AnsibleModule
def experimental_warning_function(product: str, url: str):
"""
Create a reusable experimental warning function.
Usage:
product_experimental_warning = experimental_warning_function(
"Product", "https://docs.hetzner.cloud/changelog#new-product"
)
class AnsibleProduct(AnsibleHCloud):
def __init__(self, module: AnsibleModule):
product_experimental_warning(module)
super().__init__(module)
:param product: Name of the experimental product.
:param url: Changelog URL announcing the experimental product.
"""
message = f"Experimental: {product} is experimental, breaking changes may occur within minor releases. See {url} for more details."
def fn(module: AnsibleModule):
module.warn(message)
return fn