Add enum file for ns_vnfs 74/86274/2
authormaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 25 Apr 2019 12:04:58 +0000 (20:04 +0800)
committermaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 25 Apr 2019 12:12:05 +0000 (20:12 +0800)
Add enum file for ns_vnfs

Change-Id: I0ca256370e2afbf69c9e027173994a7d177331a9
Issue-ID: VFC-1241
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
14 files changed:
lcm/ns/biz/scaleaspect.py
lcm/ns/enum.py
lcm/ns_vnfs/biz/create_vnfs.py
lcm/ns_vnfs/biz/handle_notification.py
lcm/ns_vnfs/biz/heal_vnfs.py
lcm/ns_vnfs/biz/notify_lcm.py
lcm/ns_vnfs/biz/scale_vnfs.py
lcm/ns_vnfs/biz/terminate_nfs.py
lcm/ns_vnfs/biz/update_vnfs.py
lcm/ns_vnfs/const.py
lcm/ns_vnfs/enum.py [new file with mode: 0644]
lcm/ns_vnfs/serializers/grant_vnf_serializer.py
lcm/ns_vnfs/serializers/serializers.py
lcm/ns_vnfs/tests/tests.py

index 9c94181..18a45e7 100644 (file)
@@ -20,7 +20,7 @@ import os
 from lcm.pub.database.models import NSInstModel
 from lcm.pub.database.models import NfInstModel
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS
+from lcm.ns_vnfs.enum import VNF_STATUS
 
 logger = logging.getLogger(__name__)
 SCALE_TYPE = ("SCALE_NS", "SCALE_VNF")
index 3db2211..e2755ec 100644 (file)
@@ -190,18 +190,6 @@ STOP_TYPE = enum(
     FORCEFUL="FORCEFUL",
     GRACEFUL="GRACEFUL"
 )
-VNF_STATUS = enum(
-    NULL='null',
-    INSTANTIATING="instantiating",
-    INACTIVE='inactive',
-    ACTIVE="active",
-    FAILED="failed",
-    TERMINATING="terminating",
-    SCALING="scaling",
-    OPERATING="operating",
-    UPDATING="updating",
-    HEALING="healing"
-)
 VNF_STATE = enum(
     STARTED="STARTED",
     STOPPED="STOPPED"
index a8ebf6d..19f1ce5 100644 (file)
@@ -32,7 +32,8 @@ from lcm.pub.utils.share_lock import do_biz_with_share_lock
 from lcm.pub.utils.timeutil import now_time
 from lcm.pub.utils.values import ignore_case_get
 from lcm.pub.utils import restcall
-from lcm.ns_vnfs.const import VNF_STATUS, NFVO_VNF_INST_TIMEOUT_SECOND, INST_TYPE, INST_TYPE_NAME
+from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
+from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE, INST_TYPE_NAME
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 from lcm.pub.config.config import REG_TO_MSB_REG_PARAM, OOF_BASE_URL, OOF_PASSWD, OOF_USER
 from lcm.pub.config.config import CUST_NAME, CUST_LAT, CUST_LONG
index aee6e9c..fcc8bf0 100644 (file)
@@ -19,7 +19,7 @@ import uuid
 from rest_framework import status
 from rest_framework.response import Response
 
-from lcm.ns_vnfs.const import INST_TYPE
+from lcm.ns_vnfs.enum import INST_TYPE
 from lcm.pub.config.config import REPORT_TO_AAI
 from lcm.pub.database.models import (CPInstModel, NfInstModel, PortInstModel,
                                      VLInstModel, VmInstModel, VNFCInstModel)
index ec0c9dd..9b574df 100644 (file)
@@ -25,7 +25,7 @@ from lcm.pub.msapi.vnfmdriver import send_nf_heal_request
 from lcm.pub.utils import restcall
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE, JOB_MODEL_STATUS
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS
+from lcm.ns_vnfs.enum import VNF_STATUS
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 
 JOB_ERROR = 255
index 4f7ac30..e5d42a2 100644 (file)
@@ -26,7 +26,7 @@ from lcm.pub.msapi.aai import create_network_aai, query_network_aai, delete_netw
 from lcm.pub.msapi.aai import create_vserver_aai
 from lcm.pub.msapi.extsys import split_vim_to_owner_region, get_vim_by_id
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import INST_TYPE
+from lcm.ns_vnfs.enum import INST_TYPE
 
 logger = logging.getLogger(__name__)
 
index bac181e..c405a40 100644 (file)
@@ -21,7 +21,7 @@ from lcm.pub.exceptions import NSLCMException
 from lcm.pub.msapi.vnfmdriver import send_nf_scaling_request
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE, JOB_MODEL_STATUS
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS
+from lcm.ns_vnfs.enum import VNF_STATUS
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 
 JOB_ERROR = 255
index 073f256..4ab624b 100644 (file)
@@ -26,7 +26,8 @@ from lcm.pub.msapi.extsys import split_vim_to_owner_region, get_vim_by_id
 from lcm.pub.msapi.vnfmdriver import send_nf_terminate_request
 from lcm.pub.utils.jobutil import JOB_MODEL_STATUS, JobUtil
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS, NFVO_VNF_INST_TIMEOUT_SECOND, INST_TYPE
+from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
+from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 from lcm.ns_vnfs.biz.subscribe import SubscriptionDeletion
 
index 7a58b35..a4073f1 100644 (file)
@@ -22,7 +22,7 @@ from lcm.pub.exceptions import NSLCMException
 from lcm.pub.msapi.vnfmdriver import send_nf_operate_request
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE, JOB_MODEL_STATUS
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS
+from lcm.ns_vnfs.enum import VNF_STATUS
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 
 JOB_ERROR = 255
index 0c831dc..4a67826 100644 (file)
 # 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 lcm.pub.utils.enumutil import enum
-
-VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active", FAILED="failed",
-                  TERMINATING="terminating", SCALING="scaling", HEALING="healing", UPDATING="updating")
-INST_TYPE = enum(VNF=0, VNFM=1)
-INST_TYPE_NAME = enum(VNF='VNF', VNFM='VNFM')
-PACKAGE_TYPE = enum(VNFD='VNFD', NSD='NSD')
-
-NFVO_VNF_INST_TIMEOUT_SECOND = 3000
 
 DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
+NFVO_VNF_INST_TIMEOUT_SECOND = 3000
diff --git a/lcm/ns_vnfs/enum.py b/lcm/ns_vnfs/enum.py
new file mode 100644 (file)
index 0000000..3edc556
--- /dev/null
@@ -0,0 +1,109 @@
+# Copyright 2019 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 lcm.pub.utils.enumutil import enum
+
+CANDIDATE_IDENTIFIER_TYPE = enum(
+    SERVICE_INSTANCE_ID="serviceInstanceId",
+    VNF_NAME="vnfName",
+    CLOUD_REGION_ID="cloudRegionId",
+    VIM_ID="vimId"
+)
+GRANT_OPERATION = enum(
+    INSTANTIATE="INSTANTIATE",
+    SCALE="SCALE",
+    SCALE_TO_LEVEL="SCALE_TO_LEVEL",
+    CHANGE_FLAVOUR="CHANGE_FLAVOUR",
+    TERMINATE="TERMINATE",
+    HEAL="HEAL",
+    OPERATE="OPERATE",
+    CHANGE_EXT_CONN="CHANGE_EXT_CONN",
+    MODIFY_INFO="MODIFY_INFO"
+)
+INST_TYPE = enum(
+    VNF=0,
+    VNFM=1)
+INST_TYPE_NAME = enum(
+    VNF="VNF",
+    VNFM="VNFM")
+LIFE_CYCLE_OPERATION = enum(
+    TERMINATE="Terminate",
+    INSTANTIATE="Instantiate",
+    SCALEIN="Scalein",
+    SCALEOUT="Scaleout",
+    SCALEDOWN="Scaledown",
+    SCALEUP="Scaleup",
+    HEAL="Heal"
+)
+NETWORK_RESOURCE_TYPE = enum(
+    NETWORK="network",
+    PORT="port"
+)
+PLACE_VNF_REQUEST_STATUS = enum(
+    COMPLETED="completed",
+    FAILED="failed",
+    PENDING="pending"
+)
+RESOURCE_CHANGE_TYPE = enum(
+    VDU="VDU"
+)
+RESOURE_TYPE = enum(
+    COMPUTE="COMPUTE",
+    VL="VL",
+    STORAGE="STORAGE",
+    LINKPORT="LINKPORT"
+)
+RESOURCE_ID_TYPE = enum(
+    RES_MGMT="RES_MGMT",
+    GRANT="GRANT"
+)
+SCALE_VNF_TYPE = enum(
+    SCALE_IN="SCALE_IN",
+    SCALE_OUT="SCALE_OUT"
+)
+STORAGE_CHANGE_TYPE = enum(
+    ADDED="ADDED",
+    MODIFIED="MODIFIED",
+    REMOVED="REMOVED",
+    TEMPORARY="TEMPORARY"
+)
+VL_CHANGE_TYPE = enum(
+    ADDED="ADDED",
+    REMOVED="REMOVED",
+    MODIFIED="MODIFIED",
+    TEMPORARY="TEMPORARY",
+    LINK_PORT_ADDED="LINK_PORT_ADDED",
+    LINK_PORT_REMOVED="LINK_PORT_REMOVED"
+)
+VNF_NOTIFICATION_TYPE = enum(
+    VNFLCMOPERATIONOCCURRENCENOTIFICATION="VnfLcmOperationOccurrenceNotification",
+    VnfIdentifierCreationNotification="VnfIdentifierCreationNotification",
+    VnfIdentifierDeletionNotification="VnfIdentifierDeletionNotification"
+)
+VNF_STATUS = enum(
+    NULL="null",
+    INSTANTIATING="instantiating",
+    INACTIVE="inactive",
+    ACTIVE="active",
+    FAILED="failed",
+    TERMINATING="terminating",
+    SCALING="scaling",
+    HEALING="healing",
+    UPDATING="updating"
+)
+VNFC_CHANGE_TYPE = enum(
+    ADDED="ADDED",
+    MODIFIED="MODIFIED",
+    REMOVED="REMOVED",
+    TEMPORARY="TEMPORARY"
+)
index 98e5039..fb81609 100644 (file)
@@ -18,31 +18,9 @@ from lcm.ns.serializers.sol.ext_virtual_link_info import ExtVirtualLinkInfoSeria
 from lcm.ns.serializers.sol.cp_serializers import AddressRangeSerializer
 from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
 from lcm.ns.serializers.sol.pub_serializers import ProblemDetailsSerializer, LinkSerializer
-
-
-# class ResourceHandleSerializer(serializers.Serializer):
-#     vimConnectionId = serializers.CharField(
-#         help_text="Identifier of the VIM connection to manage the resource.",
-#         required=False,
-#         allow_null=True,
-#         allow_blank=True
-#     )
-#     resourceProviderId = serializers.CharField(
-#         help_text="Identifier of the entity responsible for the management of the resource.",
-#         required=False,
-#         allow_null=True,
-#         allow_blank=True
-#     )
-#     resourceId = serializers.CharField(
-#         help_text="Identifier of the resource in the scope of the VIM or the resource provider.",
-#         required=True
-#     )
-#     vimLevelResourceType = serializers.CharField(
-#         help_text="Type of the resource in the scope of the VIM or the resource provider.",
-#         required=False,
-#         allow_null=True,
-#         allow_blank=True
-#     )
+from lcm.ns.enum import LAYER_PROTOCOL, IPADDRESSES_TYPE, AFFINITY_OR_ANTIAFFIINTY_SCOPE, AFFINITY_OR_ANTIAFFIINTY, LCM_NOTIFICATION_STATUS, OPERATION_STATE_TYPE
+from lcm.ns_vnfs.enum import STORAGE_CHANGE_TYPE, VNFC_CHANGE_TYPE, VL_CHANGE_TYPE, RESOURE_TYPE, RESOURCE_ID_TYPE, GRANT_OPERATION, VNF_NOTIFICATION_TYPE
+from lcm.pub.utils.enumutil import enum_to_list
 
 
 class ResourceDefinitionSerializer(serializers.Serializer):
