diff options
author | 2018-01-29 05:27:24 +0000 | |
---|---|---|
committer | 2018-01-29 05:27:24 +0000 | |
commit | a7b24dc03ed066af5fdd441934ef36f380097400 (patch) | |
tree | f185aa5506c0e7904532d3106507f3cef840abe3 | |
parent | e84e8756c794d5a5d8a58bda7df761543fafdd1a (diff) | |
parent | af023cc4309e26c44cd1928be050bb389cb69d02 (diff) |
Merge "Add NS post deal swagger generate logic"
-rw-r--r-- | lcm/ns/serializers.py | 2 | ||||
-rw-r--r-- | lcm/ns/views.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lcm/ns/serializers.py b/lcm/ns/serializers.py index eda3606c..c1a97a5b 100644 --- a/lcm/ns/serializers.py +++ b/lcm/ns/serializers.py @@ -113,5 +113,5 @@ class HealNsReqSerializer(serializers.Serializer): healVnfData = HealVnfDataSerializer(help_text="Data of heal VNF", required=False, allow_null=True) -class InstNsPostDealSerializer(serializers.Serializer): +class InstNsPostDealReqSerializer(serializers.Serializer): status = serializers.CharField(help_text="Status of NS Inst", required=True) diff --git a/lcm/ns/views.py b/lcm/ns/views.py index a5250848..b07f21ef 100644 --- a/lcm/ns/views.py +++ b/lcm/ns/views.py @@ -37,6 +37,7 @@ from lcm.ns.serializers import NsOperateJobSerializer from lcm.ns.serializers import InstantNsReqSerializer from lcm.ns.serializers import TerminateNsReqSerializer from lcm.ns.serializers import HealNsReqSerializer +from lcm.ns.serializers import InstNsPostDealReqSerializer from lcm.pub.exceptions import NSLCMException logger = logging.getLogger(__name__) @@ -230,12 +231,22 @@ class NSDetailView(APIView): class NSInstPostDealView(APIView): + @swagger_auto_schema( + request_body=InstNsPostDealReqSerializer(help_text="NS instant post deal"), + responses={ + status.HTTP_202_ACCEPTED: "NS instant post deal success", + status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" + } + ) def post(self, request, ns_instance_id): logger.debug("Enter NSInstPostDealView::post %s, %s", request.data, ns_instance_id) ns_post_status = ignore_case_get(request.data, 'status') ns_status = 'ACTIVE' if ns_post_status == 'true' else 'FAILED' ns_opr_status = 'success' if ns_post_status == 'true' else 'failed' try: + req_serializer = InstNsPostDealReqSerializer(data=request.data) + if not req_serializer.is_valid(): + raise NSLCMException(req_serializer.errors) NSInstModel.objects.filter(id=ns_instance_id).update(status=ns_status) ServiceBaseInfoModel.objects.filter(service_id=ns_instance_id).update( active_status=ns_status, status=ns_opr_status) |