diff options
author | dyh <dengyuanhong@chinamobile.com> | 2019-11-15 09:26:18 +0800 |
---|---|---|
committer | dyh <dengyuanhong@chinamobile.com> | 2019-11-15 09:26:33 +0800 |
commit | 2f4d7a5b1d2a629e5856a5e3e17576bc618452f0 (patch) | |
tree | b000330cd97d55b15b7b627d60ae567038dc15f0 /catalog/packages/views | |
parent | 4004afdf54c246b4afd481003aca16d2dab816fb (diff) |
Implement read VNFD API
Issue-ID: MODELING-266
Change-Id: Ib5e4a965c080329f68d407b414a347298da6a84b
Signed-off-by: dyh <dengyuanhong@chinamobile.com>
Diffstat (limited to 'catalog/packages/views')
-rw-r--r-- | catalog/packages/views/vnf_package_views.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/catalog/packages/views/vnf_package_views.py b/catalog/packages/views/vnf_package_views.py index 44e3df7..76891f2 100644 --- a/catalog/packages/views/vnf_package_views.py +++ b/catalog/packages/views/vnf_package_views.py @@ -73,6 +73,30 @@ def vnf_packages_rc(request): @swagger_auto_schema( + method="GET", + operation_description="Read VNFD of an on-boarded VNF package", + tags=["VNF Package API"], + request_body=no_body, + responses={ + status.HTTP_200_OK: VnfPkgInfosSerializer(), + status.HTTP_404_NOT_FOUND: "VNF package does not exist", + status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error" + } +) +@api_view(http_method_names=["GET"]) +@view_safe_call_with_log(logger=logger) +def vnfd_rd(request, **kwargs): + vnf_pkg_id = kwargs.get("vnfPkgId") + logger.debug("Read VNFD for VNF package %s" % vnf_pkg_id) + try: + file_iterator = VnfPackage().download_vnfd(vnf_pkg_id) + return StreamingHttpResponse(file_iterator, status=status.HTTP_200_OK) + except Exception as e: + logger.error(e) + raise e + + +@swagger_auto_schema( method='PUT', operation_description="Upload VNF package content", tags=["VNF Package API"], |