@@ -52,7 +30,7 @@ class ResourceDefinitionSerializer(serializers.Serializer):
     )
     type = serializers.ChoiceField(
         help_text="Type of the resource definition referenced.",
-        choices=["COMPUTE", "VL", "STORAGE", "LINKPORT"],
+        choices=enum_to_list(RESOURE_TYPE),
         required=True
     )
     vduId = serializers.CharField(
@@ -77,7 +55,7 @@ class ResourceDefinitionSerializer(serializers.Serializer):
 class ConstraintResourceRefSerializer(serializers.Serializer):
     idType = serializers.ChoiceField(
         help_text="The type of the identifier.",
-        choices=["RES_MGMT", "GRANT"],
+        choices=enum_to_list(RESOURCE_ID_TYPE),
         required=True
     )
     resourceId = serializers.CharField(
@@ -101,12 +79,12 @@ class ConstraintResourceRefSerializer(serializers.Serializer):
 class PlacementConstraintSerializer(serializers.Serializer):
     affinityOrAntiAffinity = serializers.ChoiceField(
         help_text="The type of the constraint.",
-        choices=["AFFINITY", "ANTI_AFFINITY"],
+        choices=enum_to_list(AFFINITY_OR_ANTIAFFIINTY),
         required=True
     )
     scope = serializers.ChoiceField(
         help_text="The scope of the placement constraint indicating the category of the place where the constraint applies.",
-        choices=["NFVI_POP", "ZONE", "ZONE_GROUP", "NFVI_NODE"],
+        choices=enum_to_list(AFFINITY_OR_ANTIAFFIINTY_SCOPE),
         required=True
     )
     resource = ConstraintResourceRefSerializer(
@@ -171,7 +149,7 @@ class GrantRequestSerializer(serializers.Serializer):
     )
     operation = serializers.ChoiceField(
         help_text="The lifecycle management operation for which granting is requested.",
-        choices=["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"],
+        choices=enum_to_list(GRANT_OPERATION),
         required=True
     )
     isAutomaticInvocation = serializers.BooleanField(
@@ -415,7 +393,7 @@ class VimAssetsSerializer(serializers.Serializer):
 class IpAddresseSerializer(serializers.Serializer):
     type = serializers.ChoiceField(
         help_text="The type of the IP addresses.",
-        choices=["IPV4", "IPV6"],
+        choices=enum_to_list(IPADDRESSES_TYPE),
         required=True
     )
     fixedAddresses = serializers.ListSerializer(
@@ -458,7 +436,7 @@ class IpOverEthernetAddressSerializer(serializers.Serializer):
 class CpProtocolDataConfigSerializer(serializers.Serializer):
     layerProtocol = serializers.ChoiceField(
         help_text="Identifier of layer(s) and protocol(s).",
-        choices=["IP_OVER_ETHERNET"],
+        choices=enum_to_list(LAYER_PROTOCOL),
         required=True
     )
     ipOverEthernet = IpOverEthernetAddressSerializer(
@@ -693,7 +671,7 @@ class AffectedVnfcSerializer(serializers.Serializer):
     )
     changeType = serializers.ChoiceField(
         help_text="Signals the type of change.",
-        choices=["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"],
+        choices=enum_to_list(VNFC_CHANGE_TYPE),
         required=True
     )
     computeResource = ResourceHandleSerializer(
@@ -737,7 +715,7 @@ class AffectedVirtualLinkSerializer(serializers.Serializer):
     )
     changeType = serializers.ChoiceField(
         help_text="Signals the type of change.",
-        choices=["ADDED", "REMOVED", "MODIFIED", "TEMPORARY", "LINK_PORT_ADDED", "LINK_PORT_REMOVED"],
+        choices=enum_to_list(VL_CHANGE_TYPE),
         required=True
     )
     networkResource = ResourceHandleSerializer(
@@ -764,7 +742,7 @@ class AffectedVirtualStorageSerializer(serializers.Serializer):
     )
     changeType = serializers.ChoiceField(
         help_text="Signals the type of change.",
-        choices=["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"],
+        choices=enum_to_list(STORAGE_CHANGE_TYPE),
         required=True
     )
     storageResource = ResourceHandleSerializer(
@@ -939,11 +917,7 @@ class VnfLcmOperationOccurrenceNotificationSerializer(serializers.Serializer):
     )
     notificationType = serializers.ChoiceField(
         help_text="Discriminator for the different notification types.",
-        choices=[
-            'VnfLcmOperationOccurrenceNotification',
-            'VnfIdentifierCreationNotification',
-            'VnfIdentifierDeletionNotification'
-        ],
+        choices=enum_to_list(VNF_NOTIFICATION_TYPE),
         required=True
     )
     subscriptionId = serializers.CharField(
@@ -956,12 +930,12 @@ class VnfLcmOperationOccurrenceNotificationSerializer(serializers.Serializer):
     )
     notificationStatus = serializers.ChoiceField(
         help_text="Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation.",
-        choices=["START", "RESULT"],
+        choices=enum_to_list(LCM_NOTIFICATION_STATUS),
         required=True
     )
     operationState = serializers.ChoiceField(
         help_text="The state of the VNF LCM operation occurrence.",
-        choices=["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"],
+        choices=enum_to_list(OPERATION_STATE_TYPE),
         required=True
     )
     vnfInstanceId = serializers.CharField(
@@ -970,7 +944,7 @@ class VnfLcmOperationOccurrenceNotificationSerializer(serializers.Serializer):
     )
     operation = serializers.ChoiceField(
         help_text="The lifecycle management operation.",
-        choices=["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"],
+        choices=enum_to_list(GRANT_OPERATION),
         required=True
     )
     isAutomaticInvocation = serializers.BooleanField(
@@ -1029,11 +1003,7 @@ class VnfIdentifierCreationNotificationSerializer(serializers.Serializer):
     )
     notificationType = serializers.ChoiceField(
         help_text="Discriminator for the different notification types.",
-        choices=[
-            'VnfLcmOperationOccurrenceNotification',
-            'VnfIdentifierCreationNotification',
-            'VnfIdentifierDeletionNotification'
-        ],
+        choices=enum_to_list(VNF_NOTIFICATION_TYPE),
         required=True
     )
     subscriptionId = serializers.CharField(
@@ -1071,11 +1041,7 @@ class VnfIdentifierDeletionNotificationSerializer(serializers.Serializer):
     )
     notificationType = serializers.ChoiceField(
         help_text="Discriminator for the different notification types.",
-        choices=[
-            'VnfLcmOperationOccurrenceNotification',
-            'VnfIdentifierCreationNotification',
-            'VnfIdentifierDeletionNotification'
-        ],
+        choices=enum_to_list(VNF_NOTIFICATION_TYPE),
         required=True
     )
     subscriptionId = serializers.CharField(
index dbb566e..1f0f49b 100644 (file)
 # limitations under the License.
 
 from rest_framework import serializers
+from lcm.pub.utils.enumutil import enum_to_list
+from lcm.ns.enum import LCM_NOTIFICATION_STATUS
+from lcm.ns_vnfs.enum import RESOURCE_CHANGE_TYPE, LIFE_CYCLE_OPERATION, VNFC_CHANGE_TYPE, NETWORK_RESOURCE_TYPE, SCALE_VNF_TYPE, CANDIDATE_IDENTIFIER_TYPE, PLACE_VNF_REQUEST_STATUS
 
 
 class InstVnfReqSerializer(serializers.Serializer):
-    vnfIndex = serializers.CharField(help_text="Index of VNF", required=True)
-    nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=True)
-    additionalParamForVnf = serializers.CharField(help_text="Additional param for VNF", required=False, allow_null=True, allow_blank=True)
+    vnfIndex = serializers.CharField(
+        help_text="Index of VNF",
+        required=True)
+    nsInstanceId = serializers.CharField(
+        help_text="ID of NS instance",
+        required=True)
+    additionalParamForVnf = serializers.CharField(
+        help_text="Additional param for VNF",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class InstVnfRespSerializer(serializers.Serializer):
-    vnfInstId = serializers.CharField(help_text="ID of VNF instance", required=True)
-    jobId = serializers.CharField(help_text="ID of Job", required=True)
+    vnfInstId = serializers.CharField(
+        help_text="ID of VNF instance",
+        required=True)
+    jobId = serializers.CharField(
+        help_text="ID of Job",
+        required=True)
 
 
 class VnfVmsSerializer(serializers.Serializer):
-    vmID = serializers.CharField(help_text="ID of VM", required=True)
-    vmName = serializers.CharField(help_text="Name of VM", required=False, allow_null=True, allow_blank=True)
+    vmID = serializers.CharField(
+        help_text="ID of VM",
+        required=True)
+    vmName = serializers.CharField(
+        help_text="Name of VM",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class GetVnfRespSerializer(serializers.Serializer):
-    vnfInstId = serializers.CharField(help_text="ID of VNF instance", required=True)
-    vnfName = serializers.CharField(help_text="Name of VNF instance", required=True)
-    vnfStatus = serializers.CharField(help_text="Status of VNF instance", required=True)
-    vnfVms = VnfVmsSerializer(help_text="VMs of VNF", many=True)
+    vnfInstId = serializers.CharField(
+        help_text="ID of VNF instance",
+        required=True)
+    vnfName = serializers.CharField(
+        help_text="Name of VNF instance",
+        required=True)
+    vnfStatus = serializers.CharField(
+        help_text="Status of VNF instance",
+        required=True)
+    vnfVms = VnfVmsSerializer(
+        help_text="VMs of VNF",
+        many=True)
 
 
 class TerminateVnfReqSerializer(serializers.Serializer):
-    terminationType = serializers.CharField(help_text="Termination Type", required=False, allow_null=True)
-    gracefulTerminationTimeout = serializers.CharField(help_text="Graceful Termination Timeout", required=False, allow_null=True, allow_blank=True)
+    terminationType = serializers.CharField(
+        help_text="Termination Type",
+        required=False,
+        allow_null=True)
+    gracefulTerminationTimeout = serializers.CharField(
+        help_text="Graceful Termination Timeout",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class TerminateVnfRespSerializer(serializers.Serializer):
-    jobId = serializers.CharField(help_text="ID of Job", required=True)
+    jobId = serializers.CharField(
+        help_text="ID of Job",
+        required=True)
 
 
 class ResourceChangeSerializer(serializers.Serializer):
-    type = serializers.ChoiceField(help_text="Change Type", choices=["VDU"], required=True)
-    resourceDefinitionId = serializers.CharField(help_text="Identifier of resource", required=False, allow_null=True, allow_blank=True)
-    vdu = serializers.CharField(help_text="Identifier identifier of VDU", required=False, allow_null=True, allow_blank=True)
+    type = serializers.ChoiceField(
+        help_text="Change Type",
+        choices=enum_to_list(RESOURCE_CHANGE_TYPE),
+        required=True)
+    resourceDefinitionId = serializers.CharField(
+        help_text="Identifier of resource",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vdu = serializers.CharField(
+        help_text="Identifier identifier of VDU",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class GrantVnfReqSerializer(serializers.Serializer):
-    vnfInstanceId = serializers.CharField(help_text="ID of VNF instance", required=True)
-    vnfDescriptorId = serializers.CharField(help_text="ID of VNF Descriptor", required=False, allow_null=True, allow_blank=True)
+    vnfInstanceId = serializers.CharField(
+        help_text="ID of VNF instance",
+        required=True)
+    vnfDescriptorId = serializers.CharField(
+        help_text="ID of VNF Descriptor",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
     lifecycleOperation = serializers.ChoiceField(
         help_text="Lifecycle Operation",
-        choices=["Terminate", "Instantiate", "Scalein", "Scaleout", "Scaledown", "Scaleup", "Heal"],
-        required=True
-    )
-    jobId = serializers.CharField(help_text="ID of Job", required=False, allow_null=True, allow_blank=True)
-    addResource = ResourceChangeSerializer(help_text="Add resources", many=True)
-    removeResource = ResourceChangeSerializer(help_text="Remove resources", many=True)
+        choices=enum_to_list(LIFE_CYCLE_OPERATION),
+        required=True)
+    jobId = serializers.CharField(
+        help_text="ID of Job",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    addResource = ResourceChangeSerializer(
+        help_text="Add resources",
+        many=True)
+    removeResource = ResourceChangeSerializer(
+        help_text="Remove resources",
+        many=True)
     additionalParam = serializers.DictField(
         help_text="Additional parameters passed to the NFVO, specific to the VNF and the LCM operation. The currently interpreted keys are the following: vimId",
         child=serializers.CharField(help_text="Additional parameters", allow_blank=True),
         required=False,
-        allow_null=True
-    )
+        allow_null=True)
 
 
 class AccessinfoSerializer(serializers.Serializer):
-    tenant = serializers.CharField(help_text="Name of tenant", required=True)
+    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)
+    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, allow_blank=True)
-    vim = VimSerializer(help_text="VIM Info", required=True)
+    vnfInstanceId = serializers.CharField(
+        help_text="ID of VNF instance",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vim = VimSerializer(
+        help_text="VIM Info",
+        required=True)
 
 
 class AffectedVnfcLcmSerializer(serializers.Serializer):
-    vnfcInstanceId = serializers.CharField(help_text="ID of VNFC instance", required=False, allow_null=True, allow_blank=True)
-    vduId = serializers.CharField(help_text="ID of VDU in VNFD", required=False, allow_null=True, allow_blank=True)
+    vnfcInstanceId = serializers.CharField(
+        help_text="ID of VNFC instance",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vduId = serializers.CharField(
+        help_text="ID of VDU in VNFD",
+        required=False,
+        allow_null=True,
+        allow_blank=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, allow_blank=True)
-    vmId = serializers.CharField(help_text="ID of virtual machine", required=False, allow_null=True, allow_blank=True)
-    vmName = serializers.CharField(help_text="Name of virtual machine", required=False, allow_null=True, allow_blank=True)
+        choices=enum_to_list(VNFC_CHANGE_TYPE),  # ["added", "removed", "modified"],
+        required=True)
+    vimId = serializers.CharField(
+        help_text="ID of VIM",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vmId = serializers.CharField(
+        help_text="ID of virtual machine",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vmName = serializers.CharField(
+        help_text="Name of virtual machine",
+        required=False,
+        allow_null=True,
+        allow_blank=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, allow_blank=True)
-    resourceName = serializers.CharField(help_text="Name of network resource", required=False, allow_null=True, allow_blank=True)
+        choices=enum_to_list(NETWORK_RESOURCE_TYPE),
+        required=True)
+    resourceId = serializers.CharField(
+        help_text="ID of network resource",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    resourceName = serializers.CharField(
+        help_text="Name of network resource",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class AffectedVirtualLinkLcmSerializer(serializers.Serializer):
-    vlInstanceId = serializers.CharField(help_text="ID of VL instance", required=False, allow_null=True, allow_blank=True)
-    vldId = serializers.CharField(help_text="ID of VLD in VNFD", required=False, allow_null=True, allow_blank=True)
+    vlInstanceId = serializers.CharField(
+        help_text="ID of VL instance",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vldId = serializers.CharField(
+        help_text="ID of VLD in VNFD",
+        required=False,
+        allow_null=True,
+        allow_blank=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)
+        choices=enum_to_list(VNFC_CHANGE_TYPE),  # ["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, allow_blank=True)
-    resourceId = serializers.CharField(help_text="ID of Resource", required=False, allow_null=True, allow_blank=True)
-    resourceName = serializers.CharField(help_text="Name of Resource", required=False, allow_null=True, allow_blank=True)
-    tenant = serializers.CharField(help_text="ID of Tenant", required=False, allow_null=True, allow_blank=True)
-    ipAddress = serializers.CharField(help_text="IP address of port", required=False, allow_null=True, allow_blank=True)
-    macAddress = serializers.CharField(help_text="MAC address of port", required=False, allow_null=True, allow_blank=True)
-    instId = serializers.CharField(help_text="Instance id of server to which the port is attached to", required=False, allow_null=True, allow_blank=True)
+    vimId = serializers.CharField(
+        help_text="ID of VIM",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    resourceId = serializers.CharField(
+        help_text="ID of Resource",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    resourceName = serializers.CharField(
+        help_text="Name of Resource",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    tenant = serializers.CharField(
+        help_text="ID of Tenant",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    ipAddress = serializers.CharField(
+        help_text="IP address of port",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    macAddress = serializers.CharField(
+        help_text="MAC address of port",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    instId = serializers.CharField(
+        help_text="Instance id of server to which the port is attached to",
+        required=False,
+        allow_null=True,
+        allow_blank=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, allow_blank=True)
-    cpInstanceId = serializers.CharField(help_text="ID of CP instance", required=False, allow_null=True, allow_blank=True)
-    cpdId = serializers.CharField(help_text="ID of CPD in VNFD", required=False, allow_null=True, allow_blank=True)
-    ownerType = serializers.CharField(help_text="Type of Owner", required=False, allow_null=True, allow_blank=True)
-    ownerId = serializers.CharField(help_text="ID of Owner", required=False, allow_null=True, allow_blank=True)
-    portResource = PortResourceSerializer(help_text="Port Resource", required=False, allow_null=True)
+        choices=enum_to_list(VNFC_CHANGE_TYPE),  # ["added", "removed", "modified"],
+        required=True)
+    virtualLinkInstanceId = serializers.CharField(
+        help_text="ID of VL instance",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    cpInstanceId = serializers.CharField(
+        help_text="ID of CP instance",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    cpdId = serializers.CharField(
+        help_text="ID of CPD in VNFD",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    ownerType = serializers.CharField(
+        help_text="Type of Owner",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    ownerId = serializers.CharField(
+        help_text="ID of Owner",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    portResource = PortResourceSerializer(
+        help_text="Port Resource",
+        required=False,
+        allow_null=True)
 
 
 class AffectedVirtualStorageLcm(serializers.Serializer):
@@ -152,166 +313,327 @@ class AffectedVirtualStorageLcm(serializers.Serializer):
 class NotifyLcmReqSerializer(serializers.Serializer):
     status = serializers.ChoiceField(
         help_text="Status of operation",
-        choices=["result", "start"],
+        choices=enum_to_list(LCM_NOTIFICATION_STATUS),
         required=True
     )
     operation = serializers.ChoiceField(
         help_text="Lifecycle Operation",
-        choices=["Terminate", "Instantiate", "Scalein", "Scaleout", "Scaledown", "Scaleup", "Heal"],
+        choices=enum_to_list(LIFE_CYCLE_OPERATION),
         required=True
     )
-    jobId = serializers.CharField(help_text="ID of Job", required=False, allow_null=True, allow_blank=True)
-    vnfdmodule = serializers.CharField(help_text="VNFD Module", required=False, allow_null=True, allow_blank=True)
-    affectedVnfc = AffectedVnfcLcmSerializer(help_text="Affected VNFC", many=True)
-    affectedVl = AffectedVirtualLinkLcmSerializer(help_text="Affected VL", many=True)
-    affectedCp = AffectedCpSerializer(help_text="Affected CP", many=True)
-    affectedVirtualStorage = AffectedVirtualStorageLcm(help_text="Affected Virtual Storage(Not supported)", many=True)
+    jobId = serializers.CharField(
+        help_text="ID of Job",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    vnfdmodule = serializers.CharField(
+        help_text="VNFD Module",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    affectedVnfc = AffectedVnfcLcmSerializer(
+        help_text="Affected VNFC",
+        many=True)
+    affectedVl = AffectedVirtualLinkLcmSerializer(
+        help_text="Affected VL",
+        many=True)
+    affectedCp = AffectedCpSerializer(
+        help_text="Affected CP",
+        many=True)
+    affectedVirtualStorage = AffectedVirtualStorageLcm(
+        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, allow_blank=True)
-    numberOfSteps = serializers.CharField(help_text="Number of scaling steps to be executed as part of this ScaleVnf operation", required=False, allow_null=True, allow_blank=True)
+        choices=enum_to_list(SCALE_VNF_TYPE),
+        required=True)
+    aspectId = serializers.CharField(
+        help_text="Aspect ID of the VNF that is requested to be scaled",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    numberOfSteps = serializers.CharField(
+        help_text="Number of scaling steps to be executed as part of this ScaleVnf operation",
+        required=False,
+        allow_null=True,
+        allow_blank=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),
+        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)
+    scaleVnfData = ScaleVnfDataSerializer(
+        help_text="Scale data",
+        many=False)
 
 
 class ScaleVnfRespSerializer(serializers.Serializer):
-    jobId = serializers.CharField(help_text="ID of Job", required=True)
+    jobId = serializers.CharField(
+        help_text="ID of Job",
+        required=True)
 
 
 class VerifyVnfReqSerializer(serializers.Serializer):
-    PackageID = serializers.CharField(help_text="ID of Package", required=True)
+    PackageID = serializers.CharField(
+        help_text="ID of Package",
+        required=True)
 
 
 class VerifyVnfRespSerializer(serializers.Serializer):
-    jobId = serializers.CharField(help_text="ID of Job", required=True)
+    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=False, allow_null=True, allow_blank=True)
-    userName = serializers.CharField(help_text="User Name of VNFM", required=False, allow_null=True, allow_blank=True)
-    password = serializers.CharField(help_text="Password of VNFM", required=False, allow_null=True, allow_blank=True)
-    createTime = serializers.CharField(help_text="Create Time of VNFM", required=False, allow_null=True, allow_blank=True)
+    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=False,
+        allow_null=True,
+        allow_blank=True)
+    userName = serializers.CharField(
+        help_text="User Name of VNFM",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
+    password = serializers.CharField(
+        help_text="Password of VNFM",
+        required=False,
+        allow_null=True,
+        allow_blank=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)
+    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)
 
 
 class CandidateSerializer(serializers.Serializer):
     identifierType = serializers.ChoiceField(
         help_text="The type of a candidate",
-        choices=["serviceInstanceId", "vnfName", "cloudRegionId", "vimId"],
-        required=True
-    )
+        choices=enum_to_list(CANDIDATE_IDENTIFIER_TYPE),
+        required=True)
     identifiers = serializers.ListField(
         help_text="A list of identifiers",
-        child=serializers.CharField(help_text="One identifier", required=True),
-        required=True
-    )
+        child=serializers.CharField(
+            help_text="One identifier",
+            required=True),
+        required=True)
     cloudOwner = serializers.CharField(
-        help_text="The name of a cloud owner. Only required if identifier Type is cloudRegionId", required=False, allow_null=True, allow_blank=True)
+        help_text="The name of a cloud owner. Only required if identifier Type is cloudRegionId",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
 
 
 class LicenseSolutionSerializer(serializers.Serializer):
-    resourceModuleName = serializers.CharField(help_text="Name of Resource as defined in the Service Model",
-                                               required=True)
-    serviceResourceId = serializers.CharField(help_text="Resource Id defined in the Service Model", required=True)
+    resourceModuleName = serializers.CharField(
+        help_text="Name of Resource as defined in the Service Model",
+        required=True)
+    serviceResourceId = serializers.CharField(
+        help_text="Resource Id defined in the Service Model",
+        required=True)
     entitlementPoolUUID = serializers.ListField(
         help_text="A list of entitlementPoolUUIDs",
-        child=serializers.CharField(help_text="entitlementPoolUUID", required=True),
-        required=True
-    )
+        child=serializers.CharField(
+            help_text="entitlementPoolUUID",
+            required=True),
+        required=True)
     licenseKeyGroupUUID = serializers.ListField(
         help_text="A list of licenseKeyGroupUUID",
-        child=serializers.CharField(help_text="licenseKeyGroupUUID", required=True),
-        required=True
-    )
+        child=serializers.CharField(
+            help_text="licenseKeyGroupUUID",
+            required=True),
+        required=True)
     entitlementPoolInvariantUUID = serializers.ListField(
         help_text="A list of entitlementPoolInvariantUUIDs",
-        child=serializers.CharField(help_text="entitlementPoolInvariantUUID", required=True),
-        required=True
-    )
+        child=serializers.CharField(
+            help_text="entitlementPoolInvariantUUID",
+            required=True),
+        required=True)
     licenseKeyGroupInvariantUUID = serializers.ListField(
         help_text="A list of licenseKeyGroupInvariantUUID",
-        child=serializers.CharField(help_text="licenseKeyGroupInvariantUUID", required=True),
-        required=True
-    )
+        child=serializers.CharField(
+            help_text="licenseKeyGroupInvariantUUID",
+            required=True),
+        required=True)
 
 
 class AssignmentInfoSerializer(serializers.Serializer):
-    key = serializers.CharField(help_text="Any attribute Key needed", required=True)
-    value = serializers.JSONField(help_text="Attribute value for that key", required=True)
+    key = serializers.CharField(
+        help_text="Any attribute Key needed",
+        required=True)
+    value = serializers.JSONField(
+        help_text="Attribute value for that key",
+        required=True)
 
 
 class PlacementSolutionSerializer(serializers.Serializer):
-    resourceModuleName = serializers.CharField(help_text="Name of Resource as defined in the Service Model",
-                                               required=True)
-    serviceResourceId = serializers.CharField(help_text="Resource Id defined in the Service Model", required=True)
-    solution = CandidateSerializer(help_text="The Placement Solution", required=True)
-    assignmentInfo = AssignmentInfoSerializer(help_text="Additonal information related to a candidate",
-                                              required=False, many=True)
+    resourceModuleName = serializers.CharField(
+        help_text="Name of Resource as defined in the Service Model",
+        required=True)
+    serviceResourceId = serializers.CharField(
+        help_text="Resource Id defined in the Service Model",
+        required=True)
+    solution = CandidateSerializer(
+        help_text="The Placement Solution",
+        required=True)
+    assignmentInfo = AssignmentInfoSerializer(
+        help_text="Additonal information related to a candidate",
+        required=False,
+        many=True)
 
 
 class ComprehensiveSolutionSerializer(serializers.ListSerializer):
-    child = PlacementSolutionSerializer(help_text="A list of placement solutions",
-                                        allow_null=True,
-                                        required=True)
+    child = PlacementSolutionSerializer(
+        help_text="A list of placement solutions",
+        allow_null=True,
+        required=True)
 
 
 class SolutionSerializer(serializers.Serializer):
-    placementSolutions = ComprehensiveSolutionSerializer(help_text="A list of Placement Solutions",
-                                                         required=True,
-                                                         allow_empty=True,
-                                                         many=True)
-    licenseSolutions = LicenseSolutionSerializer(help_text="A list of License Solutions",
-                                                 required=False, many=True)
+    placementSolutions = ComprehensiveSolutionSerializer(
+        help_text="A list of Placement Solutions",
+        required=True,
+        allow_empty=True,
+        many=True)
+    licenseSolutions = LicenseSolutionSerializer(
+        help_text="A list of License Solutions",
+        required=False,
+        many=True)
 
 
 class PlaceVnfReqSerializer(serializers.Serializer):
-    requestId = serializers.CharField(help_text="ID of Homing Request", required=True)
-    transactionId = serializers.CharField(help_text="ID of Homing Transaction", required=True, allow_null=False, allow_blank=True)
-    statusMessage = serializers.CharField(help_text="Status Message of Request", required=False, allow_null=True, allow_blank=True)
+    requestId = serializers.CharField(
+        help_text="ID of Homing Request",
+        required=True)
+    transactionId = serializers.CharField(
+        help_text="ID of Homing Transaction",
+        required=True,
+        allow_null=False,
+        allow_blank=True)
+    statusMessage = serializers.CharField(
+        help_text="Status Message of Request",
+        required=False,
+        allow_null=True,
+        allow_blank=True)
     requestStatus = serializers.ChoiceField(
         help_text="The Status of a Request",
-        choices=["completed", "failed", "pending"],
+        choices=enum_to_list(PLACE_VNF_REQUEST_STATUS),
         required=True,
-        allow_null=False
-    )
-    solutions = SolutionSerializer(help_text="Request Solutions", required=True, allow_null=False)
+        allow_null=False)
+    solutions = SolutionSerializer(
+        help_text="Request Solutions",
+        required=True,
+        allow_null=False)
index e2e2f92..6a2ed6b 100644 (file)
@@ -31,7 +31,7 @@ from lcm.ns_vnfs.biz.heal_vnfs import NFHealService
 from lcm.ns_vnfs.biz.scale_vnfs import NFManualScaleService
 from lcm.ns_vnfs.biz.subscribe import SubscriptionDeletion
 from lcm.ns_vnfs.biz.terminate_nfs import TerminateVnfs
-from lcm.ns_vnfs.const import VNF_STATUS, INST_TYPE
+from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
 from lcm.ns_vnfs.biz import create_vnfs
 from lcm.ns_vnfs.biz.place_vnfs import PlaceVnfs
 from lcm.pub.msapi import resmgr