1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 16:11:49 +00:00
Commit graph

265 commits

Author SHA1 Message Date
Hetzner Cloud Bot
b7f476a642 chore(main): release 6.4.0 2026-01-05 16:44:30 +01:00
Jonas L.
10c41f032b
feat: deprecate datacenter in primary ips and servers (#773)
##### SUMMARY

Deprecate datacenter in `primary ips` and `servers`.

See
https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.
2026-01-05 16:44:04 +01:00
renovate[bot]
af3e9f4bf2
chore(deps): update dependency hcloud to v2.13.0 (#776)
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.12.0` -> `2.13.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.13.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.12.0/2.13.0?slim=true)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.13.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v2130)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.12.0...v2.13.0)

##### Features

- add per primary ip actions list operations
([#&#8203;608](https://redirect.github.com/hetznercloud/hcloud-python/issues/608))
- deprecate datacenter in `primary ips` and `servers`
([#&#8203;609](https://redirect.github.com/hetznercloud/hcloud-python/issues/609))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-12-19 19:50:01 +01:00
Jonas L.
f204b21ee0
docs: do not use type: complex for return values (#774)
##### SUMMARY

Improve return documentation by documenting the real type of the return
values.
2025-12-17 15:57:40 +01:00
Jonas L.
10c0e14d9d
refactor: fix primary ip module need_reload default value (#772)
##### SUMMARY

Related to #771
2025-12-16 16:59:28 +01:00
Jonas L.
b4616f3af8
refactor: modernize floating_ip and primary_ip modules (#771)
##### SUMMARY

Use the latest best practices for modules, and prepare for the upcoming
changes.
2025-12-16 16:13:31 +01:00
Hetzner Cloud Bot
74878eebe9
chore(main): release 6.3.0 (#763)
🤖 I have created a release *beep* *boop*
---


##
[6.3.0](https://github.com/ansible-collections/hetzner.hcloud/compare/6.2.1...6.3.0)
(2025-12-10)


### Features

* add support for Storage Boxes
([#676](https://github.com/ansible-collections/hetzner.hcloud/issues/676))
([5394c6f](5394c6f246))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-12-10 13:24:08 +01:00
Jonas L.
5394c6f246
feat: add support for Storage Boxes (#676)
##### SUMMARY

We collect all changes for the Storage Box support in this PR. It will
only be merged when everything is implemented through smaller pull
requests targeting the `storage-boxes` branch.

---------

Co-authored-by: Julian Tölle <julian.toelle@hetzner-cloud.de>
2025-12-10 13:18:36 +01:00
Julian Tölle
bc61715c92
chore(deps): update dependency hcloud to v2.12.0 (#760)
##### SUMMARY

Bump `hcloud-python` to
[v2.12.0](https://github.com/hetznercloud/hcloud-python/releases/tag/v2.12.0)
2025-12-10 12:36:04 +01:00
Jonas L.
ea973be048
chore: allow checking if a param was defined by the user (#762)
##### SUMMARY

Use `self.module.param_is_defined("key")` to check if the parameter was
defined by the user, useful when null values have a meaning.
2025-12-10 12:28:19 +01:00
Jonas L.
095fa8a2e0
refactor: allow raising resource not found from any module (#761)
##### SUMMARY

Allows to raise a not found error from any module.
2025-12-10 12:25:17 +01:00
Hetzner Cloud Bot
57d7dda1e7
chore(main): release 6.2.1 (#741)
🤖 I have created a release *beep* *boop*
---


##
[6.2.1](https://github.com/ansible-collections/hetzner.hcloud/compare/6.2.0...6.2.1)
(2025-11-17)


### Bug Fixes

* zone rrset idempotency
([#737](https://github.com/ansible-collections/hetzner.hcloud/issues/737))
([79f78fa](79f78fae28)),
closes
[#740](https://github.com/ansible-collections/hetzner.hcloud/issues/740)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-11-19 16:11:09 +01:00
Jonas L.
79f78fae28
fix: zone rrset idempotency (#737)
##### SUMMARY

- The order of dns records is not guaranteed, this ensure the module is
idempotent.
- The API defaults to an empty string when comments are not set, ensure
the module is idempotent when no comments are given.

##### ISSUE TYPE

- Bugfix

Closes #740
2025-11-17 14:45:04 +01:00
renovate[bot]
f87c23629b
chore(deps): update dependency hcloud to v2.11.1 (#738)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.11.0` -> `2.11.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.11.0/2.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.11.1`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v2111)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.11.0...v2.11.1)

##### Bug Fixes

- support reloading sub resource bound models
([#&#8203;590](https://redirect.github.com/hetznercloud/hcloud-python/issues/590))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-11-14 16:06:41 +01:00
Hetzner Cloud Bot
34db0ce9b2
chore(main): release 6.2.0 (#735)
🤖 I have created a release *beep* *boop*
---


##
[6.2.0](https://github.com/ansible-collections/hetzner.hcloud/compare/6.1.0...6.2.0)
(2025-11-10)


### Features

* DNS support is now generally available
([#727](https://github.com/ansible-collections/hetzner.hcloud/issues/727))
([337067d](337067d9de))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-11-10 12:14:37 +01:00
renovate[bot]
2e10017aa9
chore(deps): update dependency hcloud to v2.11.0 (#734)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.10.0` -> `2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.11.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v2110)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.10.0...v2.11.0)

##### DNS API is now generally available

The DNS API is now generally available, as well as support for features
in this project that are related to the DNS API.

To migrate existing zones to the new DNS API, see the [DNS migration
guide](https://docs.hetzner.com/networking/dns/migration-to-hetzner-console/process).

See the
[changelog](https://docs.hetzner.cloud/changelog#2025-11-10-dns-ga) for
more details.

##### Features

- DNS support is now generally available
([#&#8203;581](https://redirect.github.com/hetznercloud/hcloud-python/issues/581))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-11-10 12:08:48 +01:00
Jonas L.
337067d9de
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
2025-11-10 11:52:37 +01:00
renovate[bot]
871bc897bf
chore(deps): update dependency hcloud to v2.10.0 (#728) 2025-11-10 10:23:01 +01:00
Hetzner Cloud Bot
ed5d8483d6
chore(main): release 6.1.0 (#723)
🤖 I have created a release *beep* *boop*
---


##
[6.1.0](https://github.com/ansible-collections/hetzner.hcloud/compare/6.0.0...6.1.0)
(2025-11-05)


### Features

* add `txt_record` filter to format TXT records
([#721](https://github.com/ansible-collections/hetzner.hcloud/issues/721))
([7ac361a](7ac361a9cc))
* attach server or load balancer to specific subnet
([#726](https://github.com/ansible-collections/hetzner.hcloud/issues/726))
([66aaef7](66aaef7be4))


### Bug Fixes

* firewall idempotency with ipv6 addresses
([#722](https://github.com/ansible-collections/hetzner.hcloud/issues/722))
([907a7fd](907a7fd73c)),
closes
[#708](https://github.com/ansible-collections/hetzner.hcloud/issues/708)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-11-07 14:23:29 +01:00
Jonas L.
66aaef7be4
feat: attach server or load balancer to specific subnet (#726)
##### SUMMARY

Attach the server or load balancer to the specific subnet ip_range.

##### ISSUE TYPE

- Feature Pull Request


##### COMPONENT NAME
- server_network
- load_balancer_network
2025-11-05 16:15:08 +01:00
Jonas L.
907a7fd73c
fix: firewall idempotency with ipv6 addresses (#722)
##### SUMMARY

Always use the canonical address representation when checking if rules
changed.


Fixes #708
2025-10-31 14:45:06 +01:00
Jonas L.
7ac361a9cc
feat: add txt_record filter to format TXT records (#721)
##### SUMMARY

The format of TXT records must consist of one or many quoted strings of
255 characters.

Use this function to format TXT record that must match the format
required by the API:

```yml
- name: Create a SPF record
  hetzner.hcloud.zone_rrset:
    zone: example.com
    name: "@"
    type: "TXT"
    records:
      - value: "{{ 'v=spf1 include:_spf.example.net ~all' | hetzner.hcloud.text_record }}"
    state: present
```

##### ISSUE TYPE

- Feature Pull Request


##### COMPONENT NAME

zone_rrset
2025-10-31 12:36:19 +01:00
Hetzner Cloud Bot
5a40520a9c
chore(main): release 6.0.0 (#715)
🤖 I have created a release *beep* *boop*
---


##
[6.0.0](https://github.com/ansible-collections/hetzner.hcloud/compare/5.4.0...6.0.0)
(2025-10-28)


### ⚠ BREAKING CHANGES

* drop support for ansible-core 2.17
([#713](https://github.com/ansible-collections/hetzner.hcloud/issues/713))
* drop support for Python 3.9
([#712](https://github.com/ansible-collections/hetzner.hcloud/issues/712))

### Features

* drop support for ansible-core 2.17
([#713](https://github.com/ansible-collections/hetzner.hcloud/issues/713))
([27d3250](27d3250689))
* drop support for Python 3.9
([#712](https://github.com/ansible-collections/hetzner.hcloud/issues/712))
([7009617](700961762f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-10-30 12:41:49 +01:00
Julian Tölle
59c539c48b
docs: update deprecated server types (#718)
The CX Gen 2 and CPX Gen 1 types are deprecated and will be removed from
the API at the end of the year. This replaces all usages in our docs, so
users do not have to figure it out themselves.

Changelog Entry: https://docs.hetzner.cloud/changelog#2025-10-16-server-types-deprecated


Co-authored-by: Petteri Räty <github@petteriraty.eu>
2025-10-28 13:45:41 +01:00
renovate[bot]
a64fbec0f1
chore(deps): update dependency hcloud to v2.9.0 (#710)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.8.0` -> `2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.8.0/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.9.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v290)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.8.0...v2.9.0)

##### Features

- support python 3.14
([#&#8203;566](https://redirect.github.com/hetznercloud/hcloud-python/issues/566))
- drop support for python 3.9
([#&#8203;574](https://redirect.github.com/hetznercloud/hcloud-python/issues/574))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-10-27 12:10:52 +01:00
Hetzner Cloud Bot
4ab8e915ae
chore(main): release 5.4.0 (#699)
🤖 I have created a release *beep* *boop*
---


##
[5.4.0](https://github.com/ansible-collections/hetzner.hcloud/compare/5.3.1...5.4.0)
(2025-10-07)


### Features

* support the new DNS API
([#703](https://github.com/ansible-collections/hetzner.hcloud/issues/703))
([adddef5](adddef5fc0))


### Bug Fixes

* add experimental features maturity
([#698](https://github.com/ansible-collections/hetzner.hcloud/issues/698))
([1251ee0](1251ee0e6f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-10-07 11:07:55 +02:00
Jonas L.
adddef5fc0
feat: support the new DNS API (#703)
Add support for the new [DNS
API](https://docs.hetzner.cloud/reference/cloud#dns).

The DNS API is currently in **beta**.

See the [DNS API beta
changelog](https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta) for
more details.
2025-10-07 11:04:00 +02:00
Jonas L.
b8bec66906
chore(deps): update dependency hcloud to v2.8.0 (#702)
##### SUMMARY

Bump hcloud-python the v2.8.0
2025-10-07 10:29:20 +02:00
Jonas L.
1251ee0e6f
fix: add experimental features maturity (#698)
##### SUMMARY

Allow to specify the maturity of the experimental product.

##### ISSUE TYPE

- Bugfix Pull Request
2025-09-29 18:10:07 +02:00
Hetzner Cloud Bot
728c8b4b25
chore(main): release 5.3.1 (#697)
🤖 I have created a release *beep* *boop*
---


##
[5.3.1](https://github.com/ansible-collections/hetzner.hcloud/compare/5.3.0...5.3.1)
(2025-09-29)


### Bug Fixes

* also check server type deprecation after server creation
([#696](https://github.com/ansible-collections/hetzner.hcloud/issues/696))
([c4dc19c](c4dc19c675))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-09-29 15:04:22 +02:00
Jonas L.
c4dc19c675
fix: also check server type deprecation after server creation (#696)
##### SUMMARY

Because the location of a server is not mandatory for creating a server,
we must also check server type deprecation after server creation.

##### ISSUE TYPE

- Bugfix Pull Request


##### COMPONENT NAME
server
2025-09-29 14:34:54 +02:00
Hetzner Cloud Bot
2864379079
chore(main): release 5.3.0 (#695)
🤖 I have created a release *beep* *boop*
---


##
[5.3.0](https://github.com/ansible-collections/hetzner.hcloud/compare/5.2.0...5.3.0)
(2025-09-26)


### Features

* per location server types
([#692](https://github.com/ansible-collections/hetzner.hcloud/issues/692))
([826e6a5](826e6a5309))
* return server type category
([#687](https://github.com/ansible-collections/hetzner.hcloud/issues/687))
([3d809cb](3d809cbc6f))


### Bug Fixes

* wait for floating ip assign action
([#694](https://github.com/ansible-collections/hetzner.hcloud/issues/694))
([c3ec5d1](c3ec5d1dcc))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-09-26 12:51:32 +02:00
Jonas L.
c3ec5d1dcc
fix: wait for floating ip assign action (#694)
##### SUMMARY

Wait for the floating ip assign action to complete before continuing.
This reduce the chances of running into `locked` errors.


##### ISSUE TYPE

- Bugfix Pull Request


##### COMPONENT NAME
floating_ip
2025-09-26 11:50:14 +02:00
Jonas L.
826e6a5309
feat: per location server types (#692)
[Server Types](https://docs.hetzner.cloud/reference/cloud#server-types)
now depend on
[Locations](https://docs.hetzner.cloud/reference/cloud#locations).

- We added a new `locations` property to the [Server
Types](https://docs.hetzner.cloud/reference/cloud#server-types)
resource. The new property defines a list of supported
[Locations](https://docs.hetzner.cloud/reference/cloud#locations) and
additional per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
details such as deprecations information.

- We deprecated the `deprecation` property from the [Server
Types](https://docs.hetzner.cloud/reference/cloud#server-types)
resource. The property will gradually be phased out as per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
deprecations are being announced. Please use the new per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
deprecation information instead.

See our
[changelog](https://docs.hetzner.cloud/changelog#2025-09-24-per-location-server-types)
for more details.

**Upgrading**

```yaml
---
- name: Validate server type
  hosts: localhost
  connection: local
  tasks:
    - name: Fetch server type info
      hetzner.hcloud.server_type_info:
        name: cx22
      register: server_type

    - name: Ensure server type exists
      ansible.builtin.assert:
        fail_msg: server type does not exists
        that:
          - server_type.hcloud_server_type_info | count == 1

    - name: Ensure server type is not deprecated
      ansible.builtin.assert:
        fail_msg: server type is deprecated
        that:
          - server_type.hcloud_server_type_info[0].deprecation is none
```

```yaml
---
- name: Validate server type
  hosts: localhost
  connection: local
  tasks:
    - name: Fetch location info
      hetzner.hcloud.location_info:
        name: fsn1
      register: location

    - name: Fetch server type info
      hetzner.hcloud.server_type_info:
        name: cx22
      register: server_type

    - name: Ensure server type exists
      ansible.builtin.assert:
        fail_msg: server type does not exists
        that:
          - server_type.hcloud_server_type_info | count == 1

    - name: Extract server type location info
      ansible.builtin.set_fact:
        server_type_location: >
          {{
            server_type.hcloud_server_type_info[0].locations
            | selectattr("name", "eq", location.hcloud_location_info[0].name)
            | first
          }}

    - name: Ensure server type is not deprecated
      ansible.builtin.assert:
        fail_msg: server type is deprecated in location
        that:
          - server_type_location.deprecation is none
```
2025-09-26 11:50:05 +02:00
renovate[bot]
4caf3e67f4
chore(deps): update dependency hcloud to v2.7.0 (#693)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.6.0` -> `2.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.6.0/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.7.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v270)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.6.0...v2.7.0)

[Server Types](https://docs.hetzner.cloud/reference/cloud#server-types)
now depend on
[Locations](https://docs.hetzner.cloud/reference/cloud#locations).

- We added a new `locations` property to the [Server
Types](https://docs.hetzner.cloud/reference/cloud#server-types)
resource. The new property defines a list of supported
[Locations](https://docs.hetzner.cloud/reference/cloud#locations) and
additional per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
details such as deprecations information.

- We deprecated the `deprecation` property from the [Server
Types](https://docs.hetzner.cloud/reference/cloud#server-types)
resource. The property will gradually be phased out as per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
deprecations are being announced. Please use the new per
[Locations](https://docs.hetzner.cloud/reference/cloud#locations)
deprecation information instead.

See our
[changelog](https://docs.hetzner.cloud/changelog#2025-09-24-per-location-server-types)
for more details.

**Upgrading**

```py
```

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-09-26 10:51:34 +02:00
Jonas L.
3d809cbc6f
feat: return server type category (#687)
##### SUMMARY

Related to
https://docs.hetzner.cloud/changelog#2025-08-25-category-for-server-types
2025-09-08 13:02:45 +02:00
renovate[bot]
923057c7b6
chore(deps): update dependency hcloud to v2.6.0 (#686)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.5.4` -> `2.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.5.4/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.6.0`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v260)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.5.4...v2.6.0)

##### Features

- add category property to server type
([#&#8203;549](https://redirect.github.com/hetznercloud/hcloud-python/issues/549))

##### Bug Fixes

- rename `ClientEntityBase` to `ResourceClientBase`
([#&#8203;532](https://redirect.github.com/hetznercloud/hcloud-python/issues/532))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-09-08 12:44:47 +02:00
Hetzner Cloud Bot
bf678c47fb
chore(main): release 5.2.0 (#656)
🤖 I have created a release *beep* *boop*
---


##
[5.2.0](https://github.com/ansible-collections/hetzner.hcloud/compare/5.1.0...5.2.0)
(2025-08-14)


### Features

* allow renaming a volume
([#683](https://github.com/ansible-collections/hetzner.hcloud/issues/683))
([8c8a52c](8c8a52ceed))
* warn when experimental features are used
([#669](https://github.com/ansible-collections/hetzner.hcloud/issues/669))
([36053c7](36053c7ee8))


### Bug Fixes

* add `volume_attachment` module to meta
([#655](https://github.com/ansible-collections/hetzner.hcloud/issues/655))
([e6e4ce1](e6e4ce1d5f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-08-14 15:43:34 +02:00
Amirhossein Shaerpour
8c8a52ceed
feat: allow renaming a volume (#683)
##### SUMMARY
Allow renaming volume
Fixes #681 

##### ISSUE TYPE
- Feature Pull Request

##### COMPONENT NAME
`volume`

---------

Co-authored-by: Jonas L. <jooola@users.noreply.github.com>
2025-08-14 15:02:28 +02:00
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
renovate[bot]
192139e000
chore(deps): update dependency hcloud to v2.5.4 (#668)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.5.3` -> `2.5.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.5.3/2.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.5.4`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v254)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.5.3...v2.5.4)

##### Bug Fixes

- typo in `LoadBalancerHealthCheckHttp` class name
([#&#8203;511](https://redirect.github.com/hetznercloud/hcloud-python/issues/511))
- equality for some domain classes
([#&#8203;510](https://redirect.github.com/hetznercloud/hcloud-python/issues/510))
- use valid license identifier (SPDX)
([#&#8203;514](https://redirect.github.com/hetznercloud/hcloud-python/issues/514))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-07-10 10:31:55 +02:00
Jonas L.
84748a7081
docs: add link to rdns module for resource with dns pointers (#664)
##### SUMMARY

Fixes #662 

##### ISSUE TYPE

- Docs Pull Request
2025-06-27 10:23:01 +02:00
Hetzner Cloud Bot
f86cdf460b
chore(main): release 5.1.0 (#653)
🤖 I have created a release *beep* *boop*
---


##
[5.1.0](https://github.com/ansible-collections/hetzner.hcloud/compare/5.0.1...5.1.0)
(2025-06-11)


### Features

* allow recreating ssh key when public key in the API does not match
([#634](https://github.com/ansible-collections/hetzner.hcloud/issues/634))
([4fc2003](4fc2003f30))


### Bug Fixes

* ensure returned resource ids are integers
([#651](https://github.com/ansible-collections/hetzner.hcloud/issues/651))
([579b34e](579b34e754))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-06-11 10:24:40 +02:00
Jonas L.
579b34e754
fix: ensure returned resource ids are integers (#651)
##### SUMMARY

The documentation states that all our returned resource ids are
integers, this change aligns our modules with the docs.

The impact of this change should be minimal, as ids are used for
identification purposes by directly forwarding the values (no
transformation of the data is done).

##### ISSUE TYPE

- Bugfix Pull Request


##### COMPONENT NAME

All modules
2025-06-11 10:09:12 +02:00
renovate[bot]
ba0a419db3
chore(deps): update dependency hcloud to v2.5.3 (#649)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.5.2` -> `2.5.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hcloud/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hcloud/2.5.2/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.5.2/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.5.3`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v253)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.5.2...v2.5.3)

##### Bug Fixes

- invalid placement group id casting
([#&#8203;501](https://redirect.github.com/hetznercloud/hcloud-python/issues/501))
- handle string id when checking has_id_or_name
([#&#8203;504](https://redirect.github.com/hetznercloud/hcloud-python/issues/504))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNDguNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-06-10 20:36:03 +02:00
Amirhossein Shaerpour
4fc2003f30
feat: allow recreating ssh key when public key in the API does not match (#634)
##### SUMMARY

- Log a warning when the provided public key does not match one in the
API.
- When the public key does not match the one in the API, allow
recreating the SSH Key in the API using the ``force=true`` argument.


Closes: #578 

##### ISSUE TYPE
- Feature Pull Request

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below
-->
`ssh_key`

##### ADDITIONAL INFORMATION
In Hetzner API, we do not have any public_key change endpoint and only
updating names and labels are allowed.
For public_key The only way is removing and re-creating. `force` option
allows users to do re-creation if needed.

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-06-03 17:43:54 +02:00
renovate[bot]
4b2fd4b160
chore(deps): update dependency hcloud to v2.5.2 (#639)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hcloud](https://redirect.github.com/hetznercloud/hcloud-python)
([changelog](https://redirect.github.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `2.5.1` -> `2.5.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hcloud/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hcloud/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/2.5.1/2.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v2.5.2`](https://redirect.github.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#v252)

[Compare
Source](https://redirect.github.com/hetznercloud/hcloud-python/compare/v2.5.1...v2.5.2)

##### Bug Fixes

- listing page result always provide meta
([#&#8203;496](https://redirect.github.com/hetznercloud/hcloud-python/issues/496))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-05-23 11:32:39 +02:00
Hetzner Cloud Bot
4e5e65abcc
chore(main): release 5.0.1 (#638)
🤖 I have created a release *beep* *boop*
---


##
[5.0.1](https://github.com/ansible-collections/hetzner.hcloud/compare/5.0.0...5.0.1)
(2025-05-21)


### Bug Fixes

* remove deprecated force_upgrade argument
([#637](https://github.com/ansible-collections/hetzner.hcloud/issues/637))
([88f84e7](88f84e7d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-05-21 17:48:04 +02:00
Jonas L.
88f84e7d7c
fix: remove deprecated force_upgrade argument (#637)
##### SUMMARY

The alias removal was planned for the version 5.0.0, but I forgot to
remove the alias before cutting the 5.0.0 release (the sanity check only
failed after the release pull request was merged).

Since this is the second time I forgot to remove the deprecated alias, I
will cut a patch release, including this breaking change, as soon as
possible, so we still consider this part of the 5.0.0 release.

##### ISSUE TYPE

- Bugfix Pull Request


##### COMPONENT NAME

server
2025-05-21 17:43:16 +02:00
Hetzner Cloud Bot
ac1b8bdbf7
chore(main): release 5.0.0 (#613)
🤖 I have created a release *beep* *boop*
---


##
[5.0.0](https://github.com/ansible-collections/hetzner.hcloud/compare/4.3.0...5.0.0)
(2025-05-21)


### ⚠ BREAKING CHANGES

* do not detach volume if `server` is not provided
([#632](https://github.com/ansible-collections/hetzner.hcloud/issues/632))
* prevent host variable name collision with ansible reserved names
([#617](https://github.com/ansible-collections/hetzner.hcloud/issues/617))
* drop support for ansible-core 2.16
([#612](https://github.com/ansible-collections/hetzner.hcloud/issues/612))
* drop support for ansible-core 2.15
([#611](https://github.com/ansible-collections/hetzner.hcloud/issues/611))

### Features

* add volume_attachment module
([#622](https://github.com/ansible-collections/hetzner.hcloud/issues/622))
([c37cdf0](c37cdf0bc6))
* allow renaming a server
([#619](https://github.com/ansible-collections/hetzner.hcloud/issues/619))
([e59e787](e59e787d99))
* drop support for ansible-core 2.15
([#611](https://github.com/ansible-collections/hetzner.hcloud/issues/611))
([92f1354](92f135456f))
* drop support for ansible-core 2.16
([#612](https://github.com/ansible-collections/hetzner.hcloud/issues/612))
([140d150](140d1508cc))
* drop support for python 3.8
([#615](https://github.com/ansible-collections/hetzner.hcloud/issues/615))
([b82e18f](b82e18ffbd))


### Bug Fixes

* do not detach volume if `server` is not provided
([#632](https://github.com/ansible-collections/hetzner.hcloud/issues/632))
([e8fda35](e8fda3557c))
* prevent host variable name collision with ansible reserved names
([#617](https://github.com/ansible-collections/hetzner.hcloud/issues/617))
([5de425c](5de425c90c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-05-21 17:06:52 +02:00