add catalog API doc 31/731/1
authorSerban Jora <sj2381@att.com>
Fri, 2 Feb 2018 16:55:55 +0000 (11:55 -0500)
committerSerban Jora <sj2381@att.com>
Fri, 2 Feb 2018 16:56:55 +0000 (11:56 -0500)
Change-Id: I22f51be9367c50e5b13a46919d52aecfc8d9f4c8
Signed-off-by: Serban Jora <sj2381@att.com>
docs/federated-gateway.rst

index b928840..ba74aad 100644 (file)
@@ -17,7 +17,7 @@ Use below maven command to build and package the gateway service into a single j
 Development and Local Testing
 -----------------------------
 
-This section provides information for developing and testing the Fedrated Gateway locally. We will run two instances of the gateway to depict 2 instance of acumos federated to each other.
+This section provides information for developing and testing the federaton gateway locally. We will run two instances of the gateway to depict 2 instance of acumos federated to each other.
 In below scenario, we are going to run Acumos A and Acumos B for testing locally.
 
 Launching
@@ -27,4 +27,44 @@ Start the microservice for development and testing like this::
 
        java -Djavax.net.ssl.trustStore=src/test/resources/acumosTrustStore.jks -Djavax.net.ssl.trustStorePassword=acumos -jar target/federated-gateway-1.0.0-SNAPSHOT.jar --spring.profiles.active="default,acumosa" 
 
-       java -Djavax.net.ssl.trustStore=src/test/resources/acumosTrustStore.jks -Djavax.net.ssl.trustStorePassword=acumos -jar target/federated-gateway-1.0.0-SNAPSHOT.jar --spring.profiles.active="default,acumosb"
\ No newline at end of file
+       java -Djavax.net.ssl.trustStore=src/test/resources/acumosTrustStore.jks -Djavax.net.ssl.trustStorePassword=acumos -jar target/federated-gateway-1.0.0-SNAPSHOT.jar --spring.profiles.active="default,acumosb"
+
+REST interface
+--------------
+
+The federation interface allows access via the federation gateway to informationavailable in an Acumos system. The main category of information that is exposed via the gateway is solution information: solution/revision/artifact and artifact content.
+The federation gateway allows access from pre-registered peers via a REST interface running over HTTPS/SSL/TLS. The gateway requires mutual authentication, i.e. the client will be required to present a certificate. The gateway identifies a client as a pre-registered peer based on the certificates' subjectName (which implies that the subjectName must be communicated to the Acumos system administrator when the peer is provisioned).
+
+API
+~~~
+
+All APIs encode the response in JSON. There is a top level envelope containing error information, and under the entry 'responseBody' it contains the actual content. All identifiers are UUIDs.
+
+* /solutions
+   List all public solutions. Accepts a query parameter, 'selector', which contains a JSON object with selection criteria, base64 encoded. Acceptable selection criteria are the solution object attributes. The entries are ANDed.
+
+* /solutions/{solutionId}
+  Retrieve one solution details.
+
+* /solutions/{solutionId}/revisions
+  List all revisions for a given solution.
+
+* /solutions/{solutionId}/revisions/{revisionId}
+  Retrieve one revision details
+
+* /solutions/{solutionId}/revisions/{revisionId}/artifacts
+  List all artifacts attached to a particular revision
+
+* /artifacts/{artifactId}
+  Retrieve one artifact details
+
+* /artifacts/{artifactId}/download
+  Download the artifact content.
+
+Example of solutions selector:
+
+ { "modelTypeCode":"CL" } will select all CLassifiers
+
+Multiple values for a solution attribute are allowed and ORed
+
+ { "modelTypeCode":["CL","PR"] } will select all CLassifiers and PRedictors