Add CommandExecutor handler
[ccsdk/cds.git] / ms / command-executor / src / main / python / utils.py
1 #
2 # Copyright (C) 2019 Bell Canada.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 from builtins import map, bytes
17
18 from google.protobuf.timestamp_pb2 import Timestamp
19
20 import proto.CommandExecutor_pb2 as CommandExecutor_pb2
21
22
23 def get_blueprint_id(request):
24     blueprint_name = request.identifiers.blueprintName
25     blueprint_version = request.identifiers.blueprintVersion
26     return blueprint_name + '/' + blueprint_version
27
28
29 def build_response(request, results, is_success=True):
30     if is_success:
31         status = CommandExecutor_pb2.SUCCESS
32     else:
33         status = CommandExecutor_pb2.FAILURE
34
35     timestamp = Timestamp()
36     timestamp.GetCurrentTime()
37
38     return CommandExecutor_pb2.ExecutionOutput(requestId=request.requestId, response="".join(results), status=status,
39                                                timestamp=timestamp)