1 # Copyright 2018 ZTE Corporation.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 from rest_framework import serializers
17 from catalog.pub.utils.toscaparser.nsdmodel import EtsiNsdInfoModel
18 from catalog.pub.utils.toscaparser.vnfdmodel import EtsiVnfdInfoModel
21 class PostJobRequestSerializer(serializers.Serializer):
22 progress = serializers.CharField(help_text="Job Progress", required=False)
23 desc = serializers.CharField(help_text="Description", required=False)
24 errcode = serializers.CharField(help_text="Error Code", required=False)
27 class JobResponseHistoryListSerializer(serializers.Serializer):
28 status = serializers.CharField(help_text="Status", required=False)
29 progress = serializers.CharField(help_text="Job Progress", required=False)
30 statusDescription = serializers.CharField(
31 help_text="Status Description", required=False)
32 errorCode = serializers.CharField(help_text="Error Code", required=False)
33 responseId = serializers.CharField(help_text="Response Id", required=False)
36 class JobResponseDescriptorSerializer(serializers.Serializer):
37 status = serializers.CharField(help_text="Status", required=False)
38 progress = serializers.CharField(help_text="Job Progress", required=False)
39 statusDescription = serializers.CharField(
40 help_text="Status Description", required=False)
41 errorCode = serializers.CharField(help_text="Error Code", required=False)
42 responseId = serializers.CharField(help_text="Response Id", required=False)
43 responseHistoryList = JobResponseHistoryListSerializer(
44 many=True, help_text="Response History List", required=False)
47 class JobResponseSerializer(serializers.Serializer):
48 jobId = serializers.CharField(
51 responseDescriptor = JobResponseDescriptorSerializer(
52 help_text="Job Response Descriptor", required=False)
55 class PostJobResponseResultSerializer(serializers.Serializer):
56 result = serializers.CharField(help_text="Result", required=True)
57 msg = serializers.CharField(help_text="Message", required=False)
60 class NsPackageDistributeRequestSerializer(serializers.Serializer):
61 csarId = serializers.CharField(help_text="csarId", required=True)
64 class NsPackageInfoSerializer(serializers.Serializer):
65 nsdId = serializers.CharField(help_text="NSD ID", required=True)
66 nsPackageId = serializers.CharField(
67 help_text="NS Package ID", allow_blank=True, required=True)
68 nsdProvider = serializers.CharField(
69 help_text="NSD Provider", allow_blank=True, required=True)
70 nsdVersion = serializers.CharField(help_text="NSD Version", allow_blank=True, required=True)
71 csarName = serializers.CharField(help_text="CSAR name", allow_blank=True, required=True)
72 nsdModel = serializers.CharField(help_text="NSD Model", allow_blank=True, required=True)
73 downloadUrl = serializers.CharField(
74 help_text="URL to download NSD Model", required=True)
77 class NsPackageSerializer(serializers.Serializer):
78 csarId = serializers.CharField(help_text="CSAR ID", required=True)
79 packageInfo = NsPackageInfoSerializer(
80 help_text="NS Package Info", required=True)
83 class NsPackagesSerializer(serializers.ListSerializer):
84 child = NsPackageSerializer()
87 class NfPackageDistributeRequestSerializer(serializers.Serializer):
88 csar_id = serializers.CharField(help_text="CSAR ID", required=True)
89 vimIds = serializers.ListField(
91 child=serializers.CharField(),
93 labVimId = serializers.CharField(
94 help_text="A list of VIM IDs.", required=False)
97 class NfPackageInfoSerializer(serializers.Serializer):
98 vnfdId = serializers.CharField(help_text="VNFD ID", required=True)
99 vnfPackageId = serializers.CharField(
100 help_text="VNF Package ID", required=True)
101 vnfdProvider = serializers.CharField(
102 help_text="VNFD Provider", required=True)
103 vnfdVersion = serializers.CharField(
104 help_text="VNFD Version", required=True)
105 vnfVersion = serializers.CharField(help_text="VNF Version", required=True)
106 csarName = serializers.CharField(help_text="CSAR Name", required=True)
107 vnfdModel = serializers.CharField(help_text="VNFD Model", required=True)
108 downloadUrl = serializers.CharField(
109 help_text="URL to download VNFD Model", required=True)
112 class NfImageInfoSerializer(serializers.Serializer):
113 index = serializers.CharField(
114 help_text="Index of VNF Image",
116 fileName = serializers.CharField(
117 help_text="Image file name", required=True)
118 imageId = serializers.CharField(help_text="Image ID", required=True)
119 vimId = serializers.CharField(help_text="VIM ID", required=True)
120 vimUser = serializers.CharField(help_text="User of VIM", required=True)
121 tenant = serializers.CharField(help_text="Tenant", required=True)
122 status = serializers.CharField(help_text="Status", required=True)
125 class NfPackageSerializer(serializers.Serializer):
126 csarId = serializers.CharField(help_text="CSAR ID", required=True)
127 packageInfo = NfPackageInfoSerializer(
128 help_text="VNF Package Info", required=True)
129 imageInfo = NfImageInfoSerializer(help_text="Image Info", required=False)
132 class NfPackagesSerializer(serializers.ListSerializer):
133 child = NfPackageSerializer(many=True)
136 class PostJobResponseSerializer(serializers.Serializer):
137 jobId = serializers.CharField(help_text="jobId", required=True)
140 class ParseModelRequestSerializer(serializers.Serializer):
141 csarId = serializers.CharField(help_text="CSAR ID", required=True)
142 inputs = serializers.JSONField(help_text="Inputs", required=False)
145 class EtsiNsdInfoModelSerializer(serializers.ModelSerializer):
148 model = EtsiNsdInfoModel
151 class EtsiVnfdInfoModelSerializer(serializers.ModelSerializer):
154 model = EtsiVnfdInfoModel
157 class ParseNSPackageResponseSerializer(serializers.Serializer):
158 model = EtsiNsdInfoModelSerializer(help_text="NSD Model", required=True)
161 class ParseNfPackageResponseSerializer(serializers.Serializer):
162 model = EtsiVnfdInfoModelSerializer(help_text="VNFD Model", required=True)