fortios_system_interface – Configure interfaces in Fortinet’s FortiOS and FortiGate — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# fortios_system_interface – Configure interfaces in Fortinet’s FortiOS and FortiGate

New in version 2.8.

- 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 interface 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 added in 2.9 | Choices: no yes ← | Ensures FortiGate certificate must be verified by a proper CA.
state string added in 2.9 | Choices: present absent | Indicates whether to create or remove the object. This attribute was present already in previous version in a deeper level. It has been moved out to this outer level.
system_interface dictionary | Default: null | Configure interfaces.
| ac_name string |  | PPPoE server name.
| aggregate string |  | Aggregate interface.
| algorithm string | Choices: L2 L3 L4 | Frame distribution algorithm.
| alias string |  | Alias will be displayed with the interface name to make it easier to distinguish.
| allowaccess list | Choices: ping https ssh snmp http telnet fgfm radius-acct probe-response capwap ftm | Permitted types of management access to this interface.
| ap_discover string | Choices: enable disable | Enable/disable automatic registration of unknown FortiAP devices.
| arpforward string | Choices: enable disable | Enable/disable ARP forwarding.
| auth_type string | Choices: auto pap chap mschapv1 mschapv2 | PPP authentication type to use.
| auto_auth_extension_device string | Choices: enable disable | Enable/disable automatic authorization of dedicated Fortinet extension device on this interface.
| bfd string | Choices: global enable disable | Bidirectional Forwarding Detection (BFD) settings.
| bfd_desired_min_tx integer |  | BFD desired minimal transmit interval.
| bfd_detect_mult integer |  | BFD detection multiplier.
| bfd_required_min_rx integer |  | BFD required minimal receive interval.
| broadcast_forticlient_discovery string | Choices: enable disable | Enable/disable broadcasting FortiClient discovery messages.
| broadcast_forward string | Choices: enable disable | Enable/disable broadcast forwarding.
| captive_portal integer |  | Enable/disable captive portal.
| cli_conn_status integer |  | CLI connection status.
| color integer |  | Color of icon on the GUI.
| dedicated_to string | Choices: none management | Configure interface for single purpose.
| defaultgw string | Choices: enable disable | Enable to get the gateway IP from the DHCP or PPPoE server.
| description string |  | Description.
| detected_peer_mtu integer |  | MTU of detected peer (0 - 4294967295).
| detectprotocol string | Choices: ping tcp-echo udp-echo | Protocols used to detect the server.
| detectserver string |  | Gateway's ping server for this IP.
| device_access_list string |  | Device access list.
| device_identification string | Choices: enable disable | Enable/disable passively gathering of device identity information about the devices on the network connected to this interface.
| device_identification_active_scan string | Choices: enable disable | Enable/disable active gathering of device identity information about the devices on the network connected to this interface.
| device_netscan string | Choices: disable enable | Enable/disable inclusion of devices detected on this interface in network vulnerability scans.
| device_user_identification string | Choices: enable disable | Enable/disable passive gathering of user identity information about users on this interface.
| devindex integer |  | Device Index.
| dhcp_client_identifier string |  | DHCP client identifier.
| dhcp_relay_agent_option string | Choices: enable disable | Enable/disable DHCP relay agent option.
| dhcp_relay_ip string |  | DHCP relay IP address.
| dhcp_relay_service string | Choices: disable enable | Enable/disable allowing this interface to act as a DHCP relay.
| dhcp_relay_type string | Choices: regular ipsec | DHCP relay type (regular or IPsec).
| dhcp_renew_time integer |  | DHCP renew time in seconds (300-604800), 0 means use the renew time provided by the server.
| disc_retry_timeout integer |  | Time in seconds to wait before retrying to start a PPPoE discovery, 0 means no timeout.
| disconnect_threshold integer |  | Time in milliseconds to wait before sending a notification that this interface is down or disconnected.
| distance integer |  | Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.
| dns_server_override string | Choices: enable disable | Enable/disable use DNS acquired by DHCP or PPPoE.
| drop_fragment string | Choices: enable disable | Enable/disable drop fragment packets.
| drop_overlapped_fragment string | Choices: enable disable | Enable/disable drop overlapped fragment packets.
| egress_shaping_profile string |  | Outgoing traffic shaping profile.
| endpoint_compliance string | Choices: enable disable | Enable/disable endpoint compliance enforcement.
| estimated_downstream_bandwidth integer |  | Estimated maximum downstream bandwidth (kbps). Used to estimate link utilization.
| estimated_upstream_bandwidth integer |  | Estimated maximum upstream bandwidth (kbps). Used to estimate link utilization.
| explicit_ftp_proxy string | Choices: enable disable | Enable/disable the explicit FTP proxy on this interface.
| explicit_web_proxy string | Choices: enable disable | Enable/disable the explicit web proxy on this interface.
| external string | Choices: enable disable | Enable/disable identifying the interface as an external interface (which usually means it's connected to the Internet).
| fail_action_on_extender string | Choices: soft-restart hard-restart reboot | Action on extender when interface fail .
| fail_alert_interfaces list |  | Names of the FortiGate interfaces from which the link failure alert is sent for this interface.
|  | name string / required |  | Names of the physical interfaces belonging to the aggregate or redundant interface. Source system.interface.name.
| fail_alert_method string | Choices: link-failed-signal link-down | Select link-failed-signal or link-down method to alert about a failed link.
| fail_detect string | Choices: enable disable | Enable/disable fail detection features for this interface.
| fail_detect_option string | Choices: detectserver link-down | Options for detecting that this interface has failed.
| fortiheartbeat string | Choices: enable disable | Enable/disable FortiHeartBeat (FortiTelemetry on GUI).
| fortilink string | Choices: enable disable | Enable FortiLink to dedicate this interface to manage other Fortinet devices.
| fortilink_backup_link integer |  | fortilink split interface backup link.
| fortilink_split_interface string | Choices: enable disable | Enable/disable FortiLink split interface to connect member link to different FortiSwitch in stack for uplink redundancy (maximum 2 interfaces in the "members" command).
| fortilink_stacking string | Choices: enable disable | Enable/disable FortiLink switch-stacking on this interface.
| forward_domain integer |  | Transparent mode forward domain.
| gwdetect string | Choices: enable disable | Enable/disable detect gateway alive for first.
| ha_priority integer |  | HA election priority for the PING server.
| icmp_accept_redirect string | Choices: enable disable | Enable/disable ICMP accept redirect.
| icmp_send_redirect string | Choices: enable disable | Enable/disable ICMP send redirect.
| ident_accept string | Choices: enable disable | Enable/disable authentication for this interface.
| idle_timeout integer |  | PPPoE auto disconnect after idle timeout seconds, 0 means no timeout.
| inbandwidth integer |  | Bandwidth limit for incoming traffic (0 - 16776000 kbps), 0 means unlimited.
| ingress_spillover_threshold integer |  | Ingress Spillover threshold (0 - 16776000 kbps).
| interface string |  | Interface name. Source system.interface.name.
| internal integer |  | Implicitly created.
| ip string |  | Interface IPv4 address and subnet mask, syntax: X.X.X.X/24.
| ipmac string | Choices: enable disable | Enable/disable IP/MAC binding.
| ips_sniffer_mode string | Choices: enable disable | Enable/disable the use of this interface as a one-armed sniffer.
| ipunnumbered string |  | Unnumbered IP used for PPPoE interfaces for which no unique local address is provided.
| ipv6 dictionary |  | IPv6 of interface.
|  | autoconf string | Choices: enable disable | Enable/disable address auto config.
|  | dhcp6_client_options string | Choices: rapid iapd iana | DHCPv6 client options.
|  | dhcp6_information_request string | Choices: enable disable | Enable/disable DHCPv6 information request.
|  | dhcp6_prefix_delegation string | Choices: enable disable | Enable/disable DHCPv6 prefix delegation.
|  | dhcp6_prefix_hint string |  | DHCPv6 prefix that will be used as a hint to the upstream DHCPv6 server.
|  | dhcp6_prefix_hint_plt integer |  | DHCPv6 prefix hint preferred life time (sec), 0 means unlimited lease time.
|  | dhcp6_prefix_hint_vlt integer |  | DHCPv6 prefix hint valid life time (sec).
|  | dhcp6_relay_ip string |  | DHCPv6 relay IP address.
|  | dhcp6_relay_service string | Choices: disable enable | Enable/disable DHCPv6 relay.
|  | dhcp6_relay_type string | Choices: regular | DHCPv6 relay type.
|  | ip6_address string |  | Primary IPv6 address prefix, syntax: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx
|  | ip6_allowaccess list | Choices: ping https ssh snmp http telnet fgfm capwap | Allow management access to the interface.
|  | ip6_default_life integer |  | Default life (sec).
|  | ip6_delegated_prefix_list list |  | Advertised IPv6 delegated prefix list.
|  |  | autonomous_flag string | Choices: enable disable | Enable/disable the autonomous flag.
|  |  | onlink_flag string | Choices: enable disable | Enable/disable the onlink flag.
|  |  | prefix_id integer |  | Prefix ID.
|  |  | rdnss string |  | Recursive DNS server option.
|  |  | rdnss_service string | Choices: delegated default specify | Recursive DNS service option.
|  |  | subnet string |  | Add subnet ID to routing prefix.
|  |  | upstream_interface string |  | Name of the interface that provides delegated information. Source system.interface.name.
|  | ip6_dns_server_override string | Choices: enable disable | Enable/disable using the DNS server acquired by DHCP.
|  | ip6_extra_addr list |  | Extra IPv6 address prefixes of interface.
|  |  | prefix string / required |  | IPv6 address prefix.
|  | ip6_hop_limit integer |  | Hop limit (0 means unspecified).
|  | ip6_link_mtu integer |  | IPv6 link MTU.
|  | ip6_manage_flag string | Choices: enable disable | Enable/disable the managed flag.
|  | ip6_max_interval integer |  | IPv6 maximum interval (4 to 1800 sec).
|  | ip6_min_interval integer |  | IPv6 minimum interval (3 to 1350 sec).
|  | ip6_mode string | Choices: static dhcp pppoe delegated | Addressing mode (static, DHCP, delegated).
|  | ip6_other_flag string | Choices: enable disable | Enable/disable the other IPv6 flag.
|  | ip6_prefix_list list |  | Advertised prefix list.
|  |  | autonomous_flag string | Choices: enable disable | Enable/disable the autonomous flag.
|  |  | dnssl list |  | DNS search list option.
|  |  |  | domain string / required |  | Domain name.
|  |  | onlink_flag string | Choices: enable disable | Enable/disable the onlink flag.
|  |  | preferred_life_time integer |  | Preferred life time (sec).
|  |  | prefix string / required |  | IPv6 prefix.
|  |  | rdnss string |  | Recursive DNS server option.
|  |  | valid_life_time integer |  | Valid life time (sec).
|  | ip6_reachable_time integer |  | IPv6 reachable time (milliseconds; 0 means unspecified).
|  | ip6_retrans_time integer |  | IPv6 retransmit time (milliseconds; 0 means unspecified).
|  | ip6_send_adv string | Choices: enable disable | Enable/disable sending advertisements about the interface.
|  | ip6_subnet string |  | Subnet to routing prefix, syntax: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx
|  | ip6_upstream_interface string |  | Interface name providing delegated information. Source system.interface.name.
|  | nd_cert string |  | Neighbor discovery certificate. Source certificate.local.name.
|  | nd_cga_modifier string |  | Neighbor discovery CGA modifier.
|  | nd_mode string | Choices: basic SEND-compatible | Neighbor discovery mode.
|  | nd_security_level integer |  | Neighbor discovery security level (0 - 7; 0 = least secure).
|  | nd_timestamp_delta integer |  | Neighbor discovery timestamp delta value (1 - 3600 sec; ).
|  | nd_timestamp_fuzz integer |  | Neighbor discovery timestamp fuzz factor (1 - 60 sec; ).
|  | vrip6_link_local string |  | Link-local IPv6 address of virtual router.
|  | vrrp6 list |  | IPv6 VRRP configuration.
|  |  | accept_mode string | Choices: enable disable | Enable/disable accept mode.
|  |  | adv_interval integer |  | Advertisement interval (1 - 255 seconds).
|  |  | preempt string | Choices: enable disable | Enable/disable preempt mode.
|  |  | priority integer |  | Priority of the virtual router (1 - 255).
|  |  | start_time integer |  | Startup time (1 - 255 seconds).
|  |  | status string | Choices: enable disable | Enable/disable VRRP.
|  |  | vrdst6 string |  | Monitor the route to this destination.
|  |  | vrgrp integer |  | VRRP group ID (1 - 65535).
|  |  | vrid integer / required |  | Virtual router identifier (1 - 255).
|  |  | vrip6 string |  | IPv6 address of the virtual router.
|  | vrrp_virtual_mac6 string | Choices: enable disable | Enable/disable virtual MAC for VRRP.
| l2forward string | Choices: enable disable | Enable/disable l2 forwarding.
| lacp_ha_slave string | Choices: enable disable | LACP HA slave.
| lacp_mode string | Choices: static passive active | LACP mode.
| lacp_speed string | Choices: slow fast | How often the interface sends LACP messages.
| lcp_echo_interval integer |  | Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.
| lcp_max_echo_fails integer |  | Maximum missed LCP echo messages before disconnect.
| link_up_delay integer |  | Number of milliseconds to wait before considering a link is up.
| lldp_transmission string | Choices: enable disable vdom | Enable/disable Link Layer Discovery Protocol (LLDP) transmission.
| macaddr string |  | Change the interface's MAC address.
| managed_device list |  | Available when FortiLink is enabled, used for managed devices through FortiLink interface.
|  | name string / required |  | Managed dev identifier.
| management_ip string |  | High Availability in-band management IP address of this interface.
| member list |  | Physical interfaces that belong to the aggregate or redundant interface.
|  | interface_name string |  | Physical interface name. Source system.interface.name.
| min_links integer |  | Minimum number of aggregated ports that must be up.
| min_links_down string | Choices: operational administrative | Action to take when less than the configured minimum number of links are active.
| mode string | Choices: static dhcp pppoe | Addressing mode (static, DHCP, PPPoE).
| mtu integer |  | MTU value for this interface.
| mtu_override string | Choices: enable disable | Enable to set a custom MTU for this interface.
| name string / required |  | Name.
| ndiscforward string | Choices: enable disable | Enable/disable NDISC forwarding.
| netbios_forward string | Choices: disable enable | Enable/disable NETBIOS forwarding.
| netflow_sampler string | Choices: disable tx rx both | Enable/disable NetFlow on this interface and set the data that NetFlow collects (rx, tx, or both).
| outbandwidth integer |  | Bandwidth limit for outgoing traffic (0 - 16776000 kbps).
| padt_retry_timeout integer |  | PPPoE Active Discovery Terminate (PADT) used to terminate sessions after an idle time.
| password string |  | PPPoE account's password.
| ping_serv_status integer |  | PING server status.
| polling_interval integer |  | sFlow polling interval (1 - 255 sec).
| pppoe_unnumbered_negotiate string | Choices: enable disable | Enable/disable PPPoE unnumbered negotiation.
| pptp_auth_type string | Choices: auto pap chap mschapv1 mschapv2 | PPTP authentication type.
| pptp_client string | Choices: enable disable | Enable/disable PPTP client.
| pptp_password string |  | PPTP password.
| pptp_server_ip string |  | PPTP server IP address.
| pptp_timeout integer |  | Idle timer in minutes (0 for disabled).
| pptp_user string |  | PPTP user name.
| preserve_session_route string | Choices: enable disable | Enable/disable preservation of session route when dirty.
| priority integer |  | Priority of learned routes.
| priority_override string | Choices: enable disable | Enable/disable fail back to higher priority port once recovered.
| proxy_captive_portal string | Choices: enable disable | Enable/disable proxy captive portal on this interface.
| redundant_interface string |  | Redundant interface.
| remote_ip string |  | Remote IP address of tunnel.
| replacemsg_override_group string |  | Replacement message override group.
| role string | Choices: lan wan dmz undefined | Interface role.
| sample_direction string | Choices: tx rx both | Data that NetFlow collects (rx, tx, or both).
| sample_rate integer |  | sFlow sample rate (10 - 99999).
| scan_botnet_connections string | Choices: disable block monitor | Enable monitoring or blocking connections to Botnet servers through this interface.
| secondary_IP string | Choices: enable disable | Enable/disable adding a secondary IP to this interface.
| secondaryip list |  | Second IP address of interface.
|  | allowaccess string | Choices: ping https ssh snmp http telnet fgfm radius-acct probe-response capwap ftm | Management access settings for the secondary IP address.
|  | detectprotocol string | Choices: ping tcp-echo udp-echo | Protocols used to detect the server.
|  | detectserver string |  | Gateway's ping server for this IP.
|  | gwdetect string | Choices: enable disable | Enable/disable detect gateway alive for first.
|  | ha_priority integer |  | HA election priority for the PING server.
|  | id integer / required |  | ID.
|  | ip string |  | Secondary IP address of the interface.
|  | ping_serv_status integer |  | PING server status.
| security_exempt_list string |  | Name of security-exempt-list.
| security_external_logout string |  | URL of external authentication logout server.
| security_external_web string |  | URL of external authentication web server.
| security_groups list |  | User groups that can authenticate with the captive portal.
|  | name string / required |  | Names of user groups that can authenticate with the captive portal.
| security_mac_auth_bypass string | Choices: enable disable | Enable/disable MAC authentication bypass.
| security_mode string | Choices: none captive-portal 802.1X | Turn on captive portal authentication for this interface.
| security_redirect_url string |  | URL redirection after disclaimer/authentication.
| service_name string |  | PPPoE service name.
| sflow_sampler string | Choices: enable disable | Enable/disable sFlow on this interface.
| snmp_index integer |  | Permanent SNMP Index of the interface.
| speed string | Choices: auto 10full 10half 100full 100half 1000full 1000half 1000auto | Interface speed. The default setting and the options available depend on the interface hardware.
| spillover_threshold integer |  | Egress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.
| src_check string | Choices: enable disable | Enable/disable source IP check.
| state string | Choices: present absent | Deprecated Starting with Ansible 2.9 we recommend using the top-level 'state' parameter. Indicates whether to create or remove the object.
| status string | Choices: up down | Bring the interface up or shut the interface down.
| stpforward string | Choices: enable disable | Enable/disable STP forwarding.
| stpforward_mode string | Choices: rpl-all-ext-id rpl-bridge-ext-id rpl-nothing | Configure STP forwarding mode.
| subst string | Choices: enable disable | Enable to always send packets from this interface to a destination MAC address.
| substitute_dst_mac string |  | Destination MAC address that all packets are sent to from this interface.
| switch string |  | Contained in switch.
| switch_controller_access_vlan string | Choices: enable disable | Block FortiSwitch port-to-port traffic.
| switch_controller_arp_inspection string | Choices: enable disable | Enable/disable FortiSwitch ARP inspection.
| switch_controller_dhcp_snooping string | Choices: enable disable | Switch controller DHCP snooping.
| switch_controller_dhcp_snooping_option82 string | Choices: enable disable | Switch controller DHCP snooping option82.
| switch_controller_dhcp_snooping_verify_mac string | Choices: enable disable | Switch controller DHCP snooping verify MAC.
| switch_controller_igmp_snooping string | Choices: enable disable | Switch controller IGMP snooping.
| switch_controller_learning_limit integer |  | Limit the number of dynamic MAC addresses on this VLAN (1 - 128, 0 = no limit, default).
| tagging list |  | Config object tagging.
|  | category string |  | Tag category. Source system.object-tagging.category.
|  | name string / required |  | Tagging entry name.
|  | tags list |  | Tags.
|  |  | name string / required |  | Tag name. Source system.object-tagging.tags.name.
| tcp_mss integer |  | TCP maximum segment size. 0 means do not change segment size.
| trust_ip6_1 string |  | Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).
| trust_ip6_2 string |  | Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).
| trust_ip6_3 string |  | Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).
| trust_ip_1 string |  | Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).
| trust_ip_2 string |  | Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).
| trust_ip_3 string |  | Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).
| type string | Choices: physical vlan aggregate redundant tunnel vdom-link loopback switch hard-switch vap-switch wl-mesh fext-wan vxlan hdlc switch-vlan | Interface type.
| username string |  | Username of the PPPoE account, provided by your ISP.
| vdom string |  | Interface is in this virtual domain (VDOM). Source system.vdom.name.
| vindex integer |  | Switch control interface VLAN ID.
| vlanforward string | Choices: enable disable | Enable/disable traffic forwarding between VLANs on this interface.
| vlanid integer |  | VLAN ID (1 - 4094).
| vrf integer |  | Virtual Routing Forwarding ID.
| vrrp list |  | VRRP configuration.
|  | accept_mode string | Choices: enable disable | Enable/disable accept mode.
|  | adv_interval integer |  | Advertisement interval (1 - 255 seconds).
|  | ignore_default_route string | Choices: enable disable | Enable/disable ignoring of default route when checking destination.
|  | preempt string | Choices: enable disable | Enable/disable preempt mode.
|  | priority integer |  | Priority of the virtual router (1 - 255).
|  | proxy_arp list |  | VRRP Proxy ARP configuration.
|  |  | id integer / required |  | ID.
|  |  | ip string |  | Set IP addresses of proxy ARP.
|  | start_time integer |  | Startup time (1 - 255 seconds).
|  | status string | Choices: enable disable | Enable/disable this VRRP configuration.
|  | version string | Choices: 2 3 | VRRP version.
|  | vrdst string |  | Monitor the route to this destination.
|  | vrdst_priority integer |  | Priority of the virtual router when the virtual router destination becomes unreachable (0 - 254).
|  | vrgrp integer |  | VRRP group ID (1 - 65535).
|  | vrid integer / required |  | Virtual router identifier (1 - 255).
|  | vrip string |  | IP address of the virtual router.
| vrrp_virtual_mac string | Choices: enable disable | Enable/disable use of virtual MAC for VRRP.
| wccp string | Choices: enable disable | Enable/disable WCCP on this interface. Used for encapsulated WCCP communication between WCCP clients and servers.
| weight integer |  | Default weight for static routes (if route has no weight configured).
| wins_ip string |  | WINS server IP.
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 interfaces.
        fortios_system_interface:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_interface:
            ac_name: "<your_own_value>"
            aggregate: "<your_own_value>"
            algorithm: "L2"
            alias: "<your_own_value>"
            allowaccess: "ping"
            ap_discover: "enable"
            arpforward: "enable"
            auth_type: "auto"
            auto_auth_extension_device: "enable"
            bfd: "global"
            bfd_desired_min_tx: "13"
            bfd_detect_mult: "14"
            bfd_required_min_rx: "15"
            broadcast_forticlient_discovery: "enable"
            broadcast_forward: "enable"
            captive_portal: "18"
            cli_conn_status: "19"
            color: "20"
            dedicated_to: "none"
            defaultgw: "enable"
            description: "<your_own_value>"
            detected_peer_mtu: "24"
            detectprotocol: "ping"
            detectserver: "<your_own_value>"
            device_access_list: "<your_own_value>"
            device_identification: "enable"
            device_identification_active_scan: "enable"
            device_netscan: "disable"
            device_user_identification: "enable"
            devindex: "32"
            dhcp_client_identifier:  "myId_33"
            dhcp_relay_agent_option: "enable"
            dhcp_relay_ip: "<your_own_value>"
            dhcp_relay_service: "disable"
            dhcp_relay_type: "regular"
            dhcp_renew_time: "38"
            disc_retry_timeout: "39"
            disconnect_threshold: "40"
            distance: "41"
            dns_server_override: "enable"
            drop_fragment: "enable"
            drop_overlapped_fragment: "enable"
            egress_shaping_profile: "<your_own_value>"
            endpoint_compliance: "enable"
            estimated_downstream_bandwidth: "47"
            estimated_upstream_bandwidth: "48"
            explicit_ftp_proxy: "enable"
            explicit_web_proxy: "enable"
            external: "enable"
            fail_action_on_extender: "soft-restart"
            fail_alert_interfaces:
             -
                name: "default_name_54 (source system.interface.name)"
            fail_alert_method: "link-failed-signal"
            fail_detect: "enable"
            fail_detect_option: "detectserver"
            fortiheartbeat: "enable"
            fortilink: "enable"
            fortilink_backup_link: "60"
            fortilink_split_interface: "enable"
            fortilink_stacking: "enable"
            forward_domain: "63"
            gwdetect: "enable"
            ha_priority: "65"
            icmp_accept_redirect: "enable"
            icmp_send_redirect: "enable"
            ident_accept: "enable"
            idle_timeout: "69"
            inbandwidth: "70"
            ingress_spillover_threshold: "71"
            interface: "<your_own_value> (source system.interface.name)"
            internal: "73"
            ip: "<your_own_value>"
            ipmac: "enable"
            ips_sniffer_mode: "enable"
            ipunnumbered: "<your_own_value>"
            ipv6:
                autoconf: "enable"
                dhcp6_client_options: "rapid"
                dhcp6_information_request: "enable"
                dhcp6_prefix_delegation: "enable"
                dhcp6_prefix_hint: "<your_own_value>"
                dhcp6_prefix_hint_plt: "84"
                dhcp6_prefix_hint_vlt: "85"
                dhcp6_relay_ip: "<your_own_value>"
                dhcp6_relay_service: "disable"
                dhcp6_relay_type: "regular"
                ip6_address: "<your_own_value>"
                ip6_allowaccess: "ping"
                ip6_default_life: "91"
                ip6_delegated_prefix_list:
                 -
                    autonomous_flag: "enable"
                    onlink_flag: "enable"
                    prefix_id: "95"
                    rdnss: "<your_own_value>"
                    rdnss_service: "delegated"
                    subnet: "<your_own_value>"
                    upstream_interface: "<your_own_value> (source system.interface.name)"
                ip6_dns_server_override: "enable"
                ip6_extra_addr:
                 -
                    prefix: "<your_own_value>"
                ip6_hop_limit: "103"
                ip6_link_mtu: "104"
                ip6_manage_flag: "enable"
                ip6_max_interval: "106"
                ip6_min_interval: "107"
                ip6_mode: "static"
                ip6_other_flag: "enable"
                ip6_prefix_list:
                 -
                    autonomous_flag: "enable"
                    dnssl:
                     -
                        domain: "<your_own_value>"
                    onlink_flag: "enable"
                    preferred_life_time: "115"
                    prefix: "<your_own_value>"
                    rdnss: "<your_own_value>"
                    valid_life_time: "118"
                ip6_reachable_time: "119"
                ip6_retrans_time: "120"
                ip6_send_adv: "enable"
                ip6_subnet: "<your_own_value>"
                ip6_upstream_interface: "<your_own_value> (source system.interface.name)"
                nd_cert: "<your_own_value> (source certificate.local.name)"
                nd_cga_modifier: "<your_own_value>"
                nd_mode: "basic"
                nd_security_level: "127"
                nd_timestamp_delta: "128"
                nd_timestamp_fuzz: "129"
                vrip6_link_local: "<your_own_value>"
                vrrp_virtual_mac6: "enable"
                vrrp6:
                 -
                    accept_mode: "enable"
                    adv_interval: "134"
                    preempt: "enable"
                    priority: "136"
                    start_time: "137"
                    status: "enable"
                    vrdst6: "<your_own_value>"
                    vrgrp: "140"
                    vrid: "141"
                    vrip6: "<your_own_value>"
            l2forward: "enable"
            lacp_ha_slave: "enable"
            lacp_mode: "static"
            lacp_speed: "slow"
            lcp_echo_interval: "147"
            lcp_max_echo_fails: "148"
            link_up_delay: "149"
            lldp_transmission: "enable"
            macaddr: "<your_own_value>"
            managed_device:
             -
                name: "default_name_153"
            management_ip: "<your_own_value>"
            member:
             -
                interface_name: "<your_own_value> (source system.interface.name)"
            min_links: "157"
            min_links_down: "operational"
            mode: "static"
            mtu: "160"
            mtu_override: "enable"
            name: "default_name_162"
            ndiscforward: "enable"
            netbios_forward: "disable"
            netflow_sampler: "disable"
            outbandwidth: "166"
            padt_retry_timeout: "167"
            password: "<your_own_value>"
            ping_serv_status: "169"
            polling_interval: "170"
            pppoe_unnumbered_negotiate: "enable"
            pptp_auth_type: "auto"
            pptp_client: "enable"
            pptp_password: "<your_own_value>"
            pptp_server_ip: "<your_own_value>"
            pptp_timeout: "176"
            pptp_user: "<your_own_value>"
            preserve_session_route: "enable"
            priority: "179"
            priority_override: "enable"
            proxy_captive_portal: "enable"
            redundant_interface: "<your_own_value>"
            remote_ip: "<your_own_value>"
            replacemsg_override_group: "<your_own_value>"
            role: "lan"
            sample_direction: "tx"
            sample_rate: "187"
            scan_botnet_connections: "disable"
            secondary_IP: "enable"
            secondaryip:
             -
                allowaccess: "ping"
                detectprotocol: "ping"
                detectserver: "<your_own_value>"
                gwdetect: "enable"
                ha_priority: "195"
                id:  "196"
                ip: "<your_own_value>"
                ping_serv_status: "198"
            security_exempt_list: "<your_own_value>"
            security_external_logout: "<your_own_value>"
            security_external_web: "<your_own_value>"
            security_groups:
             -
                name: "default_name_203"
            security_mac_auth_bypass: "enable"
            security_mode: "none"
            security_redirect_url: "<your_own_value>"
            service_name: "<your_own_value>"
            sflow_sampler: "enable"
            snmp_index: "209"
            speed: "auto"
            spillover_threshold: "211"
            src_check: "enable"
            status: "up"
            stpforward: "enable"
            stpforward_mode: "rpl-all-ext-id"
            subst: "enable"
            substitute_dst_mac: "<your_own_value>"
            switch: "<your_own_value>"
            switch_controller_access_vlan: "enable"
            switch_controller_arp_inspection: "enable"
            switch_controller_dhcp_snooping: "enable"
            switch_controller_dhcp_snooping_option82: "enable"
            switch_controller_dhcp_snooping_verify_mac: "enable"
            switch_controller_igmp_snooping: "enable"
            switch_controller_learning_limit: "225"
            tagging:
             -
                category: "<your_own_value> (source system.object-tagging.category)"
                name: "default_name_228"
                tags:
                 -
                    name: "default_name_230 (source system.object-tagging.tags.name)"
            tcp_mss: "231"
            trust_ip_1: "<your_own_value>"
            trust_ip_2: "<your_own_value>"
            trust_ip_3: "<your_own_value>"
            trust_ip6_1: "<your_own_value>"
            trust_ip6_2: "<your_own_value>"
            trust_ip6_3: "<your_own_value>"
            type: "physical"
            username: "<your_own_value>"
            vdom: "<your_own_value> (source system.vdom.name)"
            vindex: "241"
            vlanforward: "enable"
            vlanid: "243"
            vrf: "244"
            vrrp:
             -
                accept_mode: "enable"
                adv_interval: "247"
                ignore_default_route: "enable"
                preempt: "enable"
                priority: "250"
                proxy_arp:
                 -
                    id:  "252"
                    ip: "<your_own_value>"
                start_time: "254"
                status: "enable"
                version: "2"
                vrdst: "<your_own_value>"
                vrdst_priority: "258"
                vrgrp: "259"
                vrid: "260"
                vrip: "<your_own_value>"
            vrrp_virtual_mac: "enable"
            wccp: "enable"
            weight: "264"
            wins_ip: "<your_own_value>"

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