fortios_router_bgp – Configure BGP in Fortinet’s FortiOS and FortiGate.

New in version 2.8.

Synopsis

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

Requirements

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

  • ansible>=2.9.0

Parameters

  • access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: False
  • vdom - 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 default: root
  • router_bgp - Configure BGP. type: dict
    • admin_distance - Administrative distance modifications. type: list
      • distance - Administrative distance to apply (1 - 255). type: int
      • id - ID. type: int required: True
      • neighbour_prefix - Neighbor address prefix. type: str
      • route_list - Access list of routes to apply new distance to. Source router.access-list.name. type: str
    • aggregate_address - BGP aggregate address table. type: list
      • as_set - Enable/disable generate AS set path information. type: str choices: enable, disable
      • id - ID. type: int required: True
      • prefix - Aggregate prefix. type: str
      • summary_only - Enable/disable filter more specific routes from updates. type: str choices: enable, disable
    • aggregate_address6 - BGP IPv6 aggregate address table. type: list
      • as_set - Enable/disable generate AS set path information. type: str choices: enable, disable
      • id - ID. type: int required: True
      • prefix6 - Aggregate IPv6 prefix. type: str
      • summary_only - Enable/disable filter more specific routes from updates. type: str choices: enable, disable
    • always_compare_med - Enable/disable always compare MED. type: str choices: enable, disable
    • as - Router AS number, valid from 1 to 4294967295, 0 to disable BGP. type: int
    • bestpath_as_path_ignore - Enable/disable ignore AS path. type: str choices: enable, disable
    • bestpath_cmp_confed_aspath - Enable/disable compare federation AS path length. type: str choices: enable, disable
    • bestpath_cmp_routerid - Enable/disable compare router ID for identical EBGP paths. type: str choices: enable, disable
    • bestpath_med_confed - Enable/disable compare MED among confederation paths. type: str choices: enable, disable
    • bestpath_med_missing_as_worst - Enable/disable treat missing MED as least preferred. type: str choices: enable, disable
    • client_to_client_reflection - Enable/disable client-to-client route reflection. type: str choices: enable, disable
    • cluster_id - Route reflector cluster ID. type: str
    • confederation_identifier - Confederation identifier. type: int
    • confederation_peers - Confederation peers. type: list
      • peer - Peer ID. type: str required: True
    • dampening - Enable/disable route-flap dampening. type: str choices: enable, disable
    • dampening_max_suppress_time - Maximum minutes a route can be suppressed. type: int
    • dampening_reachability_half_life - Reachability half-life time for penalty (min). type: int
    • dampening_reuse - Threshold to reuse routes. type: int
    • dampening_route_map - Criteria for dampening. Source router.route-map.name. type: str
    • dampening_suppress - Threshold to suppress routes. type: int
    • dampening_unreachability_half_life - Unreachability half-life time for penalty (min). type: int
    • default_local_preference - Default local preference. type: int
    • deterministic_med - Enable/disable enforce deterministic comparison of MED. type: str choices: enable, disable
    • distance_external - Distance for routes external to the AS. type: int
    • distance_internal - Distance for routes internal to the AS. type: int
    • distance_local - Distance for routes local to the AS. type: int
    • ebgp_multipath - Enable/disable EBGP multi-path. type: str choices: enable, disable
    • enforce_first_as - Enable/disable enforce first AS for EBGP routes. type: str choices: enable, disable
    • fast_external_failover - Enable/disable reset peer BGP session if link goes down. type: str choices: enable, disable
    • graceful_end_on_timer - Enable/disable to exit graceful restart on timer only. type: str choices: enable, disable
    • graceful_restart - Enable/disable BGP graceful restart capabilities. type: str choices: enable, disable
    • graceful_restart_time - Time needed for neighbors to restart (sec). type: int
    • graceful_stalepath_time - Time to hold stale paths of restarting neighbor (sec). type: int
    • graceful_update_delay - Route advertisement/selection delay after restart (sec). type: int
    • holdtime_timer - Number of seconds to mark peer as dead. type: int
    • ibgp_multipath - Enable/disable IBGP multi-path. type: str choices: enable, disable
    • ignore_optional_capability - Don"t send unknown optional capability notification message type: str choices: enable, disable
    • keepalive_timer - Frequency to send keep alive requests. type: int
    • log_neighbour_changes - Enable logging of BGP neighbour"s changes type: str choices: enable, disable
    • neighbor - BGP neighbor table. type: list
      • activate - Enable/disable address family IPv4 for this neighbor. type: str choices: enable, disable
      • activate6 - Enable/disable address family IPv6 for this neighbor. type: str choices: enable, disable
      • advertisement_interval - Minimum interval (sec) between sending updates. type: int
      • allowas_in - IPv4 The maximum number of occurrence of my AS number allowed. type: int
      • allowas_in_enable - Enable/disable IPv4 Enable to allow my AS in AS path. type: str choices: enable, disable
      • allowas_in_enable6 - Enable/disable IPv6 Enable to allow my AS in AS path. type: str choices: enable, disable
      • allowas_in6 - IPv6 The maximum number of occurrence of my AS number allowed. type: int
      • as_override - Enable/disable replace peer AS with own AS for IPv4. type: str choices: enable, disable
      • as_override6 - Enable/disable replace peer AS with own AS for IPv6. type: str choices: enable, disable
      • attribute_unchanged - IPv4 List of attributes that should be unchanged. type: str choices: as-path, med, next-hop
      • attribute_unchanged6 - IPv6 List of attributes that should be unchanged. type: str choices: as-path, med, next-hop
      • bfd - Enable/disable BFD for this neighbor. type: str choices: enable, disable
      • capability_default_originate - Enable/disable advertise default IPv4 route to this neighbor. type: str choices: enable, disable
      • capability_default_originate6 - Enable/disable advertise default IPv6 route to this neighbor. type: str choices: enable, disable
      • capability_dynamic - Enable/disable advertise dynamic capability to this neighbor. type: str choices: enable, disable
      • capability_graceful_restart - Enable/disable advertise IPv4 graceful restart capability to this neighbor. type: str choices: enable, disable
      • capability_graceful_restart6 - Enable/disable advertise IPv6 graceful restart capability to this neighbor. type: str choices: enable, disable
      • capability_orf - Accept/Send IPv4 ORF lists to/from this neighbor. type: str choices: none, receive, send, both
      • capability_orf6 - Accept/Send IPv6 ORF lists to/from this neighbor. type: str choices: none, receive, send, both
      • capability_route_refresh - Enable/disable advertise route refresh capability to this neighbor. type: str choices: enable, disable
      • conditional_advertise - Conditional advertisement. type: list
        • advertise_routemap - Name of advertising route map. Source router.route-map.name. type: str
        • condition_routemap - Name of condition route map. Source router.route-map.name. type: str
        • condition_type - Type of condition. type: str choices: exist, non-exist
      • connect_timer - Interval (sec) for connect timer. type: int
      • default_originate_routemap - Route map to specify criteria to originate IPv4 default. Source router.route-map.name. type: str
      • default_originate_routemap6 - Route map to specify criteria to originate IPv6 default. Source router.route-map.name. type: str
      • description - Description. type: str
      • distribute_list_in - Filter for IPv4 updates from this neighbor. Source router.access-list.name. type: str
      • distribute_list_in6 - Filter for IPv6 updates from this neighbor. Source router.access-list6.name. type: str
      • distribute_list_out - Filter for IPv4 updates to this neighbor. Source router.access-list.name. type: str
      • distribute_list_out6 - Filter for IPv6 updates to this neighbor. Source router.access-list6.name. type: str
      • dont_capability_negotiate - Don"t negotiate capabilities with this neighbor type: str choices: enable, disable
      • ebgp_enforce_multihop - Enable/disable allow multi-hop EBGP neighbors. type: str choices: enable, disable
      • ebgp_multihop_ttl - EBGP multihop TTL for this peer. type: int
      • filter_list_in - BGP filter for IPv4 inbound routes. Source router.aspath-list.name. type: str
      • filter_list_in6 - BGP filter for IPv6 inbound routes. Source router.aspath-list.name. type: str
      • filter_list_out - BGP filter for IPv4 outbound routes. Source router.aspath-list.name. type: str
      • filter_list_out6 - BGP filter for IPv6 outbound routes. Source router.aspath-list.name. type: str
      • holdtime_timer - Interval (sec) before peer considered dead. type: int
      • interface - Interface Source system.interface.name. type: str
      • ip - IP/IPv6 address of neighbor. type: str required: True
      • keep_alive_timer - Keep alive timer interval (sec). type: int
      • link_down_failover - Enable/disable failover upon link down. type: str choices: enable, disable
      • local_as - Local AS number of neighbor. type: int
      • local_as_no_prepend - Do not prepend local-as to incoming updates. type: str choices: enable, disable
      • local_as_replace_as - Replace real AS with local-as in outgoing updates. type: str choices: enable, disable
      • maximum_prefix - Maximum number of IPv4 prefixes to accept from this peer. type: int
      • maximum_prefix_threshold - Maximum IPv4 prefix threshold value (1 - 100 percent). type: int
      • maximum_prefix_threshold6 - Maximum IPv6 prefix threshold value (1 - 100 percent). type: int
      • maximum_prefix_warning_only - Enable/disable IPv4 Only give warning message when limit is exceeded. type: str choices: enable, disable
      • maximum_prefix_warning_only6 - Enable/disable IPv6 Only give warning message when limit is exceeded. type: str choices: enable, disable
      • maximum_prefix6 - Maximum number of IPv6 prefixes to accept from this peer. type: int
      • next_hop_self - Enable/disable IPv4 next-hop calculation for this neighbor. type: str choices: enable, disable
      • next_hop_self6 - Enable/disable IPv6 next-hop calculation for this neighbor. type: str choices: enable, disable
      • override_capability - Enable/disable override result of capability negotiation. type: str choices: enable, disable
      • passive - Enable/disable sending of open messages to this neighbor. type: str choices: enable, disable
      • password - Password used in MD5 authentication. type: str
      • prefix_list_in - IPv4 Inbound filter for updates from this neighbor. Source router.prefix-list.name. type: str
      • prefix_list_in6 - IPv6 Inbound filter for updates from this neighbor. Source router.prefix-list6.name. type: str
      • prefix_list_out - IPv4 Outbound filter for updates to this neighbor. Source router.prefix-list.name. type: str
      • prefix_list_out6 - IPv6 Outbound filter for updates to this neighbor. Source router.prefix-list6.name. type: str
      • remote_as - AS number of neighbor. type: int
      • remove_private_as - Enable/disable remove private AS number from IPv4 outbound updates. type: str choices: enable, disable
      • remove_private_as6 - Enable/disable remove private AS number from IPv6 outbound updates. type: str choices: enable, disable
      • restart_time - Graceful restart delay time (sec, 0 = global default). type: int
      • retain_stale_time - Time to retain stale routes. type: int
      • route_map_in - IPv4 Inbound route map filter. Source router.route-map.name. type: str
      • route_map_in6 - IPv6 Inbound route map filter. Source router.route-map.name. type: str
      • route_map_out - IPv4 Outbound route map filter. Source router.route-map.name. type: str
      • route_map_out6 - IPv6 Outbound route map filter. Source router.route-map.name. type: str
      • route_reflector_client - Enable/disable IPv4 AS route reflector client. type: str choices: enable, disable
      • route_reflector_client6 - Enable/disable IPv6 AS route reflector client. type: str choices: enable, disable
      • route_server_client - Enable/disable IPv4 AS route server client. type: str choices: enable, disable
      • route_server_client6 - Enable/disable IPv6 AS route server client. type: str choices: enable, disable
      • send_community - IPv4 Send community attribute to neighbor. type: str choices: standard, extended, both, disable
      • send_community6 - IPv6 Send community attribute to neighbor. type: str choices: standard, extended, both, disable
      • shutdown - Enable/disable shutdown this neighbor. type: str choices: enable, disable
      • soft_reconfiguration - Enable/disable allow IPv4 inbound soft reconfiguration. type: str choices: enable, disable
      • soft_reconfiguration6 - Enable/disable allow IPv6 inbound soft reconfiguration. type: str choices: enable, disable
      • stale_route - Enable/disable stale route after neighbor down. type: str choices: enable, disable
      • strict_capability_match - Enable/disable strict capability matching. type: str choices: enable, disable
      • unsuppress_map - IPv4 Route map to selectively unsuppress suppressed routes. Source router.route-map.name. type: str
      • unsuppress_map6 - IPv6 Route map to selectively unsuppress suppressed routes. Source router.route-map.name. type: str
      • update_source - Interface to use as source IP/IPv6 address of TCP connections. Source system.interface.name. type: str
      • weight - Neighbor weight. type: int
    • neighbor_group - BGP neighbor group table. type: list
      • activate - Enable/disable address family IPv4 for this neighbor. type: str choices: enable, disable
      • activate6 - Enable/disable address family IPv6 for this neighbor. type: str choices: enable, disable
      • advertisement_interval - Minimum interval (sec) between sending updates. type: int
      • allowas_in - IPv4 The maximum number of occurrence of my AS number allowed. type: int
      • allowas_in_enable - Enable/disable IPv4 Enable to allow my AS in AS path. type: str choices: enable, disable
      • allowas_in_enable6 - Enable/disable IPv6 Enable to allow my AS in AS path. type: str choices: enable, disable
      • allowas_in6 - IPv6 The maximum number of occurrence of my AS number allowed. type: int
      • as_override - Enable/disable replace peer AS with own AS for IPv4. type: str choices: enable, disable
      • as_override6 - Enable/disable replace peer AS with own AS for IPv6. type: str choices: enable, disable
      • attribute_unchanged - IPv4 List of attributes that should be unchanged. type: str choices: as-path, med, next-hop
      • attribute_unchanged6 - IPv6 List of attributes that should be unchanged. type: str choices: as-path, med, next-hop
      • bfd - Enable/disable BFD for this neighbor. type: str choices: enable, disable
      • capability_default_originate - Enable/disable advertise default IPv4 route to this neighbor. type: str choices: enable, disable
      • capability_default_originate6 - Enable/disable advertise default IPv6 route to this neighbor. type: str choices: enable, disable
      • capability_dynamic - Enable/disable advertise dynamic capability to this neighbor. type: str choices: enable, disable
      • capability_graceful_restart - Enable/disable advertise IPv4 graceful restart capability to this neighbor. type: str choices: enable, disable
      • capability_graceful_restart6 - Enable/disable advertise IPv6 graceful restart capability to this neighbor. type: str choices: enable, disable
      • capability_orf - Accept/Send IPv4 ORF lists to/from this neighbor. type: str choices: none, receive, send, both
      • capability_orf6 - Accept/Send IPv6 ORF lists to/from this neighbor. type: str choices: none, receive, send, both
      • capability_route_refresh - Enable/disable advertise route refresh capability to this neighbor. type: str choices: enable, disable
      • connect_timer - Interval (sec) for connect timer. type: int
      • default_originate_routemap - Route map to specify criteria to originate IPv4 default. Source router.route-map.name. type: str
      • default_originate_routemap6 - Route map to specify criteria to originate IPv6 default. Source router.route-map.name. type: str
      • description - Description. type: str
      • distribute_list_in - Filter for IPv4 updates from this neighbor. Source router.access-list.name. type: str
      • distribute_list_in6 - Filter for IPv6 updates from this neighbor. Source router.access-list6.name. type: str
      • distribute_list_out - Filter for IPv4 updates to this neighbor. Source router.access-list.name. type: str
      • distribute_list_out6 - Filter for IPv6 updates to this neighbor. Source router.access-list6.name. type: str
      • dont_capability_negotiate - Don"t negotiate capabilities with this neighbor type: str choices: enable, disable
      • ebgp_enforce_multihop - Enable/disable allow multi-hop EBGP neighbors. type: str choices: enable, disable
      • ebgp_multihop_ttl - EBGP multihop TTL for this peer. type: int
      • filter_list_in - BGP filter for IPv4 inbound routes. Source router.aspath-list.name. type: str
      • filter_list_in6 - BGP filter for IPv6 inbound routes. Source router.aspath-list.name. type: str
      • filter_list_out - BGP filter for IPv4 outbound routes. Source router.aspath-list.name. type: str
      • filter_list_out6 - BGP filter for IPv6 outbound routes. Source router.aspath-list.name. type: str
      • holdtime_timer - Interval (sec) before peer considered dead. type: int
      • interface - Interface Source system.interface.name. type: str
      • keep_alive_timer - Keep alive timer interval (sec). type: int
      • link_down_failover - Enable/disable failover upon link down. type: str choices: enable, disable
      • local_as - Local AS number of neighbor. type: int
      • local_as_no_prepend - Do not prepend local-as to incoming updates. type: str choices: enable, disable
      • local_as_replace_as - Replace real AS with local-as in outgoing updates. type: str choices: enable, disable
      • maximum_prefix - Maximum number of IPv4 prefixes to accept from this peer. type: int
      • maximum_prefix_threshold - Maximum IPv4 prefix threshold value (1 - 100 percent). type: int
      • maximum_prefix_threshold6 - Maximum IPv6 prefix threshold value (1 - 100 percent). type: int
      • maximum_prefix_warning_only - Enable/disable IPv4 Only give warning message when limit is exceeded. type: str choices: enable, disable
      • maximum_prefix_warning_only6 - Enable/disable IPv6 Only give warning message when limit is exceeded. type: str choices: enable, disable
      • maximum_prefix6 - Maximum number of IPv6 prefixes to accept from this peer. type: int
      • name - Neighbor group name. type: str required: True
      • next_hop_self - Enable/disable IPv4 next-hop calculation for this neighbor. type: str choices: enable, disable
      • next_hop_self6 - Enable/disable IPv6 next-hop calculation for this neighbor. type: str choices: enable, disable
      • override_capability - Enable/disable override result of capability negotiation. type: str choices: enable, disable
      • passive - Enable/disable sending of open messages to this neighbor. type: str choices: enable, disable
      • prefix_list_in - IPv4 Inbound filter for updates from this neighbor. Source router.prefix-list.name. type: str
      • prefix_list_in6 - IPv6 Inbound filter for updates from this neighbor. Source router.prefix-list6.name. type: str
      • prefix_list_out - IPv4 Outbound filter for updates to this neighbor. Source router.prefix-list.name. type: str
      • prefix_list_out6 - IPv6 Outbound filter for updates to this neighbor. Source router.prefix-list6.name. type: str
      • remote_as - AS number of neighbor. type: int
      • remove_private_as - Enable/disable remove private AS number from IPv4 outbound updates. type: str choices: enable, disable
      • remove_private_as6 - Enable/disable remove private AS number from IPv6 outbound updates. type: str choices: enable, disable
      • restart_time - Graceful restart delay time (sec, 0 = global default). type: int
      • retain_stale_time - Time to retain stale routes. type: int
      • route_map_in - IPv4 Inbound route map filter. Source router.route-map.name. type: str
      • route_map_in6 - IPv6 Inbound route map filter. Source router.route-map.name. type: str
      • route_map_out - IPv4 Outbound route map filter. Source router.route-map.name. type: str
      • route_map_out6 - IPv6 Outbound route map filter. Source router.route-map.name. type: str
      • route_reflector_client - Enable/disable IPv4 AS route reflector client. type: str choices: enable, disable
      • route_reflector_client6 - Enable/disable IPv6 AS route reflector client. type: str choices: enable, disable
      • route_server_client - Enable/disable IPv4 AS route server client. type: str choices: enable, disable
      • route_server_client6 - Enable/disable IPv6 AS route server client. type: str choices: enable, disable
      • send_community - IPv4 Send community attribute to neighbor. type: str choices: standard, extended, both, disable
      • send_community6 - IPv6 Send community attribute to neighbor. type: str choices: standard, extended, both, disable
      • shutdown - Enable/disable shutdown this neighbor. type: str choices: enable, disable
      • soft_reconfiguration - Enable/disable allow IPv4 inbound soft reconfiguration. type: str choices: enable, disable
      • soft_reconfiguration6 - Enable/disable allow IPv6 inbound soft reconfiguration. type: str choices: enable, disable
      • stale_route - Enable/disable stale route after neighbor down. type: str choices: enable, disable
      • strict_capability_match - Enable/disable strict capability matching. type: str choices: enable, disable
      • unsuppress_map - IPv4 Route map to selectively unsuppress suppressed routes. Source router.route-map.name. type: str
      • unsuppress_map6 - IPv6 Route map to selectively unsuppress suppressed routes. Source router.route-map.name. type: str
      • update_source - Interface to use as source IP/IPv6 address of TCP connections. Source system.interface.name. type: str
      • weight - Neighbor weight. type: int
    • neighbor_range - BGP neighbor range table. type: list
      • id - Neighbor range ID. type: int required: True
      • max_neighbor_num - Maximum number of neighbors. type: int
      • neighbor_group - Neighbor group name. Source router.bgp.neighbor-group.name. type: str
      • prefix - Neighbor range prefix. type: str
    • network - BGP network table. type: list
      • backdoor - Enable/disable route as backdoor. type: str choices: enable, disable
      • id - ID. type: int required: True
      • prefix - Network prefix. type: str
      • route_map - Route map to modify generated route. Source router.route-map.name. type: str
    • network_import_check - Enable/disable ensure BGP network route exists in IGP. type: str choices: enable, disable
    • network6 - BGP IPv6 network table. type: list
      • backdoor - Enable/disable route as backdoor. type: str choices: enable, disable
      • id - ID. type: int required: True
      • prefix6 - Network IPv6 prefix. type: str
      • route_map - Route map to modify generated route. Source router.route-map.name. type: str
    • redistribute - BGP IPv4 redistribute table. type: list
      • name - Distribute list entry name. type: str required: True
      • route_map - Route map name. Source router.route-map.name. type: str
      • status - Status type: str choices: enable, disable
    • redistribute6 - BGP IPv6 redistribute table. type: list
      • name - Distribute list entry name. type: str required: True
      • route_map - Route map name. Source router.route-map.name. type: str
      • status - Status type: str choices: enable, disable
    • router_id - Router ID. type: str
    • scan_time - Background scanner interval (sec), 0 to disable it. type: int
    • synchronization - Enable/disable only advertise routes from iBGP if routes present in an IGP. type: str choices: enable, disable

