# fortios_system_cluster_sync – Configure FortiGate Session Life Support Protocol (FGSP) session synchronization 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 cluster_sync 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_cluster_sync dictionary | Default: null | Configure FortiGate Session Life Support Protocol (FGSP) session synchronization.
| down_intfs_before_sess_sync list |  | List of interfaces to be turned down before session synchronization is complete.
|  | name string / required |  | Interface name. Source system.interface.name.
| hb_interval integer |  | Heartbeat interval (1 - 10 sec).
| hb_lost_threshold integer |  | Lost heartbeat threshold (1 - 10).
| peerip string |  | IP address of the interface on the peer unit that is used for the session synchronization link.
| peervd string |  | VDOM that contains the session synchronization link interface on the peer unit. Usually both peers would have the same peervd. Source system.vdom.name.
| session_sync_filter dictionary |  | Add one or more filters if you only want to synchronize some sessions. Use the filter to configure the types of sessions to synchronize.
|  | custom_service list |  | Only sessions using these custom services are synchronized. Use source and destination port ranges to define these custom services.
|  |  | dst_port_range string |  | Custom service destination port range.
|  |  | id integer / required |  | Custom service ID.
|  |  | src_port_range string |  | Custom service source port range.
|  | dstaddr string |  | Only sessions to this IPv4 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.
|  | dstaddr6 string |  | Only sessions to this IPv6 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.
|  | dstintf string |  | Only sessions to this interface are synchronized. You can only enter one interface name. To synchronize sessions to multiple destination interfaces, add multiple filters. Source system.interface.name.
|  | srcaddr string |  | Only sessions from this IPv4 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.
|  | srcaddr6 string |  | Only sessions from this IPv6 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.
|  | srcintf string |  | Only sessions from this interface are synchronized. You can only enter one interface name. To synchronize sessions for multiple source interfaces, add multiple filters. Source system.interface.name.

slave_add_ike_routes
string

Choices:
- enable
- disable

Enable/disable IKE route announcement on the backup unit.

| sync_id integer |  | Sync ID.
| syncvd list |  | Sessions from these VDOMs are synchronized using this session synchronization configuration.
|  | name string / required |  | VDOM name. Source system.vdom.name.
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 FortiGate Session Life Support Protocol (FGSP) session synchronization.
        fortios_system_cluster_sync:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_cluster_sync:
            down_intfs_before_sess_sync:
             -
                name: "default_name_4 (source system.interface.name)"
            hb_interval: "5"
            hb_lost_threshold: "6"
            peerip: "<your_own_value>"
            peervd: "<your_own_value> (source system.vdom.name)"
            session_sync_filter:
                custom_service:
                 -
                    dst_port_range: "<your_own_value>"
                    id:  "12"
                    src_port_range: "<your_own_value>"
                dstaddr: "<your_own_value>"
                dstaddr6: "<your_own_value>"
                dstintf: "<your_own_value> (source system.interface.name)"
                srcaddr: "<your_own_value>"
                srcaddr6: "<your_own_value>"
                srcintf: "<your_own_value> (source system.interface.name)"
            slave_add_ike_routes: "enable"
            sync_id: "21"
            syncvd:
             -
                name: "default_name_23 (source system.vdom.name)"

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