X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fviews%2Flcm_op_occs_view.py;h=de1653176522ccf75b3d7f4d66b6b9c87208fe4a;hb=8f59e8d4426a11ea3f2a16d0c0479786fd02a027;hp=c49b64c149a1de03f8e5e11425415c2e7d05f4f4;hpb=5b075b9740c4d57e219df38ae4fb7446fbdf5833;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/views/lcm_op_occs_view.py b/lcm/lcm/nf/views/lcm_op_occs_view.py index c49b64c1..de165317 100644 --- a/lcm/lcm/nf/views/lcm_op_occs_view.py +++ b/lcm/lcm/nf/views/lcm_op_occs_view.py @@ -22,6 +22,7 @@ from rest_framework.views import APIView from lcm.nf.biz.query_vnf_lcm_op_occ import QueryVnfLcmOpOcc from lcm.nf.serializers.response import ProblemDetailsSerializer +from lcm.nf.serializers.vnf_lcm_op_occ import VNFLCMOpOccSerializer from lcm.nf.serializers.vnf_lcm_op_occs import VNFLCMOpOccsSerializer from lcm.pub.exceptions import NFLCMException @@ -80,3 +81,31 @@ class QueryMultiVnfLcmOpOccs(APIView): logger.error(traceback.format_exc()) problem_details_serializer = get_problem_details_serializer(status.HTTP_500_INTERNAL_SERVER_ERROR, e.message) return Response(data=problem_details_serializer.data, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + +class QuerySingleVnfLcmOpOcc(APIView): + @swagger_auto_schema( + responses={ + status.HTTP_200_OK: VNFLCMOpOccSerializer(), + status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer() + } + ) + def get(self, request, lcmopoccid): + logger.debug("QuerySingleVnfLcmOpOcc--get::> %s" % request.query_params) + try: + resp_data = QueryVnfLcmOpOcc(request.query_params, lcm_op_occ_id=lcmopoccid).query_single_vnf_lcm_op_occ() + + vnf_lcm_op_occ_serializer = VNFLCMOpOccSerializer(data=resp_data) + if not vnf_lcm_op_occ_serializer.is_valid(): + raise NFLCMException(vnf_lcm_op_occ_serializer.errors) + + return Response(data=vnf_lcm_op_occ_serializer.data, status=status.HTTP_200_OK) + except NFLCMException as e: + logger.error(e.message) + problem_details_serializer = get_problem_details_serializer(status.HTTP_500_INTERNAL_SERVER_ERROR, e.message) + return Response(data=problem_details_serializer.data, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + except Exception as e: + logger.error(e.message) + logger.error(traceback.format_exc()) + problem_details_serializer = get_problem_details_serializer(status.HTTP_500_INTERNAL_SERVER_ERROR, e.message) + return Response(data=problem_details_serializer.data, status=status.HTTP_500_INTERNAL_SERVER_ERROR)