10 $_file = merge($::apt::file_defaults, $file_perms)
12 if $content and $source {
13 fail('apt::setting cannot have both content and source')
16 if !$content and !$source {
17 fail('apt::setting needs either of content or source')
20 validate_re($setting_type, ['conf', 'pref', 'list'])
21 validate_re($ensure, ['file', 'present', 'absent'])
23 unless is_integer($priority) {
24 # need this to allow zero-padded priority.
25 validate_re($priority, '^\d+$', 'apt::setting priority must be an integer or a zero-padded integer.')
29 validate_string($source)
33 validate_string($content)
36 if $setting_type == 'list' {
39 $_priority = $priority
42 $_path = $::apt::config_files[$setting_type]['path']
43 $_ext = $::apt::config_files[$setting_type]['ext']
45 file { "${_path}/${_priority}${title}${_ext}":
47 owner => $_file['owner'],
48 group => $_file['group'],
49 mode => $_file['mode'],