人偶数据数组
Puppet data array
我有一个模块可以根据服务器创建一些目录:
class linux_sftp::sftp_mount ($sftp_mount_ip, $sftp_mount_username, $sftp_mount_password, $sftp_mount_point) {
file { "/mnt/${sftp_mount_point}":
ensure => directory,
subscribe => Exec['sftp_remount'],
}
在data.yml
sftp_mount_point: "stcontent1"
我想向数据中添加更多文件夹,例如:stcontent2、stcontent3。这是一种添加它并循环遍历数据的方法吗?
sftp_mount_point:
- "stcontent1"
- "stcontent2" ...
是的,您可以使用 lambda 方法(如果需要也可以作为函数调用)迭代来完成此任务。您的用例最常见的是 each
。它可以很容易地在类型 Array[String]
上调用,就像您在问题中遇到的那样。
$sftp_mount_point.each |String $mount| {
file { "/mnt/${mount}":
ensure => directory,
}
}
请注意,file
类型没有 subscribable
属性,因此 subscribe
不是有效属性,因此我在上面将其删除。
我有一个模块可以根据服务器创建一些目录:
class linux_sftp::sftp_mount ($sftp_mount_ip, $sftp_mount_username, $sftp_mount_password, $sftp_mount_point) {
file { "/mnt/${sftp_mount_point}":
ensure => directory,
subscribe => Exec['sftp_remount'],
}
在data.yml
sftp_mount_point: "stcontent1"
我想向数据中添加更多文件夹,例如:stcontent2、stcontent3。这是一种添加它并循环遍历数据的方法吗?
sftp_mount_point:
- "stcontent1"
- "stcontent2" ...
是的,您可以使用 lambda 方法(如果需要也可以作为函数调用)迭代来完成此任务。您的用例最常见的是 each
。它可以很容易地在类型 Array[String]
上调用,就像您在问题中遇到的那样。
$sftp_mount_point.each |String $mount| {
file { "/mnt/${mount}":
ensure => directory,
}
}
请注意,file
类型没有 subscribable
属性,因此 subscribe
不是有效属性,因此我在上面将其删除。