Modify license header
[vfc/nfvo/catalog.git] / catalog / serializers.py
1 # Copyright 2018 ZTE Corporation.
2 #
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
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
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.
14
15 from rest_framework import serializers
16
17 from catalog.pub.utils.toscaparser.nsdmodel import EtsiNsdInfoModel
18 from catalog.pub.utils.toscaparser.vnfdmodel import EtsiVnfdInfoModel
19
20
21 class JobResponseSerializer(serializers.Serializer):
22     progress = serializers.CharField(help_text="progress", required=False)
23     desc = serializers.CharField(help_text="desc", required=False)
24     errcode = serializers.CharField(help_text="errcode", required=False)
25
26
27 class JobResponseHistoryListSerializer(serializers.Serializer):
28     status = serializers.CharField(help_text="status", required=False)
29     progress = serializers.CharField(help_text="progress", required=False)
30     statusDescription = serializers.CharField(
31         help_text="statusDescription", required=False)
32     errorCode = serializers.CharField(help_text="errcode", required=False)
33     responseId = serializers.CharField(help_text="responseId", required=False)
34
35
36 class JobResponseDescriptorSerializer(serializers.Serializer):
37     status = serializers.CharField(help_text="status", required=False)
38     progress = serializers.CharField(help_text="progress", required=False)
39     statusDescription = serializers.CharField(
40         help_text="statusDescription", required=False)
41     errorCode = serializers.CharField(help_text="errcode", required=False)
42     responseId = serializers.CharField(help_text="responseId", required=False)
43     responseHistoryList = JobResponseHistoryListSerializer(
44         many=True, help_text="responseHistoryList", required=False)
45
46
47 class JobRequestSerializer(serializers.Serializer):
48     jobId = serializers.CharField(
49         help_text="this field is generated from a query_serializer",
50         required=False)
51     responseDescriptor = JobResponseDescriptorSerializer(
52         help_text="this one too!", required=False)
53
54
55 class PostJobResponseResultSerializer(serializers.Serializer):
56     result = serializers.CharField(help_text="result", required=True)
57     msg = serializers.CharField(help_text="msg", required=False)
58
59
60 class NsPackageDistributeRequestSerializer(serializers.Serializer):
61     csarId = serializers.CharField(help_text="csarId", required=True)
62
63
64 class NsPackageInfoSerializer(serializers.Serializer):
65     nsdId = serializers.CharField(help_text="csarId", required=True)
66     nsPackageId = serializers.CharField(help_text="csarId", required=True)
67     nsdProvider = serializers.CharField(help_text="csarId", required=True)
68     nsdVersion = serializers.CharField(help_text="csarId", required=True)
69     csarName = serializers.CharField(help_text="csarId", required=True)
70     nsdModel = serializers.CharField(help_text="csarId", required=True)
71     downloadUrl = serializers.CharField(help_text="csarId", required=True)
72
73
74 class NsPackageSerializer(serializers.Serializer):
75     csarId = serializers.CharField(help_text="csarId", required=True)
76     package_info = NsPackageInfoSerializer(
77         help_text="package_info", required=True)
78
79
80 class NsPackagesSerializer(serializers.ListSerializer):
81     child = NsPackageSerializer(many=True)
82
83
84 class NfPackageDistributeRequestSerializer(serializers.Serializer):
85     csar_id = serializers.CharField(help_text="csarId", required=True)
86     vim_ids = serializers.ListField(
87         help_text="vim_ids",
88         child=serializers.CharField(),
89         required=False)
90     lab_vim_id = serializers.CharField(help_text="lab_vim_id", required=False)
91
92
93 class NfPackageInfoSerializer(serializers.Serializer):
94     vnfdId = serializers.CharField(required=True)
95     vnfPackageId = serializers.CharField(required=True)
96     vnfdProvider = serializers.CharField(required=True)
97     vnfdVersion = serializers.CharField(required=True)
98     vnfVersion = serializers.CharField(required=True)
99     csarName = serializers.CharField(required=True)
100     vnfdModel = serializers.CharField(required=True)
101     downloadUrl = serializers.CharField(required=True)
102
103
104 class NfImageInfoSerializer(serializers.Serializer):
105     index = serializers.CharField(required=True)
106     fileName = serializers.CharField(required=True)
107     imageId = serializers.CharField(required=True)
108     vimId = serializers.CharField(required=True)
109     vimUser = serializers.CharField(required=True)
110     tenant = serializers.CharField(required=True)
111     status = serializers.CharField(required=True)
112
113
114 class NfPackageSerializer(serializers.Serializer):
115     csarId = serializers.CharField(help_text="csarId", required=True)
116     packageInfo = NfPackageInfoSerializer(
117         help_text="packageInfo", required=True)
118     imageInfo = NfImageInfoSerializer(help_text="imageInfo", required=False)
119
120
121 class NfPackagesSerializer(serializers.ListSerializer):
122     child = NfPackageSerializer(many=True)
123
124
125 class PostJobResponseSerializer(serializers.Serializer):
126     jobId = serializers.CharField(help_text="jobId", required=True)
127
128
129 class ParseModelRequestSerializer(serializers.Serializer):
130     csarId = serializers.CharField(help_text="csarId", required=True)
131     inputs = serializers.JSONField(help_text="inputs", required=False)
132
133
134 class EtsiNsdInfoModelSerializer(serializers.ModelSerializer):
135
136     class Meta:
137         model = EtsiNsdInfoModel
138
139
140 class EtsiVnfdInfoModelSerializer(serializers.ModelSerializer):
141
142     class Meta:
143         model = EtsiVnfdInfoModel
144
145
146 class ParseNSPackageResponseSerializer(serializers.Serializer):
147     model = EtsiNsdInfoModelSerializer(help_text="model", required=True)
148
149
150 class ParseNfPackageResponseSerializer(serializers.Serializer):
151     model = EtsiVnfdInfoModelSerializer(help_text="model", required=True)