Method: Chef::Provider::RegistryKey#action_create

Defined in:
lib/chef/provider/registry_key.rb

#action_createObject



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/chef/provider/registry_key.rb', line 96

def action_create
  unless registry.key_exists?(@current_resource.key)
    converge_by("create key #{@new_resource.key}") do
      registry.create_key(@new_resource.key, @new_resource.recursive)
    end
  end
  @new_resource.values.each do |value|
    if @name_hash.has_key?(value[:name])
      current_value = @name_hash[value[:name]]
      unless current_value[:type] == value[:type] && current_value[:data] == value[:data]
        converge_by("set value #{value}") do
          registry.set_value(@new_resource.key, value)
        end
      end
    else
      converge_by("set value #{value}") do
        registry.set_value(@new_resource.key, value)
      end
    end
  end
end