ansible.builtin.fortios_router_ospf (v2.8.20) — module

Configure OSPF in Fortinet's FortiOS and FortiGate.

| "added in version" 2.8 of ansible.builtin"

Authors: Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.8.20

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: localhost
  vars:
   host: "192.168.122.40"
   username: "admin"
   password: ""
   vdom: "root"
  tasks:
  - name: Configure OSPF.
    fortios_router_ospf:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      router_ospf:
        abr-type: "cisco"
        area:
         -
            authentication: "none"
            default-cost: "6"
            filter-list:
             -
                direction: "in"
                id:  "9"
                list: "<your_own_value> (source router.access-list.name router.prefix-list.name)"
            id:  "11"
            nssa-default-information-originate: "enable"
            nssa-default-information-originate-metric: "13"
            nssa-default-information-originate-metric-type: "1"
            nssa-redistribution: "enable"
            nssa-translator-role: "candidate"
            range:
             -
                advertise: "disable"
                id:  "19"
                prefix: "<your_own_value>"
                substitute: "<your_own_value>"
                substitute-status: "enable"
            shortcut: "disable"
            stub-type: "no-summary"
            type: "regular"
            virtual-link:
             -
                authentication: "none"
                authentication-key: "<your_own_value>"
                dead-interval: "29"
                hello-interval: "30"
                md5-key: "<your_own_value>"
                name: "default_name_32"
                peer: "<your_own_value>"
                retransmit-interval: "34"
                transmit-delay: "35"
        auto-cost-ref-bandwidth: "36"
        bfd: "enable"
        database-overflow: "enable"
        database-overflow-max-lsas: "39"
        database-overflow-time-to-recover: "40"
        default-information-metric: "41"
        default-information-metric-type: "1"
        default-information-originate: "enable"
        default-information-route-map: "<your_own_value> (source router.route-map.name)"
        default-metric: "45"
        distance: "46"
        distance-external: "47"
        distance-inter-area: "48"
        distance-intra-area: "49"
        distribute-list:
         -
            access-list: "<your_own_value> (source router.access-list.name)"
            id:  "52"
            protocol: "connected"
        distribute-list-in: "<your_own_value> (source router.access-list.name router.prefix-list.name)"
        distribute-route-map-in: "<your_own_value> (source router.route-map.name)"
        log-neighbour-changes: "enable"
        neighbor:
         -
            cost: "58"
            id:  "59"
            ip: "<your_own_value>"
            poll-interval: "61"
            priority: "62"
        network:
         -
            area: "<your_own_value>"
            id:  "65"
            prefix: "<your_own_value>"
        ospf-interface:
         -
            authentication: "none"
            authentication-key: "<your_own_value>"
            bfd: "global"
            cost: "71"
            database-filter-out: "enable"
            dead-interval: "73"
            hello-interval: "74"
            hello-multiplier: "75"
            interface: "<your_own_value> (source system.interface.name)"
            ip: "<your_own_value>"
            md5-key: "<your_own_value>"
            mtu: "79"
            mtu-ignore: "enable"
            name: "default_name_81"
            network-type: "broadcast"
            prefix-length: "83"
            priority: "84"
            resync-timeout: "85"
            retransmit-interval: "86"
            status: "disable"
            transmit-delay: "88"
        passive-interface:
         -
            name: "default_name_90 (source system.interface.name)"
        redistribute:
         -
            metric: "92"
            metric-type: "1"
            name: "default_name_94"
            routemap: "<your_own_value> (source router.route-map.name)"
            status: "enable"
            tag: "97"
        restart-mode: "none"
        restart-period: "99"
        rfc1583-compatible: "enable"
        router-id: "<your_own_value>"
        spf-timers: "<your_own_value>"
        summary-address:
         -
            advertise: "disable"
            id:  "105"
            prefix: "<your_own_value>"
            tag: "107"

Inputs

    
host:
    description:
    - FortiOS or FortiGate ip address.
    required: true

vdom:
    default: root
    description:
    - Virtual domain, among those defined previously. A vdom is a virtual instance of
      the FortiGate that can be configured and used as a different unit.

https:
    default: true
    description:
    - Indicates if the requests towards FortiGate must use HTTPS protocol
    type: bool

password:
    default: ''
    description:
    - FortiOS or FortiGate password.

