community.general.consul_agent_check module – Add, modify, and delete checks within a Consul cluster
Note
This module is part of the community.general collection (version 10.7.5).
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.general.
To use it in a playbook, specify: community.general.consul_agent_check.
New in community.general 9.1.0
Synopsis
- Allows the addition, modification and deletion of checks in a Consul cluster using the agent. For more details on using and configuring Checks, see https://developer.hashicorp.com/consul/api-docs/agent/check. 
- Currently, there is no complete way to retrieve the script, interval or TTL metadata for a registered check. Without this metadata it is not possible to tell if the data supplied with ansible represents a change to a check. As a result, the module does not attempt to determine changes and it always reports a changed occurred. An API method is planned to supply this metadata so at that stage change management is to be added. 
Parameters
| Parameter | Comments | 
|---|---|
| The CA bundle to use for https connections. | |
| Host of the Consul agent. Default:  | |
| Specifies a unique ID for this check on the node. This defaults to the  | |
| The interval at which the service check is run. This is a number with a  Required if one of the parameters  | |
| Required name for the service check. | |
| Notes to attach to check when registering it. | |
| The port on which the consul agent is running. Default:  | |
| The protocol scheme on which the Consul agent is running. Defaults to  Default:  | |
| The ID for the service, must be unique per node. If  | |
| Whether the check should be present or absent. Choices: 
 | |
| Checks can be registered with a TCP port. This means that Consul will check if the connection attempt to that port is successful (that is, the port is currently accepting connections). The format is  Requires  | |
| A custom HTTP check timeout. The Consul default is 10 seconds. Similar to the interval this is a number with a  | |
| The token to use for authorization. | |
| Checks can be registered with a TTL instead of a  | |
| Whether to verify the TLS certificate of the Consul agent. Choices: 
 | 
Attributes
| Attribute | Support | Description | 
|---|---|---|
| Action group: community.general.consul | Use  | |
| Support: full The result is the object as it is defined in the module options and not the object structure of the Consul API. For a better overview of what the object structure looks like, take a look at https://developer.hashicorp.com/consul/api-docs/agent/check#list-checks. | Can run in  | |
| Support: partial In check mode the diff shows the object as it is defined in the module options and not the object structure of the Consul API. | Will return details on what has changed (or possibly needs changing in  | 
Examples
- name: Register tcp check for service 'nginx'
  community.general.consul_agent_check:
    name: nginx_tcp_check
    service_id: nginx
    interval: 60s
    tcp: localhost:80
    notes: "Nginx Check"
- name: Register http check for service 'nginx'
  community.general.consul_agent_check:
    name: nginx_http_check
    service_id: nginx
    interval: 60s
    http: http://localhost:80/status
    notes: "Nginx Check"
- name: Remove check for service 'nginx'
  community.general.consul_agent_check:
    state: absent
    id: nginx_http_check
    service_id: "{{ nginx_service.ID }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| The check as returned by the Consul HTTP API. Returned: always Sample:  | |
| The operation performed. Returned: changed Sample:  | 
