There are a few different ways to interact with ACI. The GUI, the API, or through some sort of orchestration/automation system such as UCS Director. The GUI is confusing and can be cumbersome. Speaking only for myself, I learned through the GUI the concepts of ACI. Understanding the necessary policies and groups helped me know what I needed to configure via the API. I have played around with the python SDK. I don’t have enough background in programming or interacting with APIs to tell you how it compares to other vendors API. Especially when it comes to documentation.
What I wanted to document here is using the post functionality from the GUI. This is an easy way to deploy pieces of an ACI configuration.
In this example we are going to configure a VLAN Pool using the XML functionality.
If we right-click on any existing VLAN pool we can pull the XML or JSON configuration for that object.
I am using XML for this example. Choose configuration only and subtree.
Save that XML file and open to edit. We then edit the XML file with our new information. In this case I am creating a new pool with the name of “BL_New_Pool” and a VLAN range of 2000-20001.
<?xml version="1.0" encoding="UTF-8"?> <imdata totalCount="1"> <fvnsVlanInstP allocMode="dynamic" descr="" dn="uni/infra/vlanns-[BL_New_Pool]-dynamic" name="BL_New_Pool" ownerKey="" ownerTag=""> <fvnsEncapBlk allocMode="dynamic" descr="" from="vlan-2000" name="" to="vlan-2001"/> </fvnsVlanInstP> </imdata>
Save this edited file. Right click on any object within ACI and choose “Post.” In the Parent DN field, remove all except the base uni/ and then choose your file to import.
This will create your new object within ACI.
This is a quick and easy way to create new object within ACI without all of the clicking.