我正在尝试配置一个流浪的虚拟机以允许用户提供他们自己的bash_profile.local,但我不希望在vm的vcs repo中跟踪此文件.我有一个跟踪的bash_profile.local.dist文件,可以重命名.如果源文件存在,我怎么能告诉puppet只创建一个文件?它目前正常工作,但在配置期间记录错误,这是我想要避免的.
这是显而易见的:
class local
{
file { '.bash_profile.local':
source => 'puppet:///modules/local/bash_profile.local',
path => '/home/vagrant/.bash_profile.local',
replace => false,
mode => 0644,
owner => 'vagrant',
group => 'vagrant',
}
}
Run Code Online (Sandbox Code Playgroud)
bar*_*lle 11
你可以用这种方式滥用文件:
$a = file('/etc/puppet/modules/local/files/bash_profile.local','/dev/null')
if($a != '') {
file { '.bash_profile.local':
content => $a,
...
}
}
Run Code Online (Sandbox Code Playgroud)
这并不完全是您所要求的,但您可以在源中提供多个路径,因此如果用户没有提供自己的路径,您可以拥有一个默认的空文件。
class local
{
file { '.bash_profile.local':
source => [
'puppet:///modules/local/bash_profile.local',
'puppet:///modules/local/bash_profile.local.default'
],
path => '/home/vagrant/.bash_profile.local',
replace => false,
mode => 0644,
owner => 'vagrant',
group => 'vagrant',
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10961 次 |
最近记录: |