02-13-2020 09:57 AM
*Seeking assistance with p3*
Currently working through an automation project that utilizes DNAC and ISE APIs. The objective is to onboard an SDA edge node to our fabric via python & APIs. The phases are as follows:
p1: Add device to inventory (Add Device) --Completed
p2: Assign to site (Assign Device To Site) --Completed
p3: *Update ISE NAD location & group (utilizing ISE APIs) --Almost completed
p4: Join to fabric (Add edge device in SDA Fabric)
p5: Update interfaces for user device & closed auth (Add Port assignment for user device in SDA Fabric)
I am wondering if there is a way to simply just update the NAD fields in ISE that I wish to update without having to pass all fields to ensure information passed via pxgrid from DNAC to ISE once device is added to site is not changed to null/deleted. All I wish to update are the Device location & device type (for policy reasons). Is there syntax to pass for the required fields that will not overwrite or delete information gathered from DNAC (for example coa port or radius shared secret)? I would prefer to not have to populate the json data with specific info and just leave it blank so it is unchanged. However, I tried "" and that deletes the info received from DNAC.
Thanks in advance!
02-13-2020 01:34 PM
Using the Update (PUT) method, it looks like the following fields are required at a minimum. I found that updating the Location and Type values using this API call did not affect the settings in the RADIUS section. You might have to test the same if you have the SNMP, TACACS+ and/or TrustSec settings enabled for the network device.
{
"NetworkDevice" : {
"id" : "123456789",
"name" : "testnad1",
"description" : "example nad",
"profileName" : "Cisco",
"coaPort" : 1700,
"NetworkDeviceIPList" : [ {
"ipaddress" : "1.1.1.1",
"mask" : 32
} ],
"NetworkDeviceGroupList" : [ "Location#All Locations#Location2", "Device Type#All Device Types#Type2" ]
}
}
Cheers,
Greg
02-14-2020 06:44 AM
02-16-2020 07:07 PM
No, I'm not aware if that is possible. You might have to open a TAC case to get confirmation from the development engineers if there is a way to do that.
02-20-2020 08:28 PM
I agreed with Greg. However, why not taking the name input from the user, doing a search, and populating it with the existing name instead of using the input for the update request?
02-21-2020 05:42 AM
02-23-2020 12:06 PM
Yeah. That would be the way to go -- derived the name from the existing data.
02-24-2020 07:54 AM
02-28-2020 08:41 AM
03-02-2020 06:54 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide