summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorying.yunlong <ying.yunlong@zte.com.cn>2018-01-30 15:58:33 +0800
committerying.yunlong <ying.yunlong@zte.com.cn>2018-01-30 15:58:33 +0800
commitdb19cf9655cd08338164d859bc2900277e0cc697 (patch)
treeba320d520d485289edbc3447cffbbdfd4365fa17
parent02e801d6f4ae8b5b7780666e87439d0fe88a5bf1 (diff)
Add vfc-vnfres getVnf auto-swagger
Change-Id: I6e77ff0deda5b822c6aabe5569253cb349f85792 Issue-ID: VFC-679 Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
-rw-r--r--res/res/resources/serializers.py6
-rw-r--r--res/res/resources/views.py8
2 files changed, 10 insertions, 4 deletions
diff --git a/res/res/resources/serializers.py b/res/res/resources/serializers.py
index 65d9920..31fb2f4 100644
--- a/res/res/resources/serializers.py
+++ b/res/res/resources/serializers.py
@@ -128,14 +128,12 @@ class instantiatedVnfInfoSerializer(serializers.Serializer):
flavourId = serializers.CharField(help_text="flavour Id", required=True, allow_null=True)
vnfState = serializers.ChoiceField(help_text="vnf State", choices=['STARTED', 'STOPPED'], required=True, allow_null=True)
localizationLanguage = serializers.CharField(help_text="localizationLanguage", required=True, allow_null=True)
- metadata = serializers.CharField(help_text="metadata", required=True, allow_null=True)
- extensions = serializers.CharField(help_text="extensions", required=True, allow_null=True)
scaleStatus = ScaleInfoSerializer(help_text="scaleStatus", many=True)
extCpInfo = extCpInfoSerializer(help_text="extCpInfo", many=True)
extVirtualLink = ExtVirtualLinkInfoSerializer(help_text="extVirtualLink", many=True)
monitoringParameters = monitoringParametersSerializer(help_text="monitoringParameters", allow_null=True)
vmInfo = VmResponseSerializer(help_text="vmInfo", many=True, allow_null=True)
- vimInfo = vimInfoSerializer(help_text="vimInfo", many=True, allow_null=True)
+ vimInfo = vimInfoSerializer(help_text="vimInfo", many=True, required=False, allow_null=True)
vnfcResourceInfo = vnfcResourceInfoSerializer(help_text="vnfcResourceInfo", many=True)
virtualLinkResourceInfo = virtualLinkResourceInfoSerializer(help_text="virtualLinkResourceInfo", many=True)
virtualStorageResourceInfo = virtualStorageResourceInfoSerializer(help_text="virtualStorageResourceInfo", many=True)
@@ -153,6 +151,8 @@ class VnfInfoSerializer(serializers.Serializer):
vnfProductName = serializers.CharField(help_text="vnfProductName", required=False, allow_null=True)
vnfConfigurableProperties = serializers.CharField(help_text="vnfConfigurableProperties", required=False, allow_null=True)
instantiationState = serializers.CharField(help_text="instantiationState", required=False, allow_null=True)
+ extensions = serializers.CharField(help_text="extensions", required=False, allow_null=True)
+ metadata = serializers.CharField(help_text="metadata", required=False, allow_null=True)
instantiatedVnfInfo = instantiatedVnfInfoSerializer(help_text="instantiatedVnfInfo", required=True)
diff --git a/res/res/resources/views.py b/res/res/resources/views.py
index 582a1d4..dc0026a 100644
--- a/res/res/resources/views.py
+++ b/res/res/resources/views.py
@@ -44,7 +44,13 @@ class getVnfs(APIView):
if not vnf_inst:
return Response(data={'error': 'Vnf(%s) does not exist' % vnfInstanceId}, status=status.HTTP_404_NOT_FOUND)
resp_data = fill_resp_data(vnf_inst[0])
- return Response(data=resp_data, status=status.HTTP_200_OK)
+
+ vnfInfoSerializer = VnfInfoSerializer(data=resp_data)
+ isValid = vnfInfoSerializer.is_valid()
+ if not isValid:
+ raise Exception(vnfInfoSerializer.errors)
+
+ return Response(data=vnfInfoSerializer.data, status=status.HTTP_200_OK)
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())