Марионетка: условный источник файла

Вы корректны - WSS не должен быть установлен отдельно, установка MOSS сделает это для Вас.

3
задан 10 December 2011 в 11:23
1 ответ

Вам нужен селектор , который позволит вам иметь условное выражение внутри ресурса или устанавливать переменную вне его.

Вот селектор:

file { '/etc/squid/squid.conf':
  ensure => file,
  source => $fact ? {
    "foo"   => 'puppet:///modules/1/squid.conf_1',
    "bar"   => 'puppet:///modules/1/squid.conf_2',
    default => 'puppet:///modules/1/squid.conf_default',
  },
}

] Или задайте переменную и используйте ее вместо:

if $fact == "foo" {
  $squidconf = 'puppet:///modules/1/squid.conf_1'
} else {
  $squidconf = 'puppet:///modules/1/squid.conf_2'
}

file { '/etc/squid/squid.conf':
  ensure => file,
  source => $squidconf,
}

Конечно, есть и другие варианты, посмотрите руководство по языку, указанное выше, и раздел Learning Puppet tutorial , посвященный переменным.

8
ответ дан 3 December 2019 в 05:07

Теги

Похожие вопросы