1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-03 23:51:48 +00:00

feat(server): allow setting user_data for rebuild (#794)

##### SUMMARY
`user_data` is now a supported field for rebuilds.
See
https://docs.hetzner.cloud/changelog#2026-01-16-server-rebuild-with-user-data

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
This commit is contained in:
phm07 2026-01-26 16:15:42 +01:00 committed by GitHub
parent d52e86d944
commit 98ae62ac94
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 3 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- server - Rebuilding a Server now supports the ``user_data`` argument.

View file

@ -126,7 +126,7 @@ options:
description:
- User Data to be passed to the server on creation.
- C(cloud-init), C(ignition) or similar provisioning tools may retrieve user configuration from the Server's C(user_data).
- Only used during the server creation.
- Used during the server creation or server rebuild.
type: str
rescue_mode:
description:
@ -930,8 +930,13 @@ class AnsibleHCloudServer(AnsibleHCloud):
self.module.fail_on_missing_params(required_params=["image"])
try:
if not self.module.check_mode:
image = self._get_image(self.hcloud_server.server_type)
resp = self.client.servers.rebuild(self.hcloud_server, image)
params = {
"image": self._get_image(self.hcloud_server.server_type),
}
if (value := self.module.params.get("user_data")) is not None:
params["user_data"] = value
resp = self.client.servers.rebuild(self.hcloud_server, **params)
# When we rebuild the server progress takes some more time.
resp.action.wait_until_finished(max_retries=202) # 202 retries >= 1002 seconds
self._mark_as_changed()

View file

@ -257,6 +257,10 @@
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
image: "{{ hcloud_image_name }}"
user_data: |
#cloud-config
packages:
- curl
state: rebuild
register: result_after_test
- name: verify rebuild server