[icinga-checkins] icinga.org: icinga2/master: Revert "Implement the 'evaluate-macros' API action"

git at icinga.org git at icinga.org
Thu Nov 17 10:39:28 CET 2016


Module: icinga2
Branch: master
Commit: 23e30ccb67ca347aacf5664655b03c54f371de48
URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=23e30ccb67ca347aacf5664655b03c54f371de48

Author: Gunnar Beutner <gunnar.beutner at icinga.com>
Date:   Thu Nov 17 10:39:04 2016 +0100

Revert "Implement the 'evaluate-macros' API action"

This reverts commit 851135d3a1643dd978453198b3f2523ccf6356e9.

fixes #13091

---

 doc/12-icinga2-api.md     |   25 -------------------------
 lib/icinga/apiactions.cpp |   37 -------------------------------------
 lib/icinga/apiactions.hpp |    1 -
 3 files changed, 63 deletions(-)

diff --git a/doc/12-icinga2-api.md b/doc/12-icinga2-api.md
index 38b1ec6..a437e3a 100644
--- a/doc/12-icinga2-api.md
+++ b/doc/12-icinga2-api.md
@@ -1134,31 +1134,6 @@ Example:
         ]
     }
 
-### <a id="icinga2-api-actions-evaluate-macros"></a> evaluate-macros
-
-Evaluates a macro string in the context of a specific host or service.
-
-Send a `POST` request to the URL endpoint `/v1/actions/evaluate-macros`.
-
-  Parameter     | Type      | Description
-  --------------|-----------|--------------
-  query         | string    | **Required.** The macro string that should be evaluated.
-
-Example:
-
-    $ curl -k -s -u root:icinga -H 'Accept: application/json' -X POST 'https://localhost:5665/v1/actions/evaluate-macros' \
-    -d '{ "host": "icinga2-client1.localdomain", "query": "$host.name$" }' | python -m json.tool
-    {
-        "results": [
-            {
-                "code": 200.0,
-                "status": "Evaluated macros.",
-                "result": "icinga2-client1.localdomain",
-            }
-        ]
-    }
-
-
 
 ## <a id="icinga2-api-event-streams"></a> Event Streams
 
diff --git a/lib/icinga/apiactions.cpp b/lib/icinga/apiactions.cpp
index 880dcc1..2f71dfb 100644
--- a/lib/icinga/apiactions.cpp
+++ b/lib/icinga/apiactions.cpp
@@ -47,7 +47,6 @@ REGISTER_APIACTION(remove_downtime, "Service;Host;Downtime", &ApiActions::Remove
 REGISTER_APIACTION(shutdown_process, "", &ApiActions::ShutdownProcess);
 REGISTER_APIACTION(restart_process, "", &ApiActions::RestartProcess);
 REGISTER_APIACTION(generate_ticket, "", &ApiActions::GenerateTicket);
-REGISTER_APIACTION(evaluate_macros, "Service;Host", &ApiActions::EvaluateMacros);
 
 Dictionary::Ptr ApiActions::CreateResult(int code, const String& status,
     const Dictionary::Ptr& additional)
@@ -445,39 +444,3 @@ Dictionary::Ptr ApiActions::GenerateTicket(const ConfigObject::Ptr&,
 	return ApiActions::CreateResult(200, "Generated PKI ticket '" + ticket + "' for common name '"
 	    + cn + "'.", additional);
 }
-
-Dictionary::Ptr ApiActions::EvaluateMacros(const ConfigObject::Ptr& object,
-    const Dictionary::Ptr& params)
-{
-	Checkable::Ptr checkable = static_pointer_cast<Checkable>(object);
-
-	if (!checkable)
-		return ApiActions::CreateResult(404, "Cannot evaluate macros without a host/service object.");
-
-	if (!params->Contains("query"))
-		return ApiActions::CreateResult(403, "A macro string must be specified.");
-
-	String query = HttpUtility::GetLastParameter(params, "query");
-
-	CheckCommand::Ptr commandObj = checkable->GetCheckCommand();
-
-	Host::Ptr host;
-	Service::Ptr service;
-	tie(host, service) = GetHostService(checkable);
-
-	MacroProcessor::ResolverList resolvers;
-	if (service)
-		resolvers.push_back(std::make_pair("service", service));
-	resolvers.push_back(std::make_pair("host", host));
-	resolvers.push_back(std::make_pair("command", commandObj));
-	resolvers.push_back(std::make_pair("icinga", IcingaApplication::GetInstance()));
-
-	Dictionary::Ptr additional = new Dictionary();
-
-	CheckResult::Ptr cr = checkable->GetLastCheckResult();
-
-	additional->Set("result", MacroProcessor::ResolveMacros(query,
-	    resolvers, cr));
-
-	return ApiActions::CreateResult(200, "Evaluated macros.", additional);
-}
diff --git a/lib/icinga/apiactions.hpp b/lib/icinga/apiactions.hpp
index 66c8df5..3469464 100644
--- a/lib/icinga/apiactions.hpp
+++ b/lib/icinga/apiactions.hpp
@@ -46,7 +46,6 @@ public:
 	static Dictionary::Ptr ShutdownProcess(const ConfigObject::Ptr& object, const Dictionary::Ptr& params);
 	static Dictionary::Ptr RestartProcess(const ConfigObject::Ptr& object, const Dictionary::Ptr& params);
 	static Dictionary::Ptr GenerateTicket(const ConfigObject::Ptr& object, const Dictionary::Ptr& params);
-	static Dictionary::Ptr EvaluateMacros(const ConfigObject::Ptr& object, const Dictionary::Ptr& params);
 
 private:
 	static Dictionary::Ptr CreateResult(int code, const String& status, const Dictionary::Ptr& additional = Dictionary::Ptr());



More information about the icinga-checkins mailing list