diff options
-rw-r--r-- | lcm/lcm/nf/serializers/cp_protocol_info.py | 29 | ||||
-rw-r--r-- | lcm/lcm/nf/serializers/ext_cp_info.py | 43 | ||||
-rw-r--r-- | lcm/lcm/nf/serializers/scale_info.py | 31 |
3 files changed, 103 insertions, 0 deletions
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) |