( Under construction...don't bother making comments yet )
Table of Contents |
---|
Generating AAI API Docs
A&AI REST API Documentation
Generate the swagger like v8 to v11 spec via (thanks LiZi)
Code Block |
---|
cd aai/aai-common/aai-core/
mvn -PgenerateXsd -DskipTests
mvn -PgenerateXsd install -DskipTests
mvn -PgenerateYaml install -DskipTests
mvn -PgenerateHtml install -DskipTests
cat ../aai-schema/src/main/resources/aai_swagger_html/aai_swagger_v8.html
cat ../aai-schema/src/main/resources/aai_swagger_html/aai_swagger_v11.html |
The Active and Available Inventory (AAI or A&AI) has its own REST API.
...
The edges of the graph are provisioned using a relationship list construct. For PUT methods, a relationship contains the vertex type or category (related-to) and a list of relationship data which captures the key pieces of data required to uniquely identify the resource. On a GET method, the above information and a URL are returned. The URL can be used to GET all the details of that object. The URL returned is suitable for retrying failed commands but should not be expected to be cacheable for very long periods (e.g., the version of the URL may get deprecated when the release changes).
The REST API describes each API that AAI provides, independent of the caller of the API. Therefore there is no information to be found here regarding the expectations on the callers. That information is conveyed in design documents for each client.
At its simplest, the data flow between AAI and clients can be depicted as shown in Figure 1:
Figure 1. Data flow for AAI.
API Definition
The API structure is composed of:
...
- (serverRoot} refers to the server base url: hostname+port+base path+version. Port and base path are OPTIONAL but AAI will use port 8443 and base path aai. The first release version will be v8.
- {namespace} refers to the API namespace. Supported namespaces are cloud-infrastructure, business, service-design-and-creation, and network
- {resource} refers to how the object is identified according to the namespace specifications.
Example
GET https://aai.att.com{host-url}:8443/aai /v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}
Postman example
Logs
aaiadmin@vm1-aai:/opt/app/aai/logs$ pwd /opt/app/aai/logs aaiadmin@vm1-aai:/opt/app/aai/logs$ cat ajsc-jetty/localhost_access.log from VID portal 10.0.8.1 VID VID [05/Jul/2017:02:48:03 +0000] "GET /aai/v8/business/customers" 500 0 REST 10.0.8.1 VID VID [05/Jul/2017:02:48:16 +0000] "GET /aai/v8/service-design-and-creation/services" 500 0 REST from a browser 32.60.102.40 AAI AAI [05/Jul/2017:14:46:48 +0000] "GET /aai/v8/service-design-and-creation/services" 400 0 REST |
---|
References
The full definition of the API can be found here: AAIRESTAPI_8.docx. This document includes the conventions used in the Active and Available Inventory REST API reference document.The AAI REST API document. The API documentation generated from the schema (OXM file) can be found here: AAI REST API Specifications. The XSD generated from the schema can be found here: aai_AAI schema_v8.xsd