5.6.5.15. vlcp.service.sdn.vrouterapi

Note

This document is generated from the source file.

View Source on GitHub

class vlcp.service.sdn.vrouterapi.VRouterApi(server)

Standard network model for L3 SDN

__init__(server)

Constructor

addrouterinterface(router: str, subnet: str, id: (<class 'str'>, None) = None, **kwargs)

Connect virtual router to a subnet

Parameters:
  • router – virtual router ID
  • subnet – subnet ID
  • id – router port ID
  • **kwargs – customized options
Returns:

A dictionary of information of the created router port

addrouterinterfaces(interfaces: [{'router': <class 'str'>, 'subnet': <class 'str'>, '?id': <class 'str'>, '?ip_address': extra(<class 'str'>)}])

Create multiple router interfaces

createvirtualrouter(id: (<class 'str'>, None) = None, **kwargs)

Create a virtual router

Parameters:
  • id – Virtual router id. If omitted, an UUID is generated.
  • **kwargs – extra attributes for creation.
Returns:

A dictionary of information of the virtual router.

createvirtualrouters(routers: [{'?id': <class 'str'>, '?routes': [tuple_((extra(<class 'str'>), extra(<class 'str'>)))]}])

Create multiple virtual routers in a transaction

deletevirtualrouter(id: str)

Delete virtual router

deletevirtualrouters(routers: [{'id': <class 'str'>}])

Delete multiple virtual routers

listrouterinterfaces(id: str, **kwargs)

Query router ports from a virtual router

Parameters:
  • id – virtual router ID
  • **kwargs – customized filters on router interfaces
Returns:

a list of dictionaries each stands for a matched router interface

listvirtualrouters(id: (<class 'str'>, None) = None, **kwargs)

Query virtual router

Parameters:
  • id – if specified, only return virtual router with this ID
  • **kwargs – customized filter
Returns:

a list of dictionaries each stands for a matched virtual router.

load(container)

Load module

removerouterinterface(router: str, subnet: str)

Remote a subnet from the router

Parameters:
  • router – virtual router ID
  • subnet – subnet ID
Returns:

{"status": "OK"}

removerouterinterfaces(interfaces: [{'router': <class 'str'>, 'subnet': <class 'str'>}])

Remote multiple subnets from routers

updatevirtualrouter(id: str, **kwargs)

Update virtual router

updatevirtualrouters(routers: [{'id': <class 'str'>, '?routes': [tuple_((extra(<class 'str'>), extra(<class 'str'>)))]}])

Update multiple virtual routers