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.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
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/hcloud_load_balancer_service_module.html