hetzner.hcloud.hcloud_load_balancer_service module – Create and manage the services of cloud Load Balancers on the Hetzner Cloud.
Note
This module 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_load_balancer_service
.
New in version 0.1.0: of hetzner.hcloud
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 |
Comments |
---|---|
This is the API Token for the Hetzner Cloud. |
|
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. |
|
This is the API Endpoint for the Hetzner Cloud. Default: “https://api.hetzner.cloud/v1” |
|
Configuration for health checks |
|
Additional Configuration of health checks with protocol http/https |
|
Domain we will set within the HTTP HOST header |
|
Path we will try to access |
|
Response we expect, if response is not within the health check response the target is unhealthy |
|
List of HTTP status codes we expect to get when we perform the health check. |
|
Verify the TLS certificate, only available if health check protocol is https Choices:
|
|
Interval of health checks, in seconds |
|
Port the health check will be performed on |
|
Protocol the health checks will be performed over Choices:
|
|
Number of retries until a target is marked as unhealthy |
|
Timeout of health checks, in seconds |
|
Configuration for HTTP and HTTPS services |
|
List of Names or IDs of certificates |
|
Lifetime of the cookie which will be set when you enable sticky sessions, in seconds |
|
Name of the cookie which will be set when you enable sticky sessions |
|
Redirect Traffic from Port 80 to Port 443, only available if protocol is https Choices:
|
|
Enable or disable sticky_sessions Choices:
|
|
The port the service listens on, i.e. the port users can connect to. |
|
The Name of the Hetzner Cloud Load Balancer the service belongs to |
|
Protocol of the service. Required if Load Balancer does not exists. Choices:
|
|
Enable the PROXY protocol. Choices:
|
|
State of the Load Balancer. Choices:
|
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 |
Description |
---|---|
The Load Balancer service instance Returned: Always |
|
The port traffic is forwarded to, i.e. the port the targets are listening and accepting connections on. Returned: always Sample: 80 |
|
Configuration for health checks Returned: always |
|
Additional Configuration of health checks with protocol http/https Returned: always |
|
Domain we will set within the HTTP HOST header Returned: always Sample: “example.com” |
|
Path we will try to access Returned: always Sample: “/” |
|
Response we expect, if response is not within the health check response the target is unhealthy Returned: always |
|
List of HTTP status codes we expect to get when we perform the health check. Returned: always Sample: [“2??”, “3??”] |
|
Verify the TLS certificate, only available if health check protocol is https Returned: always Sample: false |
|
Interval of health checks, in seconds Returned: always Sample: 15 |
|
Port the health check will be performed on Returned: always Sample: 80 |
|
Protocol the health checks will be performed over Returned: always Sample: “http” |
|
Number of retries until a target is marked as unhealthy Returned: always Sample: 3 |
|
Timeout of health checks, in seconds Returned: always Sample: 10 |
|
Configuration for HTTP and HTTPS services Returned: always |
|
List of Names or IDs of certificates Returned: always |
|
Lifetime of the cookie which will be set when you enable sticky sessions, in seconds Returned: always Sample: 3600 |
|
Name of the cookie which will be set when you enable sticky sessions Returned: always Sample: “HCLBSTICKY” |
|
Redirect Traffic from Port 80 to Port 443, only available if protocol is https Returned: always Sample: false |
|
Enable or disable sticky_sessions Returned: always Sample: true |
|
The port the service listens on, i.e. the port users can connect to. Returned: always Sample: 443 |
|
The name of the Load Balancer where the service belongs to Returned: always Sample: “my-load-balancer” |
|
Protocol of the service Returned: always Sample: “http” |
|
Enable the PROXY protocol. Returned: always Sample: false |
Authors
Lukas Kaemmerling (@LKaemmerling)