# ce_eth_trunk – Manages Eth-Trunk interfaces on HUAWEI CloudEngine switches

New in version 2.4.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Manages Eth-Trunk specific configuration parameters on HUAWEI CloudEngine switches.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

force
boolean

Choices:
- no ←
- yes

When true it forces Eth-Trunk members to match what is declared in the members param. This can be used to remove members.

hash_type
-

Choices:
- src-dst-ip
- src-dst-mac
- enhanced
- dst-ip
- dst-mac
- src-ip
- src-mac

Hash algorithm used for load balancing among Eth-Trunk member interfaces.

members - |  | List of interfaces that will be managed in a given Eth-Trunk. The interface name must be full name.
min_links - |  | Specifies the minimum number of Eth-Trunk member links in the Up state. The value is an integer ranging from 1 to the maximum number of interfaces that can be added to a Eth-Trunk interface.

mode
-

Choices:
- manual
- lacp-dynamic
- lacp-static

Specifies the working mode of an Eth-Trunk interface.

state
-

Choices:
- present ←
- absent

Manage the state of the resource.

trunk_id - / required |  | Eth-Trunk interface number. The value is an integer. The value range depends on the assign forward eth-trunk mode command. When 256 is specified, the value ranges from 0 to 255. When 512 is specified, the value ranges from 0 to 511. When 1024 is specified, the value ranges from 0 to 1023.

## Notes

Note

- `state=absent` removes the Eth-Trunk config and interface if it already exists. If members to be removed are not explicitly passed, all existing members (if any), are removed, and Eth-Trunk removed.

- Members must be a list.

- This module requires the netconf system service be enabled on the remote device being managed.

- Recommended connection is `netconf`.

- This module also works with `local` connections for legacy playbooks.

## Examples

    - name: eth_trunk module test
      hosts: cloudengine
      connection: local
      gather_facts: no
      vars:
        cli:
          host: "{{ inventory_hostname }}"
          port: "{{ ansible_ssh_port }}"
          username: "{{ username }}"
          password: "{{ password }}"
          transport: cli

      tasks:
      - name: Ensure Eth-Trunk100 is created, add two members, and set to mode lacp-static
        ce_eth_trunk:
          trunk_id: 100
          members: ['10GE1/0/24','10GE1/0/25']
          mode: 'lacp-static'
          state: present
          provider: '{{ cli }}'

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
changed boolean | always | check to see if a change was made on the device Sample: True
end_state dictionary | always | k/v pairs of Eth-Trunk info after module execution Sample: {'trunk_id': '100', 'hash_type': 'mac', 'members_detail': [{'memberIfName': '10GE1/0/24', 'memberIfState': 'Down'}, {'memberIfName': '10GE1/0/25', 'memberIfState': 'Down'}], 'min_links': '1', 'mode': 'lacp-static'}
existing dictionary | always | k/v pairs of existing Eth-Trunk Sample: {'trunk_id': '100', 'hash_type': 'mac', 'members_detail': [{'memberIfName': '10GE1/0/25', 'memberIfState': 'Down'}], 'min_links': '1', 'mode': 'manual'}
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'trunk_id': '100', 'members': ['10GE1/0/24', '10GE1/0/25'], 'mode': 'lacp-static'}
updates list | always | command sent to the device Sample: ['interface Eth-Trunk 100', 'mode lacp-static', 'interface 10GE1/0/25', 'eth-trunk 100']

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- QijunPan (@QijunPan)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.