11 $_file = merge($::apt::file_defaults, $file_perms)
13 if $content and $source {
14 fail('apt::setting cannot have both content and source')
17 if !$content and !$source {
18 fail('apt::setting needs either of content or source')
21 validate_re($setting_type, ['conf', 'pref', 'list'])
22 validate_re($ensure, ['file', 'present', 'absent'])
23 validate_string($base_name)
25 unless is_integer($priority) {
26 fail('apt::setting priority must be an integer')
30 validate_string($source)
34 validate_string($content)
37 if $setting_type == 'list' {
40 $_priority = $priority
43 $_path = $::apt::config_files[$setting_type]['path']
44 $_ext = $::apt::config_files[$setting_type]['ext']
46 file { "${_path}/${_priority}${base_name}${_ext}":
48 owner => $_file['owner'],
49 group => $_file['group'],
50 mode => $_file['mode'],