diff options
Diffstat (limited to 'lcm/lcm/nf/serializers')
-rw-r--r-- | lcm/lcm/nf/serializers/__init__.py | 0 | ||||
-rw-r--r-- | lcm/lcm/nf/serializers/common.py | 13 | ||||
-rw-r--r-- | lcm/lcm/nf/serializers/serializers.py | 616 |
3 files changed, 629 insertions, 0 deletions
diff --git a/lcm/lcm/nf/serializers/__init__.py b/lcm/lcm/nf/serializers/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/lcm/lcm/nf/serializers/__init__.py diff --git a/lcm/lcm/nf/serializers/common.py b/lcm/lcm/nf/serializers/common.py new file mode 100644 index 00000000..ca9a1945 --- /dev/null +++ b/lcm/lcm/nf/serializers/common.py @@ -0,0 +1,13 @@ +# 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.
diff --git a/lcm/lcm/nf/serializers/serializers.py b/lcm/lcm/nf/serializers/serializers.py new file mode 100644 index 00000000..d7555c64 --- /dev/null +++ b/lcm/lcm/nf/serializers/serializers.py @@ -0,0 +1,616 @@ +# 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 CreateVnfReqSerializer(serializers.Serializer): + vnfdId = serializers.CharField( + help_text="Identifier that identifies the VNFD which defines the VNF instance to be created.", + max_length=255, + required=True, + allow_null=True) + vnfInstanceName = serializers.CharField( + help_text="Human-readable name of the VNF instance to be created.", + max_length=255, + required=True, + allow_null=False) + vnfInstanceDescription = serializers.CharField( + help_text="Human-readable description of the VNF instance to be created.", + max_length=255, + required=False, + allow_null=True) + + +class CreateVnfRespSerializer(serializers.Serializer): + vnfInstanceId = serializers.CharField( + help_text="Identifier of the VNF instance", + required=True, + max_length=255, + allow_null=True) + + +class ResourceSerializer(serializers.Serializer): + resourceId = serializers.CharField( + help_text="resourceId", + required=True, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="vimId", + required=True, + max_length=255, + allow_null=True) + + +class VirtualStorageResourceInfoSerializer(serializers.Serializer): + virtualStorageInstanceId = serializers.CharField( + help_text="virtualStorageInstanceId", + required=False, + allow_null=True, + max_length=255) + virtualStorageDescId = serializers.CharField( + help_text="virtualStorageDescId", + required=False, + max_length=255, + allow_null=True) + storageResource = ResourceSerializer( + help_text="storageResource", + required=False, + allow_null=True) + + +class VirtualLinkResourceInfoSerializer(serializers.Serializer): + virtualLinkInstanceId = serializers.CharField( + help_text="virtualLinkInstanceId", + required=False, + max_length=255, + allow_null=True) + virtualLinkDescId = serializers.CharField( + help_text="virtualLinkDescId", + required=False, + max_length=255, + allow_null=True) + networkResource = ResourceSerializer( + help_text="networkResource", + required=False, + allow_null=True) + + +class VnfcResourceInfoSerializer(serializers.Serializer): + vnfcInstanceId = serializers.CharField( + help_text="vnfcInstanceId", + required=False, + max_length=255, + allow_null=True) + vduId = serializers.CharField( + help_text="vduId", + required=False, max_length=255, allow_null=True) + storageResourceIds = serializers.CharField( + help_text="storageResourceIds", + required=False, + max_length=255, + allow_null=True) + computeResource = ResourceSerializer( + help_text="computeResource", + required=False, + allow_null=True) + + +class AccessInfoSerializer(serializers.Serializer): + tenant = serializers.CharField( + help_text="tenant", + required=True, + max_length=255, + allow_null=True) + username = serializers.CharField( + help_text="username", + required=True, + max_length=255, + allow_null=True) + password = serializers.CharField( + help_text="password", + required=True, + max_length=255, + allow_null=True) + + +class InterfaceInfoSerializer(serializers.Serializer): + vimType = serializers.CharField( + help_text="vimType", + required=True, + max_length=255, + allow_null=True) + apiVersion = serializers.CharField( + help_text="apiVersion", + required=True, + max_length=255, + allow_null=True) + protocolType = serializers.ChoiceField( + help_text="protocolType", + choices=["http", "https"], + required=True) + + +class VimInfoSerializer(serializers.Serializer): + vimInfoId = serializers.CharField( + help_text="vimInfoId", + required=False, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="vimId", + required=False, + max_length=255, + allow_null=True) + interfaceEndpoint = serializers.CharField( + help_text="interfaceEndpoint", + required=False, + max_length=255, + allow_null=True) + interfaceInfo = InterfaceInfoSerializer( + help_text="vimInfoId", + required=False, + allow_null=True) + accessInfo = AccessInfoSerializer( + help_text="accessInfo", + required=False, + allow_null=True) + + +class LinkPortsSerializer(serializers.Serializer): + resourceId = serializers.CharField( + help_text="resourceId", + required=True, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="vimId", + required=False, + max_length=255, + allow_null=True) + + +class ResourceHandleSerializer(serializers.Serializer): + resourceId = serializers.CharField( + help_text="resourceId", + required=True, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="vimId", + required=False, + max_length=255, + allow_null=True) + resourceProviderId = serializers.CharField( + help_text="resourceProviderId", + required=False, + max_length=255, + allow_null=True) + + +class ExtVirtualLinkInfoSerializer(serializers.Serializer): + extVirtualLinkId = serializers.CharField( + help_text="extVirtualLinkId", + required=True, + max_length=255, + allow_null=True) + resourceHandle = ResourceHandleSerializer( + help_text="iPAddress", + required=True) + linkPorts = LinkPortsSerializer( + help_text="iPAddress", + many=True, + allow_null=True) + + +class L3AddressDataSerializer(serializers.Serializer): + iPAddressType = serializers.ChoiceField( + help_text="iPAddressType", + choices=["IPv4", "IPv6"], + required=True) + iPAddress = serializers.CharField( + help_text="iPAddress", + required=True, + max_length=255, + allow_null=True) + + +class NetworkAddressSerializer(serializers.Serializer): + addressType = serializers.ChoiceField( + help_text="addressType", + choices=["MAC", "IP"], + required=True) + l2AddressData = serializers.CharField( + help_text="l2AddressData", + required=False, + max_length=255, + allow_null=True) + l3AddressData = L3AddressDataSerializer( + help_text="addresses", + required=False) + + +class ExtCpInfoSerializer(serializers.Serializer): + cpInstanceId = serializers.CharField( + help_text="cpInstanceId", + required=False, + max_length=255, + allow_null=True) + cpdId = serializers.CharField( + help_text="cpdId", + required=True, + max_length=255, + allow_null=True) + numDynamicAddresses = serializers.CharField( + help_text="numDynamicAddresses", + required=False, + max_length=255, + allow_null=True) + addresses = NetworkAddressSerializer( + help_text="addresses", + many=True, + allow_null=True) + + +class ScaleInfoSerializer(serializers.Serializer): + aspectId = serializers.CharField( + help_text="aspectId", + required=True, + max_length=255, + allow_null=True) + scaleLevel = serializers.IntegerField( + help_text="scaleLevel", + required=True) + + +class instantiatedVnfInfoSerializer(serializers.Serializer): + flavourId = serializers.CharField( + help_text="flavourId", + required=True, + max_length=255, + allow_null=True) + vnfState = serializers.ChoiceField( + help_text="vnfState", + choices=["STARTED", "STOPPED", "NOT_INSTANTIATED", "INSTANTIATED", "FAILED"], + required=True, + allow_null=True) + scaleStatus = ScaleInfoSerializer( + help_text="scaleStatus", + many=True) + extCpInfo = ExtCpInfoSerializer( + help_text="extCpInfo", + many=True) + extVirtualLink = ExtVirtualLinkInfoSerializer( + help_text="extVirtualLink", + many=True) + monitoringParameters = serializers.DictField( + help_text="monitoringParameters", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + vimInfo = VimInfoSerializer( + help_text="vimInfo", + many=True) + vnfcResourceInfo = VnfcResourceInfoSerializer( + help_text="vnfcResourceInfo", + many=True) + virtualLinkResourceInfo = VirtualLinkResourceInfoSerializer( + help_text="virtualLinkResourceInfo", + many=True) + virtualStorageResourceInfo = VirtualStorageResourceInfoSerializer( + help_text="virtualStorageResourceInfo", + many=True) + + +class VnfInfoSerializer(serializers.Serializer): + vnfInstanceId = serializers.CharField( + help_text="vnfInstanceId", + required=True, + max_length=255, + allow_null=True) + vnfInstanceName = serializers.CharField( + help_text="vnfInstanceName", + required=True, + max_length=255, + allow_null=True) + onboardedVnfPkgInfoId = serializers.CharField( + help_text="onboardedVnfPkgInfoId", + required=False, + max_length=255, + allow_null=True) + vnfdVersion = serializers.CharField( + help_text="vnfdVersion", + required=False, + max_length=255, + allow_null=True, + allow_blank=True) + vnfProvider = serializers.CharField( + help_text="vnfProvider", + required=False, + max_length=255, + allow_null=True, + allow_blank=True) + instantiatedVnfInfo = instantiatedVnfInfoSerializer( + help_text="instantiatedVnfInfo", + required=True) + + +class VnfsInfoSerializer(serializers.ListSerializer): + child = VnfInfoSerializer() + + +class ExtVirtualLinkSerizlizer(serializers.Serializer): + vlInstanceId = serializers.CharField( + help_text="vlInstanceId", + required=False, + max_length=255, + allow_null=True) + resourceSubnetId = serializers.CharField( + help_text="resourceSubnetId", + required=False, + max_length=255, + allow_null=True) + cpdId = serializers.CharField( + help_text="cpdId", + required=False, + max_length=255, + allow_null=True) + resourceId = serializers.CharField( + help_text="resourceId", + required=False, + max_length=255, + allow_null=True) + vim = VimInfoSerializer( + help_text="vim", + required=False, + allow_null=True) + extCps = ExtCpInfoSerializer( + help_text="extCps", + many=True, + required=False, + allow_null=True) + + +class AdditionalParamsSerializer(serializers.Serializer): + vimId = serializers.CharField( + help_text="vimId", + required=False, + max_length=255, + allow_null=True) + inputs = serializers.DictField( + help_text="inputs", + child=serializers.CharField(help_text="custom key-value", allow_blank=True), + required=False, + allow_null=True) + extVirtualLinks = serializers.ListSerializer( + help_text="extVirtualLinks", + child=ExtVirtualLinkSerizlizer(help_text="extVirtualLinks", required=False, allow_null=True), + required=False, + allow_null=True) + + +class InstantiateVnfRequestSerializer(serializers.Serializer): + flavourId = serializers.CharField( + help_text="flavourId", + required=True, + max_length=255, + allow_null=True) + instantiationLevelId = serializers.CharField( + help_text="instantiationLevelId", + required=True, + max_length=255, + allow_null=True) + localizationLanguage = serializers.CharField( + help_text="localizationLanguage", + required=True, + max_length=255, + allow_null=True) + vnfmId = serializers.CharField( + help_text="vnfmId", + required=False, + max_length=255, + allow_null=True) + extVirtualLinks = serializers.ListSerializer( + help_text="extVirtualLinks", + child=ExtVirtualLinkSerizlizer(help_text="extVirtualLinks", required=False, allow_null=True), + required=False, + allow_null=True) + additionalParams = AdditionalParamsSerializer( + help_text="additionalParams", + required=False, + allow_null=True) + + +class InstOrTeriVnfResponseSerializer(serializers.Serializer): + jobId = serializers.CharField( + help_text="jobId", + required=True, + max_length=255, + allow_null=True) + + +class TerminateVnfRequestSerializer(serializers.Serializer): + terminationType = serializers.CharField( + help_text="terminationType", + required=True, + max_length=255, + allow_null=True) + gracefulTerminationTimeout = serializers.IntegerField( + help_text="gracefulTerminationTimeout", + default=120, + required=False) + + +class VimInfoSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="The identifier of the VIM Connection. This identifier is managed by the NFVO.", + required=False, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="The identifier of the VIM instance. This identifier is managed by the NFVO.", + required=False, + max_length=255, + allow_null=True) + vimType = serializers.CharField( + help_text="Discriminator for the different types of the VIM information.", + required=False, + max_length=255, + allow_null=True) + interfaceInfo = serializers.DictField( + help_text="Information about the interface or interfaces to the VIM", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + accessInfo = serializers.DictField( + help_text="Authentication credentials for accessing the VIM, and other access-related information", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + extra = serializers.DictField( + help_text="VIM type specific additional information.", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + + +class ScaleInfoSerializer(serializers.Serializer): + aspectId = serializers.CharField( + help_text="Identifier of the scaling aspect.", + required=True, + max_length=255, + allow_null=True) + scaleLevel = serializers.IntegerField( + help_text="Indicates the scale level.", + required=True) + + +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=False, + allow_null=True) + 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) + + +class ExtCpInfoSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="Identifier of the external CP instance and the related information instance.", + required=False, + max_length=255, + allow_null=True) + cpdId = serializers.CharField( + help_text="Identifier of the external CPD, VnfExtCpd, in the VNFD.", + required=True, + max_length=255, + allow_null=True) + cpProtocolInfo = CpProtocolInfoSerializer( + help_text="Network protocol information for this CP.", + required=False, + allow_null=True) + extLinkPortId = serializers.CharField( + help_text="Identifier of the 'extLinkPortInfo' structure inside the 'extVirtualLinkInfo' structure.", + required=False, + max_length=255, + allow_null=True) + + +class instantiatedVnfInfoSerializer(serializers.Serializer): + flavourId = serializers.CharField( + help_text="Identifier of the VNF deployment flavour applied to this VNF instance.", + required=True, + max_length=255, + allow_null=True) + vnfState = serializers.ChoiceField( + help_text="State of the VNF instance.", + choices=["STARTED", "STOPPED"], + required=True, + allow_null=True) + scaleStatus = ScaleInfoSerializer( + help_text="Scale status of the VNF, one entry per aspect.", + required=False, + many=True) + extCpInfo = ExtCpInfoSerializer( + help_text="Information about the external CPs exposed by the VNF instance.", + required=False, + many=True) + + +class VnfInstanceSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="Identifier of the VNF instance", + required=True) + vnfInstanceName = serializers.CharField( + help_text="Name of the VNF instance.", + required=False, + allow_null=True, + allow_blank=True) + vnfInstanceDescription = serializers.CharField( + help_text="Human-readable description of the VNF instance.", + required=False, + allow_null=True, + allow_blank=True) + vnfdId = serializers.CharField( + help_text="Identifier of the VNFD on which the VNF instance is based.", + required=False, + allow_null=True, + allow_blank=True) + vnfProvider = serializers.CharField( + help_text="Provider of the VNF and the VNFD. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfProductName = serializers.CharField( + help_text="Name to identify the VNF Product. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfSoftwareVersion = serializers.CharField( + help_text="Software version of the VNF. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfdVersion = serializers.CharField( + help_text="Identifies the version of the VNFD. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfPkgId = serializers.CharField( + help_text="Identifier of information held by the NFVO about the specific VNF package on which the VNF is based.", + required=False, + allow_null=True, + allow_blank=True) + vnfConfigurableProperties = serializers.DictField( + help_text="Current values of the configurable properties of the VNF instance.", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + vimConnectionInfo = VimInfoSerializer( + help_text="Information about VIM connections to be used for managing the resources for the VNF instance.", + required=False, + allow_null=True) + instantiationState = serializers.ChoiceField( + help_text="The instantiation state of the VNF.", + choices=["NOT_INSTANTIATED", "INSTANTIATED"], + required=False, + allow_null=True) + instantiatedVnfInfo = instantiatedVnfInfoSerializer( + help_text="Information specific to an instantiated VNF instance.", + required=False) |