seperate sol and deprecated api 14/82914/4
authormaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 21 Mar 2019 11:43:12 +0000 (19:43 +0800)
committermaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 21 Mar 2019 13:50:23 +0000 (21:50 +0800)
seperate sol and deprecated api

Change-Id: I4c841bdfe45876c9b44c729ac840fa496f944db9
Issue-ID: VFC-1211
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
44 files changed:
lcm/ns/serializers/deprecated/__init__.py [new file with mode: 0644]
lcm/ns/serializers/deprecated/ns_serializers.py [new file with mode: 0644]
lcm/ns/serializers/sol/__init__.py [new file with mode: 0644]
lcm/ns/serializers/sol/affected_nss.py [moved from lcm/ns/serializers/affected_nss.py with 100% similarity]
lcm/ns/serializers/sol/affected_pnfs.py [moved from lcm/ns/serializers/affected_pnfs.py with 100% similarity]
lcm/ns/serializers/sol/affected_saps.py [moved from lcm/ns/serializers/affected_saps.py with 100% similarity]
lcm/ns/serializers/sol/affected_vls.py [moved from lcm/ns/serializers/affected_vls.py with 100% similarity]
lcm/ns/serializers/sol/affected_vnffgs.py [moved from lcm/ns/serializers/affected_vnffgs.py with 100% similarity]
lcm/ns/serializers/sol/affected_vnfs.py [moved from lcm/ns/serializers/affected_vnfs.py with 93% similarity]
lcm/ns/serializers/sol/create_ns_serializers.py [moved from lcm/ns/serializers/create_ns_serializers.py with 91% similarity]
lcm/ns/serializers/sol/ext_link_port_info.py [moved from lcm/ns/serializers/ext_link_port_info.py with 94% similarity]
lcm/ns/serializers/sol/ext_virtual_link_info.py [moved from lcm/ns/serializers/ext_virtual_link_info.py with 88% similarity]
lcm/ns/serializers/sol/heal_serializers.py [moved from lcm/ns/serializers/heal_serializers.py with 100% similarity]
lcm/ns/serializers/sol/inst_ns_serializers.py [moved from lcm/ns/serializers/inst_ns_serializers.py with 96% similarity]
lcm/ns/serializers/sol/lccn_filter_data.py [moved from lcm/ns/serializers/lccn_filter_data.py with 100% similarity]
lcm/ns/serializers/sol/lccn_subscription.py [moved from lcm/ns/serializers/lccn_subscription.py with 92% similarity]
lcm/ns/serializers/sol/lccn_subscription_request.py [moved from lcm/ns/serializers/lccn_subscription_request.py with 90% similarity]
lcm/ns/serializers/sol/lccn_subscriptions.py [moved from lcm/ns/serializers/lccn_subscriptions.py with 100% similarity]
lcm/ns/serializers/sol/link.py [moved from lcm/ns/serializers/link.py with 100% similarity]
lcm/ns/serializers/sol/ns_instance_subscription_filter.py [moved from lcm/ns/serializers/ns_instance_subscription_filter.py with 100% similarity]
lcm/ns/serializers/sol/ns_lcm_op_occ.py [moved from lcm/ns/serializers/ns_lcm_op_occ.py with 91% similarity]
lcm/ns/serializers/sol/ns_lcm_op_occs.py [moved from lcm/ns/serializers/ns_lcm_op_occs.py with 100% similarity]
lcm/ns/serializers/sol/pub_serializers.py [moved from lcm/ns/serializers/pub_serializers.py with 99% similarity]
lcm/ns/serializers/sol/resource_handle.py [moved from lcm/ns/serializers/resource_handle.py with 100% similarity]
lcm/ns/serializers/sol/response.py [moved from lcm/ns/serializers/response.py with 100% similarity]
lcm/ns/serializers/sol/scale_ns_serializers.py [moved from lcm/ns/serializers/scale_ns_serializers.py with 98% similarity]
lcm/ns/serializers/sol/subscription_auth_data.py [moved from lcm/ns/serializers/subscription_auth_data.py with 100% similarity]
lcm/ns/serializers/sol/update_serializers.py [moved from lcm/ns/serializers/update_serializers.py with 99% similarity]
lcm/ns/serializers/terminate_ns_serializer.py [deleted file]
lcm/ns/urls.py
lcm/ns/views/deprecated/create_ns_view.py
lcm/ns/views/deprecated/get_del_ns_view.py
lcm/ns/views/deprecated/inst_ns_post_deal_view.py [moved from lcm/ns/views/inst_ns_post_deal_view.py with 93% similarity]
lcm/ns/views/deprecated/inst_ns_view.py
lcm/ns/views/deprecated/term_ns_view.py
lcm/ns/views/sol/heal_ns_view.py [moved from lcm/ns/views/heal_ns_view.py with 94% similarity]
lcm/ns/views/sol/instantiate_ns_views.py [moved from lcm/ns/views/sol/nslcm_op_views.py with 75% similarity]
lcm/ns/views/sol/lcm_op_occs_view.py [moved from lcm/ns/views/lcm_op_occs_view.py with 96% similarity]
lcm/ns/views/sol/ns_instances_views.py
lcm/ns/views/sol/scale_ns_views.py [moved from lcm/ns/views/scale_ns_views.py with 93% similarity]
lcm/ns/views/sol/subscriptions_view.py [moved from lcm/ns/views/subscriptions_view.py with 95% similarity]
lcm/ns/views/sol/terminate_ns_view.py [moved from lcm/ns/serializers/common_Link.py with 63% similarity]
lcm/ns/views/sol/update_ns_view.py [moved from lcm/ns/views/update_ns_view.py with 93% similarity]
lcm/ns_vnfs/serializers/grant_vnf_serializer.py

