Cisco DevNet Certifications - DevNet Specialist
1 Introduction to Cisco DevNet
2 Cisco DevNet Certifications Overview
1 DevNet Associate
2 DevNet Professional
3 DevNet Specialist
3 DevNet Specialist Certification Path
1 Core Competencies
2 Specialization Tracks
4 DevNet Specialist - Enterprise Automation and Programmability
1 Introduction to Enterprise Automation
2 Network Programmability Concepts
3 Cisco DNA Center APIs
4 Cisco IOS XE Programmability
5 Cisco ACI Programmability
6 Cisco SD-WAN Programmability
7 Cisco UCS Programmability
8 Automation Tools and Frameworks
9 Python for Network Engineers
10 RESTful APIs and HTTP Methods
11 JSON and XML Data Formats
12 YANG Data Modeling
13 NETCONF and RESTCONF
14 Ansible for Network Automation
15 Puppet for Network Automation
16 Git and Version Control
17 CICD Pipelines for Network Automation
18 Troubleshooting Automation Issues
5 DevNet Specialist - Network Programmability and Automation
1 Introduction to Network Programmability
2 Network Automation Concepts
3 Cisco NX-API and NX-OS Programmability
4 Cisco IOS XR Programmability
5 Cisco Meraki Programmability
6 Cisco Catalyst 9000 Series Programmability
7 Cisco SD-Access Programmability
8 Network Automation Tools and Frameworks
9 Python for Network Engineers
10 RESTful APIs and HTTP Methods
11 JSON and XML Data Formats
12 YANG Data Modeling
13 NETCONF and RESTCONF
14 Ansible for Network Automation
15 Puppet for Network Automation
16 Git and Version Control
17 CICD Pipelines for Network Automation
18 Troubleshooting Automation Issues
6 DevNet Specialist - Software Development and Design
1 Introduction to Software Development
2 Software Design Principles
3 Object-Oriented Programming (OOP)
4 Python Programming Language
5 RESTful API Design
6 Microservices Architecture
7 Containerization with Docker
8 Orchestration with Kubernetes
9 CICD Pipelines for Software Development
10 Test-Driven Development (TDD)
11 Version Control with Git
12 Agile Development Methodologies
13 DevOps Practices
14 Troubleshooting Software Development Issues
7 DevNet Specialist - Cloud Automation and Programmability
1 Introduction to Cloud Automation
2 Cloud Programmability Concepts
3 Cisco CloudCenter Suite
4 Cisco Intersight Programmability
5 Cisco Hybrid Cloud Manager
6 Cisco Application Policy Infrastructure Controller (APIC)
7 Cisco Container Platform
8 Cloud Automation Tools and Frameworks
9 Python for Cloud Engineers
10 RESTful APIs and HTTP Methods
11 JSON and XML Data Formats
12 YANG Data Modeling
13 NETCONF and RESTCONF
14 Ansible for Cloud Automation
15 Puppet for Cloud Automation
16 Git and Version Control
17 CICD Pipelines for Cloud Automation
18 Troubleshooting Cloud Automation Issues
8 DevNet Specialist - Collaboration Programmability
1 Introduction to Collaboration Programmability
2 Cisco Webex Programmability
3 Cisco Unified Communications Manager (CUCM) Programmability
4 Cisco Contact Center Enterprise (CCE) Programmability
5 Collaboration Programmability Tools and Frameworks
6 Python for Collaboration Engineers
7 RESTful APIs and HTTP Methods
8 JSON and XML Data Formats
9 YANG Data Modeling
10 NETCONF and RESTCONF
11 Ansible for Collaboration Automation
12 Puppet for Collaboration Automation
13 Git and Version Control
14 CICD Pipelines for Collaboration Automation
15 Troubleshooting Collaboration Programmability Issues
9 DevNet Specialist - Security Programmability
1 Introduction to Security Programmability
2 Cisco Firepower Management Center (FMC) Programmability
3 Cisco Identity Services Engine (ISE) Programmability
4 Cisco Stealthwatch Programmability
5 Cisco Secure Network Analytics (SNA) Programmability
6 Security Programmability Tools and Frameworks
7 Python for Security Engineers
8 RESTful APIs and HTTP Methods
9 JSON and XML Data Formats
10 YANG Data Modeling
11 NETCONF and RESTCONF
12 Ansible for Security Automation
13 Puppet for Security Automation
14 Git and Version Control
15 CICD Pipelines for Security Automation
16 Troubleshooting Security Programmability Issues
10 DevNet Specialist - Data Center Programmability
1 Introduction to Data Center Programmability
2 Cisco Application Centric Infrastructure (ACI) Programmability
3 Cisco Nexus Programmability
4 Cisco UCS Programmability
5 Data Center Programmability Tools and Frameworks
6 Python for Data Center Engineers
7 RESTful APIs and HTTP Methods
8 JSON and XML Data Formats
9 YANG Data Modeling
10 NETCONF and RESTCONF
11 Ansible for Data Center Automation
12 Puppet for Data Center Automation
13 Git and Version Control
14 CICD Pipelines for Data Center Automation
15 Troubleshooting Data Center Programmability Issues
11 DevNet Specialist - IoT Programmability
1 Introduction to IoT Programmability
2 Cisco IoT Field Network Director (FND) Programmability
3 Cisco Kinetic for Cities Programmability
4 Cisco IoT Operations Dashboard Programmability
5 IoT Programmability Tools and Frameworks
6 Python for IoT Engineers
7 RESTful APIs and HTTP Methods
8 JSON and XML Data Formats
9 YANG Data Modeling
10 NETCONF and RESTCONF
11 Ansible for IoT Automation
12 Puppet for IoT Automation
13 Git and Version Control
14 CICD Pipelines for IoT Automation
15 Troubleshooting IoT Programmability Issues
12 DevNet Specialist - Service Provider Programmability
1 Introduction to Service Provider Programmability
2 Cisco Network Services Orchestrator (NSO) Programmability
3 Cisco IOS XR Programmability
4 Cisco ASR 9000 Series Programmability
5 Service Provider Programmability Tools and Frameworks
6 Python for Service Provider Engineers
7 RESTful APIs and HTTP Methods
8 JSON and XML Data Formats
9 YANG Data Modeling
10 NETCONF and RESTCONF
11 Ansible for Service Provider Automation
12 Puppet for Service Provider Automation
13 Git and Version Control
14 CICD Pipelines for Service Provider Automation
15 Troubleshooting Service Provider Programmability Issues
13 DevNet Specialist - Wireless Programmability
1 Introduction to Wireless Programmability
2 Cisco Wireless LAN Controller (WLC) Programmability
3 Cisco DNA Center Wireless Programmability
4 Cisco Mobility Services Engine (MSE) Programmability
5 Wireless Programmability Tools and Frameworks
6 Python for Wireless Engineers
7 RESTful APIs and HTTP Methods
8 JSON and XML Data Formats
9 YANG Data Modeling
10 NETCONF and RESTCONF
11 Ansible for Wireless Automation
12 Puppet for Wireless Automation
13 Git and Version Control
14 CICD Pipelines for Wireless Automation
15 Troubleshooting Wireless Programmability Issues
14 DevNet Specialist - DevOps and Automation
1 Introduction to DevOps and Automation
2 Continuous Integration (CI)
3 Continuous Deployment (CD)
4 Infrastructure as Code (IaC)
5 Configuration Management Tools
6 Monitoring and Logging
7 Containerization and Orchestration
8 CICD Pipelines
9 Version Control with Git
10 Agile Development Methodologies
11 DevOps Practices
12 Troubleshooting DevOps Issues
15 DevNet Specialist - Automation and Programmability Best Practices
1 Best Practices for Network Automation
2 Best Practices for Software Development
3 Best Practices for Cloud Automation
4 Best Practices for Security Programmability
5 Best Practices for Data Center Programmability
6 Best Practices for IoT Programmability
7 Best Practices for Service Provider Programmability
8 Best Practices for Wireless Programmability
9 Best Practices for Collaboration Programmability
10 Best Practices for DevOps and Automation
16 DevNet Specialist - Certification Exam Preparation
1 Exam Objectives and Domains
2 Study Resources and Materials
3 Practice Exams and Simulations
4 Exam Registration and Scheduling
5 Test-Taking Strategies
6 Post-Exam Actions and Certification Maintenance
10 YANG Data Modeling Explained

10 YANG Data Modeling Explained

1. YANG Overview

YANG (Yet Another Next Generation) is a data modeling language used to model configuration data, state data, remote procedure calls, and notifications for network management protocols. It provides a standardized way to define the structure of data that can be managed over the network.

Example: Think of YANG as a blueprint for a house. Just as a blueprint defines the structure and layout of a house, YANG defines the structure and layout of network data.

2. Modules and Submodules

YANG models are organized into modules and submodules. A module is a collection of related definitions, including data nodes, RPCs, and notifications. Submodules are smaller units that can be included within a module to break down complex models into manageable parts.

Example: Consider a module as a book and submodules as chapters. Just as a book is divided into chapters for easier reading, a YANG module is divided into submodules for easier management.

3. Data Nodes

Data nodes are the building blocks of YANG models. They represent the data elements that can be configured or monitored. Data nodes can be containers, lists, leafs, and leaf-lists, each serving a specific purpose in defining the structure of the data.

Example: Think of data nodes as pieces of furniture in a room. Just as different pieces of furniture serve different purposes, different data nodes serve different purposes in defining network data.

4. Containers

Containers are data nodes that group related data nodes together. They provide a hierarchical structure to the data model, allowing for organized and logical representation of data. Containers can contain other containers, lists, leafs, and leaf-lists.

