class CreateQuerySubscriptionView(APIView):
+ """
+ This resource represents subscriptions.
+ The client can use this resource to subscribe to notifications related to NS lifecycle management,
+ and to query its subscriptions.
+ """
@swagger_auto_schema(
tags=[TAG_VNF_PACKAGE_API],
)
@view_safe_call_with_log(logger=logger)
def post(self, request):
+ """
+ The POST method creates a new subscription
+ :param request:
+ :return:
+ """
logger.debug("Create VNF package Subscription> %s" % request.data)
vnf_pkg_subscription_request = validate_req_data(request.data, PkgmSubscriptionRequestSerializer)
data = CreateSubscription(vnf_pkg_subscription_request.data).do_biz()
)
@view_safe_call_with_log(logger=logger)
def get(self, request):
+ """
+ The GET method queries the list of active subscriptions of the functional block that invokes the method.
+ It can be used e.g. for resynchronization after error situations.
+ :param request:
+ :return:
+ """
logger.debug("SubscribeNotification--get::> %s" % request.query_params)
if request.query_params and not set(request.query_params).issubset(set(VALID_FILTERS)):
class QueryTerminateSubscriptionView(APIView):
+ """
+ This resource represents an individual subscription.
+ It can be used by the client to read and to terminate a subscription to Notifications related to NS lifecycle management.
+ """
@swagger_auto_schema(
tags=[TAG_VNF_PACKAGE_API],
)
@view_safe_call_with_log(logger=logger)
def get(self, request, subscriptionId):
+ """
+ The GET method retrieves information about a subscription by reading an individual subscription resource.
+ :param request:
+ :param subscriptionId:
+ :return:
+ """
logger.debug("SubscribeNotification--get::> %s" % subscriptionId)
resp_data = QuerySubscription().query_single_subscription(subscriptionId)
)
@view_safe_call_with_log(logger=logger)
def delete(self, request, subscriptionId):
+ """
+ The DELETE method terminates an individual subscription.
+ :param request:
+ :param subscriptionId:
+ :return:
+ """
logger.debug("SubscribeNotification--get::> %s" % subscriptionId)
TerminateSubscription().terminate(subscriptionId)
class PkgOnboardingNotificationView(APIView):
+ """
+ This resource represents a notification endpoint about package onboarding
+ """
+
@swagger_auto_schema(
tags=[TAG_VNF_PACKAGE_API],
request_body=PkgOnboardingNotificationSerializer,
class PkgChangeNotificationView(APIView):
+ """
+ This resource represents a notification endpoint about package change
+ """
+
@swagger_auto_schema(
tags=[TAG_VNF_PACKAGE_API],
request_body=PkgChangeNotificationSerializer,