This is the third in a series of articles on the six sections of Cisco’s DevNet Associate Exam DEVASC 200-901, which leads to the Cisco Certified DevNet Associate certification.
Welcome to the third of the series of six articles where I will break down the blueprint sections for the DEVASC 200-901 exam. There are six major topic areas in this 120 minute exam.
If you’re used to configuring Cisco technology from the CLI or GUI, then this section is where the rubber meets the road via automation. This section will explore several Cisco platforms and options for automation. This is perhaps the most interesting section so don’t be fooled by the humble 15% coverage of the total exam topics.
3.1 Construct a Python script that uses a Cisco SDK given SDK documentation
3.2 Describe the capabilities of Cisco network management platforms and APIs (Meraki, Cisco DNA Center, ACI, Cisco SD-WAN, and NSO)
3.3 Describe the capabilities of Cisco compute management platforms and APIs (UCS Manager, UCS Director, and Intersight)
3.4 Describe the capabilities of Cisco collaboration platforms and APIs (Webex Teams, Webex devices, Cisco Unified Communication Manager including AXL and UDS interfaces, and Finesse)
3.5 Describe the capabilities of Cisco security platforms and APIs (Firepower, Umbrella, AMP, ISE, and ThreatGrid)
3.6 Describe the device level APIs and dynamic interfaces for IOS XE and NX-OS
3.7 Identify the appropriate DevNet resource for a given scenario (Sandbox, Code Exchange, support, forums, Learning Labs, and API documentation)
3.8 Apply concepts of model driven programmability (YANG, RESTCONF, and NETCONF) in a Cisco environment
3.9 Construct code to perform a specific operation based on a set of requirements and given API reference documentation such as these:
-
- 3.9.a Obtain a list of network devices by using Meraki, Cisco DNA Center, ACI, Cisco SD-WAN, or NSO
- 3.9.b Manage spaces, participants, and messages in Webex Teams
- 3.9.c Obtain a list of clients / hosts seen on a network using Meraki or Cisco DNA Center
Python Software Development Kits (SDKs)
Python SDKs abstract the API complexity for the developer. SDKs are effectively a wrapper around the APIs to avoid calling the APIs directly within your Python scripts. In this way, Cisco product teams publish SDKs to allow our customers and echo systems to quickly develop simple Python scripts.
In the following example for DNAC we compare two similar code snippets for requesting a device list directly to the REST API using the Python request module versus the SDK.
Python Requests
Simplified with SDK
Cisco Platforms
Please create a Devnet account and review the following reference links. Considering the broad list of Cisco platforms listed above, a synopsis here would easily eclipse a single blog entry. Having said that, for an associate level examination, it’s highly recommended to review the following resources for achieving cursory knowledge for each platform.
- Introduction to Cisco DNA Center Northbound APIs
- Cisco DNA Center API Overview
- Cisco DNA Center Northbound API Modules
- What and Why of Model Driven Programmability
- Introducing YANG Data Modeling for the Network
- Exploring IOS XE YANG Data Models with NETCONF
- Exploring IOS XE YANG Data Models with RESTCONF
- Invoke Webex REST APIs from the interactive documentation
- Building Python Requests to Read and Create Webex Teams API Items
- Understanding ACI
- ACI Programmability Options
- Introduction to ACI Toolkit
- Introduction to Cisco SD-WAN REST APIs
- Cisco SD-WAN CLI application developed using the vManage REST API
- Using Postman to interact with the Cisco SD-WAN REST API
- Using Python to interact with the Cisco SD-WAN REST API
- NSO as a provisioning tool
- Nexus OS Programmability and Automation Overview
- Using the Meraki Dashboard API with Postman
- Meraki location scanning API Python
- Meraki Location Scanning API Python
- Meraki External Captive Portal
- Meraki Wireless Health
DevNet Resources
Devnet offers several resources paramount to passing this exam but more importantly to assist developers and network developers on the job. Please review and familiarize yourself with the following resources.
Learning labs
There are approximately 600 hands-on learning labs available here.
https://developer.cisco.com/learning/labs
Sandbox
Sandboxes offer always-on or reserved PODs to complete the hands-on learning labs.
https://developer.cisco.com/site/sandbox/
Code Exchange
Discover code repositories related to Cisco technologies. Code Exchange will help you learn, build, and collaborate on curated GitHub projects to jumpstart your work with Cisco platforms, products, APIs, and SDKs
https://developer.cisco.com/codeexchange/
DevNet Support
Having problems with your code? No worries click over to DevNet support for free and paid resources to assist.
https://developer.cisco.com/site/support/
DevNet Forums
Join the developer discussions with DevNet and your peers here.
https://community.cisco.com/t5/for-developers/ct-p/4409j-developer-home
Once again, thank you for reviewing the reference links to better understand the various Cisco platforms and their respective automation capabilities.
Remember, that these exam topics are also covered in the DEVASC Developing Applications and Automating Workflows Using Cisco Core Platforms class. Keep up the great work as you prepare to crush your exam!
Training Resources:
DevNet Certifications
DevNet Training
DevNet CDL XL
Cisco Training
Read the other articles from this series:
Section 1: Software Development and Design
Section 2: Understanding and Using APIs