diff --git a/lcm/ns/serializers/deprecated/__init__.py b/lcm/ns/serializers/deprecated/__init__.py
new file mode 100644 (file)
index 0000000..0c847b7
--- /dev/null
@@ -0,0 +1,13 @@
+# 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.
diff --git a/lcm/ns/serializers/deprecated/ns_serializers.py b/lcm/ns/serializers/deprecated/ns_serializers.py
new file mode 100644 (file)
index 0000000..19c3d1e
--- /dev/null
@@ -0,0 +1,196 @@
+# 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
+from lcm.ns_pnfs.serializers.pnf_serializer import PnfInstanceSerializer
+
+
+class _ContextSerializer(serializers.Serializer):
+    globalCustomerId = serializers.CharField(help_text="Global customer ID", required=False, allow_null=True, allow_blank=True)
+    serviceType = serializers.CharField(help_text="Service type", required=False, allow_null=True, allow_blank=True)
+
+
+class _CreateNsReqSerializer(serializers.Serializer):
+    csarId = serializers.CharField(help_text="Package ID of NS", required=False, allow_null=True, allow_blank=True)
+    nsName = serializers.CharField(help_text="Name of NS", required=False, allow_null=True, allow_blank=True)
+    description = serializers.CharField(help_text="Description of NS", required=False, allow_null=True, allow_blank=True)
+    context = _ContextSerializer(help_text="Context of NS", required=False)
+
+
+class _CreateNsRespSerializer(serializers.Serializer):
+    nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=True)
+
+
+class _VnfInstSerializer(serializers.Serializer):
+    vnfInstanceId = serializers.CharField(help_text="ID of VNF instance", required=True)
+    vnfInstanceName = serializers.CharField(help_text="Name of VNF instance", required=False, allow_null=True, allow_blank=True)
+    vnfdId = serializers.CharField(help_text="ID of VNFD", required=False, allow_null=True, allow_blank=True)
+
+
+class _CpInstInfoSerializer(serializers.Serializer):
+    cpInstanceId = serializers.CharField(help_text="ID of CP instance", required=True)
+    cpInstanceName = serializers.CharField(help_text="Name of CP instance", required=False, allow_null=True, allow_blank=True)
+    cpdId = serializers.CharField(help_text="ID of CPD", required=False, allow_null=True, allow_blank=True)
+
+
+class _VlInstSerializer(serializers.Serializer):
+    vlInstanceId = serializers.CharField(help_text="ID of VL instance", required=True)
+    vlInstanceName = serializers.CharField(help_text="Name of VL instance", required=False, allow_null=True, allow_blank=True)
+    vldId = serializers.CharField(help_text="ID of VLD", required=False, allow_null=True, allow_blank=True)
+    relatedCpInstanceId = _CpInstInfoSerializer(help_text="Related CP instances", many=True)
+
+
+class _VnffgInstSerializer(serializers.Serializer):
+    vnffgInstanceId = serializers.CharField(help_text="ID of VNFFG instance", required=True)
+    vnfdId = serializers.CharField(help_text="ID of VNFD", required=False, allow_null=True, allow_blank=True)
+    pnfId = serializers.CharField(help_text="ID of PNF", required=False, allow_null=True, allow_blank=True)
+    virtualLinkId = serializers.CharField(help_text="ID of virtual link", required=False, allow_null=True, allow_blank=True)
+    cpdId = serializers.CharField(help_text="ID of CPD", required=False, allow_null=True, allow_blank=True)
+    nfp = serializers.CharField(help_text="nfp", required=False, allow_null=True, allow_blank=True)
+
+
+class _QueryNsRespSerializer(serializers.Serializer):
+    nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=True)
+    nsName = serializers.CharField(help_text="Name of NS instance", required=False, allow_null=True, allow_blank=True)
+    description = serializers.CharField(help_text="Description of NS instance", required=False, allow_null=True, allow_blank=True)
+    nsdId = serializers.CharField(help_text="ID of NSD", required=True)
+    vnfInfo = _VnfInstSerializer(help_text="VNF instances", many=True, required=False, allow_null=True)
+    pnfInfo = PnfInstanceSerializer(help_text="PNF instances", many=True, required=False, allow_null=True)
+    vlInfo = _VlInstSerializer(help_text="VL instances", many=True, required=False, allow_null=True)
+    vnffgInfo = _VnffgInstSerializer(help_text="VNFFG instances", many=True, required=False, allow_null=True)
+    nsState = serializers.CharField(help_text="State of NS instance", required=False, allow_null=True, allow_blank=True)
+
+
+class _VnfLocationSerializer(serializers.Serializer):
+    vimId = serializers.CharField(help_text="ID of VIM", required=False, allow_null=True, allow_blank=True)
+
+
+class _LocationConstraintSerializer(serializers.Serializer):
+    vnfProfileId = serializers.CharField(help_text="ID of VNF profile", required=False, allow_null=True, allow_blank=True)
+    locationConstraints = _VnfLocationSerializer(help_text="Location constraint", required=False, allow_null=True)
+
+
+class _AddressRange(serializers.Serializer):
+    minAddress = serializers.IPAddressField(help_text="Lowest IP address belonging to the range.", required=True)
+    maxAddress = serializers.IPAddressField(help_text="Highest IP address belonging to the range.", required=True)
+
+
+class _IpAddress(serializers.Serializer):
+    type = serializers.ChoiceField(help_text="The type of the IP addresses.", required=True, choices=["IPV4", "IPV6"])
+    fixedAddresses = serializers.ListField(child=serializers.CharField(help_text="Fixed addresses to assign."), required=False)
+    numDynamicAddresses = serializers.IntegerField(help_text="Number of dynamic addresses to assign.", required=False)
+    addressRange = _AddressRange(help_text="An IP address range to be used.", required=False)
+    subnetId = serializers.CharField(help_text="Subnet defined by the identifier of the subnet resource in the VIM.", required=False, allow_null=True, allow_blank=True)
+
+
+class _IpOverEthernetSerializer(serializers.Serializer):
+    macAddress = serializers.CharField(help_text="MAC address.", required=False, allow_null=True, allow_blank=True)
+    ipAddresses = _IpAddress(help_text="List of IP addresses to assign to the extCP instance.", required=False, many=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=True,
+        allow_null=False)
+    ipOverEthernet = _IpOverEthernetSerializer(
+        help_text="IP addresses over Ethernet to assign to the extCP instance.",
+        required=False,
+        allow_null=True)
+
+
+class _PnfExtCpData(serializers.Serializer):
+    cpInstanceId = serializers.CharField(help_text="Identifier of the CP", required=False, allow_null=True, allow_blank=True)
+    cpdId = serializers.CharField(help_text="Identifier of the Connection Point Descriptor", required=False, allow_null=True, allow_blank=True)
+    cpProtocolData = _CpProtocolInfoSerializer(help_text="Address assigned for this CP", required=True, allow_null=False, many=True)
+
+
+class _AddPnfData(serializers.Serializer):
+    pnfId = serializers.CharField(help_text="Identifier of the PNF", required=True, allow_null=False, allow_blank=True)
+    pnfName = serializers.CharField(help_text="Name of the PNF", required=True, allow_null=True, allow_blank=True)
+    pnfdId = serializers.CharField(help_text="Identifier of the PNFD", required=True, allow_null=False, allow_blank=True)
+    pnfProfileId = serializers.CharField(help_text="Identifier of related PnfProfile in the NSD", required=True, allow_null=False, allow_blank=True)
+    cpData = _PnfExtCpData(help_text="Address assigned for the PNF external CP", required=False, many=True)
+
+
+class _InstantNsReqSerializer(serializers.Serializer):
+    locationConstraints = _LocationConstraintSerializer(help_text="Location constraints", required=False, many=True)
+    additionalParamForNs = serializers.DictField(
+        help_text="Additional param for NS",
+        child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
+        required=False,
+        allow_null=True
+    )
+    addpnfData = _AddPnfData(help_text="Information on the PNF", required=False, many=True)
+
+
+class _NsOperateJobSerializer(serializers.Serializer):
+    jobId = serializers.CharField(help_text="ID of NS operate job", required=True)
+
+
+class _TerminateNsReqSerializer(serializers.Serializer):
+    terminationType = serializers.CharField(help_text="Type of NS termination", required=False, allow_null=True, allow_blank=True)
+    gracefulTerminationTimeout = serializers.CharField(help_text="Timeout of NS graceful termination", required=False, allow_null=True, allow_blank=True)
+
+
+class _ActionVmSerializer(serializers.Serializer):
+    vmid = serializers.CharField(help_text="ID of VM", required=False, allow_null=True, allow_blank=True)
+    vduid = serializers.CharField(help_text="ID of vdu", required=False, allow_null=True, allow_blank=True)
+    vmname = serializers.CharField(help_text="Name of VM", required=False, allow_null=True, allow_blank=True)
+
+
+class _HealNsAdditionalParamsSerializer(serializers.Serializer):
+    action = serializers.CharField(help_text="Action of NS heal", required=False, allow_null=True, allow_blank=True)
+    actionvminfo = _ActionVmSerializer(help_text="VM info of action", required=False, allow_null=True)
+
+
+class _HealVnfDataSerializer(serializers.Serializer):
+    vnfInstanceId = serializers.CharField(help_text="ID of VNF Instance", required=True)
+    cause = serializers.CharField(help_text="Cause of NS heal", required=False, allow_null=True, allow_blank=True)
+    additionalParams = _HealNsAdditionalParamsSerializer(help_text="Additional params of NS heal", required=False, allow_null=True)
+
+
+class _HealNsDataSerializer(serializers.Serializer):
+    degreeHealing = serializers.ChoiceField(help_text="degree of healing", choices=["HEAL_RESTORE", "HEAL_QOS", "HEAL_RESET", "PARTIAL_HEALING"], required=True)
+    actionsHealing = serializers.ListField(
+        help_text="A list of actions",
+        child=serializers.CharField(help_text="One action", required=True),
+        required=False)
+    healScript = serializers.CharField(help_text="script of NS heal", required=False, allow_null=True, allow_blank=True)
+    additionalParamsforNs = serializers.CharField(help_text="Addition params of NS heal", required=False, allow_null=True, allow_blank=True)
+
+
+class _HealNsReqSerializer(serializers.Serializer):
+    healVnfData = _HealVnfDataSerializer(help_text="Data of heal VNF", required=False, allow_null=True)
+    healNsData = _HealNsDataSerializer(help_text="Data of heal NS", required=False, allow_null=True)
+
+
+class _InstNsPostDealReqSerializer(serializers.Serializer):
+    status = serializers.CharField(help_text="Status of NS Inst", required=True)
+
+
+class _ScaleNsByStepsSerializer(serializers.Serializer):
+    aspectId = serializers.CharField(help_text="ID of aspect", required=True)
+    numberOfSteps = serializers.CharField(help_text="Number of steps", required=True)
+    scalingDirection = serializers.CharField(help_text="Scaling direction", required=True)
+
+
+class _ScaleNsDataSerializer(serializers.Serializer):
+    scaleNsByStepsData = _ScaleNsByStepsSerializer(help_text="Scale NS by steps data", many=True)
+
+
+class _ManualScaleNsReqSerializer(serializers.Serializer):
+    scaleType = serializers.CharField(help_text="Type of NS Scale", required=True)
+    scaleNsData = _ScaleNsDataSerializer(help_text="Scale NS data", many=True)
diff --git a/lcm/ns/serializers/sol/__init__.py b/lcm/ns/serializers/sol/__init__.py
new file mode 100644 (file)
index 0000000..0c847b7
--- /dev/null
@@ -0,0 +1,13 @@
+# 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.
similarity index 93%
rename from lcm/ns/serializers/affected_vnfs.py
rename to lcm/ns/serializers/sol/affected_vnfs.py
index 972c3de..c4d9a2b 100644 (file)
 
 
 from rest_framework import serializers
