From fdd864e298b0986380bc1dbd80558f5a85870b1e Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Thu, 1 Jun 2017 16:04:01 -0400 Subject: [PATCH] NEW API: sysadm/iocage "action"="listtemplates" This will list all the jail templates currently available on the local system. Example Arguments Reply: { "listtemplates":{ "templates" : { "template_1" : { "jid" : "jail_id", "uuid": "unique_id_string", "boot": "on/off", "state":"jail_state", "tag":"jail_tag", "type":"jail_type", "release":"freebsd_release", "ip4":"ipv4_address", "ip6":"ipv6_address", "template":"template_1" } } } } --- src/server/WebBackend.cpp | 5 +-- src/server/library/sysadm-iocage.cpp | 60 ++++++++++++++++------------ 2 files changed, 36 insertions(+), 29 deletions(-) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index c7ee8f7..f120c40 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -706,11 +706,8 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmIocageRequest(const QJsonVal else if(act=="listjails"){ ok = true; out->insert("listjails", sysadm::Iocage::listJails()); - } - else if(act=="listtemplates"){ - ok = true; - out->insert("listtemplates", sysadm::Iocage::listTemplates()); }*/ + else if(act=="listtemplates"){ retObj = sysadm::Iocage::listTemplates(); } else if(act=="listreleases"){ retObj = sysadm::Iocage::listReleases(); } else if(act=="listplugins"){ retObj = sysadm::Iocage::listPlugins(); } ok = !retObj.keys().isEmpty(); diff --git a/src/server/library/sysadm-iocage.cpp b/src/server/library/sysadm-iocage.cpp index 278ab48..a0ee2e3 100644 --- a/src/server/library/sysadm-iocage.cpp +++ b/src/server/library/sysadm-iocage.cpp @@ -87,40 +87,50 @@ QJsonObject Iocage::cleanAll() { //================TEMPLATE MANAGEMENT=================== QJsonObject Iocage::listTemplates(){ QJsonObject retObject; - QStringList local = General::RunCommand("iocage list -tlh ").split("\n"); - for(int i=0; i