Update create vl logic
[vfc/nfvo/lcm.git] / lcm / ns / vnfs / serializers.py
index 4dbaeb6..ae32d2f 100644 (file)
@@ -72,9 +72,157 @@ class AccessinfoSerializer(serializers.Serializer):
 
 class VimSerializer(serializers.Serializer):
     vimid = serializers.CharField(help_text="ID of VIM", required=True)
-    accessinfo = AccessinfoSerializer(help_text="Access Info", required=True)
+    accessinfo = AccessinfoSerializer(help_text="Access Info", required=False)
+    accessInfo = AccessinfoSerializer(help_text="Access Info", required=False)
 
 
 class GrantVnfRespSerializer(serializers.Serializer):
     vnfInstanceId = serializers.CharField(help_text="ID of VNF instance", required=False, allow_null=True)
     vim = VimSerializer(help_text="VIM Info", required=True)
+
+
+class AffectedVnfcSerializer(serializers.Serializer):
+    vnfcInstanceId = serializers.CharField(help_text="ID of VNFC instance", required=False, allow_null=True)
+    vduId = serializers.CharField(help_text="ID of VDU in VNFD", required=False, allow_null=True)
+    changeType = serializers.ChoiceField(
+        help_text="Type of Change",
+        choices=["added", "removed", "modified"],
+        required=True
+    )
+    vimId = serializers.CharField(help_text="ID of VIM", required=False, allow_null=True)
+    vmId = serializers.CharField(help_text="ID of virtual machine", required=False, allow_null=True)
+    vmName = serializers.CharField(help_text="Name of virtual machine", required=False, allow_null=True)
+
+
+class NetworkResourceSerializer(serializers.Serializer):
+    resourceType = serializers.ChoiceField(
+        help_text="Type of Resource",
+        choices=["network", "port"],
+        required=True
+    )
+    resourceId = serializers.CharField(help_text="ID of network resource", required=False, allow_null=True)
+    resourceName = serializers.CharField(help_text="Name of network resource", required=False, allow_null=True)
+
+
+class AffectedVirtualLinkSerializer(serializers.Serializer):
+    vlInstanceId = serializers.CharField(help_text="ID of VL instance", required=False, allow_null=True)
+    vldId = serializers.CharField(help_text="ID of VLD in VNFD", required=False, allow_null=True)
+    changeType = serializers.ChoiceField(
+        help_text="Type of Change",
+        choices=["added", "removed", "modified"],
+        required=True
+    )
+    networkResource = NetworkResourceSerializer(help_text="Network Resource", required=False, allow_null=True)
+
+
+class PortResourceSerializer(serializers.Serializer):
+    vimId = serializers.CharField(help_text="ID of VIM", required=False, allow_null=True)
+    resourceId = serializers.CharField(help_text="ID of Resource", required=False, allow_null=True)
+    resourceName = serializers.CharField(help_text="Name of Resource", required=False, allow_null=True)
+    tenant = serializers.CharField(help_text="ID of Tenant", required=False, allow_null=True)
+    ipAddress = serializers.CharField(help_text="IP address of port", required=False, allow_null=True)
+    macAddress = serializers.CharField(help_text="MAC address of port", required=False, allow_null=True)
+    instId = serializers.CharField(help_text="Instance id of server to which the port is attached to", required=False, allow_null=True)
+
+
+class AffectedCpSerializer(serializers.Serializer):
+    changeType = serializers.ChoiceField(
+        help_text="Type of Change",
+        choices=["added", "removed", "modified"],
+        required=True
+    )
+    virtualLinkInstanceId = serializers.CharField(help_text="ID of VL instance", required=False, allow_null=True)
+    cpInstanceId = serializers.CharField(help_text="ID of CP instance", required=False, allow_null=True)
+    cpdId = serializers.CharField(help_text="ID of CPD in VNFD", required=False, allow_null=True)
+    ownerType = serializers.CharField(help_text="Type of Owner", required=False, allow_null=True)
+    ownerId = serializers.CharField(help_text="ID of Owner", required=False, allow_null=True)
+    portResource = PortResourceSerializer(help_text="Port Resource", required=False, allow_null=True)
+
+
+class AffectedVirtualStorage(serializers.Serializer):
+    pass
+
+
+class NotifyLcmReqSerializer(serializers.Serializer):
+    status = serializers.ChoiceField(
+        help_text="Status of operation",
+        choices=["result", "start"],
+        required=True
+    )
+    operation = serializers.ChoiceField(
+        help_text="Lifecycle Operation",
+        choices=["Terminal", "Instantiate", "Scalein", "Scaleout", "Scaledown", "Scaleup", "Heal"],
+        required=True
+    )
+    jobId = serializers.CharField(help_text="ID of Job", required=False, allow_null=True)
+    vnfdmodule = serializers.CharField(help_text="VNFD Module", required=False, allow_null=True)
+    affectedVnfc = AffectedVnfcSerializer(help_text="Affected VNFC", many=True)
+    affectedVl = AffectedVirtualLinkSerializer(help_text="Affected VL", many=True)
+    affectedCp = AffectedCpSerializer(help_text="Affected CP", many=True)
+    affectedVirtualStorage = AffectedVirtualStorage(help_text="Affected Virtual Storage(Not supported)", many=True)
+
+
+class ScaleVnfDataSerializer(serializers.Serializer):
+    type = serializers.ChoiceField(
+        help_text="Direction of the scaling",
+        choices=["SCALE_IN", "SCALE_OUT"],
+        required=True
+    )
+    aspectId = serializers.CharField(help_text="Aspect ID of the VNF that is requested to be scaled", required=False, allow_null=True)
+    numberOfSteps = serializers.CharField(help_text="Number of scaling steps to be executed as part of this ScaleVnf operation", required=False, allow_null=True)
+    additionalParam = serializers.DictField(
+        help_text="Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled",
+        child=serializers.CharField(help_text="Additional parameters", allow_blank=True),
+        required=False,
+        allow_null=True
+    )
+
+
+class ScaleVnfReqSerializer(serializers.Serializer):
+    scaleVnfData = ScaleVnfDataSerializer(help_text="Scale data", many=False)
+
+
+class ScaleVnfRespSerializer(serializers.Serializer):
+    jobId = serializers.CharField(help_text="ID of Job", required=True)
+
+
+class VerifyVnfReqSerializer(serializers.Serializer):
+    PackageID = serializers.CharField(help_text="ID of Package", required=True)
+
+
+class VerifyVnfRespSerializer(serializers.Serializer):
+    jobId = serializers.CharField(help_text="ID of Job", required=True)
+
+
+class VnfmInfoRespSerializer(serializers.Serializer):
+    vnfmId = serializers.CharField(help_text="ID of VNFM", required=True)
+    name = serializers.CharField(help_text="Name of VNFM", required=True)
+    type = serializers.CharField(help_text="Type of VNFM", required=True)
+    vimId = serializers.CharField(help_text="ID of VIM", required=True)
+    vendor = serializers.CharField(help_text="Vendor of VNFM", required=False, allow_null=True, allow_blank=True)
+    version = serializers.CharField(help_text="Version of VNFM", required=False, allow_null=True, allow_blank=True)
+    description = serializers.CharField(help_text="Description of VNFM", required=False, allow_null=True, allow_blank=True)
+    certificateUrl = serializers.CharField(help_text="Certificate PEM of VNFM", required=False, allow_null=True, allow_blank=True)
+    url = serializers.CharField(help_text="url of VNFM", required=True)
+    userName = serializers.CharField(help_text="User Name of VNFM", required=True)
+    password = serializers.CharField(help_text="Password of VNFM", required=True)
+    createTime = serializers.CharField(help_text="Create Time of VNFM", required=False, allow_null=True, allow_blank=True)
+
+
+class VimInfoRespSerializer(serializers.Serializer):
+    vimId = serializers.CharField(help_text="ID of VIM", required=True)
+    name = serializers.CharField(help_text="Name of VIM", required=True)
+    url = serializers.CharField(help_text="Url of VIM", required=True)
+    userName = serializers.CharField(help_text="User Name of VIM", required=True)
+    password = serializers.CharField(help_text="Password of VIM", required=True)
+    tenantId = serializers.CharField(help_text="Tenant ID of VIM", required=False, allow_null=True, allow_blank=True)
+    tenant = serializers.CharField(help_text="Default Tenant of VIM", required=False, allow_null=True, allow_blank=True)
+    vendor = serializers.CharField(help_text="Vendor of VIM", required=False, allow_null=True, allow_blank=True)
+    version = serializers.CharField(help_text="Version of VIM", required=False, allow_null=True, allow_blank=True)
+    description = serializers.CharField(help_text="Description of VIM", required=False, allow_null=True, allow_blank=True)
+    domain = serializers.CharField(help_text="Domain of VIM", required=False, allow_null=True, allow_blank=True)
+    type = serializers.CharField(help_text="Type of VIM", required=True)
+    createTime = serializers.CharField(help_text="Create Time of VIM", required=False, allow_null=True, allow_blank=True)
+    sslCacert = serializers.CharField(help_text="SSL Cacert of VIM", required=False, allow_null=True, allow_blank=True)
+    sslInsecure = serializers.CharField(help_text="SSL Insecure of VIM", required=False, allow_null=True, allow_blank=True)
+    status = serializers.CharField(help_text="Status of VIM", required=False, allow_null=True, allow_blank=True)