-from lcm.ns.serializers.update_serializers import ModifyVnfInfoDataSerializer
-from ext_virtual_link_info import ExtVirtualLinkInfoSerializer
 
 from lcm.ns.const import CHANGE_TYPES, CHANGE_RESULT
-
+from lcm.ns.serializers.sol.ext_virtual_link_info import ExtVirtualLinkInfoSerializer
+from lcm.ns.serializers.sol.update_serializers import ModifyVnfInfoDataSerializer
 
 CHANGE_TYPE = [
     CHANGE_TYPES.ADD,
 
 from rest_framework import serializers
 
-from lcm.ns.serializers.pub_serializers import Links, ipAddressesSerializer, CpProtocolDataSerializer
-from resource_handle import ResourceHandleSerializer
+from lcm.ns.serializers.sol.pub_serializers import Links, ipAddressesSerializer, CpProtocolDataSerializer
+from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
 
 
-class ContextSerializer(serializers.Serializer):
-    globalCustomerId = serializers.CharField(help_text="Global customer ID", required=False, allow_null=True)
-    serviceType = serializers.CharField(help_text="Service type", required=False, allow_null=True)
-
-
-class CreateNsReqSerializer(serializers.Serializer):
-    csarId = serializers.CharField(help_text="Package ID of NS", required=False, allow_null=True)
+class CreateNsRequestSerializer(serializers.Serializer):
     nsdId = serializers.CharField(help_text="Identifier of the NSD that defines the NS instance to be"
                                             "created.", required=True, allow_null=False)
     nsName = serializers.CharField(help_text="Name of NS", required=False, allow_null=True)
     nsDescription = serializers.CharField(help_text="Description of NS", required=False, allow_null=True)
-    context = ContextSerializer(help_text="Context of NS", required=False)
 
 
 class VnfInstanceSerializer(serializers.Serializer):
@@ -64,19 +57,6 @@ class PnfInfoSerializer(serializers.Serializer):
                                     required=True, many=True)
 
 
