Note
This plugin is part of the community.digitalocean collection (version 1.11.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 community.digitalocean
.
To use it in a playbook, specify: community.digitalocean.digital_ocean_load_balancer
.
New in version 1.10.0: of community.digitalocean
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
algorithm string |
| The load balancing algorithm used to determine which backend Droplet will be selected by a client. It must be either round_robin or least_connections . | |
droplet_ids list / elements=integer | An array containing the IDs of the Droplets assigned to the load balancer. Required when creating load balancers. | ||
enable_backend_keepalive boolean |
| A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. | |
enable_proxy_protocol boolean |
| A boolean value indicating whether PROXY Protocol is in use. | |
forwarding_rules list / elements=dictionary | Default: [{"certificate_id": "", "entry_port": 8080, "entry_protocol": "http", "target_port": 8080, "target_protocol": "http", "tls_passthrough": false}] | An array of objects specifying the forwarding rules for a load balancer. Required when creating load balancers. | |
certificate_id string | Default: "" | Certificate ID | |
entry_port integer | Default: 8080 | Entry port | |
entry_protocol string | Default: "http" | Entry protocol | |
target_port integer | Default: 8080 | Target port | |
target_protocol string | Default: "http" | Target protocol | |
tls_passthrough boolean |
| TLS passthrough | |
health_check dictionary | Default: {"check_interval_seconds": 10, "healthy_threshold": 5, "path": "/", "port": 80, "protocol": "http", "response_timeout_seconds": 5, "unhealthy_threshold": 3} | An object specifying health check settings for the load balancer. | |
check_interval_seconds integer | Default: 10 | Check interval seconds | |
healthy_threshold integer | Default: 5 | Healthy threshold | |
path string | Default: "/" | Path | |
port integer | Default: 80 | Port | |
protocol string | Default: "http" | Protocol | |
response_timeout_seconds integer | Default: 5 | Response timeout seconds | |
unhealthy_threshold integer | Default: 3 | Unhealthy threshold | |
name string / required | A human-readable name for a load balancer instance. Required and must be unique (current API documentation is not up-to-date for this parameter). | ||
oauth_token string / required | DigitalOcean OAuth token; can be specified in DO_API_KEY , DO_API_TOKEN , or DO_OAUTH_TOKEN environment variablesaliases: API_TOKEN | ||
redirect_http_to_https boolean |
| A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. | |
region string | Default: "nyc1" | The slug identifier for the region where the resource will initially be available. aliases: region_id | |
size string |
| The size of the load balancer. The available sizes are lb-small , lb-medium , or lb-large .You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. | |
state string |
| The usual, present to create, absent to destroy | |
sticky_sessions dictionary | Default: {"type": "none"} | An object specifying sticky sessions settings for the load balancer. | |
type string | Default: "none" | Type | |
vpc_uuid string | A string specifying the UUID of the VPC to which the load balancer is assigned. If unspecified, uses the default VPC in the region. | ||
wait boolean |
| Wait for the Load Balancer to be running before returning. | |
wait_timeout integer | Default: 600 | How long before wait gives up, in seconds, when creating a Load Balancer. |
- name: Create a Load Balancer community.digitalocean.digital_ocean_load_balancer: state: present name: test-loadbalancer-1 droplet_ids: - 12345678 region: nyc1 forwarding_rules: - entry_protocol: http entry_port: 8080 target_protocol: http target_port: 8080 certificate_id: "" tls_passthrough: false
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
data dictionary | changed | A DigitalOcean Load Balancer Sample: {'load_balancer': {'algorithm': 'round_robin', 'created_at': '2021-08-22T14:23:41Z', 'droplet_ids': [261172461], 'enable_backend_keepalive': False, 'enable_proxy_protocol': False, 'forwarding_rules': [{'certificate_id': '', 'entry_port': 8080, 'entry_protocol': 'http', 'target_port': 8080, 'target_protocol': 'http', 'tls_passthrough': False}], 'health_check': {'check_interval_seconds': 10, 'healthy_threshold': 5, 'path': '/', 'port': 80, 'protocol': 'http', 'response_timeout_seconds': 5, 'unhealthy_threshold': 3}, 'id': 'b4fdb507-70e8-4325-a89e-d02271b93618', 'ip': '159.203.150.113', 'name': 'test-loadbalancer-1', 'redirect_http_to_https': False, 'region': {'available': True, 'features': ['backups', 'ipv6', 'metadata', 'install_agent', 'storage', 'image_transfer'], 'name': 'New York 3', 'sizes': ['s-1vcpu-1gb', 's-1vcpu-1gb-amd', 's-1vcpu-1gb-intel', 's-1vcpu-2gb', 's-1vcpu-2gb-amd', 's-1vcpu-2gb-intel', 's-2vcpu-2gb', 's-2vcpu-2gb-amd', 's-2vcpu-2gb-intel', 's-2vcpu-4gb', 's-2vcpu-4gb-amd', 's-2vcpu-4gb-intel', 's-4vcpu-8gb', 'c-2', 'c2-2vcpu-4gb', 's-4vcpu-8gb-amd', 's-4vcpu-8gb-intel', 'g-2vcpu-8gb', 'gd-2vcpu-8gb', 's-8vcpu-16gb', 'm-2vcpu-16gb', 'c-4', 'c2-4vcpu-8gb', 's-8vcpu-16gb-amd', 's-8vcpu-16gb-intel', 'm3-2vcpu-16gb', 'g-4vcpu-16gb', 'so-2vcpu-16gb', 'm6-2vcpu-16gb', 'gd-4vcpu-16gb', 'so1_5-2vcpu-16gb', 'm-4vcpu-32gb', 'c-8', 'c2-8vcpu-16gb', 'm3-4vcpu-32gb', 'g-8vcpu-32gb', 'so-4vcpu-32gb', 'm6-4vcpu-32gb', 'gd-8vcpu-32gb', 'so1_5-4vcpu-32gb', 'm-8vcpu-64gb', 'c-16', 'c2-16vcpu-32gb', 'm3-8vcpu-64gb', 'g-16vcpu-64gb', 'so-8vcpu-64gb', 'm6-8vcpu-64gb', 'gd-16vcpu-64gb', 'so1_5-8vcpu-64gb', 'm-16vcpu-128gb', 'c-32', 'c2-32vcpu-64gb', 'm3-16vcpu-128gb', 'm-24vcpu-192gb', 'g-32vcpu-128gb', 'so-16vcpu-128gb', 'm6-16vcpu-128gb', 'gd-32vcpu-128gb', 'm3-24vcpu-192gb', 'g-40vcpu-160gb', 'so1_5-16vcpu-128gb', 'm-32vcpu-256gb', 'gd-40vcpu-160gb', 'so-24vcpu-192gb', 'm6-24vcpu-192gb', 'm3-32vcpu-256gb', 'so1_5-24vcpu-192gb', 'm6-32vcpu-256gb'], 'slug': 'nyc3'}, 'size': 'lb-small', 'status': 'active', 'sticky_sessions': {'type': 'none'}, 'tag': '', 'vpc_uuid': 'b8fd9a58-d93d-4329-b54a-78a397d64855'}} |
© 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/community/digitalocean/digital_ocean_load_balancer_module.html