diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md index 728b9e0be8f..6692004d16f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md @@ -3629,6 +3629,8 @@ interface Dps1 | Ethernet66 | Multiple VRIDs and tracking | - | 192.0.2.2/25 | default | - | False | - | - | | Ethernet80 | LAG Member | 17 | *192.0.2.3/31 | **default | **- | **- | **- | **- | | Ethernet81/2 | LAG Member LACP fallback LLDP ZTP VLAN | 112 | *dhcp | **default | **- | **- | **- | **- | +| Ethernet81/3 | Traffic Engineering Interface | - | 100.64.127.0/31 | default | - | False | - | - | +| Ethernet81/4 | Traffic Engineering Interface | - | 100.64.127.0/31 | default | - | False | - | - | *Inherited from Port-Channel Interface @@ -3785,6 +3787,12 @@ interface Dps1 | Ethernet5 | 127 | | Ethernet6 | disabled | +#### Traffic Engineering + +| Interface | Enabled | Administrative Groups | +| --------- | ------- | --------------------- | +| Ethernet81/3 | True | 3,15-29,testgrp | + #### Ethernet Interfaces Device Configuration ```eos @@ -4755,6 +4763,21 @@ interface Ethernet81/2 lldp tlv transmit ztp vlan 112 spanning-tree portfast ! +interface Ethernet81/3 + description Traffic Engineering Interface + no shutdown + no switchport + ip address 100.64.127.0/31 + traffic-engineering + traffic-engineering administrative-group 3,15-29,testgrp +! +interface Ethernet81/4 + description Traffic Engineering Interface + no shutdown + no switchport + ip address 100.64.127.0/31 + traffic-engineering administrative-group 4,7-100,testgrp +! interface Ethernet81/10 description isis_port_channel_member channel-group 110 mode active @@ -4941,6 +4964,8 @@ interface Ethernet84 | Port-Channel112 | LACP fallback individual | - | dhcp | default | - | - | - | - | | Port-Channel113 | interface_with_mpls_enabled | - | 172.31.128.9/31 | default | - | - | - | - | | Port-Channel114 | interface_with_mpls_disabled | - | 172.31.128.10/31 | default | - | - | - | - | +| Port-Channel136 | Test_te_admin_groups | - | 100.64.127.2/31 | default | - | - | - | - | +| Port-Channel137 | Traffic Engineering Interface | - | 100.64.127.4/31 | default | - | - | - | - | ##### IP NAT: Source Static @@ -4984,6 +5009,12 @@ interface Ethernet84 | Port-Channel100 | EVPN_UNDERLAY | - | - | - | - | - | Level-1: md5
Level-2: text | | Port-Channel110 | ISIS_TEST | True | 99 | point-to-point | level-2 | True | - | +#### Traffic Engineering + +| Interface | Enabled | Administrative Groups | +| --------- | ------- | --------------------- | +| Port-Channel136 | True | 7 | + #### Port-Channel Interfaces Device Configuration ```eos @@ -5586,6 +5617,19 @@ interface Port-Channel135 switchport tap encapsulation gre protocol 0x2 feature header length 3 strip switchport tap encapsulation gre protocol 0x3 feature header length 2 strip re-encapsulation ethernet switchport tap encapsulation gre protocol 0x10 strip +! +interface Port-Channel136 + description Test_te_admin_groups + no switchport + ip address 100.64.127.2/31 + traffic-engineering + traffic-engineering administrative-group 7 +! +interface Port-Channel137 + description Traffic Engineering Interface + no switchport + ip address 100.64.127.4/31 + traffic-engineering administrative-group 4,7-100,testgrp ``` ### Loopback Interfaces diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg index 60c6848eda4..76bc4a40826 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg @@ -2216,6 +2216,19 @@ interface Port-Channel135 switchport tap encapsulation gre protocol 0x3 feature header length 2 strip re-encapsulation ethernet switchport tap encapsulation gre protocol 0x10 strip ! +interface Port-Channel136 + description Test_te_admin_groups + no switchport + ip address 100.64.127.2/31 + traffic-engineering + traffic-engineering administrative-group 7 +! +interface Port-Channel137 + description Traffic Engineering Interface + no switchport + ip address 100.64.127.4/31 + traffic-engineering administrative-group 4,7-100,testgrp +! interface Dps1 description Test DPS Interface shutdown @@ -3192,6 +3205,21 @@ interface Ethernet81/2 lldp tlv transmit ztp vlan 112 spanning-tree portfast ! +interface Ethernet81/3 + description Traffic Engineering Interface + no shutdown + no switchport + ip address 100.64.127.0/31 + traffic-engineering + traffic-engineering administrative-group 3,15-29,testgrp +! +interface Ethernet81/4 + description Traffic Engineering Interface + no shutdown + no switchport + ip address 100.64.127.0/31 + traffic-engineering administrative-group 4,7-100,testgrp +! interface Ethernet81/10 description isis_port_channel_member channel-group 110 mode active diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml index b6c5faea864..900073e6f8e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml @@ -1849,6 +1849,32 @@ ethernet_interfaces: lldp: ztp_vlan: 112 + - name: Ethernet81/3 + description: Traffic Engineering Interface + shutdown: false + switchport: + enabled: false + ip_address: 100.64.127.0/31 + traffic_engineering: + enabled: true + administrative_groups: + - 3 + - 15-29 + - testgrp + + - name: Ethernet81/4 + description: Traffic Engineering Interface + shutdown: false + switchport: + enabled: false + ip_address: 100.64.127.0/31 + traffic_engineering: + enabled: false + administrative_groups: + - 4 + - 7-100 + - testgrp + - name: Ethernet82 description: Switchport_tap_tool switchport: diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml index 16709ce88ce..c03f8e31ee2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml @@ -1046,3 +1046,25 @@ port_channel_interfaces: feature_header_length: 2 re_encapsulation_ethernet_header: true strip: true + + - name: Port-Channel136 + description: Test_te_admin_groups + switchport: + enabled: false + ip_address: 100.64.127.2/31 + traffic_engineering: + enabled: true + administrative_groups: + - 7 + + - name: Port-Channel137 + description: Traffic Engineering Interface + switchport: + enabled: false + ip_address: 100.64.127.4/31 + traffic_engineering: + enabled: false + administrative_groups: + - 4 + - 7-100 + - testgrp diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md index 2222322c542..e1c7ce9db76 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md @@ -599,6 +599,10 @@ | [        groups](## "ethernet_interfaces.[].switchport.tool.groups") | List, items: String | | | | Tool groups for the interface. | | [          - <str>](## "ethernet_interfaces.[].switchport.tool.groups.[]") | String | | | | | | [        dot1q_remove_outer_vlan_tag](## "ethernet_interfaces.[].switchport.tool.dot1q_remove_outer_vlan_tag") | String | | | | Indices of vlan tags to be removed.
Range: 1-2 | + | [    traffic_engineering](## "ethernet_interfaces.[].traffic_engineering") | Dictionary | | | | | + | [      enabled](## "ethernet_interfaces.[].traffic_engineering.enabled") | Boolean | | | | Whether to enable traffic-engineering on this interface. | + | [      administrative_groups](## "ethernet_interfaces.[].traffic_engineering.administrative_groups") | List, items: String | | | | List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. | + | [        - <str>](## "ethernet_interfaces.[].traffic_engineering.administrative_groups.[]") | String | | | | | | [    eos_cli](## "ethernet_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration. | === "YAML" @@ -1913,6 +1917,14 @@ # Indices of vlan tags to be removed. # Range: 1-2 dot1q_remove_outer_vlan_tag: + traffic_engineering: + + # Whether to enable traffic-engineering on this interface. + enabled: + + # List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. + administrative_groups: + - # Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration. eos_cli: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md index 91739aff4a7..fc514aa5e3a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md @@ -426,6 +426,10 @@ | [        groups](## "port_channel_interfaces.[].switchport.tool.groups") | List, items: String | | | | Tool groups for the interface. | | [          - <str>](## "port_channel_interfaces.[].switchport.tool.groups.[]") | String | | | | | | [        dot1q_remove_outer_vlan_tag](## "port_channel_interfaces.[].switchport.tool.dot1q_remove_outer_vlan_tag") | String | | | | Indices of vlan tags to be removed.
Range: 1-2 | + | [    traffic_engineering](## "port_channel_interfaces.[].traffic_engineering") | Dictionary | | | | | + | [      enabled](## "port_channel_interfaces.[].traffic_engineering.enabled") | Boolean | | | | Whether to enable traffic-engineering on this interface. | + | [      administrative_groups](## "port_channel_interfaces.[].traffic_engineering.administrative_groups") | List, items: String | | | | List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. | + | [        - <str>](## "port_channel_interfaces.[].traffic_engineering.administrative_groups.[]") | String | | | | | | [    validate_state](## "port_channel_interfaces.[].validate_state") | Boolean | | | | Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role. | | [    validate_lldp](## "port_channel_interfaces.[].validate_lldp") | Boolean | | | | Set to false to disable the LLDP topology validation performed by the `eos_validate_state` role. | | [    eos_cli](## "port_channel_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the port-channel interface in the final EOS configuration. | @@ -1407,6 +1411,14 @@ # Indices of vlan tags to be removed. # Range: 1-2 dot1q_remove_outer_vlan_tag: + traffic_engineering: + + # Whether to enable traffic-engineering on this interface. + enabled: + + # List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. + administrative_groups: + - # Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role. validate_state: diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2 index 3d358413914..d220b8b5c6e 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2 @@ -795,6 +795,24 @@ | {{ sync_e_interface.name }} | {{ sync_e_interface.sync_e.priority | arista.avd.default('127') }} | {% endfor %} {% endif %} +{% set te_interfaces = [] %} +{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %} +{% if ethernet_interface.traffic_engineering.enabled is arista.avd.defined(true) %} +{% do te_interfaces.append(ethernet_interface) %} +{% endif %} +{% endfor %} +{% if te_interfaces | length > 0 %} + +#### Traffic Engineering + +| Interface | Enabled | Administrative Groups | +| --------- | ------- | --------------------- | +{% for te_interface in te_interfaces %} +{% set admin_groups = te_interface.traffic_engineering.administrative_groups | arista.avd.default (["-"]) | join(",") %} +{% set te_enabled = te_interface.traffic_engineering.enabled | arista.avd.default ("-") %} +| {{ te_interface.name }} | {{ te_enabled }} | {{ admin_groups }} | +{% endfor %} +{% endif %} #### Ethernet Interfaces Device Configuration diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 index b916790f1eb..ada154dc2c1 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 @@ -411,6 +411,24 @@ | {{ port_channel_interface.name }} | {{ isis_instance }} | {{ isis_bfd }} | {{ isis_metric }} | {{ mode }} | {{ isis_circuit_type }} | {{ isis_hello_padding }} | {{ isis_authentication_mode }} | {% endfor %} {% endif %} +{% set port_channel_te_interfaces = [] %} +{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %} +{% if port_channel_interface.traffic_engineering.enabled is arista.avd.defined(true) %} +{% do port_channel_te_interfaces.append(port_channel_interface) %} +{% endif %} +{% endfor %} +{% if port_channel_te_interfaces | length > 0 %} + +#### Traffic Engineering + +| Interface | Enabled | Administrative Groups | +| --------- | ------- | --------------------- | +{% for po_te_interface in port_channel_te_interfaces %} +{% set admin_groups = po_te_interface.traffic_engineering.administrative_groups | arista.avd.default(["-"]) | join(",") %} +{% set te_enabled = po_te_interface.traffic_engineering.enabled | arista.avd.default("-") %} +| {{ po_te_interface.name }} | {{ te_enabled }} | {{ admin_groups }} | +{% endfor %} +{% endif %} #### Port-Channel Interfaces Device Configuration diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2 index 9467cd18e05..74b00b5fe65 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2 @@ -1103,6 +1103,12 @@ interface {{ ethernet_interface.name }} switchport tool dzgre preserve {% endif %} {% endif %} +{% if ethernet_interface.traffic_engineering.enabled is arista.avd.defined(true) %} + traffic-engineering +{% endif %} +{% if ethernet_interface.traffic_engineering.administrative_groups is arista.avd.defined %} + traffic-engineering administrative-group {{ ethernet_interface.traffic_engineering.administrative_groups | join(",") }} +{% endif %} {% for link_tracking_group in ethernet_interface.link_tracking_groups | arista.avd.natural_sort %} {% if link_tracking_group.name is arista.avd.defined and link_tracking_group.direction is arista.avd.defined %} link tracking group {{ link_tracking_group.name }} {{ link_tracking_group.direction }} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 index 25cdb756206..ad5262c5f49 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 @@ -923,6 +923,12 @@ interface {{ port_channel_interface.name }} switchport tool dot1q remove outer {{ port_channel_interface.switchport.tool.dot1q_remove_outer_vlan_tag }} {% endif %} {% endif %} +{% if port_channel_interface.traffic_engineering.enabled is arista.avd.defined(true) %} + traffic-engineering +{% endif %} +{% if port_channel_interface.traffic_engineering.administrative_groups is arista.avd.defined %} + traffic-engineering administrative-group {{ port_channel_interface.traffic_engineering.administrative_groups | join(",") }} +{% endif %} {% for link_tracking_group in port_channel_interface.link_tracking_groups | arista.avd.natural_sort('name') %} {% if link_tracking_group.name is arista.avd.defined and link_tracking_group.direction is arista.avd.defined %} link tracking group {{ link_tracking_group.name }} {{ link_tracking_group.direction }} diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py index a40a32fa721..adb4bba7394 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py @@ -12186,6 +12186,52 @@ def __init__( """ + class TrafficEngineering(AvdModel): + """Subclass of AvdModel.""" + + class AdministrativeGroups(AvdList[str]): + """Subclass of AvdList with `str` items.""" + + AdministrativeGroups._item_type = str + + _fields: ClassVar[dict] = {"enabled": {"type": bool}, "administrative_groups": {"type": AdministrativeGroups}, "_custom_data": {"type": dict}} + enabled: bool | None + """Whether to enable traffic-engineering on this interface.""" + administrative_groups: AdministrativeGroups + """ + List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single + integers 0-127. + + Subclass of AvdList with `str` items. + """ + _custom_data: dict[str, Any] + + if TYPE_CHECKING: + + def __init__( + self, + *, + enabled: bool | None | UndefinedType = Undefined, + administrative_groups: AdministrativeGroups | UndefinedType = Undefined, + _custom_data: dict[str, Any] | UndefinedType = Undefined, + ) -> None: + """ + TrafficEngineering. + + + Subclass of AvdModel. + + Args: + enabled: Whether to enable traffic-engineering on this interface. + administrative_groups: + List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single + integers 0-127. + + Subclass of AvdList with `str` items. + _custom_data: _custom_data + + """ + _fields: ClassVar[dict] = { "name": {"type": str}, "description": {"type": str}, @@ -12300,6 +12346,7 @@ def __init__( "validate_state": {"type": bool}, "validate_lldp": {"type": bool}, "switchport": {"type": Switchport}, + "traffic_engineering": {"type": TrafficEngineering}, "eos_cli": {"type": str}, "_custom_data": {"type": dict}, } @@ -12565,6 +12612,8 @@ def __init__( Subclass of AvdModel. """ + traffic_engineering: TrafficEngineering + """Subclass of AvdModel.""" eos_cli: str | None """Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration.""" _custom_data: dict[str, Any] @@ -12687,6 +12736,7 @@ def __init__( validate_state: bool | None | UndefinedType = Undefined, validate_lldp: bool | None | UndefinedType = Undefined, switchport: Switchport | UndefinedType = Undefined, + traffic_engineering: TrafficEngineering | UndefinedType = Undefined, eos_cli: str | None | UndefinedType = Undefined, _custom_data: dict[str, Any] | UndefinedType = Undefined, ) -> None: @@ -12861,6 +12911,7 @@ def __init__( Subclass of AvdModel. + traffic_engineering: Subclass of AvdModel. eos_cli: Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration. _custom_data: _custom_data @@ -32639,6 +32690,52 @@ def __init__( """ + class TrafficEngineering(AvdModel): + """Subclass of AvdModel.""" + + class AdministrativeGroups(AvdList[str]): + """Subclass of AvdList with `str` items.""" + + AdministrativeGroups._item_type = str + + _fields: ClassVar[dict] = {"enabled": {"type": bool}, "administrative_groups": {"type": AdministrativeGroups}, "_custom_data": {"type": dict}} + enabled: bool | None + """Whether to enable traffic-engineering on this interface.""" + administrative_groups: AdministrativeGroups + """ + List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single + integers 0-127. + + Subclass of AvdList with `str` items. + """ + _custom_data: dict[str, Any] + + if TYPE_CHECKING: + + def __init__( + self, + *, + enabled: bool | None | UndefinedType = Undefined, + administrative_groups: AdministrativeGroups | UndefinedType = Undefined, + _custom_data: dict[str, Any] | UndefinedType = Undefined, + ) -> None: + """ + TrafficEngineering. + + + Subclass of AvdModel. + + Args: + enabled: Whether to enable traffic-engineering on this interface. + administrative_groups: + List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single + integers 0-127. + + Subclass of AvdList with `str` items. + _custom_data: _custom_data + + """ + _fields: ClassVar[dict] = { "name": {"type": str}, "description": {"type": str}, @@ -32729,6 +32826,7 @@ def __init__( "peer_type": {"type": str}, "sflow": {"type": Sflow}, "switchport": {"type": Switchport}, + "traffic_engineering": {"type": TrafficEngineering}, "validate_state": {"type": bool}, "validate_lldp": {"type": bool}, "eos_cli": {"type": str}, @@ -32915,6 +33013,8 @@ def __init__( """Subclass of AvdModel.""" switchport: Switchport """Subclass of AvdModel.""" + traffic_engineering: TrafficEngineering + """Subclass of AvdModel.""" validate_state: bool | None """ Set to false to disable interface state and LLDP topology validation performed by the @@ -33020,6 +33120,7 @@ def __init__( peer_type: str | None | UndefinedType = Undefined, sflow: Sflow | UndefinedType = Undefined, switchport: Switchport | UndefinedType = Undefined, + traffic_engineering: TrafficEngineering | UndefinedType = Undefined, validate_state: bool | None | UndefinedType = Undefined, validate_lldp: bool | None | UndefinedType = Undefined, eos_cli: str | None | UndefinedType = Undefined, @@ -33145,6 +33246,7 @@ def __init__( peer_type: Key only used for documentation or validation purposes. sflow: Subclass of AvdModel. switchport: Subclass of AvdModel. + traffic_engineering: Subclass of AvdModel. validate_state: Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role. diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml index 4b0702d8bba..5d10316999b 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml @@ -4391,6 +4391,20 @@ keys: description: 'Indices of vlan tags to be removed. Range: 1-2' + traffic_engineering: + type: dict + keys: + enabled: + type: bool + description: Whether to enable traffic-engineering on this interface. + administrative_groups: + type: list + description: List of traffic-engineering administrative groups, valid + values are names, ranges 0-127, or single integers 0-127. + items: + type: str + convert_types: + - int eos_cli: type: str description: Multiline EOS CLI rendered directly on the ethernet interface @@ -11211,6 +11225,20 @@ keys: tool: type: dict $ref: eos_cli_config_gen#/keys/ethernet_interfaces/items/keys/switchport/keys/tool + traffic_engineering: + type: dict + keys: + enabled: + type: bool + description: Whether to enable traffic-engineering on this interface. + administrative_groups: + type: list + description: List of traffic-engineering administrative groups, valid + values are names, ranges 0-127, or single integers 0-127. + items: + type: str + convert_types: + - int validate_state: type: bool description: Set to false to disable interface state and LLDP topology validation diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml index 2dca349d154..e9460279a5a 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml @@ -2183,6 +2183,19 @@ keys: description: |- Indices of vlan tags to be removed. Range: 1-2 + traffic_engineering: + type: dict + keys: + enabled: + type: bool + description: Whether to enable traffic-engineering on this interface. + administrative_groups: + type: list + description: List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. + items: + type: str + convert_types: + - int eos_cli: type: str description: Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration. diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml index d2d9c89738f..b1d8ea708fa 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml @@ -1385,6 +1385,19 @@ keys: tool: type: dict $ref: "eos_cli_config_gen#/keys/ethernet_interfaces/items/keys/switchport/keys/tool" + traffic_engineering: + type: dict + keys: + enabled: + type: bool + description: Whether to enable traffic-engineering on this interface. + administrative_groups: + type: list + description: List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. + items: + type: str + convert_types: + - int validate_state: type: bool description: Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role.