Staticroute¶
Module for working with EOS static routes
The staticroute resource provides configuration management of static route resources on an EOS node. It provides the following class implementations:
StaticRoute - Configure static routes in EOS
- StaticRoute Attributes:
- ip_dest (string): The ip address of the destination in the
form of A.B.C.D/E
next_hop (string): The next hop interface or ip address next_hop_ip (string): The next hop address on destination interface distance (int): Administrative distance for this route tag (int): Route tag route_name (string): Route name
Notes
The ‘default’ prefix function of the ‘ip route’ command, ‘default ip route …’, currently equivalent to the ‘no ip route …’ command.
- class pyeapi.api.staticroute.StaticRoute(node)[source]¶
Bases:
EntityCollection
The StaticRoute class provides a configuration instance for working with static routes
- create(ip_dest, next_hop, **kwargs)[source]¶
Create a static route
- Parameters:
ip_dest (string) – The ip address of the destination in the form of A.B.C.D/E
next_hop (string) – The next hop interface or ip address
**kwargs['next_hop_ip'] (string) – The next hop address on destination interface
**kwargs['distance'] (string) – Administrative distance for this route
**kwargs['tag'] (string) – Route tag
**kwargs['route_name'] (string) – Route name
- Returns:
True if the operation succeeds, otherwise False.
- default(ip_dest, next_hop, **kwargs)[source]¶
Set a static route to default (i.e. delete the matching route)
- Parameters:
ip_dest (string) – The ip address of the destination in the form of A.B.C.D/E
next_hop (string) – The next hop interface or ip address
**kwargs['next_hop_ip'] (string) – The next hop address on destination interface
**kwargs['distance'] (string) – Administrative distance for this route
**kwargs['tag'] (string) – Route tag
**kwargs['route_name'] (string) – Route name
- Returns:
True if the operation succeeds, otherwise False.
- delete(ip_dest, next_hop, **kwargs)[source]¶
Delete a static route
- Parameters:
ip_dest (string) – The ip address of the destination in the form of A.B.C.D/E
next_hop (string) – The next hop interface or ip address
**kwargs['next_hop_ip'] (string) – The next hop address on destination interface
**kwargs['distance'] (string) – Administrative distance for this route
**kwargs['tag'] (string) – Route tag
**kwargs['route_name'] (string) – Route name
- Returns:
True if the operation succeeds, otherwise False.
- get(name)[source]¶
Retrieves the ip route information for the destination ip address specified.
- Parameters:
name (string) – The ip address of the destination in the form of A.B.C.D/E
- Returns:
An dict object of static route entries in the form:
{ ip_dest: { next_hop: { next_hop_ip: { distance: { 'tag': tag, 'route_name': route_name } } } } }
If the ip address specified does not have any associated static routes, then None is returned.
- Return type:
dict
Notes
The keys ip_dest, next_hop, next_hop_ip, and distance in the returned dictionary are the values of those components of the ip route specification. If a route does not contain a next_hop_ip, then that key value will be set as ‘None’.
- getall()[source]¶
Return all ip routes configured on the switch as a resource dict
- Returns:
An dict object of static route entries in the form:
{ ip_dest: { next_hop: { next_hop_ip: { distance: { 'tag': tag, 'route_name': route_name } } } } }
If the ip address specified does not have any associated static routes, then None is returned.
- Return type:
dict
Notes
The keys ip_dest, next_hop, next_hop_ip, and distance in the returned dictionary are the values of those components of the ip route specification. If a route does not contain a next_hop_ip, then that key value will be set as ‘None’.
- set_route_name(ip_dest, next_hop, **kwargs)[source]¶
Set the route_name value for the specified route
- Parameters:
ip_dest (string) – The ip address of the destination in the form of A.B.C.D/E
next_hop (string) – The next hop interface or ip address
**kwargs['next_hop_ip'] (string) – The next hop address on destination interface
**kwargs['distance'] (string) – Administrative distance for this route
**kwargs['tag'] (string) – Route tag
**kwargs['route_name'] (string) – Route name
- Returns:
True if the operation succeeds, otherwise False.
Notes
- Any existing tag value must be included in call to
set_route_name, otherwise the tag will be reset by the call to EOS.
- set_tag(ip_dest, next_hop, **kwargs)[source]¶
Set the tag value for the specified route
- Parameters:
ip_dest (string) – The ip address of the destination in the form of A.B.C.D/E
next_hop (string) – The next hop interface or ip address
**kwargs['next_hop_ip'] (string) – The next hop address on destination interface
**kwargs['distance'] (string) – Administrative distance for this route
**kwargs['tag'] (string) – Route tag
**kwargs['route_name'] (string) – Route name
- Returns:
True if the operation succeeds, otherwise False.
Notes
- Any existing route_name value must be included in call to
set_tag, otherwise the tag will be reset by the call to EOS.
- pyeapi.api.staticroute.instance(node)[source]¶
Returns an instance of StaticRoute
This method will create and return an instance of the StaticRoute 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