请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

搜索
热搜: 邮件服务器
查看: 1478|回复: 5

[原创知识分享] ACI 使用 Postman 和 API 方式修改接口 policy

[复制链接]
发表于 2020-3-20 09:06:32 | 显示全部楼层 |阅读模式
目标:
ACI 支持图形化界面 GUI 配置和修改配置,同时用 Cisco Command Line/CLI 做 troubleshooting,支持 REST API 方式调用内部资源。
本质上来说,ACI 内部的资源都可以认为是mo( manage object),有些时候 TAC 收集命令,是 moquery,即为 对mo进行查询。
这篇帖子会 demo 三个场景:
1. Postman 去向 ACI 做认证,拿到 token
2. Postman API 方式去批量、快速修改 ACI 的 Fabric - interface policy group - AEP 的关联情况
3. Postman API 方式去批量、快速修改 ACI 的 Tenant - EPG - physical Domain 的绑定情况

首先是 Postman 去向 ACI 做认证,拿到 token
  1. POST /api/aaaLogin.json HTTP/1.1
  2. Host: 1.2.3.4   <<<<< APIC 地址
  3. Content-Type: application/json

  4. {
  5.     "aaaUser": {
  6.         "attributes": {
  7.             "name": "admin",
  8.             "pwd": "password"
  9.         }
  10.     }
  11. }
复制代码


认证的结果需要是 200 OK

默认有效期 10 分钟;10 分钟以后,需要重新认证



Postman 修改 interface policy AEP 关联
手打容易出错,可以借助 Object Store 去直接复制 policy name


根据需要,可以一次修改多个 policy group 的 AEP;

注意 JSON 格式,可以使用 https://jsonformatter.curiousconcept.com/ 来验证 JSON 格式。



  1. POST /api/mo/uni/infra.json HTTP/1.1
  2. Host: 1.2.3.4 <<<<< APIC 地址
  3. Content-Type: application/json

  4. {
  5.     "infraFuncP":{
  6.         "attributes":{
  7.     },
  8.     "children":[
  9. {  
  10.    "infraAccPortGrp":{  
  11.       "attributes":{  
  12.          "name":"fushuang_LeafAccessPortPolicyGroup", >>> 需要修改
  13.          "status":"created,modified"
  14.       },
  15.         "children":[
  16.             {
  17.                 "infraRsAttEntP":{  
  18.                     "attributes":{
  19.                         "tDn":"uni/infra/attentp-fushuang_AEP",   >>> 需要修改  
  20.                         "status":"created,modified"
  21.                 }
  22.                 }
  23.             }
  24.    ]
  25.    }
  26. },
  27. {  
  28.    "infraAccPortGrp":{  
  29.       "attributes":{  
  30.          "name":"jiangygu_LeafAccessPortPolicyGroup",  >>> 需要修改
  31.          "status":"created,modified"
  32.       },
  33.         "children":[
  34.             {
  35.                 "infraRsAttEntP":{  
  36.                     "attributes":{
  37.                         "tDn":"uni/infra/attentp-fushuang_AEP",  >>> 需要修改   
  38.                         "status":"created,modified"
  39.                 }
  40.                 }
  41.             }
  42.    ]
  43.    }
  44. }
  45.       ]
  46.    }
  47. }
复制代码


Postman 增加 EPG 关联的 physical domain



注意各个层级、名字 的对应关系



  1. POST /api/mo/uni.json HTTP/1.1
  2. Host: 1.2.3.4 <<<<< APIC 地址
  3. Content-Type: application/json

  4. {  
  5.    "fvTenant":{  
  6.       "attributes":{  
  7.          "name":"fushuang",  <<<<< Tenant 名字
  8.          "status":"created,modified"
  9.       },
  10.       "children":[  
  11.          {  
  12.             "fvAp":{  
  13.                "attributes":{  
  14.                   "name":"AP_BD_102",  <<<<< Application Profile 名字
  15.                   "status":"created,modified"
  16.                },
  17.                "children":[
  18.                    {  
  19.                      "fvAEPg":{  
  20.                         "attributes":{  
  21.                            "name":"EPG_VRF102_SVI601", <<<<< EPG 名字
  22.                            "status":"created,modified"
  23.                         },
  24.                         "children":[
  25.                             {
  26.                                 "fvRsDomAtt":{
  27.                                     "attributes":{
  28.                                         "status":"created,modified",
  29.                                         "tDn":"uni/phys-fushuang_PhysicalDomain" <<<< 增加的 domain
  30.                                     }
  31.                                 }
  32.                             }
  33.                             ]
  34.             }
  35.          }
  36.          ]
  37.             }
  38.          }
  39.    ]
  40. }
  41. }
复制代码
Postman 删除 EPG 关联的 Domain
删除配置务必小心谨慎

通过对比可以发现,实际上和添加 EPG-Domain 相比,只是修改了两个部分的关键字:

1. status: deleted
2. 具体需要删掉的 physical domain

  1. POST /api/mo/uni.json HTTP/1.1
  2. Host: 1.2.3.4 <<<<< APIC 地址
  3. Content-Type: application/json

  4. {  
  5.    "fvTenant":{  
  6.       "attributes":{  
  7.          "name":"fushuang",  <<<<< Tenant 名字
  8.          "status":"created,modified"
  9.       },
  10.       "children":[  
  11.          {  
  12.             "fvAp":{  
  13.                "attributes":{  
  14.                   "name":"AP_BD_102",  <<<<< Application Profile 名字
  15.                   "status":"created,modified"
  16.                },
  17.                "children":[
  18.                    {  
  19.                      "fvAEPg":{  
  20.                         "attributes":{  
  21.                            "name":"EPG_VRF102_SVI601", <<<<< EPG 名字
  22.                            "status":"created,modified"
  23.                         },
  24.                         "children":[
  25.                             {
  26.                                 "fvRsDomAtt":{
  27.                                     "attributes":{
  28.                                         "status":"deleted",  <<<< 删除 phys-domain
  29.                                         "tDn":"uni/phys-fushuang_PhysicalDomain" <<<< 删除的 domain
  30.                                     }
  31.                                 }
  32.                             }
  33.                             ]
  34.             }
  35.          }
  36.          ]
  37.             }
  38.          }
  39.    ]
  40. }
  41. }
复制代码




本帖子中包含更多资源

您需要 思科 CCO 登录 才可以下载或查看,没有帐号?思科 CCO 注册   

x
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (2 评价)
发表于 2020-3-20 09:59:31 | 显示全部楼层
感谢专家分享,谢谢~
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2020-3-20 11:19:58 | 显示全部楼层
支持专家分享。
借此想问下,TAC接设备API对接等开发的CASE吗?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2020-4-2 10:29:01 | 显示全部楼层
wuhao0015 发表于 2020-3-20 11:19
支持专家分享。
借此想问下,TAC接设备API对接等开发的CASE吗?

API对接开发的case由专门的developer team支持。
详情可以参考下面的link:
https://developer.cisco.com/site/support/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2020-4-3 18:23:14 | 显示全部楼层
shlei 发表于 2020-4-2 10:29
API对接开发的case由专门的developer team支持。
详情可以参考下面的link:
https://developer.cisco.co ...

谢谢回复~~!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2020-4-10 15:49:29 | 显示全部楼层
步骤很清晰。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 思科 CCO 登录 | 思科 CCO 注册   

本版积分规则

Archiver | 思科社区  

GMT+8, 2020-8-4 02:25 , Processed in 0.107011 second(s), 45 queries .

京ICP备11014401号-17

© 2020 思科系统.版权所有 重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表