]> granicus.if.org Git - icinga2/commitdiff
Implement support for filter_vars
authorGunnar Beutner <gunnar@beutner.name>
Tue, 18 Aug 2015 04:47:07 +0000 (06:47 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 18 Aug 2015 04:47:07 +0000 (06:47 +0200)
fixes #9940

lib/remote/filterutility.cpp

index 949e027b931fd0938b3c1108a0c5dea8f6a2caee..4c03cbd50ff15f2ac3f5f8eec5a666efb84ed4cf 100644 (file)
@@ -118,6 +118,14 @@ std::vector<ConfigObject::Ptr> FilterUtility::GetFilterTargets(const QueryDescri
                ScriptFrame frame;
                frame.Sandboxed = true;
 
+               Dictionary::Ptr filter_vars = query->Get("filter_vars");
+               if (filter_vars) {
+                       ObjectLock olock(filter_vars);
+                       BOOST_FOREACH(const Dictionary::Pair& kv, filter_vars) {
+                               frame.Locals->Set(kv.first, kv.second);
+                       }
+               }
+
                String varName = utype->GetName();
                boost::algorithm::to_lower(varName);