AOC中的Open-API

举报
aocfans 发表于 2022/02/25 15:36:36 2022/02/25
【摘要】 我们在制作SND、GND或SSP插件包时,需要编写python代码,从而实现设备纳管或业务映射。AOC为python代码的编写提供了各种预置包,开发者可以根据需要,直接调用特定的包、类或者方法,再根据实际情况进行改写,从而降低代码开发的难度与工作量。 例如下图中,需要制作一个L3VPN的业务包,引入的头文件如红框中所示: API介绍AOC提供的Open-API,名称及含义如下所示:aoc p...

我们在制作SNDGNDSSP插件包时,需要编写python代码,从而实现设备纳管或业务映射。

AOCpython代码的编写提供了各种预置包,开发者可以根据需要,直接调用特定的包、类或者方法,再根据实际情况进行改写,从而降低代码开发的难度与工作量。

 

例如下图中,需要制作一个L3VPN的业务包,引入的头文件如红框中所示:

 

API介绍

AOC提供的Open-API,名称及含义如下所示:

  • aoc package——提供基础信息,例如映射接口、RPC操作能力等。
  • base package——提供自定义运维操作,例如定义action、描述AOC上下文信息、提供映射接口、提供RPC操作能力等。
  • common.upgrade package——提供插件包升级的定制处理能力。
  • event package——提供自定义接收告警事件的处理。
  • exception package——提供不同场景返回的异常。
  • gnd package——提供GND层与设备通信的能力,例如GNDRPC接口、设备告警处理能力、定义GND action、采集设备链路信息、处理NETCONF通知、定制端口采集方法等。
  • ncs package——提供配置映射功能的主接口,例如供Jinja模板调用的过滤方法、映射代码的数据结构、模板渲染接口、插件包验证等。
  • snd package——定义设备通信的能力,支持CLINETCONFRESTCONF等多种协议。
  • sys package——提供系统能力,例如告警管理能力、事件管理能力、获取设备配置或运行数据、获取一致性数据、数据存储、获取设备信息、日志记录、事务配置接口等。
  • sys.innject package——提供调用外部接口与用户业务注入接口。

 

API调用

例如:aoc.sys.devicemgr中的“query_basic_data_from_db”方法可以查询设备信息:


调用结果如下所示:


 

这样就可以使用系统预置的API直接查询,无需重新编写代码。

 

API附件清单

那么AOC提供了多少API模块,有多少类可供选择,调用时是否担心会遗漏?笔者列了一份API清单,包括所有的包、模块和定义的类,有需要可以下载附件查看。根据清单目录定位后,可以在插件包API中查看详细描述与其下定义的方法。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。