hetzner.hcloud.server_network module – Manage the relationship between Hetzner Cloud Networks and servers

Note

This module is part of the hetzner.hcloud collection (version 6.4.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. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: hetzner.hcloud.server_network.

Synopsis

  • Create and delete the relationship Hetzner Cloud Networks and servers

Aliases: hcloud_server_network

Requirements

The below requirements are needed on the host that executes this module.

  • python-dateutil >= 2.7.5

  • requests >=2.20

Parameters

Parameter

Comments

alias_ips

list / elements=string

Alias IPs the server has.

api_endpoint

aliases: endpoint

string

The endpoint for the Hetzner Cloud API.

You can also set this option by using the HCLOUD_ENDPOINT environment variable.

Default: "https://api.hetzner.cloud/v1"

api_endpoint_hetzner

string

The endpoint for the Hetzner API.

You can also set this option by using the HETZNER_ENDPOINT environment variable.

Default: "https://api.hetzner.com/v1"

api_token

string / required

The token for the Hetzner Cloud API.

You can also set this option by using the HCLOUD_TOKEN environment variable.

ip

string

The IP the server should have.

ip_range

string

IP range in CIDR block notation of the subnet to attach to.

network

string / required

Name or ID of the Hetzner Cloud Networks.

server

string / required

Name or ID of the Hetzner Cloud server.

state

string

State of the server_network.

Choices:

  • "absent"

  • "present" ← (default)

See Also

See also

Documentation for Hetzner APIs

Complete reference for the Hetzner APIs.

Examples

- name: Create a basic server network
  hetzner.hcloud.server_network:
    network: my-network
    server: my-server
    state: present

- name: Create a server network and specify the ip address
  hetzner.hcloud.server_network:
    network: my-network
    server: my-server
    ip: 10.0.0.1
    state: present

- name: Create a server network and specify the subnet
  hetzner.hcloud.server_network:
    network: my-network
    server: my-server
    ip_range: 10.1.0.0/24
    state: present

- name: Create a server network and add alias ips
  hetzner.hcloud.server_network:
    network: my-network
    server: my-server
    ip: 10.0.0.1
    alias_ips:
      - 10.1.0.1
      - 10.2.0.1
    state: present

- name: Ensure the server network is absent (remove if needed)
  hetzner.hcloud.server_network:
    network: my-network
    server: my-server
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

hcloud_server_network

dictionary

The relationship between a server and a network

Returned: always

alias_ips

list / elements=string

Alias IPs of the server within the Network ip range

Returned: always

Sample: ["10.1.0.1", "..."]

ip

string

IP of the server within the Network ip range

Returned: always

Sample: "10.0.0.8"

network

string

Name of the Network

Returned: always

Sample: "my-network"

server

string

Name of the server

Returned: always

Sample: "my-server"

Authors

  • Lukas Kaemmerling (@lkaemmerling)