from django.conf.urls import url
-from catalog.packages.views.vnfpkg_views import package_content, upload_from_uri
+from catalog.packages.views.vnfpkg_views import package_content, upload_from_uri, vnf_packages
from catalog.packages.views import (catalog_views, ns_descriptor_views,
nsd_content_views, pnf_descriptor_views,
pnfd_content_views)
# url(r'^api/nsd/v1/subscriptions', nsd_subscriptions.as_view(), name='subscriptions_rc'),
# url(r'^api/nsd/v1/subscriptions/(?P<subscriptionId>[0-9a-zA-Z\-\_]+)$', nsd_subscription.as_view(), name='subscription_rd'),
- # url(r'^api/vnfpkgm/v1/vnf_packages', vnf_packages.as_view(), name='vnf_packages_rc'),
+ url(r'^api/vnfpkgm/v1/vnf_packages$', vnf_packages.as_view(), name='vnf_packages_rc'),
# url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)$', vnf_package.as_view(), name='vnf_package_rd'),
# url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/vnfd$', vnfd.as_view(), name='vnfd_r'),
url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/package_content$',
from catalog.packages.biz.nf_package import VnfpkgUploadThread\r
from catalog.pub.exceptions import CatalogException\r
from catalog.packages.serializers.upload_vnf_pkg_from_uri_req import UploadVnfPackageFromUriRequestSerializer\r
+from catalog.packages.serializers.create_vnf_pkg_info_req import CreateVnfPkgInfoRequestSerializer\r
+from catalog.packages.serializers.vnf_pkg_info import VnfPkgInfoSerializer\r
+from catalog.packages.biz.nf_package import create_vnf_pkg\r
\r
logger = logging.getLogger(__name__)\r
\r
return None\r
\r
@swagger_auto_schema(\r
- # request_body=CreateVnfReqSerializer(),\r
+ request_body=CreateVnfPkgInfoRequestSerializer(),\r
responses={\r
- # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_201_CREATED: VnfPkgInfoSerializer(),\r
status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
}\r
)\r
def post(self, request):\r
- # TODO\r
- return None\r
+ logger.debug("CreateVnfPkg> %s" % request.data)\r
+ try:\r
+ req_serializer = CreateVnfPkgInfoRequestSerializer(data=request.data)\r
+ if not req_serializer.is_valid():\r
+ raise CatalogException\r
+ res = create_vnf_pkg(req_serializer.data)\r
+ create_vnf_pkg_resp_serializer = VnfPkgInfoSerializer(data=res)\r
+ if not create_vnf_pkg_resp_serializer.is_valid():\r
+ raise CatalogException\r
+ return Response(data=create_vnf_pkg_resp_serializer.data, status=status.HTTP_201_CREATED)\r
+ except CatalogException:\r
+ logger.error(traceback.format_exc())\r
+ return Response(data={'error': 'Creating vnfPkg failed.'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)\r
\r
\r
class vnf_package(APIView):\r