思科ACI提供了很多可编程的方式,本文章来分享一下如何使用Postman通过REST API对思科ACI进行自动化编程。由于内容很多,所以分成多个文章来分享。
下面首先来介绍一下如何搭建Postman对思科ACI APIC策略控制器进行登录和获取token。
I. 介绍
本文章简单介绍一下如何使用Postman对思科ACI APIC进行自动化操作。本文里,我们讲讨论思科ACI APIC里的Distinguished name 和Class,以及我们要使用的REST API工具Postman, 以及如何使用Postman登录思科ACI APIC。后续我们会陆续介绍如何操作APIC下面的可管理对象。
II. Postman
1. Postman是什么?
Postman 是一个第三方REST API工具。它可以用来进行创建和获取思科ACI APIC里的对象。
2. Postman下载
https://www.getpostman.com/
III. ACI APIC下的2个重要概念:Distinguish Name 和 Managed Object
在ACI里的所有的组件都可以在ACI的管理信息树(Management information Tree)中有循可依,每一个节点就是一个可管理的对象(Managed object)。可管理对象(MO)通过他们唯一的独特的名字(distinguished name)来标识。这个独特的名字(DN)里包含一个从对象树的根开始,一直到这个对象本身的完整路径,其中每一个部分都称为相对名称(Relative Name). 比如:
dn = {rn}/{rn}/{rn}/{rn}…
思科ACI APIC REST API是一个针对APIC控制器的可编程接口。有可以用任何编程语言通过JSON或XML格式的数据对APIC 管理信息树里的可管理对象进行REST呼叫。
IV.完成Postman初始化准备工作
1. 在Postman下定义变量
点击Settings > Manage Environments
点击add, 完成环境变量的配置,配置环境变量是为了节省每次都需要手工输入的繁琐工作。后面做REST API呼叫时可以直接调用这个环境变量。
请注意:上图中的环境变量来自思科DevNet sandbox always-on lab环境,你也可以用来进行思科ACI APIC的可编程学习。有兴趣点击思科DevNet官网了解详情:https://developer.cisco.com/
2. 在Postman下创建一个Collections.
Collection是Postman下用于整理REST API的一个目录文件,可以讲相关的REST API操作放到同一个Collection下,方便管理和使用。
输入名字和描述后,点击Create完成Colllection的创建。
V. 使用Postman创建登录ACI APIC的REST API请求
点击新建Request
在会话框里输入APIC登录link:
选择POST,然后输入: https://{{apic}}/api/aaaLogin.json
在Body中选择Raw,贴入下面内容:
{ "aaaUser" : { "attributes":{"name":"{{username}}","pwd":"{{password}}"} } }
最后点击send 按钮。
如下图:
在图中你可以看到{{apic}} {{username}} {{password}} 这三个参数就是对你前面创建的环境变量的调用。
Once Send, you can see the response at the bottom of the Postmanthat shows you the token generated.
点击完send按钮后,你将可以在Postman的下方看到REST API呼叫的回应。里面可以看到生成的APIC 登录的Token. 请注意这个token有效期为10分钟,如上图:RefreshTimeoutSeconds:"600".意思是如果你接下来对APIC的操作在生成登录token的10分钟内是不需要再登录了。如果超过了10分钟了,就需要再次完成登录请求来获取有效的token. 老版本的APIC token有效期默认为5分钟。
点击保存Save按钮,将本次登录请求保存刚创建的Collection里。
本次文章先介绍到这里。接下来我们继续探索使用Postman来完成对ACI APIC的REST API操作。比如创建Tenant, EPG等自动化配置工作。