- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# fortios_switch_controller_lldp_profile – Configure FortiSwitch LLDP profiles 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 switch_controller feature and lldp_profile 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.
switch_controller_lldp_profile dictionary | Default: null | Configure FortiSwitch LLDP profiles.
| 802.1_tlvs string | Choices: port-vlan-id | Transmitted IEEE 802.1 TLVs.
| 802.3_tlvs string | Choices: max-frame-size | Transmitted IEEE 802.3 TLVs.
| auto_isl string | Choices: disable enable | Enable/disable auto inter-switch LAG.
| auto_isl_hello_timer integer |  | Auto inter-switch LAG hello timer duration (1 - 30 sec).
| auto_isl_port_group integer |  | Auto inter-switch LAG port group ID (0 - 9).
| auto_isl_receive_timeout integer |  | Auto inter-switch LAG timeout if no response is received (3 - 90 sec).
| custom_tlvs list |  | Configuration method to edit custom TLV entries.
|  | information_string string |  | Organizationally defined information string (0 - 507 hexadecimal bytes).
|  | name string / required |  | TLV name (not sent).
|  | oui string |  | Organizationally unique identifier (OUI), a 3-byte hexadecimal number, for this TLV.
|  | subtype integer |  | Organizationally defined subtype (0 - 255).
| med_network_policy list |  | Configuration method to edit Media Endpoint Discovery (MED) network policy type-length-value (TLV) categories.
|  | dscp integer |  | Advertised Differentiated Services Code Point (DSCP) value, a packet header value indicating the level of service requested for traffic, such as high priority or best effort delivery.
|  | name string / required |  | Policy type name.
|  | priority integer |  | Advertised Layer 2 priority (0 - 7; from lowest to highest priority).
|  | status string | Choices: disable enable | Enable or disable this TLV.
|  | vlan integer |  | ID of VLAN to advertise, if configured on port (0 - 4094, 0 = priority tag).
| med_tlvs string | Choices: inventory-management network-policy | Transmitted LLDP-MED TLVs (type-length-value descriptions): inventory management TLV and/or network policy TLV.
| name string / required |  | Profile name.
| 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.
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 FortiSwitch LLDP profiles.
        fortios_switch_controller_lldp_profile:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          switch_controller_lldp_profile:
            802.1_tlvs: "port-vlan-id"
            802.3_tlvs: "max-frame-size"
            auto_isl: "disable"
            auto_isl_hello_timer: "6"
            auto_isl_port_group: "7"
            auto_isl_receive_timeout: "8"
            custom_tlvs:
             -
                information_string: "<your_own_value>"
                name: "default_name_11"
                oui: "<your_own_value>"
                subtype: "13"
            med_network_policy:
             -
                dscp: "15"
                name: "default_name_16"
                priority: "17"
                status: "disable"
                vlan: "19"
            med_tlvs: "inventory-management"
            name: "default_name_21"

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