File: host.rb

package info (click to toggle)
ruby-specinfra 2.89.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 2,412 kB
  • sloc: ruby: 10,338; sh: 4; makefile: 4
file content (17 lines) | stat: -rw-r--r-- 687 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Specinfra::Command::Openbsd::Base::Host < Specinfra::Command::Base::Host
  class << self
    def get_ipaddress(name)
      # getent hosts will return both the ipv6 and ipv4 record.
      # this will only pick the first one. (Linux behavior)
      "getent hosts #{escape(name)} | awk '{print $1; exit}'"
    end
    def get_ipv4_address(name)
      # May return multiple values pick the one matching ipv4
      "getent hosts #{escape(name)} | awk '$1 ~ /^[0-9.]+$/ {print $1}'"
    end
    def get_ipv6_address(name)
      # May return multiple values pick the one matching ipv6
      "getent hosts #{escape(name)} | awk 'tolower($1) ~ /^[0-9a-f:]+$/ {print $1}'"
    end
  end
end