summaryrefslogtreecommitdiffstats
path: root/components/model-catalog
diff options
context:
space:
mode:
Diffstat (limited to 'components/model-catalog')
-rw-r--r--components/model-catalog/proto-definition/proto/CommandExecutor.proto31
1 files changed, 31 insertions, 0 deletions
diff --git a/components/model-catalog/proto-definition/proto/CommandExecutor.proto b/components/model-catalog/proto-definition/proto/CommandExecutor.proto
index bad6a01c3..752dd8031 100644
--- a/components/model-catalog/proto-definition/proto/CommandExecutor.proto
+++ b/components/model-catalog/proto-definition/proto/CommandExecutor.proto
@@ -21,6 +21,29 @@ message ExecutionInput {
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 {
Identifiers identifiers = 1;
string requestId = 2;
@@ -37,8 +60,12 @@ message PrepareEnvInput {
message Identifiers {
string blueprintName = 1;
string blueprintVersion = 2;
+ string blueprintUUID = 3;
}
+// TODO: need to rething whether we want to include subrequest/correlationID/etc to be consistent
+// or drop requestId as it would be returned back to the context where these values are already known.
+// and we may just be concerned with the response/status
message ExecutionOutput {
string requestId = 1;
repeated string response = 2;
@@ -64,6 +91,10 @@ enum PackageType {
}
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);
}