300-435: Automating Cisco Enterprise Solutions (ENAUTO) Certification Video Training Course Outline
Network Programmability Foundation
Automate APIs & Protocols
Network Device Programmability
Network Programmability Foundation
300-435: Automating Cisco Enterprise Solutions (ENAUTO) Certification Video Training Course Info
Gain in-depth knowledge for passing your exam with Exam-Labs 300-435: Automating Cisco Enterprise Solutions (ENAUTO) certification video training course. The most trusted and reliable name for studying and passing with VCE files which include Cisco ENAUTO 300-435 practice test questions and answers, study guide and exam practice test questions. Unlike any other 300-435: Automating Cisco Enterprise Solutions (ENAUTO) video training course for your certification exam.
Network Programmability Foundation
6. git Lab
Now we have to perform lab work related to it, and for that, it's better that we can see the lab. First of all, I have created the lab for GNS that we have already discussed, and then I have certain packages to install. You can also install those packages. So I have packages related to Python, related to Pip,related to Napalm let me go most of the thingsI'll cover in upcoming sessions and then we should goand do this app kit install kit. Now that we have this kit installed, obviously we can go and run the commands related to it. So here, you can see that it is already installed. Then whatever, we have a study from earlier, and I can go and do the configuration like that. So, for example, if I say global and then say username, I can go and give my name, and then again, I can go and give the email as well. So the user's email is networkers.com, and the rest of the command, if I have any, says directory; sayp one is my directory name, for example, and then I can go and create certain files. Say nano text any name I can go and check. Okay, I have one text. Now I want to do the initialization. So once I'm in the program, I can useget init, and then I want to add again; these are the fixed commands, and while practicing, I'll learn what the purpose of that is. We can create some sort of notepad, and then we can reuse those codes. Finally, let's do the commit, and then I can do the initial commit, correct? So initial and here you cansee initial commit has been done. Now if I go and check here, you can see that we have gotten one. This is the route we can take to make the commitment right now. Next we have a study about the branch as well. So I can go and create a branch. The name is p two.Likewise, we can go and continue our configurations like that. So we are already in master, and then if you want to create the branches, we can go and create the branches. For example, on the branch here, you can see that the parent is not known. So that's why this is throwing an "L." But this is one route we can take to make the commitment. We can add it; we can create the branches even in the future if you want to merge; we can use the merge command as well, as we have discussed earlier in the slides. So, let's stop here, and the next session will go to check one dot two, where we need to learn and understand the APIs.
7. Git Architecture & GitHub
At this point in time, we should understand the Git architecture and GitHub. Now, in the git zip that you're seeing here in the slide, we have four major components. We have a working directory, local repos, and the remote. Now, this remote repo can be GitHub, and we'll see that or see the official definition of GitHub. But it is something like your Web browsing repository. You can go and create your account over Zthub. As long as you're a public figure, you can use the resources. But if you want your private repository, you have to pay something. Companies, they may have their private,they may have their public repository. Correct. This is the working directory staging area, as well as the local repo that we created in the lab. So you can go and use the keyword "get add commit." When you make a commit, it will write to the repository. So here you can see that we have the staging area and the local repository. And then if you want to communicate with theremote repo so that option is also there. So from the local repository, you can go and do the zip push. If you want to get some updates, you can go and use Zip Fetch. Again, we have the checkout and the merge option. Correct. Let's understand more about this. Now, you can see a summary of the slides we have or a summary of the steps we have already taken. So we have a step. You are in the initialise step, updating change, and if you can see that worker say local repo and remote repo, how and what are the commands to communicate with this direction? is that you are getting the information from there, and this direction is that you are sending the information from local to the remote repository. All right. So now let me go and explain to you what the remote repository is. Although there are a few popular ones, we are mostly using zip codes, and you can go and create your account over Zhub. This is the web-based type of repository that you can go and use. So here you can see that we have a Zub. This is a distribution version control system based on ZIP that is web based.It's free as long as you have the public repository. But if you want to go and use the private one, you have to pay some fees for that. We can go and log into this. Let me show you how we can go and log in. All right, so here you can see that we can go and utilise the command here to get a clone. although I have one example. Here you can see that git clone stdps GitHubAI DevNet from where I want to copy certaincodes and want to utilise in my program. So if I go to my automation tool where we have installed the kit and all the related packages, we can go and communicate with it. I can go create the clone, and we can do the copy pasting best we can, but let me type here, then the AI definite, and then say getting, and obviously this is a good place to check the Python rest API integration. Okay, so now you can see that it's impossible to resolve. Let me see if I can ping. Okay, so my network is down at the moment, but you can go and utilise this command in the future; we have so many lessons where I'll show that I can go and use this command, and you can create your local report, meaning you can copy from the remote end to your local system, you can make the changes, and then you can run and execute the programs. Alright, so let's just stop here.
8. 1.2 What is API
In one, two. We need to learn and understand APS-style servers, such as rest and RPC. So let's understand that now before understanding the risk and the other API methods that we have. The question here is, "What is API?" Now, the answer to that will be long. So let me start from here. We know that as network engineers, we have started as CLI, which means we are doing the coding with CLI. Now, when we are talking about CLI, the simple fact is that CLI is human. So we are the humans; we are interacting with the machine. Correct? So this was something like human-to-machine interaction. And again, we have the GUI. Just to make things simple, we can go and do the point click.So we have the GUI. Most of the appliances now have a GUI as well. even the complex CLI. It's very difficult to memorizeits error prone et cetera. So we have the GUI where those CLI commands are pre loaded.In other terms, we can think like that too. And then again, behind the scenes, it is calling CLI, and then it is going and running over the screen or running over the machine. Correct. but API is the game changer. Why? Because API is machine-to-machine language, So this is something like machine canunderstand to one machine to other machine. Now, think like this when we are talking about CLI: CLI can't be a user for other machines. CLI is giving the CLI, we are giving the instruction. But one API can be used by another API, or one API can feed another API, et cetera. Okay. So that's a big difference we have. And that's the fascinating thing happening in the industry at the moment—that everyone is looking towards API. As you can see, API is a fast way for a machine to communicate with another machine. We are the only users with respect to CLI. But now in terms of API, machines are communicating with each other. And there are any number of examples. One of the example is suppose if you are looking forthe best hotels, a list of the hotels nearby your area. So your hotel programming can go and query Google, and then Google will go and give the result. And behind the scenes, everything is working in terms of API. As a result, as a user, I activated one API in my mobile device. One API means again, you will think that theHttp web browsing in loose term you can thinkthat is also a type of API. Because in Http we haveseveral method like Get methods. Whenever you're seeing anything or doing any query, that will go through the get method. So HTTP get me and return these results. That is the get equivalent to the CLI show commands. That is also a good method. SNMP get methods are also used by SNMP. So the get method is something you do with the query to get some results. So now here you can see that one API can trigger other APIs, and it is endless and seamless. So N numbers of APIs can trigger any number of APIs, and then some correlation programme is running behind the scenes, and then it will give the result, correct? And that's again in high term thatis the machine learning and other stuff. So APRs are the engine of innovation, and that's true. Now, is it difficult to learn the API? Is it scary? The answer is no, it's not difficult to learn APIs because, if you know how to do web browsing, you can play around with the APIs. The four popular methods for rest and rest are one type of API whose full form is representational transfer, which uses get, post, put, and delete. Now, this is something I'm going to cover more and more in the next recording. so separate nine to ten minutes for rest. Well, we'll learn a little bit deeper inside how the rest is working, but in a nutshell, it is something like when we are doing web browsing, and if you want to see something, we can use the get method. Again, you think everything is the object. If you want to update the object, you can go and do the put method. If you want to create new objects, you have to use post. If you want to delete an object, you have to use delete. Correct? So these are the methods we have inside the risk because it's very simple, and that's why the risk is quite popular. Now again, there is a common mistake, or there is confusion around that. Okay, then what is the use of XML? What is the use of JSON? Those things you will understand in upcoming session. So you have a data model, encoding, and transport; all of these are aspects of protocol. These are against the stack that we should understand at which level, for example, what is their network layer if you correlate with the TCP/IP layer, because network layer functionality differs from the data link layer or transport layer, session layer, and so on. So all the layers have their own function, correct? Likewise, XML and JSON are working as encoding methods. Then there is transport; for example, SSH can be transported; maybe SSL or TLS—those can be transported. So there is another transport method, and there is another data model, like young, so that is again in different labels, et cetera. So we should understand in the protocol stack where they are residing and then how they are working, correct? Okay, now we're back to the risk method, and this particular example is very important, which is why I chose it. So here, you can see that you have the different portions. The first portion here is the server or host name. Then what resource are you looking for? So we are looking for APIs for zero-coding; the encoding adjacent means the output will come in JSON format, and then the parameter. So you have one, two, and three third request.And this is one of the API examples again; this is what I'm going to do. The next two videos you'll find related to risk. ERPC, so we'll understand more about these APIs,because in future we have to do thePython programming for these APIs as well.
9. REST Representational state transfer
Let us learn to rest. The rest is representational, state, and transfer. What it is doing—and there is a misconception that this is very difficult to learn and understand—is But behind the scenes, what it is doing is simply mimicking how we are accessing or surfing the web browsers.The same way, the same method the Rest is doing. So, in the diagram, you can see that whenwe are receiving any website, we are sending theGet request and then we are getting the page. Now, in the same way we can use the protocol "rest," we can send the request as a "get," meaning we want to retrieve. We'll see that what methods or what works we have. So we want to read or retrieve the information, and then we'll get the information either in JSON or XML format. That's how easy this is? Correct? The more hands on lab will do,more and more will understand about that. So, I am planning to show you the lab in the next session. That's how we can do the lab from scratch. All right, so Rest is the method that is going to use various types of verbs or methods. I'll show the methods that it is going to use in the next session. But it's very similar. That is how we are accessing the web browser. Again, remember that we have the encoding forms of JSON and XML. What methods do we have? We have this cruddy method. Crud is nothing but create, retrieve, read, update, and delete. So actually, the methods that we have are the Get method, which you want to retrieve or get some information, and the Put method, which you want to update an object. You have posted that you want to create a new object, and finally, you have deleted. That means you want to delete the object. Correct? So, these are the methods that we have being used. And these are the top methods, meaning the widely used methods, that we are going to use inside the Crud. So, the Crud is nothing, but the methods are verbs inside the Rest. This is a stateless client-server model. That's true. Again, we'll see in the upcoming slides. Building proposed three C, developed by W, in 2000. And now it is widely used, even if you want to do automation in terms of configuring, monitoring, and other stuff like certificate management, creation of objects, and deletion of objects; all those things are possible with the Risk API. Obviously, you need to encode or embed this method with some other methods. So, for example, I'm using Python to take these Rest API objects or data. And then I'm converting with Python into my table format. So, I'll show you this lab in the upcoming session. Similarly, you can use it and how you can use it. I'll show you. So, we have the credit method; we have create, retrieve or read, update, and delete. and here you can see that interesting diagram. And it's a very important diagram. So when you're creating, you are sending the payload letme go back and that's very important because you wantto send some data, you want to create new object. When you're retrieving or reading the success code, 200 is nothing but your code method. So you are receiving the information, you are sending a query, and then you are getting some payload information, correct? Finally, if you want to update your updating with the payload or delete it, you can do so by providing the reference and deleting it. So delete is the easiest operation. Then you have the get operation, then the put, and finally the post. In post, obviously, we should be very careful while creating an object. There are chances that you can create the same type of object so that you can use certain other keywords and the object will not collide. Or suppose the same object is there. If you're not using the force command, that means it will not get created because you already have the existing object. So those things should be taken care of. We have this credit method and we can do all sorts of things related to Get, Post, Put, Delete, and we also have the patch. But mostly you will see that we are using get, post, put, and delete. These four methods will serve every purpose that we have. Okay, so get. That means you're retrieving the data. Post means you are creating a new object; put means you are updating the object. Patch, as you can see, stands for update and modification. So slight difference in between Put and Patch. PUT will update and replace a resource. Patch. Again, the name says that Patch will update and modify the resource. Now, let's see what methods we have and what type of output will come into the picture. Again, you'll see in the next slide when we have the lab section. So once you go and do the rest of the API call, you'll get this information. So first of all, you have the HTTP verb, which means what you want: you want to get the information so you can use the Get method. Then you should go and use the full URL. I will show you what it looks like. Then there is some optional stuff in the body; if you are making certain changes, this is optional in terms of what format you want the output in. If it is a post method, repeat. So we have the method plus the payload, and if it is a good method, we are doing the request and we are getting the output plus the payload correct. So you'll notice that you have the header and the key values, but we'll look for the data field and these data fields that we can go and convert into some readable format with Python. So again, you have the content type, you have the acceptance, and you can go and run the API. I will show you again what the tools available are. We have the curl method, as you can see. It's a very popular tool. We can go and use the web-based method, which is a postman. But the thing that I want to use is the Python language. Python language, because Python can interactwith a number of devices. Because there are so many plugins now, there are also so many built-in programs. And we have so much resource code on GitHub as well that we can go and utilize. Obviously, we can go to the post office, and we can do the query. I will show you on the next slide. All of this information will be presented in the following slide. So before ending this recording, I just wanted to tell you that still, if you are in the Windows machine and if you have your power cell, you can go to the shell. Once you're in the shell here, you can see the font size is very small. If I can go and increase the font size, I will make this 24. All right, so now, once you're here and you want to check out this curl method, it's very easy. You can go and use the curl. And there are so many options for curl that you can go explore. So I'm doing curl google.com. And then you can see that we are getting the result. 200 is okay. That means success. You're getting the content related to Google's page. Here. You can see that they get requests related to Google. We are getting into the curl method. Okay, so let's stop here. And in this section, I'm going to show you the Python integration with the API.
The following protocols are gRPC, Google, and RPC. This is the functional subset of Net Confluence. It has high performance and provides simple client development. And as you can see, we have the protocol stack. Now, already we have discussed the fact that we have a data model. We have the transport, we have the encoding, and then the protocol is correct. So here, you can see the encoding is JSON CLI, and the transport is SDP. data model is young. And now next, if you go and check what types of methods it has So here you can see that the method that we haveis obviously we know that we have get post and delete. Likewise, here you can see that we have different types of methods. We have the operations get conf, delete, replace, and get. So retrieve the operational data, CLI config,merge the configuration data and CLI format,and finally CMD kickstart output. Okay, so likewise, other protocols that we have will also be used. And this is high performance. Again, the function subset of Net Conf and the protocol format are also things we have seen. All right, so let's stop here.
11. 1.3 Syncronous vs asyncrhonous APIs
Now we reach to one three and let usunderstand that the challenges encounters with Asynchronous and synchronousAPI, what does it mean, what can do forus and what are the use cases related tosynchronous and the Asynchronous APIs? So let's figure out which one is obviously using synchronous now in this type of API call, and what is happening that it will wait until the API is executed. That means that these APIs are working one to one.I can imagine that this is working in a queue. So one call is coming, and it will wait until it gets completed. So then the next call will get started, correct? Rather than asynchronous, we can have multiple calls. So at one time, multiple calls can happen. Now, there may be pros and cons for both asymmetric and synchronous, such as if you have any errors in the call API, a heavy load on the system network, bandwidth-related issues, etc., and you can't run multiple APIs at a time. So you can think in both ways. There is a plus and a minus for both calls. A few of the programmes like Java,C sharp, they are using synchronous method. On the other hand, in Java script, they are using an asynchronous method. In fact, the asynchronous method is the de facto standard. Now it's in our API calls. We are using asynchronous API calls. Now, what is happening in this case is that, if you have multiple runs and if you have errors, you should correct them. So you should know how youare going to handle that error. So we can go and try and catch it, and then we can publish the result. Right? Now, this particular slide that you're seeing right now is from Cisco, and what Cisco is saying is that synchronous API calls are blocking calls that do not return until either the change has been completed or an error has occurred. That's the key here. I am telling you that if we have the error, and suppose you are doing the call that is asynchronous, it's not synchronous because anyway, synchronous has to wait until the execution will happen.Suppose I have ten API calls that are going on, and if I don't have error handling mechanisms for all ten, there are chances that all ten can throw an error, and that is not that is not gSo we should handle the error inside the asynchronous call. Now, for asynchronous calls, the response to the API call is returned immediately within a polling URL. You can just think that asynchronous calls are just like us surfing websites. You're entering some URLs. You're getting the result right now. Again, in conditions of heavier load, it can be more efficient to submit multiple calls (asynch calls) and periodically check the result. Okay, so the key here is that we understand the synchronous and asynchronous calls, correct? The key here is how we are going to handle the error if it is there. Now here you can see the program, and I have given you the link as well as a reference to where I have taken this. So asynchronously, as you can see in the diagram, it's quite clear. So you have API calls one, two, three, and four. You can also see that you have the recovery here. You have recovery as well. So what exactly is this is?This is something like trying and catching. You're trying something, you're catching the exceptions, and then the result is coming. So, for example, suppose you don't have exception rules in Java, which is quite common, but we have exception rules or exception handling. Suppose if you don't have the exception rule handling rules,then simply the programme will exit from that block sothat block will run and it will come out even. It will not scroll down and check the other options. But if you know that, what type of errors or what type of exceptions do you have? So block code execution—say, for example, block one—will happen, two will happen, three will happen, and four will happen. And whatever try methods you have, it will go and try for those many blocks, and then it will exit if they are not able to find the error. Suppose block number three is up to this. So this is an error. This is an error, but block three is ready to go. The code will execute from here and then again further on. Correct? So that's the power we have with error handling. When we are making such asynch calls, we should have the proper error handling mechanism configured.
Pay a fraction of the cost to study with Exam-Labs 300-435: Automating Cisco Enterprise Solutions (ENAUTO) certification video training course. Passing the certification exams have never been easier. With the complete self-paced exam prep solution including 300-435: Automating Cisco Enterprise Solutions (ENAUTO) certification video training course, practice test questions and answers, exam practice test questions and study guide, you have nothing to worry about for your next certification exam.