Skip to content

Instantly share code, notes, and snippets.

@jeffmccune
Created April 17, 2012 23:02
Show Gist options
  • Save jeffmccune/2409724 to your computer and use it in GitHub Desktop.
Save jeffmccune/2409724 to your computer and use it in GitHub Desktop.
Registry Defined Type
# Use it
# I want this windows machine to announce the time as described at:
# http://support.microsoft.com/kb/816042
registry::subkey { 'HKLM\System\CurrentControlSet\Services\W32Time\Config\AnnounceFlags':
value_data => 'A',
value_type => DWORD,
}
# The definition
define registry::subkey($ensure = present, $subkey=undef, $value_data=undef, $value_type=undef) {
$subkey_real = $subkey? {
undef => $name,
default => $subkey,
}
# dirname() and basename() should definitely be in stdlib. If they're not, we write them.
$key_name = dirname($subkey_real)
$value_name = basename($subkey_real)
# Always manage the parent key
if ! defined("Registry_key[$key_name]") {
registry_key { $key_name:
ensure => present,
}
}
# Finally manage the value
registry_value { "${key_name}:${value_name}":
ensure => $ensure,
data => $value_data,
type => $value_type,
require => Registry_key[$key_name],
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment