X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2dms%2Fapi%2Fdms_route.py;fp=o2dms%2Fapi%2Fdms_route.py;h=c92bdc13f2ffc16170a81885e34960a4607dcdb4;hb=1a9dcb5b8f598ee348f23eafecc2d92ef09c8122;hp=480d9658249fea20cecfd337957d573d64054fdc;hpb=defe8209b3628593c186487857fe02586d7e1503;p=pti%2Fo2.git diff --git a/o2dms/api/dms_route.py b/o2dms/api/dms_route.py index 480d965..c92bdc1 100644 --- a/o2dms/api/dms_route.py +++ b/o2dms/api/dms_route.py @@ -13,7 +13,9 @@ # limitations under the License. # from flask import jsonify -from flask_restx import Resource +from os.path import exists +from flask import send_file +from flask_restx import Resource, reqparse from o2dms.api.dms_dto import DmsDTO from o2dms.api import dms_lcm_view @@ -31,6 +33,8 @@ def configure_api_route(): # ---------- DeploymentManagers ---------- # @api_dms_lcm_v1.route("/") @api_dms_lcm_v1.param('deploymentManagerID', 'ID of the deployment manager') +@api_dms_lcm_v1.param('profile', 'DMS profile', + location='args') @api_dms_lcm_v1.response(404, 'Deployment manager not found') class DmsGetRouter(Resource): @@ -43,9 +47,32 @@ class DmsGetRouter(Resource): deploymentManagerID )) bus = MessageBus.get_instance() + + parser = reqparse.RequestParser() + parser.add_argument('profile', location='args') + args = parser.parse_args() + result = dms_lcm_view.deployment_manager_one( - deploymentManagerID, bus.uow) + deploymentManagerID, bus.uow, args.profile) if result is not None: return result api_dms_lcm_v1.abort(404, "Deployment manager {} doesn't exist".format( deploymentManagerID)) + + +@api_dms_lcm_v1.route("//download/") +@api_dms_lcm_v1.param('deploymentManagerID', + 'ID of the deployment manager') +@api_dms_lcm_v1.param('filename', + 'profile filename') +@api_dms_lcm_v1.response(404, 'profile not found') +class DeploymentManagerGetFileRouter(Resource): + def get(self, deploymentManagerID, filename): + path = "/tmp/kubeconfig_" + filename + + if exists(path): + return send_file(path, as_attachment=True) + api_dms_lcm_v1.abort( + 404, + "Deployment manager {}'s Kube config file doesn't exist". + format(deploymentManagerID))