Class: Cisco::RadiusServer

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

Overview

RadiusServer - node utility class for Raidus Server configuration management

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from NodeUtil

config_get, #config_get, config_get_default, #config_get_default, #config_set, config_set, #node, node, #show

Constructor Details

#initialize(name, instantiate = true) ⇒ RadiusServer

Returns a new instance of RadiusServer.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/cisco_node_utils/radius_server.rb', line 28

def initialize(name, instantiate=true)
  unless name =~ /^[a-zA-Z0-9\.\:]*$/
    fail ArgumentError,
         'Invalid value (IPv4/IPv6 address contains invalid characters)'
  end

  begin
    IPAddr.new(name)
  rescue
    raise ArgumentError,
          'Invalid value (Name is not a valid single IPv4/IPv6 address)'
  end
  @name = name

  create if instantiate
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



26
27
28
# File 'lib/cisco_node_utils/radius_server.rb', line 26

def name
  @name
end

Class Method Details

.radiusserversObject



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/cisco_node_utils/radius_server.rb', line 45

def self.radiusservers
  hash = {}

  radiusservers_list = config_get('radius_server', 'hosts')
  return hash if radiusservers_list.empty?
  radiusservers_list.each do |id|
    hash[id] = RadiusServer.new(id, false)
  end

  hash
end

Instance Method Details

#==(other) ⇒ Object



71
72
73
# File 'lib/cisco_node_utils/radius_server.rb', line 71

def ==(other)
  name == other.name
end

#accountingObject



191
192
193
194
195
196
197
198
# File 'lib/cisco_node_utils/radius_server.rb', line 191

def accounting
  val = config_get('radius_server', 'accounting', @name)
  if val.nil?
    false
  else
    val
  end
end

#accounting=(val) ⇒ Object



204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/cisco_node_utils/radius_server.rb', line 204

def accounting=(val)
  if !val
    config_set('radius_server',
               'accounting',
               state: 'no',
               ip:    @name)
  else
    config_set('radius_server',
               'accounting',
               state: '',
               ip:    @name)
  end
end

#acct_portObject



104
105
106
# File 'lib/cisco_node_utils/radius_server.rb', line 104

def acct_port
  config_get('radius_server', 'acct-port', @name)
end

#acct_port=(val) ⇒ Object



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/cisco_node_utils/radius_server.rb', line 112

def acct_port=(val)
  unless val.nil?
    fail ArgumentError, 'acct_port must be an Integer' \
      unless val.is_a?(Integer)
  end

  if val.nil?
    config_set('radius_server',
               'acct-port',
               state: 'no',
               ip:    @name,
               port:  acct_port)
  else
    config_set('radius_server',
               'acct-port',
               state: '',
               ip:    @name,
               port:  val)
  end
end

#auth_portObject



75
76
77
# File 'lib/cisco_node_utils/radius_server.rb', line 75

def auth_port
  config_get('radius_server', 'auth-port', @name)
end

#auth_port=(val) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/cisco_node_utils/radius_server.rb', line 83

def auth_port=(val)
  unless val.nil?
    fail ArgumentError, 'auth_port must be an Integer' \
      unless val.is_a?(Integer)
  end

  if val.nil?
    config_set('radius_server',
               'auth-port',
               state: 'no',
               ip:    @name,
               port:  auth_port)
  else
    config_set('radius_server',
               'auth-port',
               state: '',
               ip:    @name,
               port:  val)
  end
end

#authenticationObject



218
219
220
221
222
223
224
225
# File 'lib/cisco_node_utils/radius_server.rb', line 218

def authentication
  val = config_get('radius_server', 'authentication', @name)
  if val.nil?
    false
  else
    val
  end
end

#authentication=(val) ⇒ Object



231
232
233
234
235
236
237
238
239
240
241
242
243
# File 'lib/cisco_node_utils/radius_server.rb', line 231

def authentication=(val)
  if !val
    config_set('radius_server',
               'authentication',
               state: 'no',
               ip:    @name)
  else
    config_set('radius_server',
               'authentication',
               state: '',
               ip:    @name)
  end
