From 396e7feedd9445b55c94e3f21802cbc89bf6b2a1 Mon Sep 17 00:00:00 2001
From: Crew Reading <crew@instructure.com>
Date: Thu, 6 Feb 2014 08:49:30 -0700
Subject: [PATCH 1/2] make sure booleans are booleans and fix filter dependency

---
 lib/puppet/type/sensu_check.rb  | 12 +++++++++---
 lib/puppet/type/sensu_filter.rb |  4 +++-
 manifests/filter.pp             |  2 +-
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/lib/puppet/type/sensu_check.rb b/lib/puppet/type/sensu_check.rb
index db45d4643c..419a1dee69 100644
--- a/lib/puppet/type/sensu_check.rb
+++ b/lib/puppet/type/sensu_check.rb
@@ -97,16 +97,22 @@ def insync?(is)
     desc "Check timeout in seconds, after it fails"
   end
 
-  newproperty(:aggregate) do
+  newproperty(:aggregate, :boolean => true) do
     desc "Whether check is aggregate"
+
+    newvalues(:true, :false)
   end
 
-  newproperty(:handle) do
+  newproperty(:handle, :boolean => true) do
     desc "Whether check event send to a handler"
+
+    newvalues(:true, :false)
   end
 
-  newproperty(:publish) do
+  newproperty(:publish, :boolean => true) do
     desc "Whether check is unpublished"
+
+    newvalues(:true, :false)
   end
 
   autorequire(:package) do
diff --git a/lib/puppet/type/sensu_filter.rb b/lib/puppet/type/sensu_filter.rb
index 2dfb94175f..cced30ed43 100644
--- a/lib/puppet/type/sensu_filter.rb
+++ b/lib/puppet/type/sensu_filter.rb
@@ -56,8 +56,10 @@ def insync?(is)
     defaultto {}
   end
 
-  newproperty(:negate) do
+  newproperty(:negate, :boolean => true) do
     desc ""
+
+    newvalues(:true, :false)
   end
 
   autorequire(:package) do
diff --git a/manifests/filter.pp b/manifests/filter.pp
index efdc7efb0b..48eef2a857 100644
--- a/manifests/filter.pp
+++ b/manifests/filter.pp
@@ -38,7 +38,7 @@
     owner   => 'sensu',
     group   => 'sensu',
     mode    => '0444',
-    before  => Sensu_client_subscription[$name],
+    before  => Sensu_filter[$name],
   }
 
   sensu_filter { $name:

From e7e3c7aebeae6ff52fd35f164e08836b3eb33dad Mon Sep 17 00:00:00 2001
From: Crew Reading <crew@instructure.com>
Date: Thu, 6 Feb 2014 08:53:07 -0700
Subject: [PATCH 2/2] fix filter support in the sensu_handler provider

---
 lib/puppet/provider/sensu_handler/json.rb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/puppet/provider/sensu_handler/json.rb b/lib/puppet/provider/sensu_handler/json.rb
index 6fb762dfd1..b9cb2bcee4 100644
--- a/lib/puppet/provider/sensu_handler/json.rb
+++ b/lib/puppet/provider/sensu_handler/json.rb
@@ -32,6 +32,7 @@ def create
     self.handlers = resource[:handlers] unless resource[:handlers].nil?
     self.mutator = resource[:mutator] unless resource[:mutator].nil?
     self.severities = resource[:severities] unless resource[:severities].nil?
+    self.filters = resource[:filters] unless resource[:filters].nil?
   end
 
   def destroy
@@ -99,9 +100,9 @@ def filters
 
   def filters=(value)
     if value.is_a?(Array)
-      @conf['filters'][resource[:name]]['filters'] = value
+      @conf['handlers'][resource[:name]]['filters'] = value
     else
-      @conf['filters'][resource[:name]]['filters'] = [ value ]
+      @conf['handlers'][resource[:name]]['filters'] = [ value ]
     end
   end