-# class ResourceHandleSerializer(serializers.Serializer):
-#     vimId = serializers.CharField(help_text="Identifier of the VIM under whose control this resource is"
-#                                             "placed.", required=False, allow_null=True)
-#     resourceProviderId = serializers.CharField(help_text="Identifier of the entity responsible for the"
-#                                                          "management of the resource", required=False,
-#                                                allow_null=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)
-
-
 class NsVirtualLinkInfoSerializer(serializers.Serializer):
     id = serializers.CharField(help_text="Identifier of the VL instance.", required=True)
     nsVirtualLinkDescId = serializers.CharField(help_text="Identifier of the VLD in the NSD.", required=True)
similarity index 94%
rename from lcm/ns/serializers/ext_link_port_info.py
rename to lcm/ns/serializers/sol/ext_link_port_info.py
index e2ca15b..fc13f82 100644 (file)
@@ -14,7 +14,7 @@
 
 from rest_framework import serializers
 
-from resource_handle import ResourceHandleSerializer
+from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
 
 
 class ExtlinkPortInfoSerializer(serializers.Serializer):
@@ -14,8 +14,8 @@
 
 from rest_framework import serializers
 
-from resource_handle import ResourceHandleSerializer
-from ext_link_port_info import ExtlinkPortInfoSerializer
+from lcm.ns.serializers.sol.ext_link_port_info import ExtlinkPortInfoSerializer
+from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
 
 
 class ExtVirtualLinkInfoSerializer(serializers.Serializer):
similarity index 96%
rename from lcm/ns/serializers/inst_ns_serializers.py
rename to lcm/ns/serializers/sol/inst_ns_serializers.py
index bd67a76..5f189c6 100644 (file)
@@ -14,8 +14,8 @@
 
 from rest_framework import serializers
 
-from lcm.ns.serializers.update_serializers import AddPnfDataSerializer, VnfInstanceDataSerializer, SapDataSerializer
-from lcm.ns.serializers.create_ns_serializers import AffinityOrAntiAffinityRuleSerializer
+from lcm.ns.serializers.sol.create_ns_serializers import AffinityOrAntiAffinityRuleSerializer
+from lcm.ns.serializers.sol.update_serializers import AddPnfDataSerializer, VnfInstanceDataSerializer, SapDataSerializer
 
 
 class civicAddressElementSerializer(serializers.Serializer):
similarity index 92%
rename from lcm/ns/serializers/lccn_subscription.py
rename to lcm/ns/serializers/sol/lccn_subscription.py
index d639656..5211784 100644 (file)
@@ -14,8 +14,8 @@
 
 from rest_framework import serializers
 
-from link import linkSerializer
-from lccn_filter_data import LifeCycleChangeNotificationsFilter
+from lcm.ns.serializers.sol.lccn_filter_data import LifeCycleChangeNotificationsFilter
+from lcm.ns.serializers.sol.link import linkSerializer
 
 
 class LinkSerializer(serializers.Serializer):
@@ -14,8 +14,8 @@
 
 from rest_framework import serializers
 
-from lccn_filter_data import LifeCycleChangeNotificationsFilter
-from subscription_auth_data import SubscriptionAuthenticationSerializer
+from lcm.ns.serializers.sol.lccn_filter_data import LifeCycleChangeNotificationsFilter
+from lcm.ns.serializers.sol.subscription_auth_data import SubscriptionAuthenticationSerializer
 
 
 class LccnSubscriptionRequestSerializer(serializers.Serializer):
similarity index 91%
rename from lcm/ns/serializers/ns_lcm_op_occ.py
rename to lcm/ns/serializers/sol/ns_lcm_op_occ.py
index afe4e3e..b68486d 100644 (file)
 
 from rest_framework import serializers
 
