community.google.gce_lb – create/destroy GCE load-balancer resources

Note

This plugin is part of the community.google collection (version 1.0.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.google.

To use it in a playbook, specify: community.google.gce_lb.

Synopsis

  • This module can create and destroy Google Compute Engine loadbalancer and httphealthcheck resources. The primary LB resource is the load_balancer resource and the health check parameters are all prefixed with httphealthcheck. The full documentation for Google Compute Engine load balancing is at https://developers.google.com/compute/docs/load-balancing/. However, the ansible module simplifies the configuration by following the libcloud model. Full install/configuration instructions for the gce* modules can be found in the comments of ansible/test/gce_tests.py.

Requirements

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

  • python >= 2.6

  • apache-libcloud >= 0.13.3, >= 0.17.0 if using JSON credentials

Parameters

Parameter Choices/Defaults Comments
credentials_file
path
path to the JSON file associated with the service account email
external_ip
string
the external static IPv4 (or auto-assigned) address for the LB
httphealthcheck_healthy_count
integer
Default:
2
number of consecutive successful checks before marking a node healthy
httphealthcheck_host
string
host header to pass through on HTTP check requests
httphealthcheck_interval
integer
Default:
5
the duration in seconds between each health check request
httphealthcheck_name
string
the name identifier for the HTTP health check
httphealthcheck_path
string
Default:
"/"
the url path to use for HTTP health checking
httphealthcheck_port
integer
Default:
80
the TCP port to use for HTTP health checking
httphealthcheck_timeout
integer
Default:
5
the timeout in seconds before a request is considered a failed check
httphealthcheck_unhealthy_count
integer
Default:
2
number of consecutive failed checks before marking a node unhealthy
members
list / elements=string
a list of zone/nodename pairs, e.g ['us-central1-a/www-a', ...]
name
string
name of the load-balancer resource
pem_file
path
path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'.
port_range
string
the port (range) to forward, e.g. 80 or 8000-8888 defaults to all ports
project_id
string
your GCE project ID
protocol
string
Default:
"tcp"
the protocol used for the load-balancer packet forwarding, tcp or udp
the available choices are: tcp or udp.
region
string
the GCE region where the load-balancer is defined
service_account_email
string
service account email
state
string
Default:
"present"
desired state of the LB
the available choices are: active, present, absent, deleted.

Examples

- name: Simple example of creating a new LB, adding members, and a health check
  local_action:
    module: gce_lb
    name: testlb
    region: us-central1
    members: ["us-central1-a/www-a", "us-central1-b/www-b"]
    httphealthcheck_name: hc
    httphealthcheck_port: 80
    httphealthcheck_path: "/up"

Authors