Update vfc-vnfmgr serializer schema
[vfc/gvnfm/vnfmgr.git] / mgr / mgr / vnfreg / 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 VnfInfoSerializer(serializers.Serializer):
19     vnfInstId = serializers.CharField(
20         help_text="the instance id of vnf",
21         required=True,
22         max_length=200,
23         allow_null=True)
24     ip = serializers.CharField(
25         help_text="the ip of vnf",
26         required=True,
27         max_length=200,
28         allow_null=True)
29     port = serializers.CharField(
30         help_text="the port of vnf",
31         required=True,
32         max_length=200,
33         allow_null=True)
34     username = serializers.CharField(
35         help_text="the username of vnf",
36         required=True,
37         max_length=255,
38         allow_null=True)
39     password = serializers.CharField(
40         help_text="the password of vnf",
41         required=True,
42         max_length=255,
43         allow_null=True)
44
45
46 class ResponseSerializer(serializers.Serializer):
47     vnfInstId = serializers.CharField(
48         help_text="the instance id of vnf",
49         required=True,
50         max_length=200,
51         allow_null=False)
52
53
54 class CpSerializer(serializers.Serializer):
55     cpId = serializers.CharField(
56         help_text="cpId",
57         required=True,
58         max_length=200,
59         allow_null=True)
60     cpdId = serializers.CharField(
61         help_text="cpdId",
62         required=True, max_length=200, allow_null=True)
63
64
65 class SpecificDataSerializer(serializers.Serializer):
66     autoScalable = serializers.CharField(
67         help_text="autoScalable",
68         required=True,
69         max_length=200,
70         allow_null=True)
71     autoHealable = serializers.CharField(
72         help_text="autoHealable",
73         required=True,
74         max_length=200,
75         allow_null=True)
76
77
78 class ConfigDataSerializer(serializers.Serializer):
79     cp = CpSerializer(help_text="cps", many=True, allow_null=True)
80     vnfSpecificData = SpecificDataSerializer(
81         help_text="vnfSpecificData", required=True, allow_null=True)
82
83
84 class VnfConfigSerializer(serializers.Serializer):
85     vnfInstanceId = serializers.CharField(
86         help_text="vnfInstanceId",
87         required=True,
88         max_length=200,
89         allow_null=True)
90     vnfConfigurationData = ConfigDataSerializer(
91         help_text="vnfConfigurationData",
92         required=True,
93         allow_null=True)