VTP: grpc stub model
[cli.git] / grpc / grpc-stub / src / main / proto / oclip.proto
1 //    Copyright 2018 Huawei Technologies Co., Ltd.
2 //
3 //    Licensed under the Apache License, Version 2.0 (the "License");
4 //    you may not use this file except in compliance with the License.
5 //   You may obtain a copy of the License at
6 //
7 //        http://www.apache.org/licenses/LICENSE-2.0
8 //
9 //    Unless required by applicable law or agreed to in writing, software
10 //    distributed under the License is distributed on an "AS IS" BASIS,
11 //    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 //    See the License for the specific language governing permissions and
13 //    limitations under the License.
14
15  syntax = "proto3";
16
17 option java_package = "org.open.infc.grpc";
18 option java_multiple_files = true;
19 option java_outer_classname = "Oclip";
20
21 package oclip;
22
23 service OpenInterface {
24     rpc invoke(Input) returns (Output) {}
25     rpc remoteCli(Args) returns (Result) {}
26 }
27
28 //Used for java rpc
29 message Input {
30     string requestId = 1;
31     string action = 2;
32     map<string, string> params = 3;
33     map<string, string> options = 4;
34 }
35
36 message Output {
37     bool success = 1;
38     map<string, string> attrs = 2;
39
40     //if backend wants to report back some info like response header
41     map<string, string> addons = 3;
42 }
43
44 //Used for remote CLI
45 message Args{
46     repeated string args = 1;
47     string product = 2;
48 }
49
50 message Result {
51     int32 exitCode = 1;
52     string output = 2;
53 }