fortinet.fortios.fortios_system_link_monitor (2.3.6) — module

Configure Link Health Monitor in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortios:==2.3.6


Add to requirements.yml

  collections:
    - name: fortinet.fortios
      version: 2.3.6

Description

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.0


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Configure Link Health Monitor.
  fortinet.fortios.fortios_system_link_monitor:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      system_link_monitor:
          addr_mode: "ipv4"
          class_id: "0"
          diffservcode: "<your_own_value>"
          fail_weight: "0"
          failtime: "5"
          gateway_ip: "<your_own_value>"
          gateway_ip6: "<your_own_value>"
          ha_priority: "1"
          http_agent: "<your_own_value>"
          http_get: "<your_own_value>"
          http_match: "<your_own_value>"
          interval: "500"
          name: "default_name_15"
          packet_size: "124"
          password: "<your_own_value>"
          port: "0"
          probe_count: "30"
          probe_timeout: "500"
          protocol: "ping"
          recoverytime: "5"
          route:
              -
                  subnet: "<your_own_value>"
          security_mode: "none"
          server:
              -
                  address: "<your_own_value>"
          server_config: "default"
          server_list:
              -
                  dst: "<your_own_value>"
                  id: "31"
                  port: "0"
                  protocol: "ping"
                  weight: "0"
          server_type: "static"
          service_detection: "enable"
          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_policy_route: "enable"
          update_static_route: "enable"

Inputs

    
vdom:
    default: root
    description:
    - 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.
    type: str

state:
    choices:
    - present
    - absent
    description:
    - Indicates whether to create or remove the object.
    required: true
    type: str

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

system_link_monitor:
    default: null
    description:
    - Configure Link Health Monitor.
    suboptions:
      addr_mode:
        choices:
        - ipv4
        - ipv6
        description:
        - Address mode (IPv4 or IPv6).
        type: str
      class_id:
        description:
        - Traffic class ID. Source firewall.traffic-class.class-id.
        type: int
      diffservcode:
        description:
        - Differentiated services code point (DSCP) in the IP header of the probe packet.
        type: str
      fail_weight:
        description:
        - Threshold weight to trigger link failure alert.
        type: int
      failtime:
        description:
        - Number of retry attempts before the server is considered down (1 - 3600).
        type: int
      gateway_ip:
        description:
        - Gateway IP address used to probe the server.
        type: str
      gateway_ip6:
        description:
        - Gateway IPv6 address used to probe the server.
        type: str
      ha_priority:
        description:
        - HA election priority (1 - 50).
        type: int
      http_agent:
        description:
        - String in the http-agent field in the HTTP header.
        type: str
      http_get:
        description:
        - 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.
        type: str
      http_match:
        description:
        - String that you expect to see in the HTTP-GET requests of the traffic to be
          monitored.
        type: str
      interval:
        description:
        - Detection interval in milliseconds (20 - 3600 * 1000 msec).
        type: int
      name:
        description:
        - Link monitor name.
        required: true
        type: str
      packet_size:
        description:
        - Packet size of a TWAMP test session (124/158 - 1024).
        type: int
      password:
        description:
        - TWAMP controller password in authentication mode.
        type: str
      port:
        description:
        - Port number of the traffic to be used to monitor the server.
        type: int
      probe_count:
        description:
        - Number of most recent probes that should be used to calculate latency and jitter
          (5 - 30).
        type: int
      probe_timeout:
        description:
        - Time to wait before a probe packet is considered lost (20 - 5000 msec).
        type: int
      protocol:
        choices:
        - ping
        - tcp-echo
        - udp-echo
        - http
        - https
        - twamp
        - ping6
        description:
        - Protocols used to monitor the server.
        elements: str
        type: list
      recoverytime:
        description:
        - Number of successful responses received before server is considered recovered
          (1 - 3600).
        type: int
      route:
        description:
        - Subnet to monitor.
        elements: dict
        suboptions:
          subnet:
            description:
            - IP and netmask (x.x.x.x/y).
            required: true
            type: str
        type: list
      security_mode:
        choices:
        - none
        - authentication
        description:
        - Twamp controller security mode.
        type: str
      server:
        description:
        - IP address of the server(s) to be monitored.
        elements: dict
        suboptions:
          address:
            description:
            - Server address.
            required: true
            type: str
        type: list
      server_config:
        choices:
        - default
        - individual
        description:
        - Mode of server configuration.
        type: str
      server_list:
        description:
        - Servers for link-monitor to monitor.
        elements: dict
        suboptions:
          dst:
            description:
            - IP address of the server to be monitored.
            type: str
          id:
            description:
            - Server ID. see <a href='#notes'>Notes</a>.
            required: true
            type: int
          port:
            description:
            - Port number of the traffic to be used to monitor the server.
            type: int
          protocol:
            choices:
            - ping
            - tcp-echo
            - udp-echo
            - http
            - https
            - twamp
            description:
            - Protocols used to monitor the server.
            elements: str
            type: list
          weight:
            description:
            - Weight of the monitor to this dst (0 - 255).
            type: int
        type: list
      server_type:
        choices:
        - static
        - dynamic
        description:
        - Server type (static or dynamic).
        type: str
      service_detection:
        choices:
        - enable
        - disable
        description:
        - Only use monitor to read quality values. If enabled, static routes and cascade
          interfaces will not be updated.
        type: str
      source_ip:
        description:
        - Source IP address used in packet to the server.
        type: str
      source_ip6:
        description:
        - Source IPv6 address used in packet to the server.
        type: str
      srcintf:
        description:
        - Interface that receives the traffic to be monitored. Source system.interface.name.
        type: str
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable this link monitor.
        type: str
      update_cascade_interface:
        choices:
        - enable
        - disable
        description:
        - Enable/disable update cascade interface.
        type: str
      update_policy_route:
        choices:
        - enable
        - disable
        description:
        - Enable/disable updating the policy route.
        type: str
      update_static_route:
        choices:
        - enable
        - disable
        description:
        - Enable/disable updating the static route.
        type: str
    type: dict

Outputs

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