2 import "google/protobuf/struct.proto";
3 import "google/protobuf/timestamp.proto";
4 option java_multiple_files = true;
5 package org.onap.ccsdk.cds.controllerblueprints.command.api;
7 message ExecutionInput {
9 // Optional Id used to correlate multiple requests so that it can identify previous request information.
10 string correlationId = 2;
11 // Optional Blueprint Information used to identify CBA content information in shared file structure environment.
12 Identifiers identifiers = 3;
13 // Actual Command to Execute in Scripting Environment
16 // Extra Dynamic Properties for Command processing in JSON format
17 google.protobuf.Struct properties = 6;
19 google.protobuf.Timestamp timestamp = 7;
20 string subRequestId = 8;
21 string originatorId = 9;
24 // If a new version of blueprint (new UUID in DB) needs to be uploaded, then pass in the raw bytes data
25 // properties should specify 'file_format' as either 'gzip' or 'zip'
26 // TODO: archiveTYPE: should be enum {"CBA_ZIP", "CBA_GZIP"}
27 message UploadBlueprintInput {
28 Identifiers identifiers = 1;
30 string subRequestId = 3;
31 string originatorId = 4;
32 string correlationId = 5;
34 string archiveType = 7;
35 google.protobuf.Timestamp timestamp = 8;
39 message UploadBlueprintOutput {
41 string subRequestId = 2;
42 ResponseStatus status = 3;
43 google.protobuf.Timestamp timestamp = 4;
47 message PrepareEnvInput {
48 Identifiers identifiers = 1;
50 // Optional Id used to correlate multiple requests so that it can identify previous request information.
51 string correlationId = 3;
52 repeated Packages packages = 4;
54 google.protobuf.Struct properties = 6;
55 google.protobuf.Timestamp timestamp = 7;
56 string subRequestId = 8;
57 string originatorId = 9;
61 string blueprintName = 1;
62 string blueprintVersion = 2;
63 string blueprintUUID = 3;
66 message ExecutionOutput {
68 repeated string response = 2;
69 ResponseStatus status = 3;
70 google.protobuf.Timestamp timestamp = 4;
82 repeated string package = 2;
91 service CommandExecutorService {
92 // rpc to upload the CBA
93 rpc uploadBlueprint (UploadBlueprintInput) returns (UploadBlueprintOutput);
94 // prepare Python environment
95 rpc prepareEnv (PrepareEnvInput) returns (ExecutionOutput);
96 // execute the actual command.
97 rpc executeCommand (ExecutionInput) returns (ExecutionOutput);