ansible.builtin.fortios_router_isis (v2.9.27) — module

Configure IS-IS in Fortinet's FortiOS and FortiGate.

| "added in version" 2.9 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.9.27

Description

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


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"
   ssl_verify: "False"
  tasks:
  - name: Configure IS-IS.
    fortios_router_isis:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      router_isis:
        adjacency_check: "enable"
        adjacency_check6: "enable"
        adv_passive_only: "enable"
        adv_passive_only6: "enable"
        auth_keychain_l1: "<your_own_value> (source router.key-chain.name)"
        auth_keychain_l2: "<your_own_value> (source router.key-chain.name)"
        auth_mode_l1: "password"
        auth_mode_l2: "password"
        auth_password_l1: "<your_own_value>"
        auth_password_l2: "<your_own_value>"
        auth_sendonly_l1: "enable"
        auth_sendonly_l2: "enable"
        default_originate: "enable"
        default_originate6: "enable"
        dynamic_hostname: "enable"
        ignore_lsp_errors: "enable"
        is_type: "level-1-2"
        isis_interface:
         -
            auth_keychain_l1: "<your_own_value> (source router.key-chain.name)"
            auth_keychain_l2: "<your_own_value> (source router.key-chain.name)"
            auth_mode_l1: "md5"
            auth_mode_l2: "md5"
            auth_password_l1: "<your_own_value>"
            auth_password_l2: "<your_own_value>"
            auth_send_only_l1: "enable"
            auth_send_only_l2: "enable"
            circuit_type: "level-1-2"
            csnp_interval_l1: "30"
            csnp_interval_l2: "31"
            hello_interval_l1: "32"
            hello_interval_l2: "33"
            hello_multiplier_l1: "34"
            hello_multiplier_l2: "35"
            hello_padding: "enable"
            lsp_interval: "37"
            lsp_retransmit_interval: "38"
            mesh_group: "enable"
            mesh_group_id: "40"
            metric_l1: "41"
            metric_l2: "42"
            name: "default_name_43 (source system.interface.name)"
            network_type: "broadcast"
            priority_l1: "45"
            priority_l2: "46"
            status: "enable"
            status6: "enable"
            wide_metric_l1: "49"
            wide_metric_l2: "50"
        isis_net:
         -
            id:  "52"
            net: "<your_own_value>"
        lsp_gen_interval_l1: "54"
        lsp_gen_interval_l2: "55"
        lsp_refresh_interval: "56"
        max_lsp_lifetime: "57"
        metric_style: "narrow"
        overload_bit: "enable"
        overload_bit_on_startup: "60"
        overload_bit_suppress: "external"
        redistribute:
         -
            level: "level-1-2"
            metric: "64"
            metric_type: "external"
            protocol: "<your_own_value>"
            routemap: "<your_own_value> (source router.route-map.name)"
            status: "enable"
        redistribute_l1: "enable"
        redistribute_l1_list: "<your_own_value> (source router.access-list.name)"
        redistribute_l2: "enable"
        redistribute_l2_list: "<your_own_value> (source router.access-list.name)"
        redistribute6:
         -
            level: "level-1-2"
            metric: "75"
            metric_type: "external"
            protocol: "<your_own_value>"
            routemap: "<your_own_value> (source router.route-map.name)"
            status: "enable"
        redistribute6_l1: "enable"
        redistribute6_l1_list: "<your_own_value> (source router.access-list6.name)"
        redistribute6_l2: "enable"
        redistribute6_l2_list: "<your_own_value> (source router.access-list6.name)"
        spf_interval_exp_l1: "<your_own_value>"
        spf_interval_exp_l2: "<your_own_value>"
        summary_address:
         -
            id:  "87"
            level: "level-1-2"
            prefix: "<your_own_value>"
        summary_address6:
         -
            id:  "91"
            level: "level-1-2"
            prefix6: "<your_own_value>"

Inputs

    
host:
    description:
    - FortiOS or FortiGate IP address.
    required: false
    type: str

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.
    type: str

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

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

username:
    description:
    - FortiOS or FortiGate username.
    required: false
    type: str

ssl_verify:
    default: true
    description:
    - Ensures FortiGate certificate must be verified by a proper CA.
    type: bool

