如何将参数传递给Puppet中的另一个类?

时间:2017-01-19 14:05:45

标签: puppet

我正在使用 Puppet 4 ,我想知道如何将参数传递给另一个类:

我有自定义资源:

git branch stag dest/stag

我正在从另一个模块调用我的资源,比如

class system::classA {
  define myresource ($param1, $param2) {
    include system::classB
  }
}

class system::classB {
  file "${param1}"{
    ensure => present
  }
}

但参数始终为空。如何在system::classA::myresource { param1 => "test", param2 => "test", }

中传递参数或访问它们

1 个答案:

答案 0 :(得分:1)

您需要将参数添加到 classB 中,以便可以传递数据:

class system::classB($param1, $param2) {
  file { "${param1}":
    ensure => present,
  }
}

然后使用此样式并设置新参数,而不是使用include中的system::classA::myresource函数:

define myresource ($param1, $param2) {
  class { "system::classB":
    param1 => $param1,
    param2 => $param2,
  }
}

(请注意,在里面一个类中,我很不寻常,我建议将myresource放在classA之外。)