def vm_addons(): data = {} payload = request.get_json() logging.debug(payload) field = {'Address', 'Username', 'Passwd', 'Port', 'Addons'} if field - set(payload.keys()): error_msg = "Input json missing some field! " + "It must include " + str( field) logging.error(error_msg) return jsonify({"error": error_msg}), 400 else: try: vm = VM(payload['Address'], payload['Username'], payload['Passwd'], "", port=payload['Port'], addons=payload['Addons']) logging.info("VM install addons " + str(vm.addons)) vm.install_addons() logging.info("VM install addons done") except Exception as e: logging.error(str(e)) return jsonify({"error": str(e)}), 500 return jsonify(data), 200