router_isis:
    default: null
    description:
    - Configure IS-IS.
    suboptions:
      adjacency_check:
        choices:
        - enable
        - disable
        description:
        - Enable/disable adjacency check.
        type: str
      adjacency_check6:
        choices:
        - enable
        - disable
        description:
        - Enable/disable IPv6 adjacency check.
        type: str
      adv_passive_only:
        choices:
        - enable
        - disable
        description:
        - Enable/disable IS-IS advertisement of passive interfaces only.
        type: str
      adv_passive_only6:
        choices:
        - enable
        - disable
        description:
        - Enable/disable IPv6 IS-IS advertisement of passive interfaces only.
        type: str
      auth_keychain_l1:
        description:
        - Authentication key-chain for level 1 PDUs. Source router.key-chain.name.
        type: str
      auth_keychain_l2:
        description:
        - Authentication key-chain for level 2 PDUs. Source router.key-chain.name.
        type: str
      auth_mode_l1:
        choices:
        - password
        - md5
        description:
        - Level 1 authentication mode.
        type: str
      auth_mode_l2:
        choices:
        - password
        - md5
        description:
        - Level 2 authentication mode.
        type: str
      auth_password_l1:
        description:
        - Authentication password for level 1 PDUs.
        type: str
      auth_password_l2:
        description:
        - Authentication password for level 2 PDUs.
        type: str
      auth_sendonly_l1:
        choices:
        - enable
        - disable
        description:
        - Enable/disable level 1 authentication send-only.
        type: str
      auth_sendonly_l2:
        choices:
        - enable
        - disable
        description:
        - Enable/disable level 2 authentication send-only.
        type: str
      default_originate:
        choices:
        - enable
        - disable
        description:
        - Enable/disable distribution of default route information.
        type: str
      default_originate6:
        choices:
        - enable
        - disable
        description:
        - Enable/disable distribution of default IPv6 route information.
        type: str
      dynamic_hostname:
        choices:
        - enable
        - disable
        description:
        - Enable/disable dynamic hostname.
        type: str
      ignore_lsp_errors:
        choices:
        - enable
        - disable
        description:
        - Enable/disable ignoring of LSP errors with bad checksums.
        type: str
      is_type:
        choices:
        - level-1-2
        - level-1
        - level-2-only
        description:
        - IS type.
        type: str
      isis_interface:
        description:
        - IS-IS interface configuration.
        suboptions:
          auth_keychain_l1:
            description:
            - Authentication key-chain for level 1 PDUs. Source router.key-chain.name.
            type: str
          auth_keychain_l2:
            description:
            - Authentication key-chain for level 2 PDUs. Source router.key-chain.name.
            type: str
          auth_mode_l1:
            choices:
            - md5
            - password
            description:
            - Level 1 authentication mode.
            type: str
          auth_mode_l2:
            choices:
            - md5
            - password
            description:
            - Level 2 authentication mode.
            type: str
          auth_password_l1:
            description:
            - Authentication password for level 1 PDUs.
            type: str
          auth_password_l2:
            description:
            - Authentication password for level 2 PDUs.
            type: str
          auth_send_only_l1:
            choices:
            - enable
            - disable
            description:
            - Enable/disable authentication send-only for level 1 PDUs.
            type: str
          auth_send_only_l2:
            choices:
            - enable
            - disable
            description:
            - Enable/disable authentication send-only for level 2 PDUs.
            type: str
          circuit_type:
            choices:
            - level-1-2
            - level-1
            - level-2
            description:
            - IS-IS interface's circuit type
            type: str
          csnp_interval_l1:
            description:
            - Level 1 CSNP interval.
            type: int
          csnp_interval_l2:
            description:
            - Level 2 CSNP interval.
            type: int
          hello_interval_l1:
            description:
            - Level 1 hello interval.
            type: int
          hello_interval_l2:
            description:
            - Level 2 hello interval.
            type: int
          hello_multiplier_l1:
            description:
            - Level 1 multiplier for Hello holding time.
            type: int
          hello_multiplier_l2:
            description:
            - Level 2 multiplier for Hello holding time.
            type: int
          hello_padding:
            choices:
            - enable
            - disable
            description:
            - Enable/disable padding to IS-IS hello packets.
            type: str
          lsp_interval:
            description:
            - LSP transmission interval (milliseconds).
            type: int
          lsp_retransmit_interval:
            description:
            - LSP retransmission interval (sec).
            type: int
          mesh_group:
            choices:
            - enable
            - disable
            description:
            - Enable/disable IS-IS mesh group.
            type: str
          mesh_group_id:
            description:
            - 'Mesh group ID <0-4294967295>, 0: mesh-group blocked.'
            type: int
          metric_l1:
            description:
            - Level 1 metric for interface.
            type: int
          metric_l2:
            description:
            - Level 2 metric for interface.
            type: int
          name:
            description:
            - IS-IS interface name. Source system.interface.name.
            required: true
            type: str
          network_type:
            choices:
            - broadcast
            - point-to-point
            - loopback
            description:
            - IS-IS interface's network type
            type: str
          priority_l1:
            description:
            - Level 1 priority.
            type: int
          priority_l2:
            description:
            - Level 2 priority.
            type: int
          status:
            choices:
            - enable
            - disable
            description:
            - Enable/disable interface for IS-IS.
            type: str
          status6:
            choices:
            - enable
            - disable
            description:
            - Enable/disable IPv6 interface for IS-IS.
            type: str
          wide_metric_l1:
            description:
            - Level 1 wide metric for interface.
            type: int
          wide_metric_l2:
            description:
            - Level 2 wide metric for interface.
            type: int
        type: list
      isis_net:
        description:
        - IS-IS net configuration.
        suboptions:
          id:
            description:
            - isis-net ID.
            required: true
            type: int
          net:
            description:
            - IS-IS net xx.xxxx. ... .xxxx.xx.
            type: str
        type: list
      lsp_gen_interval_l1:
        description:
        - Minimum interval for level 1 LSP regenerating.
        type: int
      lsp_gen_interval_l2:
        description:
        - Minimum interval for level 2 LSP regenerating.
        type: int
      lsp_refresh_interval:
        description:
        - LSP refresh time in seconds.
        type: int
      max_lsp_lifetime:
        description:
        - Maximum LSP lifetime in seconds.
        type: int
      metric_style:
        choices:
        - narrow
        - wide
        - transition
        - narrow-transition
        - narrow-transition-l1
        - narrow-transition-l2
        - wide-l1
        - wide-l2
        - wide-transition
        - wide-transition-l1
        - wide-transition-l2
        - transition-l1
        - transition-l2
        description:
        - Use old-style (ISO 10589) or new-style packet formats
        type: str
      overload_bit:
        choices:
        - enable
        - disable
        description:
        - Enable/disable signal other routers not to use us in SPF.
        type: str
      overload_bit_on_startup:
        description:
        - Overload-bit only temporarily after reboot.
        type: int
      overload_bit_suppress:
        choices:
        - external
        - interlevel
        description:
        - Suppress overload-bit for the specific prefixes.
        type: str
      redistribute:
        description:
        - IS-IS redistribute protocols.
        suboptions:
          level:
            choices:
            - level-1-2
            - level-1
            - level-2
            description:
            - Level.
            type: str
          metric:
            description:
            - Metric.
            type: int
          metric_type:
            choices:
            - external
            - internal
            description:
            - Metric type.
            type: str
          protocol:
            description:
            - Protocol name.
            required: true
            type: str
          routemap:
            description:
            - Route map name. Source router.route-map.name.
            type: str
          status:
            choices:
            - enable
            - disable
            description:
            - Status.
            type: str
        type: list
      redistribute6:
        description:
        - IS-IS IPv6 redistribution for routing protocols.
        suboptions:
          level:
            choices:
            - level-1-2
            - level-1
            - level-2
            description:
            - Level.
            type: str
          metric:
            description:
            - Metric.
            type: int
          metric_type:
            choices:
            - external
            - internal
            description:
            - Metric type.
            type: str
          protocol:
            description:
            - Protocol name.
            required: true
            type: str
          routemap:
            description:
            - Route map name. Source router.route-map.name.
            type: str
          status:
            choices:
            - enable
            - disable
            description:
            - Enable/disable redistribution.
            type: str
        type: list
      redistribute6_l1:
        choices:
        - enable
        - disable
        description:
        - Enable/disable redistribution of level 1 IPv6 routes into level 2.
        type: str
      redistribute6_l1_list:
        description:
        - Access-list for IPv6 route redistribution from l1 to l2. Source router.access-list6.name.
        type: str
      redistribute6_l2:
        choices:
        - enable
        - disable
        description:
        - Enable/disable redistribution of level 2 IPv6 routes into level 1.
        type: str
      redistribute6_l2_list:
        description:
        - Access-list for IPv6 route redistribution from l2 to l1. Source router.access-list6.name.
        type: str
      redistribute_l1:
        choices:
        - enable
        - disable
        description:
        - Enable/disable redistribution of level 1 routes into level 2.
        type: str
      redistribute_l1_list:
        description:
        - Access-list for route redistribution from l1 to l2. Source router.access-list.name.
        type: str
      redistribute_l2:
        choices:
        - enable
        - disable
        description:
        - Enable/disable redistribution of level 2 routes into level 1.
        type: str
      redistribute_l2_list:
        description:
        - Access-list for route redistribution from l2 to l1. Source router.access-list.name.
        type: str
      spf_interval_exp_l1:
        description:
        - Level 1 SPF calculation delay.
        type: str
      spf_interval_exp_l2:
        description:
        - Level 2 SPF calculation delay.
        type: str
      summary_address:
        description:
        - IS-IS summary addresses.
        suboptions:
          id:
            description:
            - Summary address entry ID.
            required: true
            type: int
          level:
            choices:
            - level-1-2
            - level-1
            - level-2
            description:
            - Level.
            type: str
          prefix:
            description:
            - Prefix.
            type: str
        type: list
      summary_address6:
        description:
        - IS-IS IPv6 summary address.
        suboptions:
          id:
            description:
            - Prefix entry ID.
            required: true
            type: int
          level:
            choices:
            - level-1-2
            - level-1
            - level-2
            description:
            - Level.
            type: str
          prefix6:
            description:
            - IPv6 prefix.
            type: str
        type: list
    type: dict

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