from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns
-from lcm.ns.views.create_ns_view import CreateNSView
-from lcm.ns.views.inst_ns_view import NSInstView
-from lcm.ns.views.term_ns_view import TerminateNSView
+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_view import NSInstView
+from lcm.ns.views.deprecated.term_ns_view import TerminateNSView
+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.update_ns_view import NSUpdateView
-from lcm.ns.views.get_del_ns_view import NSDetailView
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.lcm_op_occs_view import QueryMultiNsLcmOpOccs, QuerySingleNsLcmOpOcc
+from lcm.ns.views.update_ns_view import NSUpdateView
urlpatterns = [
# API will be deprecated in the future release
- url(r'^api/nslcm/v1/subscriptions$', SubscriptionsView.as_view()),
url(r'^api/nslcm/v1/ns$', CreateNSView.as_view()),
url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate$', NSInstView.as_view()),
url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/terminate$', TerminateNSView.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$', NSInstancesView.as_view()),
+ url(r'^api/nslcm/v1/ns_instances$/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/instantiate$', InstantiateNsView.as_view()),
+ 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()),
- # SOL005 URL API definition TODO
- url(r'^api/nslcm/v1/ns/(?P<ns_instance_id>[0-9a-zA-Z_-]+)/update$',
- NSUpdateView.as_view())
]
urlpatterns = format_suffix_patterns(urlpatterns)
--- /dev/null
+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
+
+logger = logging.getLogger(__name__)
+
+
+class NSInstancesView(APIView):
+ def get(self, request):
+ logger.debug(request.query_params)
+ # todo
+
+ def post(self, request):
+ logger.debug("Enter NSInstancesView::POST ns_instances %s", request.data)
+ # todo
+ return Response(data={}, status=status.HTTP_201_CREATED)
+
+
+class IndividualNsInstanceView(APIView):
+ def get(self, request, id):
+ logger.debug("Enter IndividualNsInstanceView::get ns(%s)", id)
+ # todo
+ return Response(data={}, status=status.HTTP_200_OK)
+
+ @swagger_auto_schema(
+ request_body=None,
+ responses={
+ status.HTTP_204_NO_CONTENT: None
+ }
+ )
+ def delete(self, request, id):
+ logger.debug("Enter IndividualNsInstanceView::DELETE ns_instance(%s)", id)
+ # todo
+ return Response(data={}, status=status.HTTP_204_NO_CONTENT)
--- /dev/null
+import logging
+from rest_framework.views import APIView
+
+logger = logging.getLogger(__name__)
+
+
+class InstantiateNsView(APIView):
+ def post(self, request, id):
+ # todo
+ 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
+ return