diff options
author | raviteja-b <raviteja28031990@gmail.com> | 2020-02-03 21:50:42 +0300 |
---|---|---|
committer | Ravi Teja <raviteja28031990@gmail.com> | 2020-05-28 03:31:52 +0300 |
commit | 0657843a00da62c3a076dacbf6203867a4fb5eb5 (patch) | |
tree | 708f4d8e1d92a55a6a6d6b64084c62cd5f1ebb53 /redfish-core/lib | |
parent | 4722efebed1c1cc628ce6e9569c74a0a4d2e299e (diff) | |
download | bmcweb-0657843a00da62c3a076dacbf6203867a4fb5eb5.tar.xz |
Redfish: Download action support for system dump entry
Tested By:
POST https://${IP}/redfish/v1/Systems/system/LogServices/SystemDump/Entries/<id>/Actions/Oem/OpenBmc/LogEntry.DownloadLog
Change-Id: I06262cf0799920aeb065a065886320b20c04aa7c
Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
Diffstat (limited to 'redfish-core/lib')
-rw-r--r-- | redfish-core/lib/log_services.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/redfish-core/lib/log_services.hpp b/redfish-core/lib/log_services.hpp index 79433b9a0c..8590373267 100644 --- a/redfish-core/lib/log_services.hpp +++ b/redfish-core/lib/log_services.hpp @@ -27,6 +27,7 @@ #include <boost/beast/core/span.hpp> #include <boost/container/flat_map.hpp> #include <boost/system/linux_error.hpp> +#include <dump_offload.hpp> #include <error_messages.hpp> #include <filesystem> #include <string_view> @@ -1849,6 +1850,36 @@ class SystemDumpEntry : public Node } }; +class SystemDumpEntryDownload : public Node +{ + public: + SystemDumpEntryDownload(CrowApp &app) : + Node(app, + "/redfish/v1/Systems/system/LogServices/System/Entries/<str>/" + "Actions/" + "LogEntry.DownloadLog/", + std::string()) + { + entityPrivileges = { + {boost::beast::http::verb::get, {{"Login"}}}, + {boost::beast::http::verb::head, {{"Login"}}}, + {boost::beast::http::verb::post, {{"ConfigureManager"}}}}; + } + + private: + void doPost(crow::Response &res, const crow::Request &req, + const std::vector<std::string> ¶ms) override + { + if (params.size() != 1) + { + messages::internalError(res); + return; + } + const std::string &entryID = params[0]; + crow::obmc_dump::handleDumpOffloadUrl(req, res, entryID); + } +}; + class CrashdumpService : public Node { public: |