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

feat: add new created state for idempotent server creation (#606)

##### SUMMARY

Add a new state for server creation without immediate start, to allow
idempotent network customization before starting

##### ISSUE TYPE
- Feature Pull Request

##### COMPONENT NAME
server

---------

Co-authored-by: jo <ljonas@riseup.net>
This commit is contained in:
Daniele Fognini 2025-03-21 14:05:03 +01:00 committed by GitHub
parent 303cdeda74
commit 4534cf6b9d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 68 additions and 23 deletions

View file

@ -32,7 +32,7 @@
ipv6: "{{primaryIPv6.hcloud_primary_ip.id}}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: stopped
state: created
register: result
- name: verify test create server with primary ips
assert:
@ -50,7 +50,7 @@
enable_ipv6: false
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: stopped
state: created
register: result
- name: verify test create server with primary ips
assert:

View file

@ -72,7 +72,7 @@
- "{{ primaryNetwork.hcloud_network.name }}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: stopped
state: created
register: result
- name: verify test create server with primary network
assert:
@ -92,7 +92,7 @@
- "{{ secondaryNetwork.hcloud_network.id }}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: stopped
state: created
register: result
- name: verify test update server by adding secondary network
assert:
@ -112,7 +112,47 @@
- "{{ secondaryNetwork.hcloud_network.id }}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: stopped
state: created
register: result
- name: verify test update server idem
assert:
that:
- result is not changed
- name: test server can now be started
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
server_type: "{{ hcloud_server_type_name }}"
datacenter: "{{ hcloud_datacenter_name }}"
image: "{{ hcloud_image_name }}"
enable_ipv4: false
enable_ipv6: false
private_networks:
- "{{ primaryNetwork.hcloud_network.name }}"
- "{{ secondaryNetwork.hcloud_network.id }}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: started
register: result
- name: verify test server can now be started
assert:
that:
- result is changed
- name: test update server idem
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
server_type: "{{ hcloud_server_type_name }}"
datacenter: "{{ hcloud_datacenter_name }}"
image: "{{ hcloud_image_name }}"
enable_ipv4: false
enable_ipv6: false
private_networks:
- "{{ primaryNetwork.hcloud_network.name }}"
- "{{ secondaryNetwork.hcloud_network.id }}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: created
register: result
- name: verify test update server idem
assert: