hetzner.hcloud.hcloud_load_balancer_target – Manage Hetzner Cloud Load Balancer targets

Note

This plugin is part of the hetzner.hcloud collection (version 1.4.2).

To install it use: ansible-galaxy collection install hetzner.hcloud.

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

New in version 0.1.0: of hetzner.hcloud

Synopsis

  • Create and delete Hetzner Cloud Load Balancer targets

Requirements

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

  • hcloud-python >= 1.0.0

  • hcloud-python >= 1.8.1

Parameters

Parameter Choices/Defaults Comments
api_token
string / required
This is the API Token for the Hetzner Cloud.
endpoint
string
Default:
"https://api.hetzner.cloud/v1"
This is the API Endpoint for the Hetzner Cloud.
ip
string
An IP from a Hetzner Dedicated Server, needs to belongs to the same user as the project.
Required if type is ip
label_selector
string
A Label Selector that will be used to determine the targets dynamically
Required if type is label_selector
load_balancer
string / required
The name of the Hetzner Cloud Load Balancer.
server
string
The name of the Hetzner Cloud Server.
Required if type is server
state
string
    Choices:
  • absent
  • present ←
State of the load_balancer_network.
type
string / required
    Choices:
  • server
  • label_selector
  • ip
The type of the target.
use_private_ip
boolean
    Choices:
  • no ←
  • yes
Route the traffic over the private IP of the Load Balancer through a Hetzner Cloud Network.
Load Balancer needs to be attached to a network. See hetzner.hcloud.hcloud.hcloud_load_balancer_network

See Also

See also

Documentation for Hetzner Cloud API

Complete reference for the Hetzner Cloud API.

Examples

- name: Create a server Load Balancer target
  hcloud_load_balancer_target:
    type: server
    load_balancer: my-LoadBalancer
    server: my-server
    state: present

- name: Create a label_selector Load Balancer target
  hcloud_load_balancer_target:
    type: server
    load_balancer: my-LoadBalancer
    label_selector: application=backend
    state: present

- name: Create an IP Load Balancer target
  hcloud_load_balancer_target:
    type: server
    load_balancer: my-LoadBalancer
    ip: 127.0.0.1
    state: present

- name: Ensure the Load Balancer target is absent (remove if needed)
  hcloud_load_balancer_target:
    type: server
    load_balancer: my-LoadBalancer
    server: my-server
    state: absent

Return Values

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

Key Returned Description
hcloud_load_balancer_target
complex
always
The relationship between a Load Balancer and a network

 
ip
string
if type is ip
IP of the dedicated server

Sample:
127.0.0.1
 
label_selector
string
if type is label_selector
Label Selector

Sample:
application=backend
 
load_balancer
string
always
Name of the Load Balancer

Sample:
my-LoadBalancer
 
server
string
if type is server
Name of the Server

Sample:
my-server
 
type
string
always
Type of the Load Balancer Target

Sample:
server
 
use_private_ip
boolean
always
Route the traffic over the private IP of the Load Balancer through a Hetzner Cloud Network.
Load Balancer needs to be attached to a network. See hetzner.hcloud.hcloud.hcloud_load_balancer_network

Sample:
True


Authors

  • Lukas Kaemmerling (@lkaemmerling)