Note
This plugin is part of the hetzner.hcloud collection (version 1.6.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install hetzner.hcloud
.
To use it in a playbook, specify: hetzner.hcloud.hcloud_server
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
allow_deprecated_image boolean |
| Allows the creation of servers with deprecated images. |
api_token string / required | This is the API Token for the Hetzner Cloud. | |
backups boolean |
| Enable or disable Backups for the given Server. |
datacenter string | Datacenter of Server. Required of no location is given and server does not exists. | |
delete_protection boolean |
| Protect the Server for deletion. Needs to be the same as rebuild_protection. |
endpoint string | Default: "https://api.hetzner.cloud/v1" | This is the API Endpoint for the Hetzner Cloud. |
firewalls list / elements=string | List of Firewall IDs that should be attached to the server on server creation. | |
force boolean |
| Force the update of the server. May power off the server if update. |
force_upgrade boolean |
| Deprecated Force the upgrade of the server. Power off the server if it is running on upgrade. |
id integer | The ID of the Hetzner Cloud server to manage. Only required if no server name is given | |
image string | Image the server should be created from. Required if server does not exists. | |
labels dictionary | User-defined labels (key-value pairs). | |
location string | Location of Server. Required if no datacenter is given and server does not exists. | |
name string | The Name of the Hetzner Cloud server to manage. Only required if no server id is given or a server does not exists. | |
placement_group string | Placement Group of the server. | |
rebuild_protection boolean |
| Protect the Server for rebuild. Needs to be the same as delete_protection. |
rescue_mode string | Add the Hetzner rescue system type you want the server to be booted into. | |
server_type string | The Server Type of the Hetzner Cloud server to manage. Required if server does not exists. | |
ssh_keys list / elements=string | List of SSH key names The key names correspond to the SSH keys configured for your Hetzner Cloud account access. | |
state string |
| State of the server. |
upgrade_disk boolean |
| Resize the disk size, when resizing a server. If you want to downgrade the server later, this value should be False. |
user_data string | User Data to be passed to the server on creation. Only used if server does not exists. | |
volumes list / elements=string | List of Volumes IDs that should be attached to the server on server creation. |
See also
Complete reference for the Hetzner Cloud API.
- name: Create a basic server hcloud_server: name: my-server server_type: cx11 image: ubuntu-18.04 state: present - name: Create a basic server with ssh key hcloud_server: name: my-server server_type: cx11 image: ubuntu-18.04 location: fsn1 ssh_keys: - me@myorganisation state: present - name: Resize an existing server hcloud_server: name: my-server server_type: cx21 upgrade_disk: yes state: present - name: Ensure the server is absent (remove if needed) hcloud_server: name: my-server state: absent - name: Ensure the server is started hcloud_server: name: my-server state: started - name: Ensure the server is stopped hcloud_server: name: my-server state: stopped - name: Ensure the server is restarted hcloud_server: name: my-server state: restarted - name: Ensure the server is will be booted in rescue mode and therefore restarted hcloud_server: name: my-server rescue_mode: linux64 state: restarted - name: Ensure the server is rebuild hcloud_server: name: my-server image: ubuntu-18.04 state: rebuild - name: Add server to placement group hcloud_server: name: my-server placement_group: my-placement-group force: True state: present - name: Remove server from placement group hcloud_server: name: my-server placement_group: null state: present
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
hcloud_server complex | Always | The server instance | |
backup_window boolean | always | Time window (UTC) in which the backup will run, or null if the backups are not enabled Sample: 22-02 | |
datacenter string | always | Name of the datacenter of the server Sample: fsn1-dc14 | |
delete_protection boolean added in 0.1.0 of hetzner.hcloud | always | True if server is protected for deletion | |
id integer | always | Numeric identifier of the server Sample: 1937415 | |
ipv4_address string | always | Public IPv4 address of the server Sample: 116.203.104.109 | |
ipv6 string | always | IPv6 network of the server Sample: 2a01:4f8:1c1c:c140::/64 | |
labels dictionary | always | User-defined labels (key-value pairs) | |
location string | always | Name of the location of the server Sample: fsn1 | |
name string | always | Name of the server Sample: my-server | |
placement_group string added in 1.5.0 of hetzner.hcloud | always | Placement Group of the server Sample: 4711 | |
rebuild_protection boolean added in 0.1.0 of hetzner.hcloud | always | True if server is protected for rebuild | |
rescue_enabled boolean | always | True if rescue mode is enabled, Server will then boot into rescue system on next reboot | |
server_type string | always | Name of the server type of the server Sample: cx11 | |
status string | always | Status of the server Sample: running |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/hcloud_server_module.html