华为OPS,自定义命令,动态执行命令

OPS API示例

命令行事件订阅

result1_value, result2_description = ops.cli.subscribe(tag, pattern, enter=False, sync=True, async_skip=False, sync_wait=30)

参数说明

参数

参数说明

取值

tag

用于标识条件。

字符串形式,不区分大小写,长度范围是1~12,由字母、数字和下划线组成,以字母开头。tag不能为””、None、and、or以及andnot,不能包含\0。

pattern

指定匹配命令的正则表达式。

字符串形式,取值范围是1~128个字符,不能包含\0。

enter

指定匹配正则表达式的时间。

布尔型,取值如下:

  • True:表示按回车键后立刻匹配正则表达式。
  • False:表示命令中缩写的关键字以完整的形式进行匹配。

缺省值是False。

sync

指定命令行触发执行动作后,是否等待脚本执行结束。

布尔型,取值如下:

  • True:表示等待。
  • False:表示不等待。

缺省值是True。

async_skip

在sync取值为False时,指定是否跳过原有命令执行。

布尔型,取值如下:

  • True:表示跳过。
  • False:表示不跳过。

缺省值是False。

sync_wait

在sync取值为True时,指定命令行同步等待脚本执行的时间。

整数形式,取值范围是1~2147483647,单位是秒。缺省值是30秒。

路由变更事件订阅

result1_value, result2_description = ops.route.subscribe(tag, network, maskLen, minLen=None, maxLen=None, neLen=None, optype=all, protocol=all)

参数说明

参数

参数说明

取值

tag

用于标识条件。

字符串形式,不区分大小写,长度范围是1~12,由字母、数字和下划线组成,以字母开头。tag不能为””、None、and、or以及andnot,不能包含\0。

network

指定路由前缀。

点分十进制形式。

maskLen

指定掩码长度。

整数形式,取值范围是0~32。

minLen

指定掩码长度匹配范围的下限。

整数形式,必须大于等于maskLen的值。缺省值是None,表示掩码长度匹配范围的下限是0。

maxLen

指定掩码长度匹配范围的上限。

整数形式,必须大于等于minLen的值。缺省值是None,表示掩码长度匹配范围的上限是0。

neLen

指定不匹配的掩码长度。

整数形式,必须大于等于minLen的值,小于等于maxLen的值。缺省值是None,表示不匹配的掩码长度是0。

optype

指定路由事件变更类型。

枚举类型,取值如下:

  • add:新增路由。
  • delete:删除路由。
  • modify:修改路由。
  • all:全部变化。

缺省值是all。

protocol

指定路由协议属性。

字符串形式,缺省值为all,表示所有路由协议。

  • direct:直连路由
  • static:静态路由
  • ospf:OSPF路由
  • isis:IS-IS路由
  • bgp:BGP路由
  • rip:RIP路由
  • unr:用户网络路由

打开命令行通道

result1_handle, result2_description = ops.cli.open()

第一个返回值:命令行句柄。None表示错误,其他值为命令行句柄。第二个返回值:失败原因(仅当第一个返回值为None时返回)。

使用说明

脚本中打开的命令行通道,用户级别为15。

脚本中打开命令行通道后,才能向设备下发执行命令。

一个脚本中只能创建一个命令行通道,再创建第二个命令行通道时,将返回失败。

每打开一个命令行通道,消耗一个VTY资源。通过display users命令可以看到该VTY资源被Assistant: Name占用。当设备上剩余的VTY资源少于等于3个时,打开命令行通道失败。因此,脚本中,创建命令行通道并执行完命令后,需要通过关闭命令行通道接口(ops.cli.close(fd))及时关闭命令行通道,节省VTY资源。

执行命令行命令和关闭命令行通道接口使用打开命令行通道接口的第一个返回值作为输入参数。因此使用打开命令行通道接口时,必须指定返回值

