Class: Cisco::SnmpCommunity

Inherits:
NodeUtil show all
Defined in:
lib/cisco_node_utils/snmpcommunity.rb

Overview

SnmpCommunity - node utility class for SNMP community config management

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from NodeUtil

client, #client, config_get, #config_get, #config_get_default, config_get_default, config_set, #config_set, #get, #ios_xr?, #nexus?, #node, node, platform, #platform, supports?, #supports?

Constructor Details

#initialize(name, group, instantiate = true) ⇒ SnmpCommunity

Returns a new instance of SnmpCommunity.



24
25
26
27
28
29
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 24

def initialize(name, group, instantiate=true)
  fail TypeError unless name.is_a?(String) && group.is_a?(String)
  @name = name
  return unless instantiate
  config_set('snmp_community', 'community', '', name, group)
end

Class Method Details

.communitiesObject



31
32
33
34
35
36
37
38
39
40
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 31

def self.communities
  @communities = {}
  comms = config_get('snmp_community', 'all_communities')
  unless comms.nil?
    comms.each do |comm|
      @communities[comm] = SnmpCommunity.new(comm, '', false)
    end
  end
  @communities
end

.default_aclObject



79
80
81
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 79

def self.default_acl
  config_get_default('snmp_community', 'acl')
end

.default_groupObject



61
62
63
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 61

def self.default_group
  config_get_default('snmp_community', 'group')
end

Instance Method Details

#aclObject



65
66
67
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 65

def acl
  config_get('snmp_community', 'acl', @name)
end

#acl=(acl) ⇒ Object



69
70
71
72
73
74
75
76
77
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 69

def acl=(acl)
  fail TypeError unless acl.is_a?(String)
  if acl.empty?
    acl = self.acl
    config_set('snmp_community', 'acl', 'no', @name, acl) unless acl.empty?
  else
    config_set('snmp_community', 'acl', '', @name, acl)
  end
end

#destroyObject



42
43
44
45
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 42

def destroy
  # CLI requires specifying a group even for "no" commands
  config_set('snmp_community', 'community', 'no', @name, 'null')
end

#groupObject

name is read only

def name
  @name
end


52
53
54
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 52

def group
  config_get('snmp_community', 'group', @name)
end

#group=(group) ⇒ Object



56
57
58
59
# File 'lib/cisco_node_utils/snmpcommunity.rb', line 56

def group=(group)
  fail TypeError unless group.is_a?(String)
  config_set('snmp_community', 'group', @name, group)
end