summaryrefslogtreecommitdiff
path: root/lib/facter/revzone.rb
blob: 67de361fd1f6b96c4a90e52f639a4b499892bbe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
require 'facter'
require 'ipaddr'

Facter.add('revzone') do
  confine { Facter.value(:ipaddress6) }
  setcode do
    ip = Facter.value(:ipaddress6)
    cidr = IPAddr.new("::/#{Facter.value(:netmask6)}").prefix
    addr = IPAddr.new ip
    parts = addr.ip6_arpa.split('.')
    parts.drop(cidr/4).join('.')
  end
end