From 1d69a46056e6c43fd43e3758fd4870a8796b6a15 Mon Sep 17 00:00:00 2001 From: laili Date: Wed, 8 Aug 2018 08:49:17 +0800 Subject: Modify vnf query related stuffs in vnflcm. Add scale_info.py, ext_cp_info.py and cp_protocol_info.py to the serializers of nf. Note that the serializer in cp_protocol_info.py is imported by ext_cp_info.py. Change-Id: I9e0410f3302a8d00a40fed086c443b4eaecc6140 Issue-ID: VFC-1016 Signed-off-by: laili --- lcm/lcm/nf/serializers/cp_protocol_info.py | 29 ++++++++++++++++++++ lcm/lcm/nf/serializers/ext_cp_info.py | 43 ++++++++++++++++++++++++++++++ lcm/lcm/nf/serializers/scale_info.py | 31 +++++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 lcm/lcm/nf/serializers/cp_protocol_info.py create mode 100644 lcm/lcm/nf/serializers/ext_cp_info.py create mode 100644 lcm/lcm/nf/serializers/scale_info.py diff --git a/lcm/lcm/nf/serializers/cp_protocol_info.py b/lcm/lcm/nf/serializers/cp_protocol_info.py new file mode 100644 index 00000000..770f7e41 --- /dev/null +++ b/lcm/lcm/nf/serializers/cp_protocol_info.py @@ -0,0 +1,29 @@ +# Copyright 2018 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers + + +class CpProtocolInfoSerializer(serializers.Serializer): + layerProtocol = serializers.ChoiceField( + help_text="The identifier of layer(s) and protocol(s) associated to the network address information.", + choices=["IP_OVER_ETHERNET"], + required=True, + allow_null=False, + allow_blank=False) + ipOverEthernet = serializers.DictField( + help_text="IP addresses over Ethernet to assign to the extCP instance.", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True,) diff --git a/lcm/lcm/nf/serializers/ext_cp_info.py b/lcm/lcm/nf/serializers/ext_cp_info.py new file mode 100644 index 00000000..0d427f82 --- /dev/null +++ b/lcm/lcm/nf/serializers/ext_cp_info.py @@ -0,0 +1,43 @@ +# Copyright 2018 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers + +from cp_protocol_info import CpProtocolInfoSerializer + + +class ExtCpInfoSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="Identifier of the external CP instance and the related information instance.", + max_length=255, + required=True, + allow_null=True, + allow_blank=False) + cpdId = serializers.CharField( + help_text="Identifier of the external CPD, VnfExtCpd, in the VNFD.", + max_length=255, + required=True, + allow_null=True, + allow_blank=False) + cpProtocolInfo = CpProtocolInfoSerializer( + help_text="Network protocol information for this CP.", + many=True, + required=False, + allow_null=True) + extLinkPortId = serializers.CharField( + help_text="Identifier of the extLinkPortInfo structure inside the extVirtualLinkInfo structure.", + max_length=255, + required=False, + allow_null=True, + allow_blank=True) diff --git a/lcm/lcm/nf/serializers/scale_info.py b/lcm/lcm/nf/serializers/scale_info.py new file mode 100644 index 00000000..041e4ea9 --- /dev/null +++ b/lcm/lcm/nf/serializers/scale_info.py @@ -0,0 +1,31 @@ +# Copyright 2018 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers + + +class ScaleInfoSerializer(serializers.Serializer): + aspectId = serializers.CharField( + help_text="Identifier of the scaling aspect.", + max_length=255, + required=True, + allow_null=False, + allow_blank=False) + scaleLevel = serializers.IntegerField( + help_text="Indicates the scale level. \ + The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.", + max_length=255, + required=True, + allow_null=False, + allow_blank=False) -- cgit 1.2.3-korg