class Aio::Module::Cmd::Cisco::ShowIpInterfaceBrief

Public Class Methods

new() click to toggle source
Calls superclass method Aio::Module::Cmd::new
# File lib/modules/cmd/cisco/show_ip_interface_brief.rb, line 8
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

Public Instance Methods

parse() click to toggle source
# File lib/modules/cmd/cisco/show_ip_interface_brief.rb, line 20
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