apt_conf.pp 994 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. define apt::apt_conf(
  2. $ensure = 'present',
  3. $source = '',
  4. $content = undef,
  5. $refresh_apt = true )
  6. {
  7. if $source == '' and $content == undef {
  8. fail("One of \$source or \$content must be specified for apt_conf ${name}")
  9. }
  10. if $source != '' and $content != undef {
  11. fail("Only one of \$source or \$content must specified for apt_conf ${name}")
  12. }
  13. include apt::dot_d_directories
  14. # One would expect the 'file' resource on sources.list.d to trigger an
  15. # apt-get update when files are added or modified in the directory, but it
  16. # apparently doesn't.
  17. file { "/etc/apt/apt.conf.d/${name}":
  18. ensure => $ensure,
  19. owner => root,
  20. group => 0,
  21. mode => '0644',
  22. }
  23. if $source {
  24. File["/etc/apt/apt.conf.d/${name}"] {
  25. source => $source,
  26. }
  27. }
  28. else {
  29. File["/etc/apt/apt.conf.d/${name}"] {
  30. content => $content,
  31. }
  32. }
  33. if $refresh_apt {
  34. File["/etc/apt/apt.conf.d/${name}"] {
  35. notify => Exec['refresh_apt'],
  36. }
  37. }
  38. }