- 支持瑞斯康达设备的操作。
接口名 | 描述 |
---|---|
init | 实例初始化 |
login | 登录目标设备 |
logout | 登出目标设备 |
execute | 执行查询命令(普通) |
command | 执行所有命令(高级) |
getPrompt | 获取主机提示符,并识别登录设备后所处模式 |
getMore | 自动获取分页消息 |
cleanBuffer | 清除通道内残留信息 |
privilegeMode | 切换至特权模式 |
configMode | 切换至配置模式 |
commit | 保存配置 |
showVersion | 查看设备版本信息 |
showRoute | 查看路由表信息 |
showVlan | 查看Vlan表信息 |
showNtp | 查看NTP服务器地址信息 |
showLog | 查看SYSLOG服务器地址信息 |
showSnmp | 查看SNMP服务端地址信息 |
showInterface | 查看Interface列表信息 |
-
功能特性继承自baseRaiseCome
-
调用此接口进行登录(参数来自init),成功后取得shell环境、清除登陆后设备发送的欢迎信息、设置超时时间(timeout),判断登录设备是否遇到密码过期提醒需要修改、以及取得主机提示符,比如
[root@localhost ] #
。功能特性继承自baseRaiseCome
-
注销与单个设备的会话。
功能特性继承自baseRaiseCome
-
在目标设备上执行一个
查询
命令,比如show
、display
,然后取得该命令的执行结果,最后返回一个字典(dict)格式的数据。注意: 不要使用该接口执行切换模式的命令,比如
enable
、sys
、config
、interface
,也不要在切换模式后使用该接口,如果真的有需要,请使用command高级开发接口。功能特性继承自baseRaiseCome
-
在目标设备上执行
任何
命令,然后一直等待收取该命令的执行结果,直到预期的消息出现
或等待超时
为止,最后返回一个字典(dict)格式的数据。功能特性继承自baseRaiseCome
-
取得目标设备上的主机提示符,比如:
TEST-N7710-1#
、TEST-N7710-1>
等。注意:该接口一般仅用于Forward内部使用。
功能特性继承自baseRaiseCome
-
自动获取因一个命令结果较长而导致的分页内容。
注意:该接口仅用于Forward内部使用
。功能特性继承自baseRaiseCome
-
清除在
socket
内,因接受消息不彻底而遗留的字符数据。注意:
execute
、command
在每次执行命令之前会自动调用该接口进行清除,该接口一般只用于Forward内部使用。功能特性继承自baseRaiseCome
-
在设备上,切换至特权模式。支持从普通模式切换至特权模式,也支持从更高一级的模式(如配置模式、接口模式等)降低至特权模式。而在调用之前,无需关心设备处于哪一级模式下。
注意:如果设备提示需要输入特权模式密码的,在登录之前必须传递对应的特权模式密码给Forward,以便在切换时自动输入,否则会切换失败;如果切换至特权模式无需密码的,可以传递特权模式密码动作。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 用户名或密码错误 -
案例(部分设备需切换至特权模式才能执行show run命令,下面模拟这样的场景)
>>> instance=...... >>> instance.login() >>> instance.privilegeMode() >>> {"status":True,"content":"","errLog":""} >>> instance.command("show run",prompt={"success":"(#|>|\]) ?$"},"error":"error")
-
-
在设备上,切换至配置模式。支持从普通模式直接切换至配置模式,也支持从更高一级的模式(如接口模式等)降低至配置模式。而在调用之前,无需关心设备处于哪一级模式下。
注意:如果是从普通模式直接切换到配置模式的,中间需要经过切换至
特权模式
,在该过程中有可能需要特权模式密码。所以在Forward登录之初,就应该传递特权模式密码以备用,如果设备不需要特权模式密码,则可以不用传递。-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 切换失败 -
案例(当设备进入配置模式时,才能进入interface模式,下面模拟这样的场景)
>>> instance=...... >>> instance.login() >>> instance.configMode() >>> {"status":True,"content":"","errLog":""} >>> instance.command("interface ge0/0/1",prompt={"success":"(#|>|\]) ?$"},"error":"error")
-
-
在设备上,当配置好一些参数后,可以调用该接口进行保存配置。而在调用之前,无需关心设备处于哪一级模式下。
注意:调用该接口需要shell处于特权模式下(华为设备除外),在这个过程中可能会需要特权模式密码。所以在Forward登录之初,就应该传递特权模式密码以备用,如果设备不需要特权模式密码,则可以不用传递。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 保存失败 -
案例
>>> instance=...... >>> instance.login() >>> instance.commit() >>> {"status":True,"content":"保存成功","errLog":""}
-
-
查看设备的软件版本信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 -
案例
>>> instance=...... >>> instance.login() >>> instance.showVersion() >>> {"status":True,"content":"V7.1.2.3","errLog":""}
-
-
查看设备的路由表信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 路由列表的详细字段 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 字段 类型 描述 样例 net str 网段 192.168.1.0 mask str 掩码 24 metric str metric值 1 type str 路由类型 ospf description str 描述 无 interface str 网卡口 g1 via str 下一跳网关地址 10.0.0.1 -
案例
>>> instance=...... >>> instance.login() >>> instance.showRoute() >>> {"status":True,"content":[{...},{...}],"errLog":""}
-
-
查看设备的Vlan列表信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 Vlan列表的详细字段 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 字段 类型 描述 样例 id str ID 20 description str 描述 无 status str 状态 无 type str Vlan类型 无 -
案例
>>> instance=...... >>> instance.login() >>> instance.showVlan() >>> {"status":True,"content":[{...},{...}],"errLog":""}
-
-
查看设备的NTP服务器地址列表信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 ["192.168.1.1","192.168.1.2"] errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 -
案例
>>> instance=...... >>> instance.login() >>> instance.showNtp() >>> {"status":True,"content":["192.168.1.1","192.168.1.2"],"errLog":""}
-
-
查看设备的SYSLOG服务器地址列表信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 ["192.168.2.1","192.168.2.2"] errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 -
案例
>>> instance=...... >>> instance.login() >>> instance.showLog() >>> {"status":True,"content":["192.168.2.1","192.168.2.2"],"errLog":""}
-
-
查看设备的SYSLOG服务器地址列表信息。
注意:该接口只获取trap模式的SNMP服务器地址列表。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 ["192.168.3.1","192.168.3.2"] errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 -
案例
>>> instance=...... >>> instance.login() >>> instance.showSnmp() >>> {"status":True,"content":["192.168.3.1","192.168.3.2"],"errLog":""}
-
-
查看设备的Interface列表信息。
-
调用参数
无。
-
返回参数
字段 类型 描述 样例 status bool 调用该接口是否成功 False content list 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果 Interface数据格式字段 errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败 字段 类型 描述 样例 interfaceName str 名称 ge/0/1/1 members list 接口绑定的网卡 [....] lineState str 接口状态 enable或其他叫法 adminSteate str 管理状态 admin down等等 description str 描述 无 speed str 接口速率 100M/bps type str 接口类型 各个设备型号叫法不一 duplex str 工作模式 双工/半双工/自动 inputRate str 接口吞数据量速率 无 outputRate str 接口吐数据量速率 无 crc str CRC值 无 mtu str MTU值 1500 ip str 接口配置的IP地址 192.168.1.1 -
案例
>>> instance=...... >>> instance.login() >>> instance.showInterface() >>> {"status":True,"content":[{...},{...}],"errLog":""}
-