Sha256: e3ed1fce60a32ffde08bd7ee7d5e34665abc7a931d6e0715620f345e6f93be4b

Contents?: true

Size: 1.29 KB

Versions: 18

Compression:

Stored size: 1.29 KB

Contents

#coding=utf-8

require "aio/core"

class Aio::Module::Cmd::Cisco::ShowIpInterfaceBrief < Aio::Module::Cmd::Cisco
	include Aio::Module

	def initialize
		super({
			:cmd_full			=> "show ip interface brief",
			:cmd_short		=> "sh ip int b",
			:author				=> "Elin",
			:description	=> "This is Cisco Command# show ip interface brief",
			:ranking			=> Ranking_1,
			:platform			=> RS,
			:benchmark	=> { }
		})
	end

	def parse
		context = self.context.dup
		useful[:interface_brief] = {}
		context.readline_match_block(/Interface IP-Address OK\? Method Status Protocol/) {|b|b}
		context.readline_match_block_loop(/(?<interface_id>[^\s]+) (?<ip>[^\s]+) (?<ok>[^\s]+) (?<method>[^\s]+) (?<status>(?:administratively\s)?[^\s]+) (?<protocol>[^\s]+)/, reg_blank) do |block|
			iface = {}
			iface_id = block[:interface_id]
			useful[:interface_brief][iface_id.to_sym] = iface
			block.update(iface, :interface_id)
			block.update(iface, :ip)
			block.update(iface, :ok)
			block.update(iface, :method)
			block.update(iface, :status)
			# 当状态是起来的,但是协议为Down,则纳入警告
			if (block[:status] =~ /up/) and !(block[:protocol] =~ /up/)
				block.warning_serious(iface, :protocol, self, {:force => true})
			else
				block.warning_serious(iface, :protocol, self, {:force => false})
			end
		end
	end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
aio_elin-1.1.8 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.7 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.4 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.3 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.2 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.1 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.1.0 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.9 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.8 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.7 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.6 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.5 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.4 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.3 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.2 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.1 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-1.0.0 lib/modules/cmd/cisco/show_ip_interface_brief.rb
aio_elin-0.0.1 lib/modules/cmd/cisco/show_ip_interface_brief.rb