mirror of
https://github.com/ansible-collections/hetzner.hcloud.git
synced 2026-02-04 08:01:49 +00:00
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 ```
This commit is contained in:
parent
4caf3e67f4
commit
826e6a5309
8 changed files with 500 additions and 36 deletions
35
examples/validate-server-type.yml
Normal file
35
examples/validate-server-type.yml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
- 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue