required=False,
allow_null=True
)
+
+
+class AccessinfoSerializer(serializers.Serializer):
+ tenant = serializers.CharField(help_text="Name of tenant", required=True)
+
+
+class VimSerializer(serializers.Serializer):
+ vimid = serializers.CharField(help_text="ID of VIM", 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)