username:
    description:
    - FortiOS or FortiGate username.
    required: true

router_ospf:
    default: null
    description:
    - Configure OSPF.
    suboptions:
      abr-type:
        choices:
        - cisco
        - ibm
        - shortcut
        - standard
        description:
        - Area border router type.
      area:
        description:
        - OSPF area configuration.
        suboptions:
          authentication:
            choices:
            - none
            - text
            - md5
            description:
            - Authentication type.
          default-cost:
            description:
            - Summary default cost of stub or NSSA area.
          filter-list:
            description:
            - OSPF area filter-list configuration.
            suboptions:
              direction:
                choices:
                - in
                - out
                description:
                - Direction.
              id:
                description:
                - Filter list entry ID.
                required: true
              list:
                description:
                - Access-list or prefix-list name. Source router.access-list.name router.prefix-list.name.
          id:
            description:
            - Area entry IP address.
            required: true
          nssa-default-information-originate:
            choices:
            - enable
            - always
            - disable
            description:
            - Redistribute, advertise, or do not originate Type-7 default route into NSSA
              area.
          nssa-default-information-originate-metric:
            description:
            - OSPF default metric.
          nssa-default-information-originate-metric-type:
            choices:
            - 1
            - 2
            description:
            - OSPF metric type for default routes.
          nssa-redistribution:
            choices:
            - enable
            - disable
            description:
            - Enable/disable redistribute into NSSA area.
          nssa-translator-role:
            choices:
            - candidate
            - never
            - always
            description:
            - NSSA translator role type.
          range:
            description:
            - OSPF area range configuration.
            suboptions:
              advertise:
                choices:
                - disable
                - enable
                description:
                - Enable/disable advertise status.
              id:
                description:
                - Range entry ID.
                required: true
              prefix:
                description:
                - Prefix.
              substitute:
                description:
                - Substitute prefix.
              substitute-status:
                choices:
                - enable
                - disable
                description:
                - Enable/disable substitute status.
          shortcut:
            choices:
            - disable
            - enable
            - default
            description:
            - Enable/disable shortcut option.
          stub-type:
            choices:
            - no-summary
            - summary
            description:
            - Stub summary setting.
          type:
            choices:
            - regular
            - nssa
            - stub
            description:
            - Area type setting.
          virtual-link:
            description:
            - OSPF virtual link configuration.
            suboptions:
              authentication:
                choices:
                - none
                - text
                - md5
                description:
                - Authentication type.
              authentication-key:
                description:
                - Authentication key.
              dead-interval:
                description:
                - Dead interval.
              hello-interval:
                description:
                - Hello interval.
              md5-key:
                description:
                - MD5 key.
              name:
                description:
                - Virtual link entry name.
                required: true
              peer:
                description:
                - Peer IP.
              retransmit-interval:
                description:
                - Retransmit interval.
              transmit-delay:
                description:
                - Transmit delay.
      auto-cost-ref-bandwidth:
        description:
        - Reference bandwidth in terms of megabits per second.
      bfd:
        choices:
        - enable
        - disable
        description:
        - Bidirectional Forwarding Detection (BFD).
      database-overflow:
        choices:
        - enable
        - disable
        description:
        - Enable/disable database overflow.
      database-overflow-max-lsas:
        description:
        - Database overflow maximum LSAs.
      database-overflow-time-to-recover:
        description:
        - Database overflow time to recover (sec).
      default-information-metric:
        description:
        - Default information metric.
      default-information-metric-type:
        choices:
        - 1
        - 2
        description:
        - Default information metric type.
      default-information-originate:
        choices:
        - enable
        - always
        - disable
        description:
        - Enable/disable generation of default route.
      default-information-route-map:
        description:
        - Default information route map. Source router.route-map.name.
      default-metric:
        description:
        - Default metric of redistribute routes.
      distance:
        description:
        - Distance of the route.
      distance-external:
        description:
        - Administrative external distance.
      distance-inter-area:
        description:
        - Administrative inter-area distance.
      distance-intra-area:
        description:
        - Administrative intra-area distance.
      distribute-list:
        description:
        - Distribute list configuration.
        suboptions:
          access-list:
            description:
            - Access list name. Source router.access-list.name.
          id:
            description:
            - Distribute list entry ID.
            required: true
          protocol:
            choices:
            - connected
            - static
            - rip
            description:
            - Protocol type.
      distribute-list-in:
        description:
        - Filter incoming routes. Source router.access-list.name router.prefix-list.name.
      distribute-route-map-in:
        description:
        - Filter incoming external routes by route-map. Source router.route-map.name.
      log-neighbour-changes:
        choices:
        - enable
        - disable
        description:
        - Enable logging of OSPF neighbour's changes
      neighbor:
        description:
        - OSPF neighbor configuration are used when OSPF runs on non-broadcast media
        suboptions:
          cost:
            description:
            - Cost of the interface, value range from 0 to 65535, 0 means auto-cost.
          id:
            description:
            - Neighbor entry ID.
            required: true
          ip:
            description:
            - Interface IP address of the neighbor.
          poll-interval:
            description:
            - Poll interval time in seconds.
          priority:
            description:
            - Priority.
      network:
        description:
        - OSPF network configuration.
        suboptions:
          area:
            description:
            - Attach the network to area.
          id:
            description:
            - Network entry ID.
            required: true
          prefix:
            description:
            - Prefix.
      ospf-interface:
        description:
        - OSPF interface configuration.
        suboptions:
          authentication:
            choices:
            - none
            - text
            - md5
            description:
            - Authentication type.
          authentication-key:
            description:
            - Authentication key.
          bfd:
            choices:
            - global
            - enable
            - disable
            description:
            - Bidirectional Forwarding Detection (BFD).
          cost:
            description:
            - Cost of the interface, value range from 0 to 65535, 0 means auto-cost.
          database-filter-out:
            choices:
            - enable
            - disable
            description:
            - Enable/disable control of flooding out LSAs.
          dead-interval:
            description:
            - Dead interval.
          hello-interval:
            description:
            - Hello interval.
          hello-multiplier:
            description:
            - Number of hello packets within dead interval.
          interface:
            description:
            - Configuration interface name. Source system.interface.name.
          ip:
            description:
            - IP address.
          md5-key:
            description:
            - MD5 key.
          mtu:
            description:
            - MTU for database description packets.
          mtu-ignore:
            choices:
            - enable
            - disable
            description:
            - Enable/disable ignore MTU.
          name:
            description:
            - Interface entry name.
            required: true
          network-type:
            choices:
            - broadcast
            - non-broadcast
            - point-to-point
            - point-to-multipoint
            - point-to-multipoint-non-broadcast
            description:
            - Network type.
          prefix-length:
            description:
            - Prefix length.
          priority:
            description:
            - Priority.
          resync-timeout:
            description:
            - Graceful restart neighbor resynchronization timeout.
          retransmit-interval:
            description:
            - Retransmit interval.
          status:
            choices:
            - disable
            - enable
            description:
            - Enable/disable status.
          transmit-delay:
            description:
            - Transmit delay.
      passive-interface:
        description:
        - Passive interface configuration.
        suboptions:
          name:
            description:
            - Passive interface name. Source system.interface.name.
            required: true
      redistribute:
        description:
        - Redistribute configuration.
        suboptions:
          metric:
            description:
            - Redistribute metric setting.
          metric-type:
            choices:
            - 1
            - 2
            description:
            - Metric type.
          name:
            description:
            - Redistribute name.
            required: true
          routemap:
            description:
            - Route map name. Source router.route-map.name.
          status:
            choices:
            - enable
            - disable
            description:
            - status
          tag:
            description:
            - Tag value.
      restart-mode:
        choices:
        - none
        - lls
        - graceful-restart
        description:
        - OSPF restart mode (graceful or LLS).
      restart-period:
        description:
        - Graceful restart period.
      rfc1583-compatible:
        choices:
        - enable
        - disable
        description:
        - Enable/disable RFC1583 compatibility.
      router-id:
        description:
        - Router ID.
      spf-timers:
        description:
        - SPF calculation frequency.
      summary-address:
        description:
        - IP address summary configuration.
        suboptions:
          advertise:
            choices:
            - disable
            - enable
            description:
            - Enable/disable advertise status.
          id:
            description:
            - Summary address entry ID.
            required: true
          prefix:
            description:
            - Prefix.
          tag:
            description:
            - Tag value.

Outputs

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