Fix: Run both sonar and clm scans in parallel
[ccsdk/cds.git] / components / model-catalog / proto-definition / proto / CommandExecutor.proto
index fd2d4f3..22aeacb 100644 (file)
@@ -17,6 +17,31 @@ message ExecutionInput {
     google.protobuf.Struct properties = 6;
     // Request Time Stamp
     google.protobuf.Timestamp timestamp = 7;
+    string subRequestId = 8;
+    string originatorId = 9;
+}
+
+// If a new version of blueprint (new UUID in DB) needs to be uploaded, then pass in the raw bytes data
+// properties should specify 'file_format' as either 'gzip' or 'zip'
+// TODO: archiveTYPE: should be enum {"CBA_ZIP", "CBA_GZIP"}
+message UploadBlueprintInput {
+    Identifiers identifiers = 1;
+    string requestId = 2;
+    string subRequestId = 3;
+    string originatorId = 4;
+    string correlationId = 5;
+    int32 timeOut = 6;
+    string archiveType = 7;
+    google.protobuf.Timestamp timestamp = 8;
+    bytes binData = 9;
+}
+
+message UploadBlueprintOutput {
+   string requestId = 1;
+   string subRequestId = 2;
+   ResponseStatus status = 3;
+   google.protobuf.Timestamp timestamp = 4;
+   string payload = 5;
 }
 
 message PrepareEnvInput {
@@ -28,11 +53,14 @@ message PrepareEnvInput {
     int32 timeOut = 5;
     google.protobuf.Struct properties = 6;
     google.protobuf.Timestamp timestamp = 7;
+    string subRequestId = 8;
+    string originatorId = 9;
 }
 
 message Identifiers {
     string blueprintName = 1;
     string blueprintVersion = 2;
+    string blueprintUUID = 3;
 }
 
 message ExecutionOutput {
@@ -40,6 +68,8 @@ message ExecutionOutput {
     repeated string response = 2;
     ResponseStatus status = 3;
     google.protobuf.Timestamp timestamp = 4;
+    string payload = 5;
+    string errMsg = 6;
 }
 
 enum ResponseStatus {
@@ -55,9 +85,14 @@ message Packages {
 enum PackageType {
     pip = 0;
     ansible_galaxy = 1;
+    utilities = 2;
 }
 
 service CommandExecutorService {
+    // rpc to upload the CBA
+    rpc uploadBlueprint (UploadBlueprintInput) returns (UploadBlueprintOutput);
+    // prepare Python environment
     rpc prepareEnv (PrepareEnvInput) returns (ExecutionOutput);
+    // execute the actual command.
     rpc executeCommand (ExecutionInput) returns (ExecutionOutput);
 }