Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数组传递给定义的puppet资源_Puppet - Fatal编程技术网

将数组传递给定义的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的概念。但当我在定义的资源中传递元素数组时,我得到了一个错误。我的目标是在定义的资源中循环多个元素。您是指
定义的
函数
而不是
资源
。函数似乎不接受数组参数。这通常是个坏主意。有关推理和替代方法,请参见。