puppet定义数组循环

时间:2014-01-27 20:49:16

标签: loops manifest puppet

我正在使用define数组,但不明白为什么它不适用于以下示例。我正在尝试创建以下指示

/tmp/foo.0
/tmp/foo.1
/tmp/foo.2

我的init.pp

class loop {

define loop ( $x ) {

exec {"$name":
        command => "/bin/mkdir /tmp/$name.$x",
        creates => "/tmp/$name.$x",
        }
}
loop{ "foo": x => ["0", "1", "2"] }

}

它的创建目录如/tmp/tomcat7.012

1 个答案:

答案 0 :(得分:4)

不确定将name命名为与class相同的名称是个好主意。

如果你反转$ name和$ x

,它会起作用
class loop {

  define loop::loop ( $x ) {

    exec {"$x":
      command => "/bin/mkdir /tmp/$x.$name",
      creates => "/tmp/$x.$name",
    }
  }
  loop::loop{ ["0", "1", "2"]: x => "foo" }
}

希望这有帮助