SOL003 API ALign
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / serializers.py
similarity index 68%
rename from lcm/lcm/nf/serializers.py
rename to lcm/lcm/nf/serializers/serializers.py
index 98f6823..d7555c6 100644 (file)
@@ -451,3 +451,166 @@ class TerminateVnfRequestSerializer(serializers.Serializer):
         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)