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
dictionary
|
Always. Refer to GCP documentation for detailed field descriptions. |
GCP Healthcheck dictionary
Sample:
{'name': 'my-hc', 'port': 443, 'requestPath': '/foo'}
|
healthcheck_name
string
|
Always |
Name of the Healthcheck
Sample:
my-url-map
|
healthcheck_type
string
|
Always |
Type of the Healthcheck
Sample:
HTTP
|
state
string
|
Always. |
state of the Healthcheck
Sample:
present
|
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Tom Melendez (@supertom) <tom@supertom.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.