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