Class: Specinfra::Command::Freebsd::Base::Host
- Inherits:
-
Base::Host
- Object
- Base
- Base::Host
- Specinfra::Command::Freebsd::Base::Host
- Defined in:
- lib/specinfra/command/freebsd/base/host.rb
Class Method Summary collapse
- .check_is_reachable(host, port, proto, timeout) ⇒ Object
- .get_ipaddress(name) ⇒ Object
- .get_ipv4_address(name) ⇒ Object
- .get_ipv6_address(name) ⇒ Object
Methods inherited from Base::Host
Methods inherited from Base
Class Method Details
.check_is_reachable(host, port, proto, timeout) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/specinfra/command/freebsd/base/host.rb', line 3 def check_is_reachable(host, port, proto, timeout) if port.nil? "ping -t #{escape(timeout)} -c 2 -n #{escape(host)}" else "nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}" end end |
.get_ipaddress(name) ⇒ Object
10 11 12 13 14 |
# File 'lib/specinfra/command/freebsd/base/host.rb', line 10 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 |
.get_ipv4_address(name) ⇒ Object
15 16 17 18 |
# File 'lib/specinfra/command/freebsd/base/host.rb', line 15 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 |
.get_ipv6_address(name) ⇒ Object
19 20 21 22 |
# File 'lib/specinfra/command/freebsd/base/host.rb', line 19 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 |