Sha256: b15ef2f415479b663334818d95c17651887d6740970777bbba562089873e903b

Contents?: true

Size: 966 Bytes

Versions: 31

Compression:

Stored size: 966 Bytes

Contents

module Serverspec::Type
  class Interface < Base
    def exists?
      @runner.check_interface_exists(@name)
    end

    def speed
      ret = @runner.get_interface_speed_of(@name)
      val_to_integer(ret)
    end

    def mtu
      ret = @runner.get_interface_mtu_of(@name)
      val_to_integer(ret)
    end

    def has_ipv4_address?(ip_address)
      @runner.check_interface_has_ipv4_address(@name, ip_address)
    end

    def has_ipv6_address?(ip_address)
      @runner.check_interface_has_ipv6_address(@name, ip_address)
    end

    def ipv4_address
      @runner.get_interface_ipv4_address(@name).stdout.strip
    end

    def ipv6_address
      @runner.get_interface_ipv6_address(@name).stdout.strip
    end

    def up?
      ret = @runner.get_interface_link_state(@name)
      ret.stdout.strip == 'up'
    end

    private

    def val_to_integer(ret)
      val = ret.stdout.strip
      val = val.to_i if val.match(/^\d+$/)
      val
    end

  end
end

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
serverspec-2.42.3 lib/serverspec/type/interface.rb
serverspec-2.42.2 lib/serverspec/type/interface.rb
serverspec-2.42.1 lib/serverspec/type/interface.rb
serverspec-cem-acpt-2.42.0 lib/serverspec/type/interface.rb
serverspec-2.42.0 lib/serverspec/type/interface.rb
serverspec-2.41.8 lib/serverspec/type/interface.rb
serverspec-2.41.7 lib/serverspec/type/interface.rb
serverspec-2.41.6 lib/serverspec/type/interface.rb
serverspec-2.41.5 lib/serverspec/type/interface.rb
serverspec-2.41.4 lib/serverspec/type/interface.rb
serverspec-2.41.3 lib/serverspec/type/interface.rb
serverspec-2.41.2 lib/serverspec/type/interface.rb
serverspec-2.41.1 lib/serverspec/type/interface.rb
serverspec-2.41.0 lib/serverspec/type/interface.rb
serverspec-2.40.0 lib/serverspec/type/interface.rb
serverspec-2.39.2 lib/serverspec/type/interface.rb
serverspec-2.39.1 lib/serverspec/type/interface.rb
serverspec-2.39.0 lib/serverspec/type/interface.rb
serverspec-2.38.1 lib/serverspec/type/interface.rb
serverspec-2.38.0 lib/serverspec/type/interface.rb