]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - facts/ipaddresses.rb
new ipaddress fact
[dsa-puppet.git] / facts / ipaddresses.rb
diff --git a/facts/ipaddresses.rb b/facts/ipaddresses.rb
new file mode 100644 (file)
index 0000000..f1bbd69
--- /dev/null
@@ -0,0 +1,28 @@
+Facter.add("v4ips") do
+        addrs = []
+        %x{ip addr list}.each do |line|
+                next unless line =~ /\s+inet/
+                next if line =~ /scope (link|host)/
+                if line =~ /\s+inet\s+(\S+)\/\d\d .*/
+                        addrs << $1
+                end
+        end
+        setcode do
+                addrs.join(",")
+        end
+end
+
+Facter.add("v6ips") do
+        addrs = []
+        %x{ip addr list}.each do |line|
+                next unless line =~ /\s+inet/
+                next if line =~ /scope (link|host)/
+                if line =~ /\s+inet6\s+(\S+)\/\d\d .*/
+                        addrs << $1
+                end
+        end
+        setcode do
+                addrs.join(",")
+        end
+end
+