Add GRPC Blueprint Processing API
Change-Id: Id2c31e8db2b5ede6a992d923f695ce1e0e14b450
Issue-ID: CCSDK-799
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
diff --git a/components/model-catalog/api-definition/proto/BluePrintManagement.proto b/components/model-catalog/api-definition/proto/BluePrintManagement.proto
new file mode 100644
index 0000000..55f9466
--- /dev/null
+++ b/components/model-catalog/api-definition/proto/BluePrintManagement.proto
@@ -0,0 +1,56 @@
+syntax = "proto3";
+option java_multiple_files = true;
+package org.onap.ccsdk.apps.controllerblueprints.management.api;
+
+message BluePrintUploadInput {
+ CommonHeader commonHeader = 1;
+ string blueprintName = 2;
+ string blueprintVersion = 3;
+ FileChunk fileChunk = 4;
+}
+
+message FileChunk {
+ bytes chunk = 1;
+}
+
+message BluePrintUploadOutput {
+ CommonHeader commonHeader = 1;
+ Status status = 3;
+}
+
+message BluePrintRemoveInput {
+ CommonHeader commonHeader = 1;
+ string blueprintName = 2;
+ string blueprintVersion = 3;
+}
+
+message BluePrintRemoveOutput {
+ CommonHeader commonHeader = 1;
+ Status status = 3;
+}
+
+message CommonHeader {
+ string timestamp = 1;
+ string originatorId = 23;
+ string requestId = 3;
+ string subRequestId = 4;
+}
+
+message ActionIdentifiers {
+ string blueprintName = 1;
+ string blueprintVersion = 2;
+ string actionName = 3;
+ string mode = 4;
+}
+
+message Status {
+ string timestamp = 1;
+ int32 code = 2;
+ string message = 3;
+ string errorMessage = 4;
+}
+
+service BluePrintManagementService {
+ rpc uploadBlueprint (BluePrintUploadInput) returns (BluePrintUploadOutput);
+ rpc removeBlueprint (BluePrintRemoveInput) returns (BluePrintRemoveOutput);
+}
diff --git a/components/model-catalog/api-definition/proto/BluePrintProcessing.proto b/components/model-catalog/api-definition/proto/BluePrintProcessing.proto
new file mode 100644
index 0000000..8fa4a13
--- /dev/null
+++ b/components/model-catalog/api-definition/proto/BluePrintProcessing.proto
@@ -0,0 +1,49 @@
+syntax = "proto3";
+import "google/protobuf/struct.proto";
+option java_multiple_files = true;
+package org.onap.ccsdk.apps.controllerblueprints.processing.api;
+
+message ExecutionServiceInput {
+ CommonHeader commonHeader = 1;
+ ActionIdentifiers actionIdentifiers = 2;
+ google.protobuf.Struct payload = 3;
+}
+
+message ExecutionServiceOutput {
+ CommonHeader commonHeader = 1;
+ ActionIdentifiers actionIdentifiers = 2;
+ Status status = 3;
+ google.protobuf.Struct payload = 4;
+}
+
+message CommonHeader {
+ string timestamp = 1;
+ string originatorId = 23;
+ string requestId = 3;
+ string subRequestId = 4;
+ Flag flag = 5;
+}
+
+message Flag {
+ bool isForce = 1;
+ int32 ttl = 2;
+}
+
+message ActionIdentifiers {
+ string blueprintName = 1;
+ string blueprintVersion = 2;
+ string actionName = 3;
+ string mode = 4;
+}
+
+message Status {
+ int32 code = 1;
+ string errorMessage = 2;
+ string message = 3;
+ string eventType = 4;
+ string timestamp = 5;
+}
+
+service BluePrintProcessingService {
+ rpc process (ExecutionServiceInput) returns (stream ExecutionServiceOutput);
+}
diff --git a/components/parent/pom.xml b/components/parent/pom.xml
index 5c46208..03656eb 100644
--- a/components/parent/pom.xml
+++ b/components/parent/pom.xml
@@ -35,6 +35,7 @@
<kotlin.maven.version>1.3.10</kotlin.maven.version>
<kotlin.couroutines.version>1.0.1</kotlin.couroutines.version>
<grpc.version>1.16.1</grpc.version>
+ <protobuff.java.utils.version>3.6.1</protobuff.java.utils.version>
<eelf.version>1.0.0</eelf.version>
<guava.version>26.0-jre</guava.version>
<springfox.swagger2.version>2.9.2</springfox.swagger2.version>
@@ -155,6 +156,11 @@
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <version>${protobuff.java.utils.version}</version>
+ </dependency>
<!-- Database -->
@@ -256,6 +262,24 @@
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-kotlin</artifactId>
</dependency>
+ <!-- GRPC Dependencies -->
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ </dependency>
+
</dependencies>
<build>