fortinet.fortios.fortios_switch_controller_global (2.3.6) — module

Configure FortiSwitch global settings in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of fortinet.fortios"

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

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortios:==2.3.6


Add to requirements.yml

  collections:
    - name: fortinet.fortios
      version: 2.3.6

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Configure FortiSwitch global settings.
  fortinet.fortios.fortios_switch_controller_global:
      vdom: "{{ vdom }}"
      switch_controller_global:
          allow_multiple_interfaces: "enable"
          bounce_quarantined_link: "disable"
          custom_command:
              -
                  command_entry: "<your_own_value>"
                  command_name: "<your_own_value> (source switch-controller.custom-command.command-name)"
          default_virtual_switch_vlan: "<your_own_value> (source system.interface.name)"
          dhcp_option82_circuit_id: "intfname"
          dhcp_option82_format: "ascii"
          dhcp_option82_remote_id: "mac"
          dhcp_server_access_list: "enable"
          dhcp_snoop_client_db_exp: "86400"
          dhcp_snoop_client_req: "drop-untrusted"
          dhcp_snoop_db_per_port_learn_limit: "64"
          disable_discovery:
              -
                  name: "default_name_17"
          fips_enforce: "disable"
          firmware_provision_on_authorization: "enable"
          https_image_push: "enable"
          log_mac_limit_violations: "enable"
          mac_aging_interval: "300"
          mac_event_logging: "enable"
          mac_retention_period: "24"
          mac_violation_timer: "0"
          quarantine_mode: "by-vlan"
          sn_dns_resolution: "enable"
          update_user_device: "mac-cache"
          vlan_all_mode: "all"
          vlan_identity: "description"
          vlan_optimization: "enable"

Inputs

    
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

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

switch_controller_global:
    default: null
    description:
    - Configure FortiSwitch global settings.
    suboptions:
      allow_multiple_interfaces:
        choices:
        - enable
        - disable
        description:
        - Enable/disable multiple FortiLink interfaces for redundant connections between
          a managed FortiSwitch and FortiGate.
        type: str
      bounce_quarantined_link:
        choices:
        - disable
        - enable
        description:
        - Enable/disable bouncing (administratively bring the link down, up) of a switch
          port where a quarantined device was seen last. Helps to re-initiate the DHCP
          process for a device.
        type: str
      custom_command:
        description:
        - List of custom commands to be pushed to all FortiSwitches in the VDOM.
        elements: dict
        suboptions:
          command_entry:
            description:
            - List of FortiSwitch commands.
            required: true
            type: str
          command_name:
            description:
            - Name of custom command to push to all FortiSwitches in VDOM. Source switch-controller.custom-command.command-name.
            type: str
        type: list
      default_virtual_switch_vlan:
        description:
        - Default VLAN for ports when added to the virtual-switch. Source system.interface.name.
        type: str
      dhcp_option82_circuit_id:
        choices:
        - intfname
        - vlan
        - hostname
        - mode
        - description
        description:
        - List the parameters to be included to inform about client identification.
        elements: str
        type: list
      dhcp_option82_format:
        choices:
        - ascii
        - legacy
        description:
        - DHCP option-82 format string.
        type: str
      dhcp_option82_remote_id:
        choices:
        - mac
        - hostname
        - ip
        description:
        - List the parameters to be included to inform about client identification.
        elements: str
        type: list
      dhcp_server_access_list:
        choices:
        - enable
        - disable
        description:
        - Enable/disable DHCP snooping server access list.
        type: str
      dhcp_snoop_client_db_exp:
        description:
        - Expiry time for DHCP snooping server database entries (300 - 259200 sec).
        type: int
      dhcp_snoop_client_req:
        choices:
        - drop-untrusted
        - forward-untrusted
        description:
        - Client DHCP packet broadcast mode.
        type: str
      dhcp_snoop_db_per_port_learn_limit:
        description:
        - Per Interface dhcp-server entries learn limit (0 - 1024).
        type: int
      disable_discovery:
        description:
        - Prevent this FortiSwitch from discovering.
        elements: dict
        suboptions:
          name:
            description:
            - Managed device ID.
            required: true
            type: str
        type: list
      fips_enforce:
        choices:
        - disable
        - enable
        description:
        - Enable/disable enforcement of FIPS on managed FortiSwitch devices.
        type: str
      firmware_provision_on_authorization:
        choices:
        - enable
        - disable
        description:
        - Enable/disable automatic provisioning of latest firmware on authorization.
        type: str
      https_image_push:
        choices:
        - enable
        - disable
        description:
        - Enable/disable image push to FortiSwitch using HTTPS.
        type: str
      log_mac_limit_violations:
        choices:
        - enable
        - disable
        description:
        - Enable/disable logs for Learning Limit Violations.
        type: str
      mac_aging_interval:
        description:
        - Time after which an inactive MAC is aged out (10 - 1000000 sec).
        type: int
      mac_event_logging:
        choices:
        - enable
        - disable
        description:
        - Enable/disable MAC address event logging.
        type: str
      mac_retention_period:
        description:
        - Time in hours after which an inactive MAC is removed from client DB (0 = aged
          out based on mac-aging-interval).
        type: int
      mac_violation_timer:
        description:
        - Set timeout for Learning Limit Violations (0 = disabled).
        type: int
      quarantine_mode:
        choices:
        - by-vlan
        - by-redirect
        description:
        - Quarantine mode.
        type: str
      sn_dns_resolution:
        choices:
        - enable
        - disable
        description:
        - Enable/disable DNS resolution of the FortiSwitch unit"s IP address with switch
          name.
        type: str
      update_user_device:
        choices:
        - mac-cache
        - lldp
        - dhcp-snooping
        - l2-db
        - l3-db
        description:
        - Control which sources update the device user list.
        elements: str
        type: list
      vlan_all_mode:
        choices:
        - all
        - defined
        description:
        - VLAN configuration mode, user-defined-vlans or all-possible-vlans.
        type: str
      vlan_identity:
        choices:
        - description
        - name
        description:
        - Identity of the VLAN. Commonly used for RADIUS Tunnel-Private-Group-Id.
        type: str
      vlan_optimization:
        choices:
        - enable
        - disable
        description:
        - FortiLink VLAN optimization.
        type: str
    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