dropshell/src/services.hpp
2025-04-30 20:46:18 +12:00

32 lines
1.1 KiB
C++

#ifndef SERVICES_HPP
#define SERVICES_HPP
#include <string>
#include <vector>
#include <set>
#include <map>
namespace dropshell {
struct LocalServiceInfo {
std::string service_name;
std::string template_name;
std::string local_service_path;
std::string local_template_path;
};
std::vector<LocalServiceInfo> get_server_services_info(const std::string& server_name);
LocalServiceInfo get_service_info(const std::string& server_name, const std::string& service_name);
std::set<std::string> get_used_commands(const std::string& server_name, const std::string& service_name);
// get all env vars for a given service
void get_all_service_env_vars(const std::string& server_name, const std::string& service_name, std::map<std::string, std::string> & all_env_vars);
// list all backups for a given service (across all servers)
std::set<std::string> list_backups(const std::string& server_name, const std::string& service_name);
bool create_service(const std::string& server_name, const std::string& template_name, const std::string& service_name, bool silent=false);
} // namespace dropshell
#endif