Vrfs

Module for working with EOS VRF resources

The Vrfs resource provides configuration of VRF resources for an EOS node.

param name

The name parameter maps to the VRF name in EOS. Valid values include any consecutive sequence of numbers, letters and underscore up to the maximum number of characters. This parameter is defaultable.

type name

string

param description

The vrf description set by the user

type description

string

param ipv4_routing

Tells whether IPv4 routing is enabled on the VRF

type ipv4_routing

bool

param ipv6_routing

Tells whether IPv6 unicast routing is enabled on the VRF

type ipv6_routing

bool

class pyeapi.api.vrfs.Vrfs(node)[source]

Bases: pyeapi.api.abstract.EntityCollection

The Vrfs class provides a configuration resource for VRFs

The Vrfs class is derived from ResourceBase a standard set of methods for working with VRF configurations on an EOS node.

configure_vrf(vrf_name, commands)[source]

Configures the specified VRF using commands

Parameters
  • vrf_name (str) – The VRF name to configure

  • commands – The list of commands to configure

Returns

True if the commands completed successfully

create(vrf_name, rd=None)[source]

Creates a new VRF resource

Note: A valid RD has the following format admin_ID:local_assignment.

The admin_ID can be an AS number or globally assigned IPv4 address. The local_assignment can be an integer between 0-65,535 if the admin_ID is an IPv4 address and can be between 0-4,294,967,295 if the admin_ID is an AS number. If the admin_ID is an AS number the local_assignment could also be in the form of an IPv4 address.

Parameters
  • vrf_name (str) – The VRF name to create

  • rd (str) – The value to configure the vrf rd

Returns

True if create was successful otherwise False

default(vrf_name)[source]

Defaults the VRF configuration for given name

Parameters

vrf_name (str) – The VRF name to default

Returns

True if the operation was successful otherwise False

delete(vrf_name)[source]

Deletes a VRF from the running configuration

Parameters

vrf_name (str) – The VRF name to delete

Returns

True if the operation was successful otherwise False

get(value)[source]

Returns the VRF configuration as a resource dict.

Parameters

value (string) – The vrf name to retrieve from the running configuration.

Returns

A Python dict object containing the VRF attributes as

key/value pairs.

getall()[source]

Returns a dict object of all VRFs in the running-config

Returns

A dict object of VRF attributes

set_description(vrf_name, description=None, default=False, disable=False)[source]

Configures the VRF description

Parameters
  • vrf_name (str) – The VRF name to configure

  • description (str) – The string to set the vrf description to

  • default (bool) – Configures the vrf description to its default value

  • disable (bool) – Negates the vrf description

Returns

True if the operation was successful otherwise False

set_interface(vrf_name, interface, default=False, disable=False)[source]

Adds a VRF to an interface

Notes

Requires interface to be in routed mode. Must apply ip address after VRF has been applied. This feature can also be accessed through the interfaces api.

Parameters
  • vrf_name (str) – The VRF name to configure

  • interface (str) – The interface to add the VRF too

  • default (bool) – Set interface VRF forwarding to default

  • disable (bool) – Negate interface VRF forwarding

Returns

True if the operation was successful otherwise False

set_ipv4_routing(vrf_name, default=False, disable=False)[source]

Configures ipv4 routing for the vrf

Parameters
  • vrf_name (str) – The VRF name to configure

  • default (bool) – Configures ipv4 routing for the vrf value to default if this value is true

  • disable (bool) – Negates the ipv4 routing for the vrf if set to true

Returns

True if the operation was successful otherwise False

set_ipv6_routing(vrf_name, default=False, disable=False)[source]

Configures ipv6 unicast routing for the vrf

Parameters
  • vrf_name (str) – The VRF name to configure

  • default (bool) – Configures ipv6 unicast routing for the vrf value to default if this value is true

  • disable (bool) – Negates the ipv6 unicast routing for the vrf if set to true

Returns

True if the operation was successful otherwise False

set_rd(vrf_name, rd)[source]

Configures the VRF rd (route distinguisher)

Note: A valid RD has the following format admin_ID:local_assignment.

The admin_ID can be an AS number or globally assigned IPv4 address. The local_assignment can be an integer between 0-65,535 if the admin_ID is an IPv4 address and can be between 0-4,294,967,295 if the admin_ID is an AS number. If the admin_ID is an AS number the local_assignment could also be in the form of an IPv4 address.

Parameters
  • vrf_name (str) – The VRF name to set rd for

  • rd (str) – The value to configure the vrf rd

Returns

True if the operation was successful otherwise False

pyeapi.api.vrfs.instance(node)[source]

Returns an instance of Vrfs

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

Parameters

node (Node) – The node argument passes an instance of Node to the resource