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 # need this to allow zero-padded priority.
27 validate_re($priority, '^\d+$', 'apt::setting priority must be an integer or a zero-padded integer.')
31 validate_string($source)
35 validate_string($content)
38 if $setting_type == 'list' {
41 $_priority = $priority
44 $_path = $::apt::config_files[$setting_type]['path']
45 $_ext = $::apt::config_files[$setting_type]['ext']
47 file { "${_path}/${_priority}${base_name}${_ext}":
49 owner => $_file['owner'],
50 group => $_file['group'],
51 mode => $_file['mode'],