diff options
author | Micah <micah@leap.se> | 2016-05-24 10:19:22 -0400 |
---|---|---|
committer | Micah <micah@leap.se> | 2016-05-24 10:19:22 -0400 |
commit | aba291e2de1682620b6dc22446b30fe870b62956 (patch) | |
tree | 1ba5e08c285dbf2b60e7be2f59934e6abd5f866c /manifests/apt_conf.pp |
Squashed 'puppet/modules/apt/' content from commit 33c61e8
git-subtree-dir: puppet/modules/apt
git-subtree-split: 33c61e8df59db1abbed379a9e9790946060a8f1e
Diffstat (limited to 'manifests/apt_conf.pp')
-rw-r--r-- | manifests/apt_conf.pp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp new file mode 100644 index 00000000..949f6157 --- /dev/null +++ b/manifests/apt_conf.pp @@ -0,0 +1,45 @@ +define apt::apt_conf( + $ensure = 'present', + $source = '', + $content = undef, + $refresh_apt = true ) +{ + + if $source == '' and $content == undef { + fail("One of \$source or \$content must be specified for apt_conf ${name}") + } + + if $source != '' and $content != undef { + fail("Only one of \$source or \$content must specified for apt_conf ${name}") + } + + include apt::dot_d_directories + + # One would expect the 'file' resource on sources.list.d to trigger an + # apt-get update when files are added or modified in the directory, but it + # apparently doesn't. + file { "/etc/apt/apt.conf.d/${name}": + ensure => $ensure, + owner => root, + group => 0, + mode => '0644', + } + + if $source { + File["/etc/apt/apt.conf.d/${name}"] { + source => $source, + } + } + else { + File["/etc/apt/apt.conf.d/${name}"] { + content => $content, + } + } + + if $refresh_apt { + File["/etc/apt/apt.conf.d/${name}"] { + notify => Exec['apt_updated'], + } + } + +} |