Switchports

Module for working with logical layer 2 switchports in EOS

This module provides an API for working with logical layer 2 interfaces (switchports) in EOS. Switchports are interfaces built on top of physical Ethernet and bundled Port-Channel interfaces.

class pyeapi.api.switchports.Switchports(node)

Bases: pyeapi.api.abstract.EntityCollection

The Switchports class provides a configuration resource for swichports

Logical layer 2 interfaces built on top of physical Ethernet and bundled Port-Channel interfaces can be configured and managed with an instance of Switchports. The Switchports class is a resource collection and supports get and getall methods. The Switchports class is derived from the BaseResource class

add_trunk_group(intf, value)

Adds the specified trunk group to the interface

Parameters:
  • intf (str) – The interface name to apply the trunk group to
  • value (str) – The trunk group value to apply to the interface
Returns:

True if the operation as successfully applied otherwise false

create(name)

Creates a new logical layer 2 interface

This method will create a new switchport for the interface specified in the arguments (name). If the logical switchport already exists then this command will have no effect

Parameters:name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
Returns:
True if the create operation succeeds otherwise False. If the
interface specified in args is already a switchport then this method will have no effect but will still return True
default(name)

Defaults the configuration of the switchport interface

This method will default the configuration state of the logical layer 2 interface.

Parameters:name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
Returns:
True if the create operation succeeds otherwise False. If the
interface specified in args is already a switchport then this method will have no effect but will still return True
delete(name)

Deletes the logical layer 2 interface

This method will delete the logical switchport for the interface specified in the arguments. If the interface doe not have a logical layer 2 interface defined, then this method will have no effect.

Parameters:name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
Returns:
True if the create operation succeeds otherwise False. If the
interface specified in args is already a switchport then this method will have no effect but will still return True
get(name)

Returns a dictionary object that represents a switchport

The Switchport resource returns the following:

  • name (str): The name of the interface
  • mode (str): The switchport mode value
  • access_vlan (str): The switchport access vlan value
  • trunk_native_vlan (str): The switchport trunk native vlan vlaue
  • trunk_allowed_vlans (str): The trunk allowed vlans value
  • trunk_groups (list): The list of trunk groups configured
Parameters:name (string) – The interface identifier to get. Note: Switchports are only supported on Ethernet and Port-Channel interfaces
Returns:
A Python dictionary object of key/value pairs that represent
the switchport configuration for the interface specified If the specified argument is not a switchport then None is returned
Return type:dict
getall()

Returns a dict object to all Switchports

This method will return all of the configured switchports as a dictionary object keyed by the interface identifier.

Returns:
A Python dictionary object that represents all configured
switchports in the current running configuration
remove_trunk_group(intf, value)

Removes a specified trunk group to the interface

Parameters:
  • intf (str) – The interface name to remove the trunk group from
  • value (str) – The trunk group value
Returns:

True if the operation as successfully applied otherwise false

set_access_vlan(name, value=None, default=False, disable=False)

Configures the switchport access vlan

Parameters:
  • name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
  • value (string) – The value to set the access vlan to. The value must be a valid VLAN ID in the range of 1 to 4094.
  • default (bool) – Configures the access vlan parameter to its default value using the EOS CLI
  • disable (bool) – Negate the access vlan parameter using the EOS CLI
Returns:

True if the create operation succeeds otherwise False.

set_mode(name, value=None, default=False, disable=False)

Configures the switchport mode

Parameters:
  • name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
  • value (string) – The value to set the mode to. Accepted values for this argument are access or trunk
  • default (bool) – Configures the mode parameter to its default value using the EOS CLI
  • disable (bool) – Negate the mode parameter using the EOS CLI
Returns:

True if the create operation succeeds otherwise False.

set_trunk_allowed_vlans(name, value=None, default=False, disable=False)

Configures the switchport trunk allowed vlans value

Parameters:
  • name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
  • value (string) – The value to set the trunk allowed vlans to. The value must be a valid VLAN ID in the range of 1 to 4094.
  • default (bool) – Configures the access vlan parameter to its default value using the EOS CLI
  • disable (bool) – Negate the access vlan parameter using the EOS CLI
Returns:

True if the create operation succeeds otherwise False.

set_trunk_groups(intf, value=None, default=False, disable=False)

Configures the switchport trunk group value

Parameters:
  • intf (str) – The interface identifier to configure.
  • value (str) – The set of values to configure the trunk group
  • default (bool) – Configures the trunk group default value
  • disable (bool) – Negates all trunk group settings
Returns:

True if the config operation succeeds otherwise False

set_trunk_native_vlan(name, value=None, default=False, disable=False)

Configures the switchport trunk native vlan value

Parameters:
  • name (string) – The interface identifier to create the logical layer 2 switchport for. The name must be the full interface name and not an abbreviated interface name (eg Ethernet1, not Et1)
  • value (string) – The value to set the trunk nativevlan to. The value must be a valid VLAN ID in the range of 1 to 4094.
  • default (bool) – Configures the access vlan parameter to its default value using the EOS CLI
  • disable (bool) – Negate the access vlan parameter using the EOS CLI
Returns:

True if the create operation succeeds otherwise False.

pyeapi.api.switchports.instance(node)

Returns an instance of Switchports

This method will create and return an instance of the Switchports object passing the value of node to the instance. The module method is required for the resource to be autoloaded by the Node object

Parameters:node (Node) – The node argument provides an instance of Node to the resource