Example: Consider containers as rooms in a house. Just as rooms group related furniture together, containers group related data nodes together.

5. Lists

Lists are data nodes that represent a collection of similar data entries. Each entry in a list is identified by a unique key, allowing for efficient retrieval and manipulation of list entries. Lists are useful for modeling data that can have multiple instances.

Example: Think of lists as a bookshelf with multiple books. Just as each book on a shelf is identified by its title, each entry in a list is identified by a unique key.

6. Leafs and Leaf-Lists

Leafs are data nodes that represent simple data types, such as strings, integers, and booleans. Leaf-lists are similar to leafs but allow for multiple instances of the same data type. Leafs and leaf-lists are the terminal nodes in a YANG model.

Example: Consider leafs as individual items on a grocery list. Just as each item on a grocery list is a simple data type, each leaf in a YANG model is a simple data type.

7. RPCs (Remote Procedure Calls)

RPCs in YANG models define operations that can be performed on the network device. These operations can be invoked by network management systems to execute specific tasks, such as rebooting a device or retrieving diagnostic information.

Example: Think of RPCs as remote controls for a device. Just as a remote control can perform various operations on a device, RPCs can perform various operations on a network device.

8. Notifications

Notifications in YANG models define events that can be reported by the network device. These events can be triggered by changes in the device's state or configuration, allowing for real-time monitoring and alerting.

Example: Consider notifications as doorbells. Just as a doorbell notifies you when someone is at the door, notifications in YANG models notify you when an event occurs on a network device.

9. Schema Mounts

Schema mounts allow for the extension of YANG models into different namespaces. This enables the creation of modular and reusable data models that can be combined to form more complex models. Schema mounts provide flexibility in designing network data models.

Example: Think of schema mounts as LEGO blocks. Just as LEGO blocks can be combined to create different structures, schema mounts can be combined to create different data models.

10. YANG Tools and Editors

YANG tools and editors are software applications that help in creating, validating, and visualizing YANG models. These tools provide features such as syntax checking, model validation, and graphical representation of data models, making it easier to work with YANG.

Example: Consider YANG tools and editors as drafting tools for architects. Just as drafting tools help architects create blueprints, YANG tools and editors help network engineers create data models.