将数组传递给定义的puppet资源
我想测试我的环境中是否存在多个包,基于此测试,我想生成最终的目录将数组传递给定义的puppet资源,puppet,Puppet,我想测试我的环境中是否存在多个包,基于此测试,我想生成最终的目录 if !defined( Package[ 'apache2' ] ) { package { 'apache2': ensure => installed, } } if !defined( Package[ 'libapache2-svn' ] ) { package { 'libapache2-svn': ensure => installed,
if !defined( Package[ 'apache2' ] ) {
package { 'apache2':
ensure => installed,
}
}
if !defined( Package[ 'libapache2-svn' ] ) {
package { 'libapache2-svn':
ensure => installed,
}
}
今后,我希望通过以下方式进行控制:
Package { ensure => "installed" }
$packageList = [ 'apache2', 'libapache2-svn' ]
if !defined( Package[ $packageList ] ) {
package { $packageList: }
}
你的问题是什么?还有。。请注意,
defined()
不会检查系统上是否安装了软件包。它检查特定包的包
资源是否在puppet目录中。即使将sure设置为缺席
,它仍然应该返回true。我理解catalog的概念。但当我在定义的资源中传递元素数组时,我得到了一个错误。我的目标是在定义的资源中循环多个元素。您是指定义的函数
而不是资源
。函数似乎不接受数组参数。这通常是个坏主意。有关推理和替代方法,请参阅。您的问题是什么?还有。。请注意,defined()
不会检查系统上是否安装了软件包。它检查特定包的包
资源是否在puppet目录中。即使将sure设置为缺席
,它仍然应该返回true。我理解catalog的概念。但当我在定义的资源中传递元素数组时,我得到了一个错误。我的目标是在定义的资源中循环多个元素。您是指定义的函数
而不是资源
。函数似乎不接受数组参数。这通常是个坏主意。有关推理和替代方法,请参见。