Puppet 中的访问因子哈希键

Access Facter hash key in Puppet

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

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

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

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

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

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

keys() Returns the keys of a hash as an array. Type: rvalue.

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

因素 2:

$变量=键($::分区)[0]

因素 3:

$变量=键($事实['partitions'])[0]