diff options
Diffstat (limited to 'modules/syslinux/lib')
-rw-r--r-- | modules/syslinux/lib/facter/efibootmgr.rb | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/modules/syslinux/lib/facter/efibootmgr.rb b/modules/syslinux/lib/facter/efibootmgr.rb index fdf95e0..f4a03f4 100644 --- a/modules/syslinux/lib/facter/efibootmgr.rb +++ b/modules/syslinux/lib/facter/efibootmgr.rb @@ -1,19 +1,21 @@ -Facter.add('efi') do - setcode do - out = {} - data = Facter::Core::Execution.execute('efibootmgr') - boots = {} - data.split("\n").each do |item| - if a = item.match(/BootOrder: (.*)/) then - out['BootOrder'] = a[1].split(',') - elsif a = item.match(/(\w*): (.*)/) then +if Facter::Core::Execution.which('efibootmgr') do + Facter.add('efi') do + setcode do + out = {} + data = Facter::Core::Execution.execute('efibootmgr') + boots = {} + data.split("\n").each do |item| + if a = item.match(/BootOrder: (.*)/) then + out['BootOrder'] = a[1].split(',') + elsif a = item.match(/(\w*): (.*)/) then out[a[1]] = a[2] - elsif a = item.match(/Boot(\d*)(\*?) (.*)/) - # a[2] contains if it's active - boots[a[1]] = a[3] + elsif a = item.match(/Boot(\d*)(\*?) (.*)/) + # a[2] contains if it's active + boots[a[1]] = a[3] + end end + out['boots'] = boots + out end - out['boots'] = boots - out end end |