vim 설정 파일을 생성할 file 리소스에 대해 좀 더 자세히 살펴봅시다. 가상 게스트의 기본 사용자 계정이 administrator이기 때문에 vim 설정 파일 경로, 파일 소유자와 그룹은 미리 알고 있는 상태입니다. 참고해서 ➌ name, ➍ owner, ➎ group 속성을 작성할 수 있습니다. ➏ 접근 권한은 mode 속성으로 ‘666’으로 설정합니다. ➐ 퍼팻 에이전트에 배포할 설정 파일 원본의 경로는 source 속성으로 지정합니다. ‘puppet:///modules/[모듈명]’은 실제 디렉터리 경로 ‘[모듈 경로]/[모듈명]/files’에 해당합니다. puppet:///modules/base/.vimrc는 code/environments/production/modules/base/files의 파일 .vimrc를 의미합니다. ➑ vim 패키지를 설치한 이후에 설정 파일을 생성하려고 메타파라미터 require를 지정했습니다. ➒ notify 리소스로 퍼팻 에이전트 로그에 base::vim 클래스에서 실행한다는 자취를 남깁니다.
# /home/administrator/code/environments/production/modules/base/manifests/vim.pp # vim 업그레이드 class base::vim { ➊ package { 'vim': ensure => latest, } file { '.vimrc': ➋ name => '/home/administrator/.vimrc', ➌ owner => 'administrator', ➍ group => 'administrator', ➎ mode => '666', ➏ source => 'puppet:///modules/base/.vimrc', ➐ require => Package['vim'], ➑ } notify { "===== base::vim =====\n": } ➒ }