Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion hcloud/servers/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -358,14 +358,16 @@ def create_image(
def rebuild(
self,
image: Image | BoundImage,
user_data: str | None = None,
# pylint: disable=unused-argument
**kwargs: Any,
) -> RebuildResponse:
"""Rebuilds a server overwriting its disk with the content of an image, thereby destroying all data on the target server.
:param image: Image to use for the rebuilt server
:param user_data: Cloud-Init user data to use during Server rebuild (optional)
"""
return self._client.rebuild(self, image=image)
return self._client.rebuild(self, image=image, user_data=user_data)

def change_type(
self,
Expand Down Expand Up @@ -1036,15 +1038,20 @@ def rebuild(
self,
server: Server | BoundServer,
image: Image | BoundImage,
user_data: str | None = None,
# pylint: disable=unused-argument
**kwargs: Any,
) -> RebuildResponse:
"""Rebuilds a server overwriting its disk with the content of an image, thereby destroying all data on the target server.
:param server: Server to rebuild
:param image: Image to use for the rebuilt server
:param user_data: Cloud-Init user data to use during Server rebuild (optional)
"""
data: dict[str, Any] = {"image": image.id_or_name}
if user_data is not None:
data.update({"user_data": user_data})

response = self._client.request(
url=f"{self._base_url}/{server.id}/actions/rebuild",
method="POST",
Expand Down