puppetlabs/puppetlabs-registry — pull request #16 by jeffmccune (2012-05-16 18:31:03+00:00)
Title: (#14529) Add registry::value defined type

NOT READY TO MERGE

For early review and feedback. Should have this wrapped up by about 2:00 PM

Without this patch we don't have an easy to use way to abstract away the
management of a value and the key it's in. We also don't have an easy
way to abstract away the differences between a 32 bit OS and a 64 bit
OS with regard to the registry.

This patch fixes the problem by creating a new defined resource type in
Puppet that builds on top of the native `registry_key` and
`registry_value` resource types.

This registry::value type allows the user to manage values without
worrying about also managing the key the value exists in. For example:

registry::value { 'MyAPP - Owner Email':
key => 'HKLM\Software\Puppet Labs',
value => 'Owner Email',
data => 'jeff@puppetlabs.com',
}

This resource will automatically manage the parent key if it does not
exist, will create keys in both the 32 and 64 bit copies of the registry
on a 64 bit system, and will manage the value itself.

On a 64 bit system the user would be required to declare 4 resources to
make this happen.