Merge "Add command executor proto"
authorDan Timoney <dtimoney@att.com>
Thu, 18 Apr 2019 00:47:30 +0000 (00:47 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 18 Apr 2019 00:47:30 +0000 (00:47 +0000)
components/model-catalog/proto-definition/proto/CommandExecutor.proto [new file with mode: 0644]

diff --git a/components/model-catalog/proto-definition/proto/CommandExecutor.proto b/components/model-catalog/proto-definition/proto/CommandExecutor.proto
new file mode 100644 (file)
index 0000000..e95e555
--- /dev/null
@@ -0,0 +1,59 @@
+syntax = "proto3";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+option java_multiple_files = true;
+package org.onap.ccsdk.cds.controllerblueprints.command.api;
+
+message ExecutionInput {
+    string requestId = 1;
+    // Optional Blueprint Information used to identify CBA content information in shared file structure environment.
+    Identifiers identifiers = 2;
+    ScriptType scriptType = 3;
+    // Actual Command to Execute in Scripting Environment
+    string command = 4;
+    int32 timeOut = 5;
+    // Extra Dynamic Properties for Command processing in JSON format
+    google.protobuf.Struct properties = 6;
+    // Request Time Stamp
+    google.protobuf.Timestamp timestamp = 7;
+}
+
+message PrepareEnvInput {
+    Identifiers identifiers = 1;
+    // Optional Id used to correlate multiple requests so that it can identify previous request information.
+    string correlationId = 2;
+    ScriptType scriptType = 3;
+    repeated string packages = 4;
+    int32 timeOut = 5;
+    google.protobuf.Struct properties = 6;
+    google.protobuf.Timestamp timestamp = 7;
+}
+
+message Identifiers {
+    string blueprintName = 1;
+    string blueprintVersion = 2;
+}
+
+message ExecutionOutput {
+    string requestId = 1;
+    string response = 2;
+    ResponseStatus status = 3;
+    google.protobuf.Timestamp timestamp = 4;
+}
+
+enum ResponseStatus {
+    SUCCESS = 0;
+    FAILURE = 1;
+}
+
+enum ScriptType {
+    PYTHON = 0;
+    ANSIBLE = 1;
+    KOTLIN = 2;
+    SH = 3;
+}
+
+service CommandExecutorService {
+    rpc prepareEnv (PrepareEnvInput) returns (ExecutionOutput);
+    rpc executeCommand (ExecutionInput) returns (ExecutionOutput);
+}