Add vfc-ztevnfmdriver grant schema
[vfc/nfvo/driver/vnfm/svnfm.git] / zte / vmanager / driver / interfaces / 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
18 class GrantVmlistSerializer(serializers.Serializer):
19     VMNumber = serializers.CharField(
20         help_text="VMNumber",
21         max_length=255,
22         required=False,
23         allow_null=True)
24     VMFlavor = serializers.CharField(
25         help_text="VMFlavor",
26         max_length=255,
27         required=False,
28         allow_null=True)
29     vimid = serializers.CharField(
30         help_text="vimid",
31         max_length=255,
32         required=True,
33         allow_null=True)
34     tenant = serializers.CharField(
35         help_text="tenant",
36         max_length=255,
37         required=False,
38         allow_blank=True)
39
40
41 class GrantReqSerializer(serializers.Serializer):
42     nfvoid = serializers.CharField(
43         help_text="nfvoid",
44         max_length=255,
45         required=True,
46         allow_null=True)
47     vnfmid = serializers.CharField(
48         help_text="vnfmid",
49         max_length=255,
50         required=True,
51         allow_null=True)
52     vimid = serializers.CharField(
53         help_text="vimid",
54         max_length=255,
55         required=True,
56         allow_null=True)
57     tenant = serializers.CharField(
58         help_text="tenant",
59         max_length=255,
60         required=False,
61         allow_blank=True)
62     vnfinstanceid = serializers.CharField(
63         help_text="vnfinstanceid",
64         max_length=255,
65         required=False,
66         allow_null=True)
67     operationright = serializers.CharField(
68         help_text="operationright",
69         max_length=255,
70         required=False,
71         allow_null=True)
72     vmlist = GrantVmlistSerializer(
73         help_text='vmlist',
74         required=False,
75         many=True)
76     exvimidlist = serializers.ListSerializer(
77         help_text='exvimidlist',
78         child=serializers.CharField(allow_null=True),
79         required=False)
80
81
82 class GrantRespSerializer(serializers.Serializer):
83     vimid = serializers.CharField(
84         help_text="vimid",
85         max_length=255,
86         required=True,
87         allow_null=True)
88     tenant = serializers.CharField(
89         help_text="tenant",
90         max_length=255,
91         required=True,
92         allow_null=True)
93
94
95 class VMIDlistSerializer(serializers.Serializer):
96     VMID = serializers.CharField(
97         help_text="VMID",
98         max_length=255,
99         required=False,
100         allow_null=True)
101     VMName = serializers.CharField(
102         help_text="VMName",
103         max_length=255,
104         required=False,
105         allow_null=True)
106     vimid = serializers.CharField(
107         help_text="vimid",
108         max_length=255,
109         required=False,
110         allow_null=True)
111     tenant = serializers.CharField(
112         help_text="tenant",
113         max_length=255,
114         required=False,
115         allow_null=True)
116
117
118 class NotifyVmlistSerializer(serializers.Serializer):
119     VMNumber = serializers.CharField(
120         help_text="VMNumber",
121         max_length=255,
122         required=False,
123         allow_null=True)
124     vdutype = serializers.CharField(
125         help_text="vdutype",
126         max_length=255,
127         required=False,
128         allow_null=True)
129     VMFlavor = serializers.CharField(
130         help_text="VMFlavor",
131         max_length=255,
132         required=False,
133         allow_null=True)
134     VMIDlist = VMIDlistSerializer(
135         help_text='VMIDlist',
136         required=False,
137         many=True)
138
139
140 class NotifyReqSerializer(serializers.Serializer):
141     nfvoid = serializers.CharField(
142         help_text="nfvoid",
143         max_length=255,
144         required=True,
145         allow_null=True)
146     vnfmid = serializers.CharField(
147         help_text="vnfmid",
148         max_length=255,
149         required=True,
150         allow_null=True)
151     vimid = serializers.CharField(
152         help_text="vimid",
153         max_length=255,
154         required=True,
155         allow_null=True)
156     timestamp = serializers.CharField(
157         help_text="timestamp",
158         max_length=255,
159         required=False,
160         allow_blank=True)
161     vnfinstanceid = serializers.CharField(
162         help_text="vnfinstanceid",
163         max_length=255,
164         required=False,
165         allow_null=True)
166     eventtype = serializers.CharField(
167         help_text="eventtype",
168         max_length=255,
169         required=False,
170         allow_null=True)
171     vmlist = NotifyVmlistSerializer(
172         help_text='vmlist',
173         required=False,
174         many=True)
175     extension = serializers.DictField(
176         help_text="extension",
177         child=serializers.DictField(allow_null=True),
178         required=False,
179         allow_null=True)
180     affectedcp = serializers.ListSerializer(
181         help_text='affectedcp',
182         child=serializers.DictField(allow_null=True),
183         required=False)
184     affectedvirtuallink = serializers.ListSerializer(
185         help_text='affectedvirtuallink',
186         child=serializers.DictField(allow_null=True),
187         required=False)
188
189
190 class ScaleReqSerializer(serializers.Serializer):
191     type = serializers.CharField(
192         help_text="type",
193         max_length=255,
194         required=True,
195         allow_null=True)
196     aspectId = serializers.CharField(
197         help_text="aspectId",
198         max_length=255,
199         required=True,
200         allow_null=True)
201     numberOfSteps = serializers.CharField(
202         help_text="numberOfSteps",
203         max_length=255,
204         required=True,
205         allow_null=True)
206     additionalParam = serializers.DictField(
207         help_text="additionalParam",
208         child=serializers.DictField(allow_null=True),
209         required=False,
210         allow_null=True)
211
212
213 class AffectedvmSerializer(serializers.Serializer):
214     extention = serializers.CharField(
215         help_text="extention",
216         max_length=255,
217         required=True,
218         allow_blank=True)
219     vmid = serializers.CharField(
220         help_text="vmid",
221         max_length=255,
222         required=True,
223         allow_null=True)
224     changtype = serializers.CharField(
225         help_text="changtype",
226         max_length=255,
227         required=True,
228         allow_null=True)
229     vduid = serializers.CharField(
230         help_text="vduid",
231         max_length=255,
232         required=True,
233         allow_null=True)
234     vmname = serializers.CharField(
235         help_text="vmname",
236         max_length=255,
237         required=True,
238         allow_null=True)
239     flavour = serializers.DictField(
240         help_text="flavour",
241         child=serializers.CharField(allow_blank=True),
242         required=False,
243         allow_null=True)
244
245
246 class HealReqSerializer(serializers.Serializer):
247     action = serializers.CharField(
248         help_text="action",
249         max_length=255,
250         required=True,
251         allow_null=False)
252     lifecycleoperation = serializers.CharField(
253         help_text="lifecycleoperation",
254         max_length=255,
255         required=True,
256         allow_null=False)
257     isgrace = serializers.CharField(
258         help_text="isgrace",
259         max_length=255,
260         required=False,
261         allow_null=True)
262     affectedvm = AffectedvmSerializer(
263         help_text='affectedvm',
264         required=True,
265         many=True)
266
267
268 class InstScaleHealRespSerializer(serializers.Serializer):
269     jobId = serializers.CharField(
270         help_text="jobid",
271         max_length=255,
272         required=True,
273         allow_null=True)
274     vnfInstanceId = serializers.CharField(
275         help_text="nfInstanceId",
276         max_length=255,
277         required=True,
278         allow_null=True)