summaryrefslogtreecommitdiff
path: root/puppet/modules/apt/manifests/apt_conf.pp
diff options
context:
space:
mode:
authorMicah <micah@leap.se>2016-07-12 16:45:30 -0400
committerMicah <micah@leap.se>2016-07-12 16:45:30 -0400
commit2e384e68fb867d8ba7178c4398e35653ab567538 (patch)
tree28db86956c9f1a9960e7ddb3e45574335ebaf8d5 /puppet/modules/apt/manifests/apt_conf.pp
parent4ccae8700fb136bfbc6b7ef7bb0ab482e632139f (diff)
git subrepo clone https://leap.se/git/puppet_apt puppet/modules/apt
subrepo: subdir: "puppet/modules/apt" merged: "33c61e8" upstream: origin: "https://leap.se/git/puppet_apt" branch: "master" commit: "33c61e8" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo" commit: "1e79595" Change-Id: I6515ec49bbacdffd9f3729d486d2868162f9ac78
Diffstat (limited to 'puppet/modules/apt/manifests/apt_conf.pp')
-rw-r--r--puppet/modules/apt/manifests/apt_conf.pp45
1 files changed, 45 insertions, 0 deletions
diff --git a/puppet/modules/apt/manifests/apt_conf.pp b/puppet/modules/apt/manifests/apt_conf.pp
new file mode 100644
index 00000000..949f6157
--- /dev/null
+++ b/puppet/modules/apt/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'],
+ }
+ }
+
+}