Add support for cba enrich, publish, draft, remove
[ccsdk/cds.git] / components / model-catalog / proto-definition / proto / BluePrintManagement.proto
index 3349443..2e0693c 100644 (file)
@@ -1,29 +1,62 @@
 syntax = "proto3";
+import "google/protobuf/struct.proto";
 import "BluePrintCommon.proto";
 option java_multiple_files = true;
 package org.onap.ccsdk.cds.controllerblueprints.management.api;
 
 message BluePrintUploadInput {
-  org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
-  FileChunk fileChunk = 2;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
+    FileChunk fileChunk = 2;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers actionIdentifiers = 3;
+    // Extra optional dynamic properties used during upload.
+    google.protobuf.Struct properties = 4;
+}
+
+message BluePrintDownloadInput {
+    org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers actionIdentifiers = 2;
+    // Extra optional dynamic properties used to download.
+    google.protobuf.Struct properties = 3;
 }
 
 message BluePrintRemoveInput {
-  org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
-  string blueprintName = 2;
-  string blueprintVersion = 3;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
+    string blueprintName = 2;
+    string blueprintVersion = 3;
 }
 
 message BluePrintManagementOutput {
-  org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
-  org.onap.ccsdk.cds.controllerblueprints.common.api.Status status = 3;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
+    // Optional file chunk sent back to the client for Enrich and Download this is mandatory.
+    FileChunk fileChunk = 2;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.Status status = 3;
+    // Extra optional dynamic properties.
+    google.protobuf.Struct properties = 4;
 }
 
 message FileChunk {
-  bytes chunk = 1;
+    bytes chunk = 1;
+}
+// Values used in BluePrintDownloadInput/actionIdentifiers/action
+enum DownloadAction {
+    // Default is SEARCH the cba and download the cba
+    SEARCH = 0;
+    // Download the starter cba with corresponding property options
+    STARTER = 1;
+    // clone cba with corresponding property options
+    CLONE = 2;
+}
+
+enum UploadAction {
+    // Default is DRAFT
+    DRAFT = 0;
+    ENRICH = 1;
+    VALIDATE = 2;
+    PUBLISH = 3;
 }
 
 service BluePrintManagementService {
-  rpc uploadBlueprint (BluePrintUploadInput) returns (BluePrintManagementOutput);
-  rpc removeBlueprint (BluePrintRemoveInput) returns (BluePrintManagementOutput);
+    rpc downloadBlueprint (BluePrintDownloadInput) returns (BluePrintManagementOutput);
+    rpc uploadBlueprint (BluePrintUploadInput) returns (BluePrintManagementOutput);
+    rpc removeBlueprint (BluePrintRemoveInput) returns (BluePrintManagementOutput);
 }