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 VMIDlistSerializer(serializers.Serializer):
83     VMID = serializers.CharField(
84         help_text="VMID",
85         max_length=255,
86         required=False,
87         allow_null=True)
88     VMName = serializers.CharField(
89         help_text="VMName",
90         max_length=255,
91         required=False,
92         allow_null=True)
93     vimid = serializers.CharField(
94         help_text="vimid",
95         max_length=255,
96         required=False,
97         allow_null=True)
98     tenant = serializers.CharField(
99         help_text="tenant",
100         max_length=255,
101         required=False,
102         allow_null=True)
103
104
105 class NotifyVmlistSerializer(serializers.Serializer):
106     VMNumber = serializers.CharField(
107         help_text="VMNumber",
108         max_length=255,
109         required=False,
110         allow_null=True)
111     vdutype = serializers.CharField(
112         help_text="vdutype",
113         max_length=255,
114         required=False,
115         allow_null=True)
116     VMFlavor = serializers.CharField(
117         help_text="VMFlavor",
118         max_length=255,
119         required=False,
120         allow_null=True)
121     VMIDlist = VMIDlistSerializer(
122         help_text='VMIDlist',
123         required=False,
124         many=True)
125
126
127 class NotifyReqSerializer(serializers.Serializer):
128     nfvoid = serializers.CharField(
129         help_text="nfvoid",
130         max_length=255,
131         required=True,
132         allow_null=True)
133     vnfmid = serializers.CharField(
134         help_text="vnfmid",
135         max_length=255,
136         required=True,
137         allow_null=True)
138     vimid = serializers.CharField(
139         help_text="vimid",
140         max_length=255,
141         required=True,
142         allow_null=True)
143     timestamp = serializers.CharField(
144         help_text="timestamp",
145         max_length=255,
146         required=False,
147         allow_blank=True)
148     vnfinstanceid = serializers.CharField(
149         help_text="vnfinstanceid",
150         max_length=255,
151         required=False,
152         allow_null=True)
153     eventtype = serializers.CharField(
154         help_text="eventtype",
155         max_length=255,
156         required=False,
157         allow_null=True)
158     vmlist = NotifyVmlistSerializer(
159         help_text='vmlist',
160         required=False,
161         many=True)
162     extension = serializers.DictField(
163         help_text="extension",
164         child=serializers.DictField(allow_null=True),
165         required=False,
166         allow_null=True)
167     affectedcp = serializers.ListSerializer(
168         help_text='affectedcp',
169         child=serializers.DictField(allow_null=True),
170         required=False)
171     affectedvirtuallink = serializers.ListSerializer(
172         help_text='affectedvirtuallink',
173         child=serializers.DictField(allow_null=True),
174         required=False)
175
176
177 class ScaleReqSerializer(serializers.Serializer):
178     type = serializers.CharField(
179         help_text="type",
180         max_length=255,
181         required=True,
182         allow_null=True)
183     aspectId = serializers.CharField(
184         help_text="aspectId",
185         max_length=255,
186         required=True,
187         allow_null=True)
188     numberOfSteps = serializers.CharField(
189         help_text="numberOfSteps",
190         max_length=255,
191         required=True,
192         allow_null=True)
193     additionalParam = serializers.DictField(
194         help_text="additionalParam",
195         child=serializers.DictField(allow_null=True),
196         required=False,
197         allow_null=True)
198
199
200 class AffectedvmSerializer(serializers.Serializer):
201     extention = serializers.CharField(
202         help_text="extention",
203         max_length=255,
204         required=True,
205         allow_blank=True)
206     vmid = serializers.CharField(
207         help_text="vmid",
208         max_length=255,
209         required=True,
210         allow_null=True)
211     changtype = serializers.CharField(
212         help_text="changtype",
213         max_length=255,
214         required=True,
215         allow_null=True)
216     vduid = serializers.CharField(
217         help_text="vduid",
218         max_length=255,
219         required=True,
220         allow_null=True)
221     vmname = serializers.CharField(
222         help_text="vmname",
223         max_length=255,
224         required=True,
225         allow_null=True)
226     flavour = serializers.DictField(
227         help_text="flavour",
228         child=serializers.CharField(allow_blank=True),
229         required=False,
230         allow_null=True)
231
232
233 class HealReqSerializer(serializers.Serializer):
234     action = serializers.CharField(
235         help_text="action",
236         max_length=255,
237         required=True,
238         allow_null=False)
239     lifecycleoperation = serializers.CharField(
240         help_text="lifecycleoperation",
241         max_length=255,
242         required=True,
243         allow_null=False)
244     isgrace = serializers.CharField(
245         help_text="isgrace",
246         max_length=255,
247         required=False,
248         allow_null=True)
249     affectedvm = AffectedvmSerializer(
250         help_text='affectedvm',
251         required=True,
252         many=True)
253
254
255 class InstScaleHealRespSerializer(serializers.Serializer):
256     jobId = serializers.CharField(
257         help_text="jobid",
258         max_length=255,
259         required=True,
260         allow_null=True)
261     vnfInstanceId = serializers.CharField(
262         help_text="nfInstanceId",
263         max_length=255,
264         required=True,
265         allow_null=True)