gcp_healthcheck - Create, Update or Destroy a Healthcheck.

New in version 2.4.

Synopsis

Requirements

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

  • python >= 2.6
  • google-api-python-client >= 1.6.2
  • google-auth >= 0.9.0
  • google-auth-httplib2 >= 0.0.2

Parameters

Parameter Choices/Defaults Comments
check_interval Default:
5
How often (in seconds) to send a health check.
credentials_file
Path to the JSON file associated with the service account email
healthcheck_name
required
Name of the Healthcheck.
healthcheck_type
required
    Choices:
  • HTTP
  • HTTPS
Type of Healthcheck.
healthy_threshold Default:
2
A so-far unhealthy instance will be marked healthy after this many consecutive successes.
host_header
required
Default:
The value of the host header in the health check request. If left empty, the public IP on behalf of which this health check is performed will be used.
port
The TCP port number for the health check request. The default value is 443 for HTTPS and 80 for HTTP.
project_id
Your GCP project ID
request_path Default:
/
The request path of the HTTPS health check request.
service_account_email
service account email
service_account_permissions
(added in 2.0)
    Choices:
  • bigquery
  • cloud-platform
  • compute-ro
  • compute-rw
  • useraccounts-ro
  • useraccounts-rw
  • datastore
  • logging-write
  • monitoring
  • sql-admin
  • storage-full
  • storage-ro
  • storage-rw
  • taskqueue
  • userinfo-email
service account permissions (see https://cloud.google.com/sdk/gcloud/reference/compute/instances/create, --scopes section for detailed information)
state
required
    Choices:
  • present
  • absent
State of the Healthcheck.
timeout Default:
5
How long (in seconds) to wait for a response before claiming failure. It is invalid for timeout to have a greater value than check_interval.
unhealthy_threshold Default:
2
A so-far healthy instance will be marked unhealthy after this many consecutive failures.

Notes

Note

  • Only supports HTTP and HTTPS Healthchecks currently.

Examples

- name: Create Minimum HealthCheck
  gcp_healthcheck:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    healthcheck_name: my-healthcheck
    healthcheck_type: HTTP
    state: present
- name: Create HTTP HealthCheck
  gcp_healthcheck:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    healthcheck_name: my-healthcheck
    healthcheck_type: HTTP
    host: my-host
    request_path: /hc
    check_interval: 10
    timeout: 30
    unhealthy_threshhold: 2
    healthy_threshhold: 1
    state: present
- name: Create HTTPS HealthCheck
  gcp_healthcheck:
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    project_id: "{{ project_id }}"
    healthcheck_name: "{{ https_healthcheck }}"
    healthcheck_type: HTTPS
    host_header: my-host
    request_path: /hc
    check_interval: 5
    timeout: 5
    unhealthy_threshold: 2
    healthy_threshold: 1
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
healthcheck
dict
Always. Refer to GCP documentation for detailed field descriptions.
GCP Healthcheck dictionary

Sample:
{'port': 443, 'requestPath': '/foo', 'name': 'my-hc'}
healthcheck_name
str
Always
Name of the Healthcheck

Sample:
my-url-map
healthcheck_type
str
Always
Type of the Healthcheck

Sample:
HTTP
state
str
Always.
state of the Healthcheck

Sample:
present


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

Hint

If you notice any issues in this documentation you can edit this document to improve it.