hcloud_server – Create and manage cloud servers on the Hetzner Cloud
New in version 2.8.
Synopsis
- Create, update and manage cloud servers on the Hetzner Cloud.
Requirements
The below requirements are needed on the host that executes this module.
- hcloud-python >= 1.0.0
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| 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. | |
| endpoint string | Default: "https://api.hetzner.cloud/v1" | This is the API Endpoint for the Hetzner Cloud. |
| force_upgrade boolean |
| 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. | |
| server_type string | The Server Type of the Hetzner Cloud server to manage. Required if server does not exists. | |
| ssh_keys list | 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 | List of Volumes IDs that should be attached to the server on server creation. |
See Also
See also
- Documentation for Hetzner Cloud API
- Complete reference for the Hetzner Cloud API.
Examples
- 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
keep_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 rebuild
hcloud_server:
name: my-server
image: ubuntu-18.04
state: rebuild
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| hcloud_server dictionary | Always | The server instance Sample: {'backup_window': None, 'datacenter': 'nbg1-dc3', 'id': 1937415, 'image': 'ubuntu-18.04', 'ipv4_address': '116.203.104.109', 'ipv6': '2a01:4f8:1c1c:c140::/64', 'labels': {}, 'location': 'nbg1', 'name': 'mein-server-2', 'rescue_enabled': False, 'server_type': 'cx11', 'status': 'running'} |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Lukas Kaemmerling (@lkaemmerling)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/hcloud_server_module.html