35 lines
1.2 KiB
C++
35 lines
1.2 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;
|
|
};
|
|
|
|
bool SIvalid(const LocalServiceInfo& service_info);
|
|
|
|
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
|
|
bool 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
|