Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / lib / facter / nftables.rb @ 032387dc

Historique | Voir | Annoter | Télécharger (691 octets)

1
#
2
# Produce an array of nftables.
3
# nft list tables
4
# table inet filter
5
# table ip nat
6
# table ip6 nat
7
# table inet f2b-table
8
#
9
# Produce the version of nftables (nft --version)
10
# nftables v0.9.3 (Topsy)
11
#
12
Facter.add(:nftables) do
13
  @nft_cmd = Facter::Util::Resolution.which('nft')
14
  confine { @nft_cmd }
15

    
16
  setcode do
17
    tables = []
18
    table_result = Facter::Core::Execution.execute(%(#{@nft_cmd} list tables))
19
    table_result.each_line do |line|
20
      tables.push(line.split(' ')[1, 2].join('-'))
21
    end
22
    version = Facter::Core::Execution.execute(%(#{@nft_cmd} --version))[%r{^.*v(\d+\.\d+.\d+)\s.*$}, 1]
23
    {
24
      'tables'  => tables,
25
      'version' => version,
26
    }
27
  end
28
end