Class: Cisco::RouterOspfAreaVirtualLink
- Inherits:
-
NodeUtil
- Object
- NodeUtil
- Cisco::RouterOspfAreaVirtualLink
show all
- Defined in:
- lib/cisco_node_utils/router_ospf_area_vlink.rb
Overview
node_utils class for ospf_area_vlink
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
-
#==(other) ⇒ Object
-
#auth_key_chain ⇒ Object
-
#auth_key_chain=(val) ⇒ Object
-
#authentication ⇒ Object
CLI can be either of the following or none authentication authentication message-digest authentication null.
-
#authentication=(val) ⇒ Object
-
#authentication_key_encryption_type ⇒ Object
-
#authentication_key_password ⇒ Object
-
#authentication_key_set(enctype, pw) ⇒ Object
example CLI: authentication-key 3 3109a60f51374a0d To remove the authentication-key altogether, set the password to empty string.
-
#create ⇒ Object
Create one router ospf area virtual-link instance.
-
#dead_interval ⇒ Object
-
#dead_interval=(val) ⇒ Object
-
#default_auth_key_chain ⇒ Object
-
#default_authentication ⇒ Object
-
#default_authentication_key_encryption_type ⇒ Object
-
#default_authentication_key_password ⇒ Object
-
#default_dead_interval ⇒ Object
-
#default_hello_interval ⇒ Object
-
#default_message_digest_algorithm_type ⇒ Object
-
#default_message_digest_encryption_type ⇒ Object
-
#default_message_digest_key_id ⇒ Object
-
#default_message_digest_password ⇒ Object
-
#default_retransmit_interval ⇒ Object
-
#default_transmit_delay ⇒ Object
-
#destroy ⇒ Object
-
#hello_interval ⇒ Object
-
#hello_interval=(val) ⇒ Object
-
#initialize(ospf_router, vrf_name, area_id, virtual_link, instantiate = true) ⇒ RouterOspfAreaVirtualLink
constructor
A new instance of RouterOspfAreaVirtualLink.
-
#message_digest_algorithm_type ⇒ Object
-
#message_digest_encryption_type ⇒ Object
-
#message_digest_key_id ⇒ Object
-
#message_digest_key_set(keyid, algtype, enctype, pw) ⇒ Object
example CLI: message-digest-key 39 md5 7 046E1803362E595C260E0B240619050A2D To remove the message-digest-key altogether, set the password to empty string.
-
#message_digest_password ⇒ Object
-
#retransmit_interval ⇒ Object
-
#retransmit_interval=(val) ⇒ Object
-
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName.
-
#set_args_keys_default ⇒ Object
Helper method to delete @set_args hash keys.
-
#transmit_delay ⇒ Object
-
#transmit_delay=(val) ⇒ Object
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(ospf_router, vrf_name, area_id, virtual_link, instantiate = true) ⇒ RouterOspfAreaVirtualLink
Returns a new instance of RouterOspfAreaVirtualLink.
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 28
def initialize(ospf_router, vrf_name, area_id, virtual_link,
instantiate=true)
fail TypeError unless ospf_router.is_a?(String)
fail TypeError unless vrf_name.is_a?(String)
fail ArgumentError unless ospf_router.length > 0
fail ArgumentError unless vrf_name.length > 0
@area_id = area_id.to_s
fail ArgumentError if @area_id.empty?
fail ArgumentError unless virtual_link.length > 0
@router = ospf_router
@vrf = vrf_name
@area_id = IPAddr.new(area_id.to_i, Socket::AF_INET) unless @area_id[/\./]
@vl = virtual_link
set_args_keys_default
create if instantiate
end
|
Instance Attribute Details
#area_id ⇒ Object
Returns the value of attribute area_id.
26
27
28
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 26
def area_id
@area_id
end
|
#router ⇒ Object
Returns the value of attribute router.
26
27
28
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 26
def router
@router
end
|
#vl ⇒ Object
Returns the value of attribute vl.
26
27
28
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 26
def vl
@vl
end
|
#vrf ⇒ Object
Returns the value of attribute vrf.
26
27
28
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 26
def vrf
@vrf
end
|
Class Method Details
.virtual_links ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 48
def self.virtual_links
hash = {}
RouterOspf.routers.each do |name, _obj|
links = config_get('ospf_area_vlink', 'virtual_links', name: name)
unless links.nil?
hash[name] = {}
hash[name]['default'] = {}
links.each do |area, vl|
hash[name]['default'][area] ||= {}
hash[name]['default'][area][vl] =
RouterOspfAreaVirtualLink.new(name, 'default', area, vl, false)
end
end
vrf_ids = config_get('ospf', 'vrf', name: name)
next if vrf_ids.nil?
vrf_ids.each do |vrf|
links = config_get('ospf_area_vlink', 'virtual_links',
name: name, vrf: vrf)
next if links.nil?
hash[name] ||= {}
hash[name][vrf] = {}
links.each do |area, vl|
hash[name][vrf][area] ||= {}
hash[name][vrf][area][vl] =
RouterOspfAreaVirtualLink.new(name, vrf, area, vl, false)
end
end
end
hash
end
|
Instance Method Details
#==(other) ⇒ Object
107
108
109
110
111
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 107
def ==(other)
(ospf_router == other.ospf_router) &&
(vrf_name == other.vrf_name) && (area_id == other.area_id) &&
(vl == other.vl)
end
|
#auth_key_chain ⇒ Object
150
151
152
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 150
def auth_key_chain
config_get('ospf_area_vlink', 'auth_key_chain', @get_args)
end
|
#auth_key_chain=(val) ⇒ Object
154
155
156
157
158
159
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 154
def auth_key_chain=(val)
state = val ? '' : 'no'
id = val ? val : ''
set_args_keys(state: state, key_id: id)
config_set('ospf_area_vlink', 'auth_key_chain', @set_args)
end
|
#authentication ⇒ Object
CLI can be either of the following or none authentication authentication message-digest authentication null
121
122
123
124
125
126
127
128
129
130
131
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 121
def authentication
auth = config_get('ospf_area_vlink', 'authentication', @get_args)
return default_authentication unless auth
if auth.include?('message-digest')
return 'md5'
elsif auth.include?('null')
return 'null'
else
return 'cleartext'
end
end
|
#authentication=(val) ⇒ Object
133
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 133
def authentication=(val)
state = val ? '' : 'no'
if val.to_s == 'md5'
auth = 'message-digest'
elsif val.to_s == 'null'
auth = 'null'
else
auth = ''
end
set_args_keys(state: state, auth: auth)
config_set('ospf_area_vlink', 'authentication', @set_args)
end
|
#authentication_key_encryption_type ⇒ Object
165
166
167
168
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 165
def authentication_key_encryption_type
Encryption.cli_to_symbol(
config_get('ospf_area_vlink', 'authentication_key_enc_type', @get_args))
end
|
#authentication_key_password ⇒ Object
175
176
177
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 175
def authentication_key_password
config_get('ospf_area_vlink', 'authentication_key_password', @get_args)
end
|
#authentication_key_set(enctype, pw) ⇒ Object
example CLI: authentication-key 3 3109a60f51374a0d To remove the authentication-key altogether, set the password to empty string
187
188
189
190
191
192
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 187
def authentication_key_set(enctype, pw)
state = pw.empty? ? 'no' : ''
enctype = pw.empty? ? '' : Encryption.symbol_to_cli(enctype)
set_args_keys(state: state, enctype: enctype, password: pw)
config_set('ospf_area_vlink', 'authentication_key_set', @set_args)
end
|
#create ⇒ Object
Create one router ospf area virtual-link instance
95
96
97
98
99
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 95
def create
RouterOspfVrf.new(@router, @vrf)
set_args_keys(state: '')
config_set('ospf_area_vlink', 'virtual_links', @set_args)
end
|
#dead_interval ⇒ Object
253
254
255
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 253
def dead_interval
config_get('ospf_area_vlink', 'dead_interval', @get_args)
end
|
#dead_interval=(val) ⇒ Object
257
258
259
260
261
262
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 257
def dead_interval=(val)
state = val == default_dead_interval ? 'no' : ''
interval = val == default_dead_interval ? '' : val
set_args_keys(state: state, interval: interval)
config_set('ospf_area_vlink', 'dead_interval', @set_args)
end
|
#default_auth_key_chain ⇒ Object
161
162
163
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 161
def default_auth_key_chain
config_get_default('ospf_area_vlink', 'auth_key_chain')
end
|
#default_authentication ⇒ Object
146
147
148
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 146
def default_authentication
config_get_default('ospf_area_vlink', 'authentication')
end
|
#default_authentication_key_encryption_type ⇒ Object
170
171
172
173
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 170
def default_authentication_key_encryption_type
Encryption.cli_to_symbol(
config_get_default('ospf_area_vlink', 'authentication_key_enc_type'))
end
|
#default_authentication_key_password ⇒ Object
179
180
181
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 179
def default_authentication_key_password
config_get_default('ospf_area_vlink', 'authentication_key_password')
end
|
#default_dead_interval ⇒ Object
264
265
266
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 264
def default_dead_interval
config_get_default('ospf_area_vlink', 'dead_interval')
end
|
#default_hello_interval ⇒ Object
279
280
281
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 279
def default_hello_interval
config_get_default('ospf_area_vlink', 'hello_interval')
end
|
#default_message_digest_algorithm_type ⇒ Object
199
200
201
202
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 199
def default_message_digest_algorithm_type
config_get_default('ospf_area_vlink',
'message_digest_key_alg_type').to_sym
end
|
#default_message_digest_encryption_type ⇒ Object
209
210
211
212
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 209
def default_message_digest_encryption_type
Encryption.cli_to_symbol(
config_get_default('ospf_area_vlink', 'message_digest_key_enc_type'))
end
|
#default_message_digest_key_id ⇒ Object
218
219
220
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 218
def default_message_digest_key_id
config_get_default('ospf_area_vlink', 'message_digest_key_id')
end
|
#default_message_digest_password ⇒ Object
226
227
228
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 226
def default_message_digest_password
config_get_default('ospf_area_vlink', 'message_digest_key_password')
end
|
#default_retransmit_interval ⇒ Object
294
295
296
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 294
def default_retransmit_interval
config_get_default('ospf_area_vlink', 'retransmit_interval')
end
|
#default_transmit_delay ⇒ Object
309
310
311
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 309
def default_transmit_delay
config_get_default('ospf_area_vlink', 'transmit_delay')
end
|
#destroy ⇒ Object
101
102
103
104
105
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 101
def destroy
return unless Feature.ospf_enabled?
set_args_keys(state: 'no')
config_set('ospf_area_vlink', 'virtual_links', @set_args)
end
|
#hello_interval ⇒ Object
268
269
270
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 268
def hello_interval
config_get('ospf_area_vlink', 'hello_interval', @get_args)
end
|
#hello_interval=(val) ⇒ Object
272
273
274
275
276
277
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 272
def hello_interval=(val)
state = val == default_hello_interval ? 'no' : ''
interval = val == default_hello_interval ? '' : val
set_args_keys(state: state, interval: interval)
config_set('ospf_area_vlink', 'hello_interval', @set_args)
end
|
#message_digest_algorithm_type ⇒ Object
194
195
196
197
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 194
def message_digest_algorithm_type
config_get('ospf_area_vlink', 'message_digest_key_alg_type',
@get_args).to_sym
end
|
#message_digest_encryption_type ⇒ Object
204
205
206
207
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 204
def message_digest_encryption_type
Encryption.cli_to_symbol(
config_get('ospf_area_vlink', 'message_digest_key_enc_type', @get_args))
end
|
#message_digest_key_id ⇒ Object
214
215
216
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 214
def message_digest_key_id
config_get('ospf_area_vlink', 'message_digest_key_id', @get_args)
end
|
#message_digest_key_set(keyid, algtype, enctype, pw) ⇒ Object
example CLI: message-digest-key 39 md5 7 046E1803362E595C260E0B240619050A2D To remove the message-digest-key altogether, set the password to empty string
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 234
def message_digest_key_set(keyid, algtype, enctype, pw)
return if pw.empty? && message_digest_password.empty?
state = pw.empty? ? 'no' : ''
algtype = pw.empty? ? message_digest_algorithm_type : algtype.to_s
if pw.empty?
enctype = Encryption.symbol_to_cli(
message_digest_encryption_type.to_sym)
else
enctype = Encryption.symbol_to_cli(enctype)
end
keyid = pw.empty? ? message_digest_key_id : keyid
pw = pw.empty? ? message_digest_password : pw
set_args_keys(state: state, keyid: keyid, algtype: algtype,
enctype: enctype, password: pw)
config_set('ospf_area_vlink', 'message_digest_key_set', @set_args)
end
|
#message_digest_password ⇒ Object
222
223
224
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 222
def message_digest_password
config_get('ospf_area_vlink', 'message_digest_key_password', @get_args)
end
|
#retransmit_interval ⇒ Object
283
284
285
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 283
def retransmit_interval
config_get('ospf_area_vlink', 'retransmit_interval', @get_args)
end
|
#retransmit_interval=(val) ⇒ Object
287
288
289
290
291
292
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 287
def retransmit_interval=(val)
state = val == default_retransmit_interval ? 'no' : ''
interval = val == default_retransmit_interval ? '' : val
set_args_keys(state: state, interval: interval)
config_set('ospf_area_vlink', 'retransmit_interval', @set_args)
end
|
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName
89
90
91
92
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 89
def set_args_keys(hash={})
set_args_keys_default
@set_args = @get_args.merge!(hash) unless hash.empty?
end
|
#set_args_keys_default ⇒ Object
Helper method to delete @set_args hash keys
82
83
84
85
86
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 82
def set_args_keys_default
@set_args = { name: @router, area: @area_id, vl: @vl }
@set_args[:vrf] = @vrf unless @vrf == 'default'
@get_args = @set_args
end
|
#transmit_delay ⇒ Object
298
299
300
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 298
def transmit_delay
config_get('ospf_area_vlink', 'transmit_delay', @get_args)
end
|
#transmit_delay=(val) ⇒ Object
302
303
304
305
306
307
|
# File 'lib/cisco_node_utils/router_ospf_area_vlink.rb', line 302
def transmit_delay=(val)
state = val == default_transmit_delay ? 'no' : ''
delay = val == default_transmit_delay ? '' : val
set_args_keys(state: state, delay: delay)
config_set('ospf_area_vlink', 'transmit_delay', @set_args)
end
|