On this page
hetzner.hcloud.hcloud_load_balancer_service – Create and manage the services of cloud Load Balancers on the Hetzner Cloud.
Note
This plugin is part of the hetzner.hcloud collection (version 1.2.1).
To install it use: ansible-galaxy collection install hetzner.hcloud
.
To use it in a playbook, specify: hetzner.hcloud.hcloud_load_balancer_service
.
New in version 0.1.0: of hetzner.hcloud
Synopsis
- Create, update and manage the services of cloud Load Balancers on the Hetzner Cloud.
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.
|
|||
destination_port
integer
|
The port traffic is forwarded to, i.e. the port the targets are listening and accepting connections on.
Required if services does not exists and protocol is tcp.
|
|||
endpoint
string
|
Default:
"https://api.hetzner.cloud/v1"
|
This is the API Endpoint for the Hetzner Cloud.
|
||
health_check
dictionary
|
Configuration for health checks
|
|||
http
dictionary
|
Additional Configuration of health checks with protocol http/https
|
|||
domain
string
|
Domain we will set within the HTTP HOST header
|
|||
path
string
|
Path we will try to access
|
|||
response
string
|
Response we expect, if response is not within the health check response the target is unhealthy
|
|||
status_codes
list / elements=string
|
List of HTTP status codes we expect to get when we perform the health check.
|
|||
tls
boolean
|
|
Verify the TLS certificate, only available if health check protocol is https
|
||
interval
integer
|
Interval of health checks, in seconds
|
|||
port
integer
|
Port the health check will be performed on
|
|||
protocol
string
|
|
Protocol the health checks will be performed over
|
||
retries
integer
|
Number of retries until a target is marked as unhealthy
|
|||
timeout
integer
|
Timeout of health checks, in seconds
|
|||
http
dictionary
|
Configuration for HTTP and HTTPS services
|
|||
certificates
list / elements=string
|
List of Names or IDs of certificates
|
|||
cookie_lifetime
integer
|
Lifetime of the cookie which will be set when you enable sticky sessions, in seconds
|
|||
cookie_name
string
|
Name of the cookie which will be set when you enable sticky sessions
|
|||
redirect_http
boolean
|
|
Redirect Traffic from Port 80 to Port 443, only available if protocol is https
|
||
sticky_sessions
boolean
|
|
Enable or disable sticky_sessions
|
||
listen_port
integer / required
|
The port the service listens on, i.e. the port users can connect to.
|
|||
load_balancer
string / required
|
The Name of the Hetzner Cloud Load Balancer the service belongs to
|
|||
protocol
string
|
|
Protocol of the service.
Required if Load Balancer does not exists.
|
||
proxyprotocol
boolean
|
|
Enable the PROXY protocol.
|
||
state
string
|
|
State of the Load Balancer.
|
See Also
See also
- Documentation for Hetzner Cloud API
-
Complete reference for the Hetzner Cloud API.
Examples
- name: Create a basic Load Balancer service with Port 80
hcloud_load_balancer_service:
load_balancer: my-load-balancer
protocol: http
listen_port: 80
state: present
- name: Ensure the Load Balancer is absent (remove if needed)
hcloud_load_balancer_service:
load_balancer: my-Load Balancer
protocol: http
listen_port: 80
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_service
complex
|
Always |
The Load Balancer service instance
|
|||
destination_port
integer
|
always |
The port traffic is forwarded to, i.e. the port the targets are listening and accepting connections on.
Sample:
80
|
|||
health_check
complex
|
always |
Configuration for health checks
|
|||
http
complex
|
always |
Additional Configuration of health checks with protocol http/https
|
|||
domain
string
|
always |
Domain we will set within the HTTP HOST header
Sample:
example.com
|
|||
path
string
|
always |
Path we will try to access
Sample:
/
|
|||
response
string
|
always |
Response we expect, if response is not within the health check response the target is unhealthy
|
|||
status_codes
list / elements=string
|
always |
List of HTTP status codes we expect to get when we perform the health check.
Sample:
['2??', '3??']
|
|||
tls
boolean
|
always |
Verify the TLS certificate, only available if health check protocol is https
|
|||
interval
integer
|
always |
Interval of health checks, in seconds
Sample:
15
|
|||
port
integer
|
always |
Port the health check will be performed on
Sample:
80
|
|||
protocol
string
|
always |
Protocol the health checks will be performed over
Sample:
http
|
|||
retries
integer
|
always |
Number of retries until a target is marked as unhealthy
Sample:
3
|
|||
timeout
integer
|
always |
Timeout of health checks, in seconds
Sample:
10
|
|||
http
complex
|
always |
Configuration for HTTP and HTTPS services
|
|||
certificates
list / elements=string
|
always |
List of Names or IDs of certificates
|
|||
cookie_lifetime
integer
|
always |
Lifetime of the cookie which will be set when you enable sticky sessions, in seconds
Sample:
3600
|
|||
cookie_name
string
|
always |
Name of the cookie which will be set when you enable sticky sessions
Sample:
HCLBSTICKY
|
|||
redirect_http
boolean
|
always |
Redirect Traffic from Port 80 to Port 443, only available if protocol is https
|
|||
sticky_sessions
boolean
|
always |
Enable or disable sticky_sessions
Sample:
True
|
|||
listen_port
integer
|
always |
The port the service listens on, i.e. the port users can connect to.
Sample:
443
|
|||
load_balancer
string
|
always |
The name of the Load Balancer where the service belongs to
Sample:
my-load-balancer
|
|||
protocol
string
|
always |
Protocol of the service
Sample:
http
|
|||
proxyprotocol
boolean
|
always |
Enable the PROXY protocol.
|
Authors
- Lukas Kaemmerling (@LKaemmerling)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/hetzner/hcloud/hcloud_load_balancer_service_module.html