Skip to content

Latest commit

 

History

History
412 lines (268 loc) · 13.4 KB

m6000.md

File metadata and controls

412 lines (268 loc) · 13.4 KB

基本介绍

  • 支持中兴设备的M6000型设备操作。

接口列表

接口名 描述
init 实例初始化
login 登录目标设备
logout 登出目标设备
execute 执行查询命令(普通)
command 执行所有命令(高级)
getPrompt 获取主机提示符,并识别登录设备后所处模式
getMore 自动获取分页消息
cleanBuffer 清除通道内残留信息
privilegeMode 切换至特权模式
configMode 切换至配置模式
commit 保存配置
showVersion 查看设备版本信息
showRoute 查看路由表信息
showVlan 查看Vlan表信息
showNtp 查看NTP服务器地址信息
showLog 查看SYSLOG服务器地址信息
showSnmp 查看SNMP服务端地址信息
showInterface 查看Interface列表信息

接口详情


  • login

    调用此接口进行登录(参数来自init),成功后取得shell环境、清除登陆后设备发送的欢迎信息、设置超时时间(timeout),判断登录设备是否遇到密码过期提醒需要修改、以及取得主机提示符,比如 [root@localhost ] #

    功能特性继承自baseRaiseCome



  • execute

    在目标设备上执行一个查询命令,比如showdisplay,然后取得该命令的执行结果,最后返回一个字典(dict)格式的数据。

    注意: 不要使用该接口执行切换模式的命令,比如enablesysconfiginterface,也不要在切换模式后使用该接口,如果真的有需要,请使用command高级开发接口

    功能特性继承自baseRaiseCome


  • command

    在目标设备上执行任何命令,然后一直等待收取该命令的执行结果,直到预期的消息出现等待超时为止,最后返回一个字典(dict)格式的数据。

    功能特性继承自baseRaiseCome


  • getPrompt

    取得目标设备上的主机提示符,比如:TEST-N7710-1# TEST-N7710-1> 等。

    注意:该接口一般仅用于Forward内部使用。

    功能特性继承自baseRaiseCome


  • getMore

    自动获取因一个命令结果较长而导致的分页内容。

    注意:该接口仅用于Forward内部使用

    功能特性继承自baseRaiseCome


  • cleanBuffer

    清除在socket内,因接受消息不彻底而遗留的字符数据。

    注意:executecommand在每次执行命令之前会自动调用该接口进行清除,该接口一般只用于Forward内部使用。

    功能特性继承自baseRaiseCome


  • privilegeMode

    在设备上,切换至特权模式。支持从普通模式切换至特权模式,也支持从更高一级的模式(如配置模式、接口模式等)降低至特权模式。而在调用之前,无需关心设备处于哪一级模式下。

    注意:如果设备提示需要输入特权模式密码的,在登录之前必须传递对应的特权模式密码给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") 

  • configMode

    在设备上,切换至配置模式。支持从普通模式直接切换至配置模式,也支持从更高一级的模式(如接口模式等)降低至配置模式。而在调用之前,无需关心设备处于哪一级模式下。

    注意:如果是从普通模式直接切换到配置模式的,中间需要经过切换至特权模式,在该过程中有可能需要特权模式密码。所以在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") 

  • commit

    在设备上,当配置好一些参数后,可以调用该接口进行保存配置。而在调用之前,无需关心设备处于哪一级模式下。

    注意:调用该接口需要shell处于特权模式下(华为设备除外),在这个过程中可能会需要特权模式密码。所以在Forward登录之初,就应该传递特权模式密码以备用,如果设备不需要特权模式密码,则可以不用传递。

    • 调用参数

      无。

    • 返回参数

      字段 类型 描述 样例
      status bool 调用该接口是否成功 False
      content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果
      errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 保存失败
    • 案例

     >>> instance=......
     >>> instance.login()
     >>> instance.commit()
     >>> {"status":True,"content":"保存成功","errLog":""}

  • showVersion

    查看设备的软件版本信息。

    • 调用参数

      无。

    • 返回参数

      字段 类型 描述 样例
      status bool 调用该接口是否成功 False
      content str 调用该接口所产生的正确内容输出,但可能为空,这取决于所执行命令的结果
      errLog str 调用该接口所产生的错误内容或Forward的错误提示信息 命令执行失败
    • 案例

     >>> instance=......
     >>> instance.login()
     >>> instance.showVersion()
     >>> {"status":True,"content":"V7.1.2.3","errLog":""}

  • showRoute

    查看设备的路由表信息。

    • 调用参数

      无。

    • 返回参数

      字段 类型 描述 样例
      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":""}

  • showVlan

    查看设备的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":""}

  • showNtp

    查看设备的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":""}

  • showLog

    查看设备的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":""}

  • showSnmp

    查看设备的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":""}
  • showInterface

    查看设备的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":""}