J'ai besoin des points de montage de la marionnette qui se réfèrent aux/datadisks. J'utilise mountpoints
core facts
pour obtenir les points de montage. Dans ces points de montage, je veux filtrer et obtenir uniquement les points de montage dont les noms contiennent/datadisks dans un tableau, je veux juste les clés qui correspondent au modèle/datadisksTouches de filtre d'une carte dans Puppet
Les travaux suivants, mais je pense qu'il y a un meilleur et plus façon efficace. Quelqu'un peut-il nous éclairer?
$foo = flatten(map($::mountpoints) |$key,$value| { $key })
$filtered_data = $foo.filter |$items| { $items =~ /datadisks/ }
Si j'essaie ce qui suit, alors il sort aussi les clés ainsi que les valeurs. Je veux juste les clés de la carte mountpoint
$f_data = $::mountpoints.filter |$indexes, $values| { $indexes =~ /datadisks/ }
Je suis sur OpenLogic CentOS 7.2 et la sortie de $::mountpoints
est une carte comme ci-dessous:
{/ => {available => 21.93 GiB, available_bytes => 23542669312, capacity => 26.88%, device => /dev/sda1, filesystem => xfs, options => [rw, seclabel, relatime, attr2, inode64, noquota], size => 29.98 GiB, size_bytes => 32195481600, used => 8.06 GiB, used_bytes => 8652812288}, /datadisks/disk2 => {available => 1006.74 GiB, available_bytes => 1080982728704, capacity => 0.01%, device => /dev/sdc1, filesystem => ext4, options => [rw, seclabel, nosuid, nodev, noexec, noatime, nodiratime, data=ordered], size => 1006.82 GiB, size_bytes => 1081062445056, used => 76.02 MiB, used_bytes => 79716352}, /mnt/resource => {available => 110.06 GiB, available_bytes => 118173499392, capacity => 0.05%, device => /dev/sdb1, filesystem => ext4, options => [rw, seclabel, relatime, data=ordered], size => 110.12 GiB, size_bytes => 118236442624, used => 60.03 MiB, used_bytes => 62943232}}
Pouvez-vous fournir la sortie brute de $ :: points de montage? –
Bien sûr. Question éditée et mise à jour de la sortie de $ :: points de montage –