-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathtop.py
More file actions
116 lines (112 loc) · 4.16 KB
/
Copy pathtop.py
File metadata and controls
116 lines (112 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Copyright 2023 rev1si0n (lamda.devel@gmail.com). All rights reserved.
#
# Distributed under MIT license.
# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
from sapi import SecureAPIClient
class TopNetworkCtl(SecureAPIClient):
def __init__(self, network, url, ckey):
super().__init__(url, ckey)
self.network = network
def listNode(self, page, size=10):
"""
列出网络上的所有设备
"""
data = self.request("listNode", dict(page=page, size=size,
network=self.network))
return data
def setNodeConfig(self, nid, name, value):
"""
设置节点配置
"""
data = self.request("setNodeConfig", dict(name=name, value=value,
node=nid, network=self.network))
return data
def putNodeConfig(self, nid, **config):
"""
设置节点配置(批量)
"""
data = self.request("putNodeConfig", dict(configs=config,
node=nid, network=self.network))
return data
def delNodeConfig(self, nid, name):
"""
删除节点配置
"""
data = self.request("delNodeConfig", dict(name=name,
node=nid, network=self.network))
def listNodeConfig(self, nid):
"""
列出所有节点配置
"""
data = self.request("listNodeConfig", dict(node=nid,
network=self.network))
return data
def getNodeInfo(self, nid):
"""
获取设备配置信息
"""
data = self.request("getNodeInfo", dict(node=nid,
network=self.network))
return data
def deleteNode(self, nid):
"""
从网络中删除一个设备
"""
data = self.request("deleteNode", dict(node=nid,
network=self.network))
return data
def createNode(self, token=None, comment=None):
"""
新增一个设备
"""
data = self.request("createNode", dict(comment=comment,
token=token,
network=self.network))
return data
def setNodeStaticIp(self, nid, v4, v6=None):
"""
为设备设置静态地址
"""
data = self.request("setNodeStaticIp", dict(v4=v4, v6=v6,
node=nid, network=self.network))
return data
def info(self):
"""
获取网络信息
"""
data = self.request("getNetworkInfo", dict(network=self.network))
return data
def setNodeComment(self, nid, comment):
"""
设置节点备注信息
"""
data = self.request("getNetworkInfo", dict(node=nid, comment=comment,
network=self.network))
return data
def setupNetwork(self, v4=None, v6=None):
"""
设置网络的网段信息
"""
data = self.request("setupNetwork", dict(v4=v4, v6=v6,
network=self.network))
return data
class TopCtl(SecureAPIClient):
def __init__(self, url, ckey, secret):
super().__init__(url, ckey)
self.secret = secret
def createNetwork(self, token=None):
data = self.request("createNetwork", dict(secret=self.secret,
token=token))
return data
def disableNetwork(self, network):
data = self.request("disableNetwork", dict(network=network,
secret=self.secret))
return data
def enableNetwork(self, network):
data = self.request("enableNetwork", dict(network=network,
secret=self.secret))
return data
def listNetwork(self, page, size=10):
data = self.request("listNetwork", dict(page=page, size=size,
secret=self.secret))
return data