gcp_healthcheck - Create, Update or Destroy a Healthcheck.¶
New in version 2.4.
Synopsis¶
- Create, Update or Destroy a Healthcheck. Currently only HTTP and HTTPS Healthchecks are supported. Healthchecks are used to monitor individual instances, managed instance groups and/or backend services. Healtchecks are reusable.
- Visit https://cloud.google.com/compute/docs/load-balancing/health-checks for an overview of Healthchecks on GCP.
- See https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks for API details on HTTP Healthchecks.
- See https://cloud.google.com/compute/docs/reference/latest/httpsHealthChecks for more details on the HTTPS Healtcheck API.
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 |
|
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) |
|
service account permissions (see https://cloud.google.com/sdk/gcloud/reference/compute/instances/create, --scopes section for detailed information)
|
state
required |
|
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.
|
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¶
- Tom Melendez (@supertom) <tom@supertom.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.