Original: https://www.cnblogs.com/darkchen/p/15411569.html
Author: 奔波的驱魔人
Title: 华为OPS,自定义命令,动态执行命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714607/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 编写CentOS的System V init启动脚本

    所有System V init脚本都命名为/etc/rc.d/init.d/必须没有”.init”后缀。 示例脚本: 注意:重启和重载功能可以(通常)组合成…

    技术杂谈 2023年5月31日
    076
  • copy与mutableCopy区别,strong和copy的使用

    本篇文章主要讲两个知识点:1.深拷贝与浅拷贝 2.NSArray和NSMutaleArray应该用copy还是stong修饰。 一、我们先来分析深拷贝(返回一个对象,一个新的指针指…

    技术杂谈 2023年5月30日
    088
  • Linux账户,组,权限管理

    内容多数来源于https://wangchujiang.com/linux-command/c/chmod.html, 开源地址:https://github.com/jaywcj…

    技术杂谈 2023年6月21日
    088
  • spring-boot-导出excel-xlsx 文件损坏

    maven的pom文件处理 ①将resource标签配置如下 src/main/resources true bootstrap.yml **/*.xml **/excelTemp…

    技术杂谈 2023年7月25日
    077
  • 麦克风采集与播放 (源码)

    在网络聊天系统中,采集麦克风的声音并将其播放出来,是最基础的模块之一。本文我们就介绍如何快速地实现这个基础模块。 有几个与声音采集和播放相关的专业术语必须要先了解一下,否则,后面的…

    技术杂谈 2023年6月1日
    0109
  • php+apache环境搭建

    【先安装apache】 1、安装基础环境: yum -y install gcc libxml2 libxml2-devel sqlite-devel libcurl-devel….

    技术杂谈 2023年7月11日
    095
  • 小米笔记本(黑苹果)装黑小兵的 catalina mac系统,apple store不能安装应用解决办法

    表现出来的情况: 1、每次安装都要输密码,出现”安装”->转圈->获取->验证账号密码->安装->转圈->……

    技术杂谈 2023年5月31日
    0306
  • hasura graphql-engine centos 7 二进制文件

    昨天自己构建了一个简单的hasura graphql-engine centos 7 二进制文件,可以使用 参考使用 下载 wget https: chmod +x graphql…

    技术杂谈 2023年5月30日
    090
  • 归并排序及优化

    归并排序 首先把数组分成一半,想办法把左右两边数组排序,之后呢再将它们归并起来,这就是归并排序的基本思想。 这样的话如果有N个元素,就会分成log(n)层,如果整个归并过程我们可以…

    技术杂谈 2023年7月23日
    095
  • Docker概述(一)

    Docker概述(一) 顺便介绍下:我们是一家致力于智能语音交互的AI公司,我们提供了语音识别、语音合成、声纹识别、声音复刻、声音转换等技术产品供小伙伴们测试调用,感兴趣的,第三部…

    技术杂谈 2023年7月24日
    0101
  • JPA继承简介

    继承是面向对象编程语言的一个关键特性,其中子类可以获取其父类的属性。 此功能增强了代码的可重用性。 关系数据库不支持继承机制。 因此,Java Persistence API(JP…

    技术杂谈 2023年5月31日
    091
  • docker-compose部署rocketmq

    docker-compose安装: Ubuntu下载docker-compose文件 sudo curl -L https:/…

    技术杂谈 2023年7月10日
    099
  • 基本运算符

    运算符 JAVA语言支持入下运算符。 %:余数 !=:不等于 &&:and ||:or !:not 二元运算符 整数默认为int类型,按类型优先级自动转换,下图说明…

    技术杂谈 2023年6月21日
    088
  • Mysql InnoDB Redo log

    参考书籍《mysql是怎&…

    技术杂谈 2023年7月25日
    093
  • JAVA基本类型和包装类型

    JAVA基本类型和包装类型 前言 Java语言中的数据类型分为基本数据类型和引用类型,而我们进行Java开发的时候都听说过基本数据类型和包装类型,今天我们就来详细聊一聊Java中的…

    技术杂谈 2023年6月21日
    089
  • Qt学习笔记

    联系方式 QQ: 2653728884 ,加Q请注明添加原因! Original: https://www.cnblogs.com/arminker/p/5121596.htmlA…

    技术杂谈 2023年7月11日
    067
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球