要运行任何NX-SDK应用程序,必须首先在设备上启用NX-SDK功能:switch(config)#feature nxsdk
switch(config)#feature bash-shellswitch(config)#run bash bash-4.2 $ vi /isan/bin/nxsdk-app.py注意:最佳做法是在/ isan / bin / 目录中创建Python文件。Python文件需要执行权限才能运行 - 不要将Python文件放在/ bootflash 目录或其任何子目录中。 不需要通过NX-OS创建和编辑Python文件。开发人员可以使用他们的本地环境创建应用程序,并使用他们选择的文件传输协议将完成的文件传输到设备。但是,对于开发人员来说,使用NX-OS实用程序对其脚本进行调试和故障排除可能更有效。
import nx_sdk_py
sdk = nx_sdk_py.NxSdk.getSdkInst(len(sys.argv), sys.argv)
# 该对象可用于执行已存在的CLI命令以及创建自定义CLI命令
cliP = sdk.getCliParser()
# 创建show命令:
nxcmd1 = cliP.newShowCmd("cmd_name","syntax")
# 创建config命令:
nxcmd2 = cliP.newConfigCmd("cmd_name","syntax")
cmd_handler = pyCmdHandler()
cliP.setCmdHandler(cmd_handler)
class pyCmdHandler(nx_sdk_py.NxCmdHandler):def postCliCb(self,clicmd)::定义了在sdkThread函数中定义的定义CLI命令在设备上的行为。 nx_sdk_py.void_to_int 将值转换为整数类型。nx_sdk_py.void_to_string 将值转换为字符串类型。此show命令接受单个关键字mac并添加一个帮助字符串。
nx_cmd = cliP.newShowCmd("show_misprogrammed", "mac")
nx_cmd.updateKeyword("mac", "Shows all misprogrammed MAC addresses on this device")
此命令使用单个参数< mac >,(<>表示这是一个参数)。参数中添加了一个用于检查错误编程的MAC地址辅助字符串。nx_sdk_py.P_MAC_ADDR参数用于将参数的类型定义为MAC地址,从而防止最终用户输入其他类型,例如字符串,整数或IP地址。
nx_cmd = cliP.newShowCmd("show_misprogrammed_mac", "<mac>")
nx_cmd.updateParam("<mac>", "MAC address to check for misprogramming", nx_sdk_py.P_MAC_ADDR)

nx_cmd = cliP.newShowCmd( "show_misprogrammed_mac" , "[mac]" )nx_cmd = cliP.newShowCmd("show_misprogrammed_mac", "[<mac>]")
nx_cmd = cliP.newShowCmd("show_misprogrammed", "mac <mac-address>")
nx_cmd.updateKeyword("mac", "Check MAC address for misprogramming")
nx_cmd.updateParam("<mac-address>", "MAC address to check for misprogramming", nx_sdk_py.P_MAC_ADDR)
nx_cmd = cliP.newShowCmd("show_misprogrammed", "(mac <mac-address> | ip <ip-address>)")
nx_cmd.updateKeyword("mac", "Check MAC address for misprogramming")
nx_cmd.updateParam("<mac-address>", "MAC address to check for misprogramming", nx_sdk_py.P_MAC_ADDR)
nx_cmd.updateKeyword("ip", "Check IP address for misprogramming")
nx_cmd.updateParam("<ip-address>", "IP address to check for misprogramming", nx_sdk_py.P_IP_ADDR)
nx_cmd = cliP.newShowCmd("show_misprogrammed", "(mac <mac-address> | ip <ip-address>) [clear]")
nx_cmd.updateKeyword("mac", "Check MAC address for misprogramming")
nx_cmd.updateParam("<mac-address>", "MAC address to check for misprogramming", nx_sdk_py.P_MAC_ADDR)
nx_cmd.updateKeyword("ip", "Check IP address for misprogramming")
nx_cmd.updateParam("<ip-address>", "IP address to check for misprogramming", nx_sdk_py.P_IP_ADDR)
nx_cmd.updateKeyword("clear", "Clears addresses detected to be misprogrammed")
nx_cmd = cliP.newShowCmd("show_misprogrammed", "(mac <mac-address> | ip <ip-address>) [<module>]")
nx_cmd.updateKeyword("mac", "Check MAC address for misprogramming")
nx_cmd.updateParam("<mac-address>", "MAC address to check for misprogramming", nx_sdk_py.P_MAC_ADDR)
nx_cmd.updateKeyword("ip", "Check IP address for misprogramming")
nx_cmd.updateParam("<ip-address>", "IP address to check for misprogramming", nx_sdk_py.P_IP_ADDR)
nx_cmd.updateParam("<module>", "Clears addresses detected to be misprogrammed", nx_sdk_py.P_INTEGER)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删