diff options
-rw-r--r-- | lcm/ns/vnfs/views.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lcm/ns/vnfs/views.py b/lcm/ns/vnfs/views.py index 45d46f42..0479d1a0 100644 --- a/lcm/ns/vnfs/views.py +++ b/lcm/ns/vnfs/views.py @@ -40,6 +40,8 @@ from lcm.ns.vnfs.serializers import TerminateVnfRespSerializer from lcm.ns.vnfs.serializers import GrantVnfReqSerializer from lcm.ns.vnfs.serializers import GrantVnfRespSerializer from lcm.ns.vnfs.serializers import NotifyLcmReqSerializer +from lcm.ns.vnfs.serializers import ScaleVnfReqSerializer +from lcm.ns.vnfs.serializers import ScaleVnfRespSerializer logger = logging.getLogger(__name__) @@ -195,10 +197,20 @@ class LcmNotify(APIView): class NfScaleView(APIView): - def post(self, request_paras, vnfinstid): - logger.debug("NfScaleView--post::> %s" % request_paras.data) + @swagger_auto_schema( + request_body=ScaleVnfReqSerializer(), + responses={ + status.HTTP_202_ACCEPTED: ScaleVnfRespSerializer(), + status.HTTP_409_CONFLICT: "Inner error" + } + ) + def post(self, request, vnfinstid): + logger.debug("NfScaleView--post::> %s" % request.data) try: - NFManualScaleService(vnfinstid, request_paras.data).start() + req_serializer = ScaleVnfReqSerializer(data=request.data) + if not req_serializer.is_valid(): + raise Exception(req_serializer.errors) + NFManualScaleService(vnfinstid, request.data).start() return Response(data={}, status=status.HTTP_202_ACCEPTED) except Exception as e: logger.error(e.message) |