summaryrefslogtreecommitdiff
path: root/vyroute/Router.py
diff options
context:
space:
mode:
Diffstat (limited to 'vyroute/Router.py')
-rw-r--r--vyroute/Router.py63
1 files changed, 30 insertions, 33 deletions
diff --git a/vyroute/Router.py b/vyroute/Router.py
index fe95289..12629ff 100644
--- a/vyroute/Router.py
+++ b/vyroute/Router.py
@@ -70,13 +70,13 @@ class BasicRouter(Router):
:param address: Router address,example:'192.168.10.10'
:param cred: Router user and password,example:'vyos:vyos'
"""
- self.address = address
- self.cred = list(cred)
- self.divi = self.cred.index(":")
- self.username = ''.join(self.cred[:self.divi])
- self.passwd = ''.join(self.cred[self.divi+1:])
- self.account = Account(self.username, self.passwd)
- self.conn = SSH2()
+ self.__address = address
+ self.__cred = list(cred)
+ self.__divi = self.__cred.index(":")
+ self.__username = ''.join(self.__cred[:self.__divi])
+ self.__passwd = ''.join(self.__cred[self.__divi+1:])
+ self.__account = Account(self.__username, self.__passwd)
+ self.__conn = SSH2()
self.status = {"object": None, "commit": None, "save": None, "configure": None}
def login(self):
@@ -85,8 +85,8 @@ class BasicRouter(Router):
:return: a python dictionary
"""
try:
- if self.conn.connect(self.address) is True:
- self.conn.login(self.account)
+ if self.__conn.connect(self.__address) is True:
+ self.__conn.login(self.__account)
self.status["object"] = "login"
return {"Result": "Login successfully."}
else:
@@ -100,7 +100,7 @@ class BasicRouter(Router):
:return: a python dictionary
"""
try:
- self.conn.close(force=True)
+ self.__conn.close(force=True)
self.status["object"] = "logout"
return {"Result": "Logout successfully."}
except Exception, e:
@@ -114,7 +114,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] is None:
- self.conn.execute("configure")
+ self.__conn.execute("configure")
self.status["configure"] = "Yes"
return {"Result": "Active configure mode successfully."}
else:
@@ -135,7 +135,7 @@ class BasicRouter(Router):
if self.status["commit"] is None:
return {"Error": "You don't need to commit."}
if self.status["commit"] == "No":
- self.conn.execute("commit")
+ self.__conn.execute("commit")
self.status["commit"] = "Yes"
return {"Result": "Commit successfully."}
else:
@@ -159,8 +159,9 @@ class BasicRouter(Router):
if self.status["save"] is None:
return {"Error": "You don't need to save."}
if self.status["save"] == "No":
- self.conn.execute("save")
+ self.__conn.execute("save")
self.status["save"] = "Yes"
+ return {"Result": "Save successfully."}
else:
return {"Error": "You have saved!"}
else:
@@ -182,7 +183,7 @@ class BasicRouter(Router):
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
if force is True:
- self.conn.execute("exit")
+ self.__conn.execute("exit")
self.status["configure"] = None
self.status["save"] = None
self.status["commit"] = None
@@ -190,7 +191,7 @@ class BasicRouter(Router):
if force is False:
if self.status["commit"] == "Yes":
if self.status["save"] == "Yes":
- self.conn.execute("exit")
+ self.__conn.execute("exit")
self.status["configure"] = None
self.status["save"] = None
self.status["commit"] = None
@@ -215,7 +216,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = Modifylo.modifylo(self.conn, data)
+ res = Modifylo.modifylo(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -239,9 +240,7 @@ class BasicRouter(Router):
"""Static router setting
Parameter data example:
- {'config':[{'target':'10.20.10.0/24','next-hop':'10.20.10.1','distance':'1'},
- {'target':"192.168.20.0/24','next-hop':'192.168.20.1','distance':'1'},
- ],
+ {'config':{'target':'10.20.10.0/24','next-hop':'10.20.10.1','distance':'1'},
}
:param data: a python dictionary
@@ -250,7 +249,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = StaticRoute.staticroute(self.conn, data)
+ res = StaticRoute.staticroute(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -274,7 +273,7 @@ class BasicRouter(Router):
"""RIP protocols router setting
Parameter data example:
- {'config':['192.168.10.0/24','10.20.10.0/24'],
+ {'config':'192.168.10.0/24',
}
:param data: a python dictionary
@@ -283,7 +282,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = RIPRoute.riproute(self.conn, data)
+ res = RIPRoute.riproute(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -306,11 +305,9 @@ class BasicRouter(Router):
def ospf_area(self, data):
"""OSPF area setting
- Parameter data example:
- {'config':[{'area':'0','network':'192.168.10.0/24'},
- {'area':'0','network':'10.20.10.0/24'},
- ],
- }
+ Parameter data example:
+ {'config':{'area':'0','network':'192.168.10.0/24'},
+ }
:param data: a python dictionary
:return: a python dictionary
@@ -318,7 +315,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.ospfarea(self.conn, data)
+ res = OSPFRoute.ospfarea(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -351,7 +348,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.router_id(self.conn, data)
+ res = OSPFRoute.router_id(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -384,7 +381,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.ospf_redistribute(self.conn, data)
+ res = OSPFRoute.ospf_redistribute(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -412,7 +409,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.ospf_adjacency(self.conn)
+ res = OSPFRoute.ospf_adjacency(self.__conn)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -445,7 +442,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.ospf_default_route(self.conn, data)
+ res = OSPFRoute.ospf_default_route(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass
@@ -478,7 +475,7 @@ class BasicRouter(Router):
try:
if self.status["object"] == "login":
if self.status["configure"] == "Yes":
- res = OSPFRoute.ospf_route_map(self.conn, data)
+ res = OSPFRoute.ospf_route_map(self.__conn, data)
if "Result" in res:
if self.status["commit"] == "No":
pass