Add query vim swagger generate logic 49/30949/2
authorfujinhua <fu.jinhua@zte.com.cn>
Fri, 9 Feb 2018 01:21:04 +0000 (09:21 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Fri, 9 Feb 2018 01:52:12 +0000 (09:52 +0800)
Change-Id: I880a972db453f17c6655e64bb4b9979a74057f91
Issue-ID: VFC-714
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/ns/vnfs/serializers.py
lcm/ns/vnfs/views.py
lcm/pub/msapi/extsys.py

index ec3ab16..7a74b16 100644 (file)
@@ -210,8 +210,8 @@ class VimInfoRespSerializer(serializers.Serializer):
     url = serializers.CharField(help_text="Url of VIM", required=True)
     userName = serializers.CharField(help_text="User Name of VIM", required=True)
     password = serializers.CharField(help_text="Password of VIM", required=True)
-    tenantId = serializers.CharField(help_text="Tenant ID of VIM", required=True)
-    tenant = serializers.CharField(help_text="Default Tenant of VIM", required=True)
+    tenantId = serializers.CharField(help_text="Tenant ID of VIM", required=False, allow_null=True, allow_blank=True)
+    tenant = serializers.CharField(help_text="Default Tenant of VIM", required=False, allow_null=True, allow_blank=True)
     vendor = serializers.CharField(help_text="Vendor of VIM", required=False, allow_null=True, allow_blank=True)
     version = serializers.CharField(help_text="Version of VIM", required=False, allow_null=True, allow_blank=True)
     description = serializers.CharField(help_text="Description of VIM", required=False, allow_null=True, allow_blank=True)
@@ -220,4 +220,4 @@ class VimInfoRespSerializer(serializers.Serializer):
     createTime = serializers.CharField(help_text="Create Time of VIM", required=False, allow_null=True, allow_blank=True)
     sslCacert = serializers.CharField(help_text="SSL Cacert of VIM", required=False, allow_null=True, allow_blank=True)
     sslInsecure = serializers.CharField(help_text="SSL Insecure of VIM", required=False, allow_null=True, allow_blank=True)
-    status = serializers.CharField(help_text="Status of VIM", required=True)
+    status = serializers.CharField(help_text="Status of VIM", required=False, allow_null=True, allow_blank=True)
index a959d7e..59762e6 100644 (file)
@@ -45,6 +45,7 @@ from lcm.ns.vnfs.serializers import ScaleVnfRespSerializer
 from lcm.ns.vnfs.serializers import VerifyVnfReqSerializer
 from lcm.ns.vnfs.serializers import VerifyVnfRespSerializer
 from lcm.ns.vnfs.serializers import VnfmInfoRespSerializer
+from lcm.ns.vnfs.serializers import VimInfoRespSerializer
 
 logger = logging.getLogger(__name__)
 
@@ -278,10 +279,22 @@ class NfVnfmInfoView(APIView):
 
 
 class NfVimInfoView(APIView):
+    @swagger_auto_schema(
+        request_body=None,
+        responses={
+            status.HTTP_200_OK: VimInfoRespSerializer(),
+            status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
+        }
+    )
     def get(self, request, vimid):
         logger.debug("NfVimInfoView--get::> %s" % vimid)
         try:
             vim_info = get_vim_by_id(vimid)
+
+            resp_serializer = VimInfoRespSerializer(data=vim_info)
+            if not resp_serializer.is_valid():
+                raise Exception(resp_serializer.errors)
+
         except NSLCMException as e:
             logger.error(e.message)
             return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
index e7f83d6..65b7d03 100644 (file)
@@ -86,7 +86,7 @@ def convert_vim_info(vim_info_aai):
         "type": ignore_case_get(esr_system_info[0], "type"),
         "createTime": "",
         "sslCacert": ignore_case_get(esr_system_info[0], "ssl-cacert"),
-        "sslInsecure": ignore_case_get(esr_system_info[0], "ssl-insecure"),
+        "sslInsecure": str(ignore_case_get(esr_system_info[0], "ssl-insecure")),
         "status": ignore_case_get(esr_system_info[0], "system-status")
     }
     return vim_info