# fortios_system_link_monitor – Configure Link Health Monitor in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify system feature and link_monitor category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5

## Requirements

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

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host string |  | FortiOS or FortiGate IP address.

https
boolean

Choices:
- no
- yes ←

Indicates if the requests towards FortiGate must use HTTPS protocol.

password string | Default: "" | FortiOS or FortiGate password.

ssl_verify
boolean

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

state
string / required

Choices:
- present
- absent

Indicates whether to create or remove the object.

system_link_monitor dictionary | Default: null | Configure Link Health Monitor.

addr_mode
string

Choices:
- ipv4
- ipv6

Address mode (IPv4 or IPv6).

| failtime integer |  | Number of retry attempts before the server is considered down (1 - 10)
| gateway_ip string |  | Gateway IP address used to probe the server.
| gateway_ip6 string |  | Gateway IPv6 address used to probe the server.
| ha_priority integer |  | HA election priority (1 - 50).
| http_agent string |  | String in the http-agent field in the HTTP header.
| http_get string |  | If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string.
| http_match string |  | String that you expect to see in the HTTP-GET requests of the traffic to be monitored.
| interval integer |  | Detection interval (1 - 3600 sec).
| name string / required |  | Link monitor name.
| packet_size integer |  | Packet size of a twamp test session,
| password string |  | Twamp controller password in authentication mode
| port integer |  | Port number of the traffic to be used to monitor the server.

protocol
string

Choices:
- ping
- tcp-echo
- udp-echo
- http
- twamp
- ping6

Protocols used to monitor the server.

| recoverytime integer |  | Number of successful responses received before server is considered recovered (1 - 10).

security_mode
string

Choices:
- none
- authentication

Twamp controller security mode.

| server list |  | IP address of the server(s) to be monitored.
|  | address string / required |  | Server address.
| source_ip string |  | Source IP address used in packet to the server.
| source_ip6 string |  | Source IPv6 address used in packet to the server.
| srcintf string |  | Interface that receives the traffic to be monitored. Source system.interface.name.

status
string

Choices:
- enable
- disable

Enable/disable this link monitor.

update_cascade_interface
string

Choices:
- enable
- disable

Enable/disable update cascade interface.

update_static_route
string

Choices:
- enable
- disable

Enable/disable updating the static route.

username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.

## Notes

Note

- Requires fortiosapi library developed by Fortinet
- Run as a local_action in your playbook

## Examples

    - hosts: localhost
      vars:
       host: "192.168.122.40"
       username: "admin"
       password: ""
       vdom: "root"
       ssl_verify: "False"
      tasks:
      - name: Configure Link Health Monitor.
        fortios_system_link_monitor:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_link_monitor:
            addr_mode: "ipv4"
            failtime: "4"
            gateway_ip: "<your_own_value>"
            gateway_ip6: "<your_own_value>"
            ha_priority: "7"
            http_agent: "<your_own_value>"
            http_get: "<your_own_value>"
            http_match: "<your_own_value>"
            interval: "11"
            name: "default_name_12"
            packet_size: "13"
            password: "<your_own_value>"
            port: "15"
            protocol: "ping"
            recoverytime: "17"
            security_mode: "none"
            server:
             -
                address: "<your_own_value>"
            source_ip: "84.230.14.43"
            source_ip6: "<your_own_value>"
            srcintf: "<your_own_value> (source system.interface.name)"
            status: "enable"
            update_cascade_interface: "enable"
            update_static_route: "enable"

## Return Values

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

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)

Hint

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