Class: Cisco::Vpc
Overview
Vpc - node utility class for VTP configuration management
Instance Attribute Summary collapse
-
#domain ⇒ Object
readonly
Returns the value of attribute domain.
Class Method Summary collapse
Instance Method Summary collapse
-
#auto_recovery ⇒ Object
PROPERTIES #.
- #auto_recovery=(val) ⇒ Object
- #auto_recovery_reload_delay ⇒ Object
- #auto_recovery_reload_delay=(val) ⇒ Object
- #create ⇒ Object
- #default_auto_recovery ⇒ Object
- #default_auto_recovery_reload_delay ⇒ Object
- #default_delay_restore ⇒ Object
- #default_delay_restore_interface_vlan ⇒ Object
- #default_dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
- #default_graceful_consistency_check ⇒ Object
- #default_layer3_peer_routing ⇒ Object
- #default_peer_gateway ⇒ Object
- #default_peer_gateway_exclude_bridge_domain ⇒ Object
- #default_peer_gateway_exclude_vlan ⇒ Object
- #default_peer_keepalive_dest ⇒ Object
- #default_peer_keepalive_hold_timeout ⇒ Object
- #default_peer_keepalive_interval ⇒ Object
- #default_peer_keepalive_interval_timeout ⇒ Object
- #default_peer_keepalive_precedence ⇒ Object
- #default_peer_keepalive_src ⇒ Object
- #default_peer_keepalive_udp_port ⇒ Object
- #default_peer_keepalive_vrf ⇒ Object
- #default_role_priority ⇒ Object
- #default_self_isolation ⇒ Object
- #default_shutdown ⇒ Object
- #default_system_mac ⇒ Object
- #default_system_priority ⇒ Object
- #default_track ⇒ Object
- #delay_restore ⇒ Object
- #delay_restore=(delay) ⇒ Object
- #delay_restore_interface_vlan ⇒ Object
- #delay_restore_interface_vlan=(delay) ⇒ Object
- #destroy ⇒ Object
- #dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
- #dual_active_exclude_interface_vlan_bridge_domain=(val) ⇒ Object
- #enable ⇒ Object
- #graceful_consistency_check ⇒ Object
- #graceful_consistency_check=(val) ⇒ Object
-
#initialize(domain_id, instantiate = true) ⇒ Vpc
constructor
Constructor for Vpc.
- #layer3_peer_routing ⇒ Object
- #layer3_peer_routing=(val) ⇒ Object
- #peer_gateway ⇒ Object
- #peer_gateway=(val) ⇒ Object
- #peer_gateway_exclude_bridge_domain ⇒ Object
- #peer_gateway_exclude_bridge_domain=(val) ⇒ Object
- #peer_gateway_exclude_vlan ⇒ Object
- #peer_gateway_exclude_vlan=(val) ⇒ Object
-
#peer_keepalive_dest ⇒ Object
peer keepalive.
- #peer_keepalive_hold_timeout ⇒ Object
- #peer_keepalive_interval ⇒ Object
- #peer_keepalive_interval_timeout ⇒ Object
- #peer_keepalive_precedence ⇒ Object
-
#peer_keepalive_set(dest, src, udp_port, vrf, interval, timeout, prec, hold_timeout) ⇒ Object
common setter.
- #peer_keepalive_src ⇒ Object
- #peer_keepalive_udp_port ⇒ Object
- #peer_keepalive_vrf ⇒ Object
- #role_priority ⇒ Object
- #role_priority=(priority) ⇒ Object
- #self_isolation ⇒ Object
- #self_isolation=(val) ⇒ Object
-
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName.
- #set_args_keys_default ⇒ Object
- #shutdown ⇒ Object
- #shutdown=(val) ⇒ Object
- #system_mac ⇒ Object
- #system_mac=(mac_addr) ⇒ Object
- #system_priority ⇒ Object
- #system_priority=(priority) ⇒ Object
- #track ⇒ Object
- #track=(val) ⇒ Object
Methods inherited from NodeUtil
config_get, #config_get, config_get_default, #config_get_default, #config_set, config_set, #node, node, #show
Constructor Details
#initialize(domain_id, instantiate = true) ⇒ Vpc
Constructor for Vpc
26 27 28 29 30 31 |
# File 'lib/cisco_node_utils/vpc.rb', line 26 def initialize(domain_id, instantiate=true) @domain = domain_id @set_params = {} create if instantiate end |
Instance Attribute Details
#domain ⇒ Object (readonly)
Returns the value of attribute domain.
24 25 26 |
# File 'lib/cisco_node_utils/vpc.rb', line 24 def domain @domain end |
Class Method Details
.domains ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cisco_node_utils/vpc.rb', line 33 def self.domains hash = {} my_domain = config_get('vpc', 'domain') hash[my_domain] = Vpc.new(my_domain, false) unless my_domain.nil? hash rescue Cisco::CliError => e # cmd will syntax reject when feature is not enabled raise unless e.clierror =~ /Syntax error/ return {} end |
Instance Method Details
#auto_recovery ⇒ Object
PROPERTIES #
81 82 83 84 |
# File 'lib/cisco_node_utils/vpc.rb', line 81 def auto_recovery val = config_get('vpc', 'auto_recovery') val.nil? ? false : val end |
#auto_recovery=(val) ⇒ Object
86 87 88 89 |
# File 'lib/cisco_node_utils/vpc.rb', line 86 def auto_recovery=(val) set_args_keys(state: val ? '' : 'no') config_set('vpc', 'auto_recovery', @set_args) end |
#auto_recovery_reload_delay ⇒ Object
95 96 97 |
# File 'lib/cisco_node_utils/vpc.rb', line 95 def auto_recovery_reload_delay config_get('vpc', 'auto_recovery_reload_delay') end |
#auto_recovery_reload_delay=(val) ⇒ Object
99 100 101 102 |
# File 'lib/cisco_node_utils/vpc.rb', line 99 def auto_recovery_reload_delay=(val) set_args_keys(delay: val) config_set('vpc', 'auto_recovery_reload_delay', @set_args) end |
#create ⇒ Object
52 53 54 55 |
# File 'lib/cisco_node_utils/vpc.rb', line 52 def create enable unless Vpc.enabled config_set('vpc', 'domain', state: '', domain: @domain) end |
#default_auto_recovery ⇒ Object
91 92 93 |
# File 'lib/cisco_node_utils/vpc.rb', line 91 def default_auto_recovery config_get_default('vpc', 'auto_recovery') end |
#default_auto_recovery_reload_delay ⇒ Object
104 105 106 |
# File 'lib/cisco_node_utils/vpc.rb', line 104 def default_auto_recovery_reload_delay config_get_default('vpc', 'auto_recovery_reload_delay') end |
#default_delay_restore ⇒ Object
117 118 119 |
# File 'lib/cisco_node_utils/vpc.rb', line 117 def default_delay_restore config_get_default('vpc', 'delay_restore') end |
#default_delay_restore_interface_vlan ⇒ Object
130 131 132 |
# File 'lib/cisco_node_utils/vpc.rb', line 130 def default_delay_restore_interface_vlan config_get_default('vpc', 'delay_restore_interface_vlan') end |
#default_dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
144 145 146 147 |
# File 'lib/cisco_node_utils/vpc.rb', line 144 def default_dual_active_exclude_interface_vlan_bridge_domain config_get_default('vpc', 'dual_active_exclude_interface_vlan_bridge_domain') end |
#default_graceful_consistency_check ⇒ Object
159 160 161 |
# File 'lib/cisco_node_utils/vpc.rb', line 159 def default_graceful_consistency_check config_get_default('vpc', 'graceful_consistency_check') end |
#default_layer3_peer_routing ⇒ Object
174 175 176 |
# File 'lib/cisco_node_utils/vpc.rb', line 174 def default_layer3_peer_routing config_get_default('vpc', 'layer3_peer_routing') end |
#default_peer_gateway ⇒ Object
263 264 265 |
# File 'lib/cisco_node_utils/vpc.rb', line 263 def default_peer_gateway config_get_default('vpc', 'peer_gateway') end |
#default_peer_gateway_exclude_bridge_domain ⇒ Object
276 277 278 |
# File 'lib/cisco_node_utils/vpc.rb', line 276 def default_peer_gateway_exclude_bridge_domain config_get_default('vpc', 'peer_gateway_exclude_bridge_domain') end |
#default_peer_gateway_exclude_vlan ⇒ Object
289 290 291 |
# File 'lib/cisco_node_utils/vpc.rb', line 289 def default_peer_gateway_exclude_vlan config_get_default('vpc', 'peer_gateway_exclude_vlan') end |
#default_peer_keepalive_dest ⇒ Object
183 184 185 |
# File 'lib/cisco_node_utils/vpc.rb', line 183 def default_peer_keepalive_dest config_get_default('vpc', 'peer_keepalive_dest') end |
#default_peer_keepalive_hold_timeout ⇒ Object
191 192 193 |
# File 'lib/cisco_node_utils/vpc.rb', line 191 def default_peer_keepalive_hold_timeout config_get_default('vpc', 'peer_keepalive_hold_timeout') end |
#default_peer_keepalive_interval ⇒ Object
199 200 201 |
# File 'lib/cisco_node_utils/vpc.rb', line 199 def default_peer_keepalive_interval config_get_default('vpc', 'peer_keepalive_interval') end |
#default_peer_keepalive_interval_timeout ⇒ Object
207 208 209 |
# File 'lib/cisco_node_utils/vpc.rb', line 207 def default_peer_keepalive_interval_timeout config_get_default('vpc', 'peer_keepalive_timeout') end |
#default_peer_keepalive_precedence ⇒ Object
215 216 217 |
# File 'lib/cisco_node_utils/vpc.rb', line 215 def default_peer_keepalive_precedence config_get_default('vpc', 'peer_keepalive_precedence') end |
#default_peer_keepalive_src ⇒ Object
223 224 225 |
# File 'lib/cisco_node_utils/vpc.rb', line 223 def default_peer_keepalive_src config_get_default('vpc', 'peer_keepalive_src') end |
#default_peer_keepalive_udp_port ⇒ Object
231 232 233 |
# File 'lib/cisco_node_utils/vpc.rb', line 231 def default_peer_keepalive_udp_port config_get_default('vpc', 'peer_keepalive_udp_port') end |
#default_peer_keepalive_vrf ⇒ Object
239 240 241 |
# File 'lib/cisco_node_utils/vpc.rb', line 239 def default_peer_keepalive_vrf config_get_default('vpc', 'peer_keepalive_vrf') end |
#default_role_priority ⇒ Object
302 303 304 |
# File 'lib/cisco_node_utils/vpc.rb', line 302 def default_role_priority config_get_default('vpc', 'role_priority') end |
#default_self_isolation ⇒ Object
316 317 318 |
# File 'lib/cisco_node_utils/vpc.rb', line 316 def default_self_isolation config_get_default('vpc', 'self_isolation') end |
#default_shutdown ⇒ Object
329 330 331 |
# File 'lib/cisco_node_utils/vpc.rb', line 329 def default_shutdown config_get_default('vpc', 'shutdown') end |
#default_system_mac ⇒ Object
342 343 344 |
# File 'lib/cisco_node_utils/vpc.rb', line 342 def default_system_mac config_get_default('vpc', 'system_mac') end |
#default_system_priority ⇒ Object
355 356 357 |
# File 'lib/cisco_node_utils/vpc.rb', line 355 def default_system_priority config_get_default('vpc', 'system_priority') end |
#default_track ⇒ Object
373 374 375 |
# File 'lib/cisco_node_utils/vpc.rb', line 373 def default_track config_get_default('vpc', 'track') end |
#delay_restore ⇒ Object
108 109 110 |
# File 'lib/cisco_node_utils/vpc.rb', line 108 def delay_restore config_get('vpc', 'delay_restore') end |
#delay_restore=(delay) ⇒ Object
112 113 114 115 |
# File 'lib/cisco_node_utils/vpc.rb', line 112 def delay_restore=(delay) set_args_keys(delay: delay) config_set('vpc', 'delay_restore', @set_args) end |
#delay_restore_interface_vlan ⇒ Object
121 122 123 |
# File 'lib/cisco_node_utils/vpc.rb', line 121 def delay_restore_interface_vlan config_get('vpc', 'delay_restore_interface_vlan') end |
#delay_restore_interface_vlan=(delay) ⇒ Object
125 126 127 128 |
# File 'lib/cisco_node_utils/vpc.rb', line 125 def delay_restore_interface_vlan=(delay) set_args_keys(delay: delay) config_set('vpc', 'delay_restore_interface_vlan', @set_args) end |
#destroy ⇒ Object
57 58 59 |
# File 'lib/cisco_node_utils/vpc.rb', line 57 def destroy config_set('vpc', 'feature', state: 'no') end |
#dual_active_exclude_interface_vlan_bridge_domain ⇒ Object
134 135 136 |
# File 'lib/cisco_node_utils/vpc.rb', line 134 def dual_active_exclude_interface_vlan_bridge_domain config_get('vpc', 'dual_active_exclude_interface_vlan_bridge_domain') end |
#dual_active_exclude_interface_vlan_bridge_domain=(val) ⇒ Object
138 139 140 141 142 |
# File 'lib/cisco_node_utils/vpc.rb', line 138 def dual_active_exclude_interface_vlan_bridge_domain=(val) set_args_keys(state: val ? '' : 'no', range: val) config_set('vpc', 'dual_active_exclude_interface_vlan_bridge_domain', @set_args) end |
#enable ⇒ Object
61 62 63 |
# File 'lib/cisco_node_utils/vpc.rb', line 61 def enable config_set('vpc', 'feature', state: '') end |
#graceful_consistency_check ⇒ Object
149 150 151 152 |
# File 'lib/cisco_node_utils/vpc.rb', line 149 def graceful_consistency_check val = config_get('vpc', 'graceful_consistency_check') val.nil? ? false : val end |
#graceful_consistency_check=(val) ⇒ Object
154 155 156 157 |
# File 'lib/cisco_node_utils/vpc.rb', line 154 def graceful_consistency_check=(val) set_args_keys(state: val ? '' : 'no') config_set('vpc', 'graceful_consistency_check', @set_args) end |
#layer3_peer_routing ⇒ Object
163 164 165 |
# File 'lib/cisco_node_utils/vpc.rb', line 163 def layer3_peer_routing config_get('vpc', 'layer3_peer_routing') end |
#layer3_peer_routing=(val) ⇒ Object
167 168 169 170 171 172 |
# File 'lib/cisco_node_utils/vpc.rb', line 167 def layer3_peer_routing=(val) set_args_keys(state: val ? '' : 'no') # This requires peer_gateway to be set first self.peer_gateway = true if !peer_gateway && val config_set('vpc', 'layer3_peer_routing', @set_args) end |
#peer_gateway ⇒ Object
252 253 254 |
# File 'lib/cisco_node_utils/vpc.rb', line 252 def peer_gateway config_get('vpc', 'peer_gateway') end |
#peer_gateway=(val) ⇒ Object
256 257 258 259 260 261 |
# File 'lib/cisco_node_utils/vpc.rb', line 256 def peer_gateway=(val) set_args_keys(state: val ? '' : 'no') # disable layer3 routing first self.layer3_peer_routing = false if !val && layer3_peer_routing config_set('vpc', 'peer_gateway', @set_args) end |
#peer_gateway_exclude_bridge_domain ⇒ Object
267 268 269 |
# File 'lib/cisco_node_utils/vpc.rb', line 267 def peer_gateway_exclude_bridge_domain config_get('vpc', 'peer_gateway_exclude_bridge_domain') end |
#peer_gateway_exclude_bridge_domain=(val) ⇒ Object
271 272 273 274 |
# File 'lib/cisco_node_utils/vpc.rb', line 271 def peer_gateway_exclude_bridge_domain=(val) set_args_keys(state: val ? '' : 'no', range: val) config_set('vpc', 'peer_gateway_exclude_bridge_domain', @set_args) end |
#peer_gateway_exclude_vlan ⇒ Object
280 281 282 |
# File 'lib/cisco_node_utils/vpc.rb', line 280 def peer_gateway_exclude_vlan config_get('vpc', 'peer_gateway_exclude_vlan') end |
#peer_gateway_exclude_vlan=(val) ⇒ Object
284 285 286 287 |
# File 'lib/cisco_node_utils/vpc.rb', line 284 def peer_gateway_exclude_vlan=(val) set_args_keys(state: val ? '' : 'no', range: val) config_set('vpc', 'peer_gateway_exclude_vlan', @set_args) end |
#peer_keepalive_dest ⇒ Object
peer keepalive
179 180 181 |
# File 'lib/cisco_node_utils/vpc.rb', line 179 def peer_keepalive_dest config_get('vpc', 'peer_keepalive_dest') end |
#peer_keepalive_hold_timeout ⇒ Object
187 188 189 |
# File 'lib/cisco_node_utils/vpc.rb', line 187 def peer_keepalive_hold_timeout config_get('vpc', 'peer_keepalive_hold_timeout') end |
#peer_keepalive_interval ⇒ Object
195 196 197 |
# File 'lib/cisco_node_utils/vpc.rb', line 195 def peer_keepalive_interval config_get('vpc', 'peer_keepalive_interval') end |
#peer_keepalive_interval_timeout ⇒ Object
203 204 205 |
# File 'lib/cisco_node_utils/vpc.rb', line 203 def peer_keepalive_interval_timeout config_get('vpc', 'peer_keepalive_timeout') end |
#peer_keepalive_precedence ⇒ Object
211 212 213 |
# File 'lib/cisco_node_utils/vpc.rb', line 211 def peer_keepalive_precedence config_get('vpc', 'peer_keepalive_precedence') end |
#peer_keepalive_set(dest, src, udp_port, vrf, interval, timeout, prec, hold_timeout) ⇒ Object
common setter
244 245 246 247 248 249 250 |
# File 'lib/cisco_node_utils/vpc.rb', line 244 def peer_keepalive_set(dest, src, udp_port, vrf, interval, timeout, prec, hold_timeout) set_args_keys(dest: dest, src: src, port_num: udp_port, vrf: vrf, interval: interval, timeout: timeout, precedence: prec, hold_timeout: hold_timeout) config_set('vpc', 'peer_keepalive_set', @set_args) end |
#peer_keepalive_src ⇒ Object
219 220 221 |
# File 'lib/cisco_node_utils/vpc.rb', line 219 def peer_keepalive_src config_get('vpc', 'peer_keepalive_src') end |
#peer_keepalive_udp_port ⇒ Object
227 228 229 |
# File 'lib/cisco_node_utils/vpc.rb', line 227 def peer_keepalive_udp_port config_get('vpc', 'peer_keepalive_udp_port') end |
#peer_keepalive_vrf ⇒ Object
235 236 237 |
# File 'lib/cisco_node_utils/vpc.rb', line 235 def peer_keepalive_vrf config_get('vpc', 'peer_keepalive_vrf') end |
#role_priority ⇒ Object
293 294 295 |
# File 'lib/cisco_node_utils/vpc.rb', line 293 def role_priority config_get('vpc', 'role_priority') end |
#role_priority=(priority) ⇒ Object
297 298 299 300 |
# File 'lib/cisco_node_utils/vpc.rb', line 297 def role_priority=(priority) set_args_keys(priority: priority) config_set('vpc', 'role_priority', @set_args) end |
#self_isolation ⇒ Object
306 307 308 309 |
# File 'lib/cisco_node_utils/vpc.rb', line 306 def self_isolation val = config_get('vpc', 'self_isolation') val.nil? ? false : val end |
#self_isolation=(val) ⇒ Object
311 312 313 314 |
# File 'lib/cisco_node_utils/vpc.rb', line 311 def self_isolation=(val) set_args_keys(state: val ? '' : 'no') config_set('vpc', 'self_isolation', @set_args) end |
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName
71 72 73 74 |
# File 'lib/cisco_node_utils/vpc.rb', line 71 def set_args_keys(hash={}) set_args_keys_default @set_args = @get_args.merge!(hash) unless hash.empty? end |
#set_args_keys_default ⇒ Object
65 66 67 68 |
# File 'lib/cisco_node_utils/vpc.rb', line 65 def set_args_keys_default keys = { domain: @domain } @get_args = @set_args = keys end |
#shutdown ⇒ Object
320 321 322 |
# File 'lib/cisco_node_utils/vpc.rb', line 320 def shutdown config_get('vpc', 'shutdown') end |
#shutdown=(val) ⇒ Object
324 325 326 327 |
# File 'lib/cisco_node_utils/vpc.rb', line 324 def shutdown=(val) set_args_keys(state: val ? '' : 'no') config_set('vpc', 'shutdown', @set_args) end |
#system_mac ⇒ Object
333 334 335 |
# File 'lib/cisco_node_utils/vpc.rb', line 333 def system_mac config_get('vpc', 'system_mac') end |
#system_mac=(mac_addr) ⇒ Object
337 338 339 340 |
# File 'lib/cisco_node_utils/vpc.rb', line 337 def system_mac=(mac_addr) set_args_keys(state: mac_addr.empty? ? 'no' : '', mac_addr: mac_addr) config_set('vpc', 'system_mac', @set_args) end |
#system_priority ⇒ Object
346 347 348 |
# File 'lib/cisco_node_utils/vpc.rb', line 346 def system_priority config_get('vpc', 'system_priority') end |
#system_priority=(priority) ⇒ Object
350 351 352 353 |
# File 'lib/cisco_node_utils/vpc.rb', line 350 def system_priority=(priority) set_args_keys(priority: priority) config_set('vpc', 'system_priority', @set_args) end |
#track ⇒ Object
359 360 361 |
# File 'lib/cisco_node_utils/vpc.rb', line 359 def track config_get('vpc', 'track') end |
#track=(val) ⇒ Object
363 364 365 366 367 368 369 370 371 |
# File 'lib/cisco_node_utils/vpc.rb', line 363 def track=(val) unless val.nil? fail ArgumentError, 'retransmit_count must be an Integer' unless val.is_a?(Integer) end set_args_keys(state: (val == track) ? 'no' : '', val: val) config_set('vpc', 'track', @set_args) end |