AOC中的Open-API
【摘要】 我们在制作SND、GND或SSP插件包时,需要编写python代码,从而实现设备纳管或业务映射。AOC为python代码的编写提供了各种预置包,开发者可以根据需要,直接调用特定的包、类或者方法,再根据实际情况进行改写,从而降低代码开发的难度与工作量。 例如下图中,需要制作一个L3VPN的业务包,引入的头文件如红框中所示: API介绍AOC提供的Open-API,名称及含义如下所示:aoc p...
我们在制作SND、GND或SSP插件包时,需要编写python代码,从而实现设备纳管或业务映射。
AOC为python代码的编写提供了各种预置包,开发者可以根据需要,直接调用特定的包、类或者方法,再根据实际情况进行改写,从而降低代码开发的难度与工作量。
例如下图中,需要制作一个L3VPN的业务包,引入的头文件如红框中所示:
API介绍
AOC提供的Open-API,名称及含义如下所示:
- aoc package——提供基础信息,例如映射接口、RPC操作能力等。
- base package——提供自定义运维操作,例如定义action、描述AOC上下文信息、提供映射接口、提供RPC操作能力等。
- common.upgrade package——提供插件包升级的定制处理能力。
- event package——提供自定义接收告警事件的处理。
- exception package——提供不同场景返回的异常。
- gnd package——提供GND层与设备通信的能力,例如GND层RPC接口、设备告警处理能力、定义GND action、采集设备链路信息、处理NETCONF通知、定制端口采集方法等。
- ncs package——提供配置映射功能的主接口,例如供Jinja模板调用的过滤方法、映射代码的数据结构、模板渲染接口、插件包验证等。
- snd package——定义设备通信的能力,支持CLI、NETCONF、RESTCONF等多种协议。
- sys package——提供系统能力,例如告警管理能力、事件管理能力、获取设备配置或运行数据、获取一致性数据、数据存储、获取设备信息、日志记录、事务配置接口等。
- sys.innject package——提供调用外部接口与用户业务注入接口。
API调用
例如:aoc.sys.devicemgr中的“query_basic_data_from_db”方法可以查询设备信息:
调用结果如下所示:
这样就可以使用系统预置的API直接查询,无需重新编写代码。
API附件清单
那么AOC提供了多少API模块,有多少类可供选择,调用时是否担心会遗漏?笔者列了一份API清单,包括所有的包、模块和定义的类,有需要可以下载附件查看。根据清单目录定位后,可以在插件包API中查看详细描述与其下定义的方法。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)