summaryrefslogtreecommitdiffstats
path: root/lcm/lcm/nf/serializers/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'lcm/lcm/nf/serializers/serializers.py')
-rw-r--r--lcm/lcm/nf/serializers/serializers.py616
1 files changed, 616 insertions, 0 deletions
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)