-from affected_vnfs import AffectedVnfsSerializer
-from affected_pnfs import AffectedPnfsSerializer
-from affected_vls import AffectedVLsSerializer
-from affected_vnffgs import AffectedVnffgsSerializer
-from affected_nss import AffectedNssSerializer
-from affected_saps import AffectedSapsSerializer
-
-from link import linkSerializer
-from response import ProblemDetailsSerializer
 from lcm.ns import const
+from lcm.ns.serializers.sol.affected_nss import AffectedNssSerializer
+from lcm.ns.serializers.sol.affected_pnfs import AffectedPnfsSerializer
+from lcm.ns.serializers.sol.affected_saps import AffectedSapsSerializer
+from lcm.ns.serializers.sol.affected_vls import AffectedVLsSerializer
+from lcm.ns.serializers.sol.affected_vnffgs import AffectedVnffgsSerializer
+from lcm.ns.serializers.sol.affected_vnfs import AffectedVnfsSerializer
+from lcm.ns.serializers.sol.link import linkSerializer
+from lcm.ns.serializers.sol.response import ProblemDetailsSerializer
 
 
 class ResourceChangesSerializer(serializers.Serializer):
similarity index 99%
rename from lcm/ns/serializers/pub_serializers.py
rename to lcm/ns/serializers/sol/pub_serializers.py
index 33973a7..7cca598 100644 (file)
@@ -13,7 +13,8 @@
 # limitations under the License.
 
 from rest_framework import serializers
-from link import linkSerializer
+
+from lcm.ns.serializers.sol.link import linkSerializer
 from lcm.ns_pnfs.serializers.pnf_serializer import PnfInstanceSerializer
 
 
similarity index 98%
rename from lcm/ns/serializers/scale_ns_serializers.py
rename to lcm/ns/serializers/sol/scale_ns_serializers.py
index 2a8c597..97219cf 100644 (file)
 # limitations under the License.
 
 from rest_framework import serializers
-from lcm.ns.serializers.update_serializers import VnfInstanceDataSerializer
-from lcm.ns.serializers.create_ns_serializers import NsScaleInfoSerializer
-from lcm.ns.serializers.inst_ns_serializers import VnfLocationConstraintSerializer, ParamsForVnfSerializer
+
+from lcm.ns.serializers.sol.create_ns_serializers import NsScaleInfoSerializer
+from lcm.ns.serializers.sol.inst_ns_serializers import VnfLocationConstraintSerializer, ParamsForVnfSerializer
+from lcm.ns.serializers.sol.update_serializers import VnfInstanceDataSerializer
 
 
 # class VnfInstanceDataSerializer(serializers.Serializer):
similarity index 99%
rename from lcm/ns/serializers/update_serializers.py
rename to lcm/ns/serializers/sol/update_serializers.py
index 58a056e..f6079a5 100644 (file)
 
 from rest_framework import serializers
 
-from lcm.ns.serializers.pub_serializers import IpAddressSerialzier
-from lcm.ns.serializers.pub_serializers import CpProtocolDataSerializer
-from lcm.ns.serializers.create_ns_serializers import ResourceHandleSerializer, NsCpHandleSerializer, \
+from lcm.ns.serializers.sol.create_ns_serializers import ResourceHandleSerializer, NsCpHandleSerializer, \
     NfpRuleSerializer
+from lcm.ns.serializers.sol.pub_serializers import CpProtocolDataSerializer
+from lcm.ns.serializers.sol.pub_serializers import IpAddressSerialzier
 
 
 class VnfInstanceDataSerializer(serializers.Serializer):
diff --git a/lcm/ns/serializers/terminate_ns_serializer.py b/lcm/ns/serializers/terminate_ns_serializer.py
deleted file mode 100644 (file)
index d669a6b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2019, CMCC Technologies Co., Ltd.
-
-# 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 TerminateNsReqSerializer(serializers.Serializer):
-    terminationType = serializers.CharField(help_text="Type of NS termination",
-                                            required=False, allow_null=True, allow_blank=True)
-    gracefulTerminationTimeout = serializers.CharField(help_text="Timeout of NS graceful termination",
-                                                       required=False, allow_null=True, allow_blank=True)
index 0a12ed7..86b8ac0 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 django.conf.urls import url
+from lcm.ns.views.sol.scale_ns_views import NSManualScaleView
+from lcm.ns.views.sol.update_ns_view import NSUpdateView
 from rest_framework.urlpatterns import format_suffix_patterns
 
 from lcm.ns.views.deprecated.create_ns_view import CreateNSView
 from lcm.ns.views.deprecated.get_del_ns_view import NSDetailView
+from lcm.ns.views.deprecated.inst_ns_post_deal_view import NSInstPostDealView
 from lcm.ns.views.deprecated.inst_ns_view import NSInstView
 from lcm.ns.views.deprecated.term_ns_view import TerminateNSView
+from lcm.ns.views.sol.heal_ns_view import NSHealView
+from lcm.ns.views.sol.lcm_op_occs_view import QueryMultiNsLcmOpOccs, QuerySingleNsLcmOpOcc
 from lcm.ns.views.sol.ns_instances_views import NSInstancesView, IndividualNsInstanceView
