2

我正在创建一个清单来获取代理的分区名称。

事实$partitions显示了分区信息的详细信息。

{"xvda1"=>{"uuid"=>"d1697425-49d0-4c9f-9901-5f9260be8196", "size"=>"83859300", "mount"=>"/", "label"=>"cloudimg-rootfs", "filesystem"=>"ext4"}}

但是,我只想获取名称部分 ( xvda1) 并将其用作配置文件的变量。

有什么方法可以过滤 Puppet 中的输出?

4

1 回答 1

4

解决此问题的最快方法是使用以下keys函数puppetlabs/stdlibhttps ://forge.puppet.com/puppetlabs/stdlib/readme 。

keys() 将哈希的键作为数组返回。类型:右值。

使用该函数,我们可以将输出哈希从 Facter 转换为键数组并正常访问其元素。假设这xvda10th元素,

因素 2:

$变量=键($::partitions)[0]

因素 3:

$variable = keys($facts['partitions'])[0]

于 2017-01-11T18:30:10.490 回答