Class: Cisco::InterfaceServiceVni
- Defined in:
- lib/cisco_node_utils/interface_service_vni.rb
Overview
InterfaceServiceVni - node utility class for Service VNI Instance commands
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #create ⇒ Object
- #default_encapsulation_profile_vni ⇒ Object
- #default_shutdown ⇒ Object
- #destroy ⇒ Object
-
#encapsulation_profile_vni ⇒ Object
encapsulation_profile_vni.
- #encapsulation_profile_vni=(profile) ⇒ Object
-
#initialize(intf, sid, instantiate = true) ⇒ InterfaceServiceVni
constructor
A new instance of InterfaceServiceVni.
-
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName.
- #set_args_keys_default ⇒ Object
-
#shutdown ⇒ Object
shutdown.
- #shutdown=(state) ⇒ 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(intf, sid, instantiate = true) ⇒ InterfaceServiceVni
Returns a new instance of InterfaceServiceVni.
25 26 27 28 29 30 31 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 25 def initialize(intf, sid, instantiate=true) @name = intf.to_s.downcase @sid = sid.to_s fail ArgumentError if @name.empty? || @sid.empty? set_args_keys_default create if instantiate end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
23 24 25 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 23 def name @name end |
Class Method Details
.svc_vni_ids ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 33 def self.svc_vni_ids hash = {} intf_list = config_get('interface', 'all_interfaces') return hash if intf_list.nil? intf_list.each do |intf| intf.downcase! svc_ids = config_get('interface_service_vni', 'all_service_vni_ids', name: intf) next if svc_ids.nil? hash[intf] = {} svc_ids.each do |sid| hash[intf][sid] = InterfaceServiceVni.new(intf, sid, false) end end hash end |
Instance Method Details
#create ⇒ Object
51 52 53 54 55 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 51 def create Vni.feature_vni_enable unless Vni.feature_vni_enabled @set_args[:state] = '' config_set('interface_service_vni', 'create_destroy', @set_args) end |
#default_encapsulation_profile_vni ⇒ Object
110 111 112 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 110 def default_encapsulation_profile_vni config_get_default('interface_service_vni', 'encapsulation_profile_vni') end |
#default_shutdown ⇒ Object
128 129 130 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 128 def default_shutdown config_get_default('interface_service_vni', 'shutdown') end |
#destroy ⇒ Object
57 58 59 60 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 57 def destroy @set_args[:state] = 'no' config_set('interface_service_vni', 'create_destroy', @set_args) end |
#encapsulation_profile_vni ⇒ Object
encapsulation_profile_vni
cli: service instance 1 vni
encapsulation profile vni_500_5000 default
type: 'vni_500_5000'
84 85 86 87 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 84 def encapsulation_profile_vni config_get('interface_service_vni', 'encapsulation_profile_vni', @get_args) end |
#encapsulation_profile_vni=(profile) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 89 def encapsulation_profile_vni=(profile) Vni.feature_vni_enable unless Vni.feature_vni_enabled state = profile.empty? ? 'no' : '' current = encapsulation_profile_vni if state[/no/] config_set('interface_service_vni', 'encapsulation_profile_vni', set_args_keys(state: state, profile: current)) unless current.empty? else # Remove current profile before adding a new one config_set('interface_service_vni', 'encapsulation_profile_vni', set_args_keys(state: 'no', profile: current)) unless current.empty? config_set('interface_service_vni', 'encapsulation_profile_vni', set_args_keys(state: state, profile: profile)) end rescue Cisco::CliError => e raise "[#{@name}] '#{e.command}' : #{e.clierror}" end |
#set_args_keys(hash = {}) ⇒ Object
rubocop:disable Style/AccessorMethodName
68 69 70 71 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 68 def set_args_keys(hash={}) set_args_keys_default @set_args = @get_args.merge!(hash) unless hash.empty? end |
#set_args_keys_default ⇒ Object
62 63 64 65 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 62 def set_args_keys_default keys = { name: @name, sid: @sid } @get_args = @set_args = keys end |
#shutdown ⇒ Object
shutdown
117 118 119 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 117 def shutdown config_get('interface_service_vni', 'shutdown', @get_args) end |
#shutdown=(state) ⇒ Object
121 122 123 124 125 126 |
# File 'lib/cisco_node_utils/interface_service_vni.rb', line 121 def shutdown=(state) config_set('interface_service_vni', 'shutdown', set_args_keys(state: state ? '' : 'no')) rescue Cisco::CliError => e raise "[#{@name}] '#{e.command}' : #{e.clierror}" end |