diff --git a/lib/puppet/provider/sensu_client_subscription/json.rb b/lib/puppet/provider/sensu_client_subscription/json.rb index 853a2af111..a16fc5608c 100644 --- a/lib/puppet/provider/sensu_client_subscription/json.rb +++ b/lib/puppet/provider/sensu_client_subscription/json.rb @@ -8,7 +8,7 @@ def initialize(*args) super begin - @conf = {'client' => { 'subscriptions' => JSON.parse(File.read("/etc/sensu/conf.d/subscription_#{resource[:name]}.json")) } } + @conf = JSON.parse(File.read("/etc/sensu/conf.d/subscription_#{resource[:name]}.json")) rescue @conf = {} end @@ -28,19 +28,16 @@ def destroy @conf = nil end - def exists? - @conf.has_key? 'subscription' - end - def subscriptions @conf['client']['subscriptions'] end def subscriptions=(value) @conf['client']['subscriptions'] = value - munge do |value| - Array(value) - end + end + + def exists? + @conf.has_key?('client') && @conf['client'].has_key?('subscriptions') end end diff --git a/lib/puppet/type/sensu_client_subscription.rb b/lib/puppet/type/sensu_client_subscription.rb index 759b0f3344..82710f6ce6 100644 --- a/lib/puppet/type/sensu_client_subscription.rb +++ b/lib/puppet/type/sensu_client_subscription.rb @@ -25,9 +25,12 @@ def initialize(*args) desc "The subscription name" end - newproperty(:subscriptions) do - desc "Subscriptions" + newparam(:subscriptions) do + desc "Subscriptions included" defaultto :name + munge do |value| + Array(value) + end end autorequire(:package) do