ACI includes a RESTful API in its implementation, which has the following characteristics:
- the REST API uses HTTP or HTTPS as a transport protocol
- it uses GET&POST HTTP verbs
- an API Call includes in its body XML or JSON
- it does not use HTTP authentication mechanism, but rather an API call with an authentication request in the body. Once authenticated, an authentication token is generated.
There are two good ways to learn the ACI API:
- with API Inspector,
- with Visore: which is a case-sensitive HTML page on the APIC.
ACI Python SDK: is the Python SDK for ACI which is downloadable offline from the APIC. We find it in the literature also under the name Cobra.
ACI Debug feature is activated from the GUI. It displays a bar with debugging information such as Managed Object names (MO), class names, etc. The information we get from the ACI Debug tool can be entered as input in Visore, which will analyze them and display the output for you.
Arya is a Python code generator. It takes as input a JSON code and generates the equivalent Python code. We can download it from Github.
Any programming language, not only Python, can send API Calls. It does not have to understand the content of the API call by the way. Some programming languages like Python can natively interact with ACI. However, when we use Python to interact with ACI, we need to make sure to include an authentication block in the code.
UCS Director is one of the Cisco tools to perform enterprise cloud orchestration.