--- /dev/null
+# 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.
--- /dev/null
+# 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)
--- /dev/null
+# 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 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):
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)
from rest_framework import serializers
-from resource_handle import ResourceHandleSerializer
+from lcm.ns.serializers.sol.resource_handle import ResourceHandleSerializer
class ExtlinkPortInfoSerializer(serializers.Serializer):
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):
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):
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):
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):
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):
# 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
# 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):
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):
+++ /dev/null
-# 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)
# 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
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
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()),
]
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
@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"
}
)
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)
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)
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',
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__)
@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"
}
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)
# 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
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"
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)
# 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},
# 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)
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)
# 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
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
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__)
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
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
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__)
-# 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
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
# 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(