end

#createObject



57
58
59
60
61
62
# File 'lib/cisco_node_utils/radius_server.rb', line 57

def create
  config_set('radius_server',
             'hosts',
             state: '',
             ip:    @name)
end

#default_accountingObject



200
201
202
# File 'lib/cisco_node_utils/radius_server.rb', line 200

def default_accounting
  config_get_default('radius_server', 'accounting')
end

#default_acct_portObject



108
109
110
# File 'lib/cisco_node_utils/radius_server.rb', line 108

def default_acct_port
  config_get_default('radius_server', 'acct-port')
end

#default_auth_portObject



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

def default_auth_port
  config_get_default('radius_server', 'auth-port')
end

#default_authenticationObject



227
228
229
# File 'lib/cisco_node_utils/radius_server.rb', line 227

def default_authentication
  config_get_default('radius_server', 'authentication')
end

#default_retransmit_countObject



166
167
168
# File 'lib/cisco_node_utils/radius_server.rb', line 166

def default_retransmit_count
  config_get_default('radius_server', 'retransmit')
end

#default_timeoutObject



137
138
139
# File 'lib/cisco_node_utils/radius_server.rb', line 137

def default_timeout
  config_get_default('radius_server', 'timeout')
end

#destroyObject



64
65
66
67
68
69
# File 'lib/cisco_node_utils/radius_server.rb', line 64

def destroy
  config_set('radius_server',
             'hosts',
             state: 'no',
             ip:    @name)
end

#keyObject



249
250
251
# File 'lib/cisco_node_utils/radius_server.rb', line 249

def key
  config_get('radius_server', 'key', @name)
end

#key_formatObject



245
246
247
# File 'lib/cisco_node_utils/radius_server.rb', line 245

def key_format
  config_get('radius_server', 'key_format', @name)
end

#key_set(value, format) ⇒ Object



253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/cisco_node_utils/radius_server.rb', line 253

def key_set(value, format)
  unless value.nil?
    fail ArgumentError, 'value must be a String' \
      unless value.is_a?(String)
  end

  unless format.nil?
    fail ArgumentError, 'format must be an Integer' \
      unless format.is_a?(Integer)
  end

  if value.nil? && !key.nil?
    config_set('radius_server',
               'key',
               state: 'no',
               ip:    @name,
               key:   "#{key_format} #{key}")
  elsif !format.nil?
    config_set('radius_server',
               'key',
               state: '',
               ip:    @name,
               key:   "#{format} #{value}")
  else
    config_set('radius_server',
               'key',
               state: '',
               ip:    @name,
               key:   "#{value}")
  end
end

#retransmit_countObject



162
163
164
# File 'lib/cisco_node_utils/radius_server.rb', line 162

def retransmit_count
  config_get('radius_server', 'retransmit', @name)
end

#retransmit_count=(val) ⇒ Object



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/cisco_node_utils/radius_server.rb', line 170

def retransmit_count=(val)
  unless val.nil?
    fail ArgumentError, 'retransmit_count must be an Integer' \
      unless val.is_a?(Integer)
  end

  if val.nil?
    config_set('radius_server',
               'retransmit',
               state: 'no',
               ip:    @name,
               count: retransmit_count)
  else
    config_set('radius_server',
               'retransmit',
               state: '',
               ip:    @name,
               count: val)
  end
end

#timeoutObject



133
134
135
# File 'lib/cisco_node_utils/radius_server.rb', line 133

def timeout
  config_get('radius_server', 'timeout', @name)
end

#timeout=(val) ⇒ Object



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/cisco_node_utils/radius_server.rb', line 141

def timeout=(val)
  unless val.nil?
    fail ArgumentError, 'timeout must be an Integer' \
      unless val.is_a?(Integer)
  end

  if val.nil?
    config_set('radius_server',
               'timeout',
               state:   'no',
               ip:      @name,
               timeout: timeout)
  else
    config_set('radius_server',
               'timeout',
               state:   '',
               ip:      @name,
               timeout: val)
  end
end