2

エージェントのパーティション名を取得するためにマニフェストを作成しています。

ファクト$partitionsは、パーティション情報の詳細を示しています。

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

xvda1しかし、名前の部分( )を取得して、構成ファイルの変数として使用したいだけです。

Puppet で出力をフィルタリングする方法はありますか?

4

1 に答える 1

4

これを解決する最速の方法は、https : //forge.puppet.com/puppetlabs/stdlib/readme のkeys関数を使用することです。puppetlabs/stdlib

keys() ハッシュのキーを配列として返します。タイプ: 右辺値。

その関数を使用すると、Facter からの出力ハッシュをキーの配列に変換し、その要素に通常どおりアクセスできます。それxvda10th要素だとすると、

要因 2:

$変数 = キー($::パーティション)[0]

要因 3:

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

于 2017-01-11T18:30:10.490 に答える