We will start with Python for this demonstration. Changing to the Python demo 3 folder, I have a mod file created for central. Opening the file, you can see that we are importing the py central base and monitoring libraries to import the Aruba Central Base and side modules. I'll show you how to get these in a bit. We create the class central and variables defined to create an authentication token in order to only access my customer on central. The self.base URL uses the central API gateway and you can pull the API gateway address when you log into the central website. Central info provides the access token to the base URL. The SSL verify is set to true because on Aruba Central it's using a science certificate by a trusted CA. Login will use the Aruba Central base with central info, URL and an SSL certificate along with other parameters. And next while I'm defining central requests with API path, looking into monitoring VersionOne APs with a get method. Below is a self central command from the Py Central base library and Aruba Central based module. Then we define and get sites and create sites from the customer on central. With get sites, we will connect using the self central login to find above and return sites as the variable based response. If we create a new site with you create sites, we will need to provide the site name and address. Scrolling down here, you can find the main function that will be called if we run the script directly. I'm creating the object sent using a central that was defined in this script earlier and a token that hopefully did not expire. And then we initiate a login function. Next we use central underscore request to the list of access points or to retrieve the list of access points from above. The for command will search for and print some specific information like AP model status and IP address. The response 1 variable will gather and print the information gathered on the line or the row above. Next we can use the get sites information and print this. The address variable will define the address as main street, the city is Detroit and the country is US. You can find which keys to use inside the Aruba Py Central libraries for examples. And finally we're defining response 2 to create a new site with this address information. Before we run the script, I'll first connect to central and log in as the customer that uses the access token associated with the assigned devices. Going under organization and confirm that we have one site. Delete the site and confirm it's gone. Now, currently there are no sites. So we're ready to run the script to communicate with Py based functions and pull a list of sites with the get site function. When we run it in Python3 using central.pi base, you can see that the token is still valid. The first piece of information return is the two access points, one is down because I removed it from central earlier. Next there's a code 200 OK response for the site output being that it is still available from central. It is not yet parsed but would be easy to do so. Currently we have 0 sites shown and the next code 200 shows the created new site named site2 and its address, city and country information. Logging back in the central itself, we can verify under organization that the new site 2 was indeed created. And if we went back and ran the same script a second time, it will try to create the site with the same name. However, this returns a duplicate site named error. Examining the script again, you can verify that we use the Py Central base and Pie Central monitoring along with the model sites and Aruba Central Base. To search where to install these models, I can go under the home lab underscore environment libraries, Python 3.8, Site Packages and Py Central. I can see the base.py module, configuration.py and other modules available. We used monitoring.py and base.py in our scripting. Opening base.py, you can view the documentation to find parameters as to what to be expected and explained. Opening monitoring.py the same documentation we found showing classes and defined functions like create site and available parameters like address, city, state, country and zip. So we have reviewed the demonstration for central using Python. Now, let's take a look at a demonstration of automating Central with answerable. For the next demo, I prepared a folder host bars with a central demo file. I have the same token used with Python to authenticate answerable into Central with SSL being true and the connection type as Http API. Next we can check the inventory file devices.yml. We have a cloud group with the central host inside and the variable URL used to log in to the customer central rest API gateway. Looking now at demo3.yml playbook, we'll scroll all the way to the top and you can see that there are a number of tasks to find. First I can get groups with central loading the Aruba networks.Aruba underscores central underscore role. This task is using central groups to get the group info. Central sites provides a central site info using a different module. Then we get the running config from our access points. Here I'm using a loop to get the access points serial numbers and to find them as the group of var3 file. The task show Running config will include serial numbers in var3 and needs those in order to capture the running Config itself. The play check status is using a different method. Instead of central role, I'm using URI and the URL is used to validate that the service MMS is available. Next the task Get APS uses the standard library URI rest API call to get a list of access points using a get method. The header authorization uses bearer to provide the access token and to capture the output into variable 4. Here we can capture only the items we want such as serial numbers. With this example, we can capture these serial numbers into variable 4 to use later in different calls. For example, I can move APS with these given serial numbers to another AP group of site or I can change the APS device parameters in other ways. In the Play create new group, URI. I'm using URI method with the URL ending in groups and the post method. In the Jason body, will define the group variables below using attributes like password Aruba, 1, 2, 3 and using the template for wireless instead of wired. Then I'm capturing the output and ignoring any errors. This is to handle responses other than a successful 200 such as 201 that can cause errors. We can ignore these instead of treating the call has failed. The wind condition can just be accommodated out if you don't want to use it and within this task show a P S. We will only loop through this if the item dot status returns as up. So this allows us to display only information that we are interested in. Such as the upstate in our central account. Then the next task named Elite Group. You are? I will use a standard U ri method to call for the group named Path. The method is delete and uses the group one variable defined in the previous tasks to delete the group one that's found the create new group will use the central group role to create a group and password set to wireless. And you can use either method. The same example is used below for the task. Delete group That also uses the central group role but is the leading the group name. Group one. Now, I think we're ready to run this using answerable Playbook with the inventory devices dot Yamil and Playbook demo Three. I'll add the step flag to require each play to be confirmed. He first tries to get groups from central. I'll go ahead and click Yes. It's then trying to connect to Central using the token we provided. And Okay. Central means this was successful. The play shows groups is set to run. I'll click Yes again. And this displays only the default group. I can confirm that in the central web browser that the default group is there. Next is get sites. This is successful. And now show sites this displays the site information including address, city, country and site name. Site two. Next task is running config from the access points. This pulls the serial numbers. Now is the show run config and this displays the output for the access points managed by central. The next task is to check status of central api gateway and this is using the U. R. I. And this works. Next is get access points using your eye. And that is successful then is to show A P. S. Which is the first ap which showing as down and the other is up. Then the task create new group. You are? I returns an error of 201 when we were expecting 200 but we chose to ignore the errors for this task, which is why we're allowed to continue Logging back into central. We can see that we have two groups, default and group one. And if we call the delete group task that successfully, will delete the group one, leaving only the default group remaining. Next we create the new group again, we could run it again using the standard Ri method and capture it for output and status. But here we're just using the native plug ins from central