-from lcm.ns.views.sol.nslcm_op_views import InstantiateNsView, TerminateNsView
-from lcm.ns.views.heal_ns_view import NSHealView
-from lcm.ns.views.inst_ns_post_deal_view import NSInstPostDealView
-from lcm.ns.views.lcm_op_occs_view import QueryMultiNsLcmOpOccs, QuerySingleNsLcmOpOcc
-from lcm.ns.views.scale_ns_views import NSManualScaleView
-from lcm.ns.views.subscriptions_view import SubscriptionsView
-from lcm.ns.views.update_ns_view import NSUpdateView
+from lcm.ns.views.sol.instantiate_ns_views import InstantiateNsView
+from lcm.ns.views.sol.terminate_ns_view import TerminateNsView
+from lcm.ns.views.sol.subscriptions_view import SubscriptionsView
 
 urlpatterns = [
     # API will be deprecated in the future release
@@ -36,8 +38,6 @@ urlpatterns = [
     url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/postdeal$', NSInstPostDealView.as_view()),
     url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/scale$', NSManualScaleView.as_view()),
     url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/heal$', NSHealView.as_view()),
-    url(r'^api/nslcm/v1/ns_lcm_op_occs$', QueryMultiNsLcmOpOccs.as_view()),
-    url(r'^api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+)$', QuerySingleNsLcmOpOcc.as_view()),
     url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update$', NSUpdateView.as_view()),
 
     # SOL005 URL API definition
@@ -46,6 +46,8 @@ urlpatterns = [
     url(r'^api/nslcm/v1/ns_instances$/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$', TerminateNsView.as_view()),
     url(r'^api/nslcm/v1/ns_instances$/(?P<ns_instance_id>[0-9a-zA-Z_-]+)$', IndividualNsInstanceView.as_view()),
     url(r'^api/nslcm/v1/subscriptions$', SubscriptionsView.as_view()),
+    url(r'^api/nslcm/v1/ns_lcm_op_occs$', QueryMultiNsLcmOpOccs.as_view()),
+    url(r'^api/nslcm/v1/ns_lcm_op_occs/(?P<lcmopoccid>[0-9a-zA-Z_-]+)$', QuerySingleNsLcmOpOcc.as_view()),
 
 ]
 
index e03ed95..ae07d14 100644 (file)
 import logging
 import traceback
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
 from lcm.ns.biz.ns_create import CreateNSService
 from lcm.ns.biz.ns_get import GetNSInfoService
-from lcm.ns.serializers.create_ns_serializers import CreateNsReqSerializer, CreateNsRespSerializer
-from lcm.ns.serializers.pub_serializers import QueryNsRespSerializer
+from lcm.ns.serializers.deprecated.ns_serializers import _CreateNsReqSerializer, _CreateNsRespSerializer, _QueryNsRespSerializer
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.values import ignore_case_get
 
@@ -33,7 +32,7 @@ class CreateNSView(APIView):
     @swagger_auto_schema(
         request_body=None,
         responses={
-            status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instances", many=True),
+            status.HTTP_200_OK: _QueryNsRespSerializer(help_text="NS instances", many=True),
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
         }
     )
@@ -42,7 +41,7 @@ class CreateNSView(APIView):
             logger.debug("CreateNSView::get")
             ret = GetNSInfoService().get_ns_info()
             logger.debug("CreateNSView::get::ret=%s", ret)
-            resp_serializer = QueryNsRespSerializer(data=ret, many=True)
+            resp_serializer = _QueryNsRespSerializer(data=ret, many=True)
             if not resp_serializer.is_valid():
                 raise NSLCMException(resp_serializer.errors)
             return Response(data=resp_serializer.data, status=status.HTTP_200_OK)
@@ -52,16 +51,16 @@ class CreateNSView(APIView):
             return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
 
     @swagger_auto_schema(
-        request_body=CreateNsReqSerializer(),
+        request_body=_CreateNsReqSerializer(),
         responses={
-            status.HTTP_201_CREATED: CreateNsRespSerializer(),
+            status.HTTP_201_CREATED: _CreateNsRespSerializer(),
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
         }
     )
     def post(self, request):
         logger.debug("Enter CreateNS: %s", request.data)
         try:
-            req_serializer = CreateNsReqSerializer(data=request.data)
+            req_serializer = _CreateNsReqSerializer(data=request.data)
             if not req_serializer.is_valid():
                 raise NSLCMException(req_serializer.errors)
 
@@ -74,7 +73,7 @@ class CreateNSView(APIView):
             ns_inst_id = CreateNSService(csar_id, ns_name, description, context).do_biz()
 
             logger.debug("CreateNSView::post::ret={'nsInstanceId':%s}", ns_inst_id)
-            resp_serializer = CreateNsRespSerializer(
+            resp_serializer = _CreateNsRespSerializer(
                 data={'nsInstanceId': ns_inst_id,
                       'nsInstanceName': 'nsInstanceName',
                       'nsInstanceDescription': 'nsInstanceDescription',
index ce0692e..da403b0 100644 (file)
 import logging
 import traceback
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
-from lcm.ns.biz.ns_get import GetNSInfoService
 from lcm.ns.biz.ns_delete import DeleteNsService
-from lcm.ns.serializers.pub_serializers import QueryNsRespSerializer
+from lcm.ns.biz.ns_get import GetNSInfoService
 from lcm.pub.exceptions import NSLCMException
+from lcm.ns.serializers.deprecated.ns_serializers import _QueryNsRespSerializer
 
 logger = logging.getLogger(__name__)
 
@@ -31,7 +31,7 @@ class NSDetailView(APIView):
     @swagger_auto_schema(
         request_body=None,
         responses={
-            status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instance", many=True),
+            status.HTTP_200_OK: _QueryNsRespSerializer(help_text="NS instance", many=True),
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error",
             status.HTTP_404_NOT_FOUND: "Ns instance does not exist"
         }
@@ -44,7 +44,7 @@ class NSDetailView(APIView):
             if not ret:
                 return Response(status=status.HTTP_404_NOT_FOUND)
             logger.debug("Leave NSDetailView::get::ret=%s", ret)
-            resp_serializer = QueryNsRespSerializer(data=ret[0])
+            resp_serializer = _QueryNsRespSerializer(data=ret[0])
             if not resp_serializer.is_valid():
                 raise NSLCMException(resp_serializer.errors)
             return Response(data=resp_serializer.data, status=status.HTTP_200_OK)
similarity index 93%
rename from lcm/ns/views/inst_ns_post_deal_view.py
rename to lcm/ns/views/deprecated/inst_ns_post_deal_view.py
index 865b449..b87a7ba 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.
+
 import json
 import logging
 import traceback
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
-from lcm.ns.serializers.inst_ns_serializers import InstNsPostDealReqSerializer
+from lcm.ns.serializers.deprecated.ns_serializers import _InstNsPostDealReqSerializer
 from lcm.pub.database.models import NSInstModel, ServiceBaseInfoModel
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.restcall import req_by_msb
@@ -31,7 +32,7 @@ logger = logging.getLogger(__name__)
 
 class NSInstPostDealView(APIView):
     @swagger_auto_schema(
-        request_body=InstNsPostDealReqSerializer(help_text="NS instant post deal"),
+        request_body=_InstNsPostDealReqSerializer(help_text="NS instant post deal"),
         responses={
             status.HTTP_202_ACCEPTED: "NS instant post deal success",
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
@@ -43,7 +44,7 @@ class NSInstPostDealView(APIView):
         ns_status = 'ACTIVE' if ns_post_status == 'true' else 'FAILED'
         ns_opr_status = 'success' if ns_post_status == 'true' else 'failed'
         try:
-            req_serializer = InstNsPostDealReqSerializer(data=request.data)
+            req_serializer = _InstNsPostDealReqSerializer(data=request.data)
             if not req_serializer.is_valid():
                 raise NSLCMException(req_serializer.errors)
             NSInstModel.objects.filter(id=ns_instance_id).update(status=ns_status)
index eddd9a9..45c0270 100644 (file)
 # limitations under the License.
 import logging
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
 from lcm.ns.biz.ns_instant import InstantNSService
-from lcm.ns.serializers.inst_ns_serializers import InstantNsReqSerializer
-from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer
+from lcm.ns.serializers.deprecated.ns_serializers import _InstantNsReqSerializer, _NsOperateJobSerializer
 
 logger = logging.getLogger(__name__)
 
 
 class NSInstView(APIView):
     @swagger_auto_schema(
-        request_body=InstantNsReqSerializer(),
+        request_body=_InstantNsReqSerializer(),
         responses={
-            status.HTTP_200_OK: NsOperateJobSerializer(),
+            status.HTTP_200_OK: _NsOperateJobSerializer(),
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
         }
     )
     def post(self, request, ns_instance_id):
         logger.debug("Enter NSInstView::post::ns_instance_id=%s", ns_instance_id)
         logger.debug("request.data=%s", request.data)
-        req_serializer = InstantNsReqSerializer(data=request.data)
+        req_serializer = _InstantNsReqSerializer(data=request.data)
         if not req_serializer.is_valid():
             logger.debug("request.data is not valid,error: %s" % req_serializer.errors)
             return Response({'error': req_serializer.errors},
index 0ae655b..fd78b95 100644 (file)
 # limitations under the License.
 import logging
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
 from lcm.ns.biz.ns_terminate import TerminateNsService
-from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer
-from lcm.ns.serializers.terminate_ns_serializer import TerminateNsReqSerializer
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE
 from lcm.pub.utils.values import ignore_case_get
+from lcm.ns.serializers.deprecated.ns_serializers import _TerminateNsReqSerializer, _NsOperateJobSerializer
 
 logger = logging.getLogger(__name__)
 
 
 class TerminateNSView(APIView):
     @swagger_auto_schema(
-        request_body=TerminateNsReqSerializer(),
+        request_body=_TerminateNsReqSerializer(),
         responses={
-            status.HTTP_202_ACCEPTED: NsOperateJobSerializer(),
+            status.HTTP_202_ACCEPTED: _NsOperateJobSerializer(),
             status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
         }
     )
     def post(self, request, ns_instance_id):
         try:
             logger.debug("Enter TerminateNSView::post %s", request.data)
-            req_serializer = TerminateNsReqSerializer(data=request.data)
+            req_serializer = _TerminateNsReqSerializer(data=request.data)
             if not req_serializer.is_valid():
                 raise NSLCMException(req_serializer.errors)
 
@@ -48,7 +47,7 @@ class TerminateNSView(APIView):
             job_id = JobUtil.create_job("NS", JOB_TYPE.TERMINATE_NS, ns_instance_id)
             TerminateNsService(ns_instance_id, termination_type, graceful_termination_timeout, job_id).start()
 
-            resp_serializer = NsOperateJobSerializer(data={'jobId': job_id})
+            resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id})
             if not resp_serializer.is_valid():
                 raise NSLCMException(resp_serializer.errors)
             logger.debug("Leave TerminateNSView::post ret=%s", resp_serializer.data)
similarity index 94%
rename from lcm/ns/views/heal_ns_view.py
rename to lcm/ns/views/sol/heal_ns_view.py
index 9133b8e..6cd1582 100644 (file)
 # limitations under the License.
 import logging
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
 from lcm.ns.biz.ns_heal import NSHealService
-from lcm.ns.serializers.heal_serializers import HealNsReqSerializer
-from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer
+from lcm.ns.serializers.sol.heal_serializers import HealNsReqSerializer
+from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE
 
similarity index 75%
rename from lcm/ns/views/sol/nslcm_op_views.py
rename to lcm/ns/views/sol/instantiate_ns_views.py
index 9e165c4..104a875 100644 (file)
@@ -24,25 +24,6 @@ class InstantiateNsView(APIView):
         return
 
 
-class HealNsView(APIView):
-
-    def post(self, request, id):
-        # todo
-        return
-
-
-class ScaleNsView(APIView):
-    def post(self, request, id):
-        # todo
-        return
-
-
-class UpdateNsView(APIView):
-    def post(self, request, id):
-        # todo
-        return
-
-
 class TerminateNsView(APIView):
     def post(self, request, id):
         # todo
similarity index 96%
rename from lcm/ns/views/lcm_op_occs_view.py
rename to lcm/ns/views/sol/lcm_op_occs_view.py
index e2feb49..dd060a1 100644 (file)
@@ -16,14 +16,14 @@ import logging
 import traceback
 
 from drf_yasg.utils import swagger_auto_schema
+from lcm.ns.serializers.sol.ns_lcm_op_occ import NSLCMOpOccSerializer
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
 from lcm.ns.biz.query_ns_lcm_op_occ import QueryNsLcmOpOcc
-from lcm.ns.serializers.response import ProblemDetailsSerializer
-from lcm.ns.serializers.ns_lcm_op_occ import NSLCMOpOccSerializer
-from lcm.ns.serializers.ns_lcm_op_occs import NSLCMOpOccsSerializer
+from lcm.ns.serializers.sol.ns_lcm_op_occs import NSLCMOpOccsSerializer
+from lcm.ns.serializers.sol.response import ProblemDetailsSerializer
 from lcm.pub.exceptions import NSLCMException
 
 logger = logging.getLogger(__name__)
index 7ab324c..60683ec 100644 (file)
@@ -19,14 +19,31 @@ from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
+from lcm.ns.serializers.sol.create_ns_serializers import CreateNsRequestSerializer, CreateNsRespSerializer
+from lcm.ns.serializers.sol.pub_serializers import QueryNsRespSerializer
+
 logger = logging.getLogger(__name__)
 
 
 class NSInstancesView(APIView):
+    @swagger_auto_schema(
+        request_body=None,
+        responses={
+            status.HTTP_200_OK: QueryNsRespSerializer(help_text="NS instances", many=True),
+            status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
+        }
+    )
     def get(self, request):
         logger.debug(request.query_params)
         # todo
 
+    @swagger_auto_schema(
+        request_body=CreateNsRequestSerializer(),
+        responses={
+            status.HTTP_201_CREATED: CreateNsRespSerializer(),
+            status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
+        }
+    )
     def post(self, request):
         logger.debug("Enter NSInstancesView::POST ns_instances %s", request.data)
         # todo
similarity index 93%
rename from lcm/ns/views/scale_ns_views.py
rename to lcm/ns/views/sol/scale_ns_views.py
index 9b0da9e..3a7e831 100644 (file)
 import logging
 import traceback
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
 
 from lcm.ns.biz.ns_manual_scale import NSManualScaleService
-from lcm.ns.serializers.scale_ns_serializers import ManualScaleNsReqSerializer
-from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer
+from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer
+from lcm.ns.serializers.sol.scale_ns_serializers import ManualScaleNsReqSerializer
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE
 
similarity index 95%
rename from lcm/ns/views/subscriptions_view.py
rename to lcm/ns/views/sol/subscriptions_view.py
index a015839..e66855b 100644 (file)
@@ -18,16 +18,16 @@ import logging
 import traceback
 
 from drf_yasg.utils import swagger_auto_schema
-from lcm.ns.biz.create_subscription import CreateSubscription
-from lcm.ns.biz.query_subscription import QuerySubscription
+from lcm.ns.serializers.sol.lccn_subscription import LccnSubscriptionSerializer
+from lcm.ns.serializers.sol.lccn_subscriptions import LccnSubscriptionsSerializer
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from lcm.ns.serializers.lccn_subscription_request import LccnSubscriptionRequestSerializer
-from lcm.ns.serializers.lccn_subscription import LccnSubscriptionSerializer
-from lcm.ns.serializers.lccn_subscriptions import LccnSubscriptionsSerializer
-from lcm.ns.serializers.response import ProblemDetailsSerializer
+from lcm.ns.biz.create_subscription import CreateSubscription
+from lcm.ns.biz.query_subscription import QuerySubscription
+from lcm.ns.serializers.sol.lccn_subscription_request import LccnSubscriptionRequestSerializer
+from lcm.ns.serializers.sol.response import ProblemDetailsSerializer
 from lcm.pub.exceptions import NSLCMException
 
 logger = logging.getLogger(__name__)
similarity index 63%
rename from lcm/ns/serializers/common_Link.py
rename to lcm/ns/views/sol/terminate_ns_view.py
index a36cced..d6eed05 100644 (file)
@@ -1,19 +1,24 @@
-# Copyright (c) 2018, CMCC Technologies Co., Ltd.
-
+# 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
-
+#
+#         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
+import logging
+from rest_framework.views import APIView
+
+logger = logging.getLogger(__name__)
 
 
-class LinkSerializer(serializers.Serializer):
-    href = serializers.CharField(help_text="URI of the referenced resource.", required=True)
+class TerminateNsView(APIView):
+    def post(self, request, id):
+        # todo
+        return
similarity index 93%
rename from lcm/ns/views/update_ns_view.py
rename to lcm/ns/views/sol/update_ns_view.py
index 9c2276d..19a03c8 100644 (file)
 
 import logging
 
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from drf_yasg.utils import swagger_auto_schema
+
 from lcm.ns.biz.ns_update import NSUpdateService
-from lcm.ns.serializers.pub_serializers import NsOperateJobSerializer
-from lcm.ns.serializers.update_serializers import UpdateNsReqSerializer
+from lcm.ns.serializers.sol.pub_serializers import NsOperateJobSerializer
+from lcm.ns.serializers.sol.update_serializers import UpdateNsReqSerializer
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE
 
index fd98ee7..fcc81ff 100644 (file)
 # limitations under the License.
 
 from rest_framework import serializers
-from lcm.ns.serializers.resource_handle import ResourceHandleSerializer
-from lcm.ns.serializers.link import linkSerializer
-from lcm.ns.serializers.pub_serializers import AddressRangeSerializer
-from lcm.ns.serializers.ext_virtual_link_info import ExtVirtualLinkInfoSerializer
-from lcm.ns.serializers.response import ProblemDetailsSerializer
+
+from lcm.ns.serializers.sol.ext_virtual_link_info import ExtVirtualLinkInfoSerializer
+from lcm.ns.serializers.sol.link import linkSerializer
+from lcm.ns.serializers.sol.pub_serializers import AddressRangeSerializer
+from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
+from lcm.ns.serializers.sol.response import ProblemDetailsSerializer
+
 
 # class ResourceHandleSerializer(serializers.Serializer):
 #     vimConnectionId = serializers.CharField(