将木偶哈希分配给hieradata yaml

时间:2017-10-13 08:38:57

标签: json yaml puppet hiera

我想从puppet分配一个哈希变量到一个hiera数据结构,但我只得到一个字符串。

这是一个例子来说明我想要的。最后,我不想访问事实。

1 ---
2  filesystems:
3    - partitions: "%{::partitions}"

这是我的调试代码:

1   $filesystemsarray = lookup('filesystems',Array,'deep',[])
2   $filesystems = $filesystemsarray.map | $fs | {
3     notice("fs: ${fs['partitions']}")
4   }
5 
6   notice("sda1: ${filesystemsarray[0]['partitions']['/dev/sda1']}")

map导致以下输出:

Notice: Scope(Class[Profile::App::Kms]): fs: {"/dev/mapper/localhost--vg-root"=>{"filesystem"=>"ext4", "mount"=>"/", "size"=>"19.02 GiB", "size_bytes"=>20422066176, "uuid"=>"02e2ba2c-2ee4-411d-ac63-fc963c8026b4"}, "/dev/mapper/localhost--vg-swap_1"=>{"filesystem"=>"swap", "size"=>"512.00 MiB", "size_bytes"=>536870912, "uuid"=>"95ba4b2a-7434-48fd-9331-66443c752a9e"}, "/dev/sda1"=>{"filesystem"=>"ext2", "mount"=>"/boot", "partuuid"=>"de90a5ed-01", "size"=>"487.00 MiB", "size_bytes"=>510656512, "uuid"=>"398f2ab6-a7e8-4983-bd81-db03984fbd0e"}, "/dev/sda2"=>{"size"=>"1.00 KiB", "size_bytes"=>1024}, "/dev/sda5"=>{"filesystem"=>"LVM2_member", "partuuid"=>"de90a5ed-05", "size"=>"19.52 GiB", "size_bytes"=>20961034240, "uuid"=>"wLKRQm-9bdn-mHA8-M8bE-NL76-Gmas-L7Gp0J"}}

似乎是预期的哈希,但第6行中的notice导致:

Error: Evaluation Error: A substring operation does not accept a String as a character index. Expected an Integer at ...

我的错是什么?

0 个答案:

没有答案