人偶参数的内联 if 语句

Inline if statement for puppet parameters

我有一个跟随人偶模块

class base (
  $someBoolean=false,
)
{
  exec { 'Do something':
    command     => '/usr/bin/someStuff',
    timeout     => (someBoolean) ? 100000000 : 300
  }
}

timeout => () ? : 本质上是我想做的,但是正确的语法是什么?有可能吗?

Puppet 版本的三元运算符是更通用的“selector”。您的案例的语法如下所示:

exec { 'Do something':
  command => '/usr/bin/someStuff',
  timeout => $someBoolean ? { true => 100000000, default => 300 }
}

控制表达式(上面的$someBoolean)其实可以是任意一个产生值的表达式,可以提供任意个对应的case。