Notes

Note

  • Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks

Examples

- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure BGP.
    fortios_router_bgp:
      vdom:  "{{ vdom }}"
      router_bgp:
        admin_distance:
         -
            distance: "4"
            id:  "5"
            neighbour_prefix: "<your_own_value>"
            route_list: "<your_own_value> (source router.access-list.name)"
        aggregate_address:
         -
            as_set: "enable"
            id:  "10"
            prefix: "<your_own_value>"
            summary_only: "enable"
        aggregate_address6:
         -
            as_set: "enable"
            id:  "15"
            prefix6: "<your_own_value>"
            summary_only: "enable"
        always_compare_med: "enable"
        as: "19"
        bestpath_as_path_ignore: "enable"
        bestpath_cmp_confed_aspath: "enable"
        bestpath_cmp_routerid: "enable"
        bestpath_med_confed: "enable"
        bestpath_med_missing_as_worst: "enable"
        client_to_client_reflection: "enable"
        cluster_id: "<your_own_value>"
        confederation_identifier: "27"
        confederation_peers:
         -
            peer: "<your_own_value>"
        dampening: "enable"
        dampening_max_suppress_time: "31"
        dampening_reachability_half_life: "32"
        dampening_reuse: "33"
        dampening_route_map: "<your_own_value> (source router.route-map.name)"
        dampening_suppress: "35"
        dampening_unreachability_half_life: "36"
        default_local_preference: "37"
        deterministic_med: "enable"
        distance_external: "39"
        distance_internal: "40"
        distance_local: "41"
        ebgp_multipath: "enable"
        enforce_first_as: "enable"
        fast_external_failover: "enable"
        graceful_end_on_timer: "enable"
        graceful_restart: "enable"
        graceful_restart_time: "47"
        graceful_stalepath_time: "48"
        graceful_update_delay: "49"
        holdtime_timer: "50"
        ibgp_multipath: "enable"
        ignore_optional_capability: "enable"
        keepalive_timer: "53"
        log_neighbour_changes: "enable"
        neighbor:
         -
            activate: "enable"
            activate6: "enable"
            advertisement_interval: "58"
            allowas_in: "59"
            allowas_in_enable: "enable"
            allowas_in_enable6: "enable"
            allowas_in6: "62"
            as_override: "enable"
            as_override6: "enable"
            attribute_unchanged: "as-path"
            attribute_unchanged6: "as-path"
            bfd: "enable"
            capability_default_originate: "enable"
            capability_default_originate6: "enable"
            capability_dynamic: "enable"
            capability_graceful_restart: "enable"
            capability_graceful_restart6: "enable"
            capability_orf: "none"
            capability_orf6: "none"
            capability_route_refresh: "enable"
            conditional_advertise:
             -
                advertise_routemap: "<your_own_value> (source router.route-map.name)"
                condition_routemap: "<your_own_value> (source router.route-map.name)"
                condition_type: "exist"
            connect_timer: "80"
            default_originate_routemap: "<your_own_value> (source router.route-map.name)"
            default_originate_routemap6: "<your_own_value> (source router.route-map.name)"
            description: "<your_own_value>"
            distribute_list_in: "<your_own_value> (source router.access-list.name)"
            distribute_list_in6: "<your_own_value> (source router.access-list6.name)"
            distribute_list_out: "<your_own_value> (source router.access-list.name)"
            distribute_list_out6: "<your_own_value> (source router.access-list6.name)"
            dont_capability_negotiate: "enable"
            ebgp_enforce_multihop: "enable"
            ebgp_multihop_ttl: "90"
            filter_list_in: "<your_own_value> (source router.aspath-list.name)"
            filter_list_in6: "<your_own_value> (source router.aspath-list.name)"
            filter_list_out: "<your_own_value> (source router.aspath-list.name)"
            filter_list_out6: "<your_own_value> (source router.aspath-list.name)"
            holdtime_timer: "95"
            interface: "<your_own_value> (source system.interface.name)"
            ip: "<your_own_value>"
            keep_alive_timer: "98"
            link_down_failover: "enable"
            local_as: "100"
            local_as_no_prepend: "enable"
            local_as_replace_as: "enable"
            maximum_prefix: "103"
            maximum_prefix_threshold: "104"
            maximum_prefix_threshold6: "105"
            maximum_prefix_warning_only: "enable"
            maximum_prefix_warning_only6: "enable"
            maximum_prefix6: "108"
            next_hop_self: "enable"
            next_hop_self6: "enable"
            override_capability: "enable"
            passive: "enable"
            password: "<your_own_value>"
            prefix_list_in: "<your_own_value> (source router.prefix-list.name)"
            prefix_list_in6: "<your_own_value> (source router.prefix-list6.name)"
            prefix_list_out: "<your_own_value> (source router.prefix-list.name)"
            prefix_list_out6: "<your_own_value> (source router.prefix-list6.name)"
            remote_as: "118"
            remove_private_as: "enable"
            remove_private_as6: "enable"
            restart_time: "121"
            retain_stale_time: "122"
            route_map_in: "<your_own_value> (source router.route-map.name)"
            route_map_in6: "<your_own_value> (source router.route-map.name)"
            route_map_out: "<your_own_value> (source router.route-map.name)"
            route_map_out6: "<your_own_value> (source router.route-map.name)"
            route_reflector_client: "enable"
            route_reflector_client6: "enable"
            route_server_client: "enable"
            route_server_client6: "enable"
            send_community: "standard"
            send_community6: "standard"
            shutdown: "enable"
            soft_reconfiguration: "enable"
            soft_reconfiguration6: "enable"
            stale_route: "enable"
            strict_capability_match: "enable"
            unsuppress_map: "<your_own_value> (source router.route-map.name)"
            unsuppress_map6: "<your_own_value> (source router.route-map.name)"
            update_source: "<your_own_value> (source system.interface.name)"
            weight: "141"
        neighbor_group:
         -
            activate: "enable"
            activate6: "enable"
            advertisement_interval: "145"
            allowas_in: "146"
            allowas_in_enable: "enable"
            allowas_in_enable6: "enable"
            allowas_in6: "149"
            as_override: "enable"
            as_override6: "enable"
            attribute_unchanged: "as-path"
            attribute_unchanged6: "as-path"
            bfd: "enable"
            capability_default_originate: "enable"
            capability_default_originate6: "enable"
            capability_dynamic: "enable"
            capability_graceful_restart: "enable"
            capability_graceful_restart6: "enable"
            capability_orf: "none"
            capability_orf6: "none"
            capability_route_refresh: "enable"
            connect_timer: "163"
            default_originate_routemap: "<your_own_value> (source router.route-map.name)"
            default_originate_routemap6: "<your_own_value> (source router.route-map.name)"
            description: "<your_own_value>"
            distribute_list_in: "<your_own_value> (source router.access-list.name)"
            distribute_list_in6: "<your_own_value> (source router.access-list6.name)"
            distribute_list_out: "<your_own_value> (source router.access-list.name)"
            distribute_list_out6: "<your_own_value> (source router.access-list6.name)"
            dont_capability_negotiate: "enable"
            ebgp_enforce_multihop: "enable"
            ebgp_multihop_ttl: "173"
            filter_list_in: "<your_own_value> (source router.aspath-list.name)"
            filter_list_in6: "<your_own_value> (source router.aspath-list.name)"
            filter_list_out: "<your_own_value> (source router.aspath-list.name)"
            filter_list_out6: "<your_own_value> (source router.aspath-list.name)"
            holdtime_timer: "178"
            interface: "<your_own_value> (source system.interface.name)"
            keep_alive_timer: "180"
            link_down_failover: "enable"
            local_as: "182"
            local_as_no_prepend: "enable"
            local_as_replace_as: "enable"
            maximum_prefix: "185"
            maximum_prefix_threshold: "186"
            maximum_prefix_threshold6: "187"
            maximum_prefix_warning_only: "enable"
            maximum_prefix_warning_only6: "enable"
            maximum_prefix6: "190"
            name: "default_name_191"
            next_hop_self: "enable"
            next_hop_self6: "enable"
            override_capability: "enable"
            passive: "enable"
            prefix_list_in: "<your_own_value> (source router.prefix-list.name)"
            prefix_list_in6: "<your_own_value> (source router.prefix-list6.name)"
            prefix_list_out: "<your_own_value> (source router.prefix-list.name)"
            prefix_list_out6: "<your_own_value> (source router.prefix-list6.name)"
            remote_as: "200"
            remove_private_as: "enable"
            remove_private_as6: "enable"
            restart_time: "203"
            retain_stale_time: "204"
            route_map_in: "<your_own_value> (source router.route-map.name)"
            route_map_in6: "<your_own_value> (source router.route-map.name)"
            route_map_out: "<your_own_value> (source router.route-map.name)"
            route_map_out6: "<your_own_value> (source router.route-map.name)"
            route_reflector_client: "enable"
            route_reflector_client6: "enable"
            route_server_client: "enable"
            route_server_client6: "enable"
            send_community: "standard"
            send_community6: "standard"
            shutdown: "enable"
            soft_reconfiguration: "enable"
            soft_reconfiguration6: "enable"
            stale_route: "enable"
            strict_capability_match: "enable"
            unsuppress_map: "<your_own_value> (source router.route-map.name)"
            unsuppress_map6: "<your_own_value> (source router.route-map.name)"
            update_source: "<your_own_value> (source system.interface.name)"
            weight: "223"
        neighbor_range:
         -
            id:  "225"
            max_neighbor_num: "226"
            neighbor_group: "<your_own_value> (source router.bgp.neighbor-group.name)"
            prefix: "<your_own_value>"
        network:
         -
            backdoor: "enable"
            id:  "231"
            prefix: "<your_own_value>"
            route_map: "<your_own_value> (source router.route-map.name)"
        network_import_check: "enable"
        network6:
         -
            backdoor: "enable"
            id:  "237"
            prefix6: "<your_own_value>"
            route_map: "<your_own_value> (source router.route-map.name)"
        redistribute:
         -
            name: "default_name_241"
            route_map: "<your_own_value> (source router.route-map.name)"
            status: "enable"
        redistribute6:
         -
            name: "default_name_245"
            route_map: "<your_own_value> (source router.route-map.name)"
            status: "enable"
        router_id: "<your_own_value>"
        scan_time: "249"
        synchronization: "enable"

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

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

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

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

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.