Especially in the last 5 or so years! And especially for me....
And these days you can't escape the 'Software Defined' nature of networking!
For example I find half of my days digging into Cisco DNA Center and finding out about some of the data you can extract via a few well crafted API calls...and even some sneaky browser scrapes of API calls using our wonderful new tool - the web Developers Console!
Let's whet your appetite with some examples...
Cisco DNA Center
As a controller it's the collection and control point for the campus LAN network but it's been built around a series of data models and interlocking processes and capabilities under the hood.
For example we can extract DNAC's view of the inventory of all network devices it manages...
https://<DNAC-address>/api/v1/network-device
And you get back (either through your browser or via POSTMAN) the inventory as a series of devices (I've trimmed it down to only show you a couple of devices in this output and pulled out some of the other details you get back):
{
"response":[
{
"type":"Cisco Catalyst 9300 Switch",
"softwareType":"IOS-XE",
"softwareVersion":"16.6.6",
"hostname":"Core1",
"family":"Switches and Hubs",
"managementIpAddress":"172.31.x.x",
"platformId":"C9300-24P",
"series":"Cisco Catalyst 9300 Series Switches",
"role":"CORE",
"id":"3ff88560-fda8-4be6-92dc-89d3bb982ece"
},
{
"type":"Cisco Catalyst 9300 Switch",
"softwareType":"IOS-XE",
"softwareVersion":"16.6.6",
"hostname":"Edge1",
"family":"Switches and Hubs",
"managementIpAddress":"172.31.x.x",
"platformId":"C9300-24P",
"series":"Cisco Catalyst 9300 Series Switches",
"role":"ACCESS",
"id":"23f44036-e3e4-4bac-97f6-e0b7e707ca81"
},
],
"version":"1.0"
}
Q: But Beards, I didn't get anything back?!
Ahh, well here's the 'key' to API calls (groan..)
You don't want just anyone firing off API calls against your servers so you need to either have a browser session already logged into the DNAC/API server (with an authenticated access 'token/key' stored within the browser) or you get an 'X-Auth-Token' from an 'authtoken' request using an encoded username/pwd, thus allowing you to make the subsequent calls (again POSTMAN is a great way of crafting and testing your API calls and you'll get familiar with running an API call to get the token before running your queries - not gonna spend too much time discussing this here...)
Q: Hey Beards, now I get some stuff back but why does my output look like a long string of mess rather than your pretty formatted output?
Well let me introduce you to the world of JSON formatting tools (do a web search and find one you like) - usually they will convert your ugly long string into something a little bit more readable!
Note from the output you get back some easily understood information and other things that make less sense (but will become clearer and more useful as we progress...)
Now let's try another call - this time the physical-topology data from DNAC...
https://192.168.250.191/api/v1/topology/physical-topology
With this output we get back a list of the 'nodes' and the 'links' interconnecting those 'nodes'...
{
"response":{
"nodes":[
{
"label":"Edge1",
"id":"23f44036-e3e4-4bac-97f6-e0b7e707ca81"
},
{
"label":"Core1",
"id":"3ff88560-fda8-4be6-92dc-89d3bb982ece"
}
],
"links":[
{
"source":"3ff88560-fda8-4be6-92dc-89d3bb982ece",
"startPortName":"GigabitEthernet1/0/2",
"startPortIpv4Address":"172.31.x.x",
"startPortSpeed":"1000000",
"target":"23f44036-e3e4-4bac-97f6-e0b7e707ca81",
"endPortName":"GigabitEthernet1/0/23",
"endPortIpv4Address":"172.31.x.x",
"endPortSpeed":"1000000",
"linkStatus":"up",
"id":"318341"
},
{
"source":"3ff88560-fda8-4be6-92dc-89d3bb982ece",
"startPortName":"GigabitEthernet1/0/3",
"startPortIpv4Address":"172.31.x.x",
"startPortSpeed":"1000000",
"target":"23f44036-e3e4-4bac-97f6-e0b7e707ca81",
"endPortName":"GigabitEthernet1/0/24",
"endPortIpv4Address":"172.31.x.x",
"endPortSpeed":"1000000",
"linkStatus":"up",
"id":"318338"
}
]
},
"version":"1.0"
}
And we can start to match up the device details from our inventory output using those cryptic 'id's...
What else is possible...?!
Take a look at the published APIs within Cisco DNA Center by going to the Developer Toolkit under the Platform tab...enjoy the ride!
The King Casino and Resort
ReplyDeleteThe king casino and resort www.jtmhub.com features a modern casino with everything you'd expect ventureberg.com/ from 스포츠 토토 사이트 a classic Vegas Strip casino. The resort features 50000 square feet of Funding: $250 메이피로출장마사지 millionDesign: Inspired DesignMasters: Ivan worrione Karaszko