Class: Cisco::Vtp
- Inherits:
-
Object
- Object
- Cisco::Vtp
- Defined in:
- lib/cisco_node_utils/vtp.rb
Constant Summary collapse
- MAX_VTP_DOMAIN_NAME_SIZE =
32- MAX_VTP_PASSWORD_SIZE =
64- @@node =
Node.instance
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
-
.domain ⇒ Object
Get vtp domain name.
- .enabled ⇒ Object
Instance Method Summary collapse
-
#default_filename ⇒ Object
Get default vtp filename.
-
#default_password ⇒ Object
Get default vtp password.
-
#default_version ⇒ Object
Get default vtp version.
-
#destroy ⇒ Object
Disable vtp feature.
- #domain ⇒ Object
-
#domain=(d) ⇒ Object
Set vtp domain name.
- #enable ⇒ Object
-
#filename ⇒ Object
Get vtp filename.
-
#filename=(uri) ⇒ Object
Set vtp filename.
-
#initialize(instantiate = true) ⇒ Vtp
constructor
Constructor for Vtp.
-
#password ⇒ Object
Get vtp password.
-
#password=(password) ⇒ Object
Set vtp password.
-
#version ⇒ Object
Get vtp version.
-
#version=(version) ⇒ Object
Set vtp version.
Constructor Details
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
23 24 25 |
# File 'lib/cisco_node_utils/vtp.rb', line 23 def name @name end |
Class Method Details
.domain ⇒ Object
Get vtp domain name
49 50 51 |
# File 'lib/cisco_node_utils/vtp.rb', line 49 def Vtp.domain enabled ? @@node.config_get("vtp", "domain") : "" end |
.enabled ⇒ Object
35 36 37 |
# File 'lib/cisco_node_utils/vtp.rb', line 35 def Vtp.enabled not @@node.config_get("vtp", "feature").nil? end |
Instance Method Details
#default_filename ⇒ Object
Get default vtp filename
115 116 117 |
# File 'lib/cisco_node_utils/vtp.rb', line 115 def default_filename @@node.config_get_default("vtp", "filename") end |
#default_password ⇒ Object
Get default vtp password
95 96 97 |
# File 'lib/cisco_node_utils/vtp.rb', line 95 def default_password @@node.config_get_default("vtp", "password") end |
#default_version ⇒ Object
Get default vtp version
132 133 134 |
# File 'lib/cisco_node_utils/vtp.rb', line 132 def default_version @@node.config_get_default("vtp", "version") end |
#destroy ⇒ Object
Disable vtp feature
44 45 46 |
# File 'lib/cisco_node_utils/vtp.rb', line 44 def destroy @@node.config_set("vtp", "feature", "no") end |
#domain=(d) ⇒ Object
Set vtp domain name
58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/cisco_node_utils/vtp.rb', line 58 def domain=(d) raise ArgumentError unless d and d.is_a? String and d.length.between?(1, MAX_VTP_DOMAIN_NAME_SIZE) enable unless Vtp.enabled begin @@node.config_set("vtp", "domain", d) rescue Cisco::CliError => e # cmd will syntax reject when setting name to same name raise unless e.clierror =~ /ERROR: Domain name already set to / end end |
#enable ⇒ Object
39 40 41 |
# File 'lib/cisco_node_utils/vtp.rb', line 39 def enable @@node.config_set("vtp", "feature", "") end |
#filename ⇒ Object
Get vtp filename
100 101 102 103 |
# File 'lib/cisco_node_utils/vtp.rb', line 100 def filename match = @@node.config_get("vtp", "filename") match.nil? ? default_filename : match.first end |
#filename=(uri) ⇒ Object
Set vtp filename
106 107 108 109 110 111 112 |
# File 'lib/cisco_node_utils/vtp.rb', line 106 def filename=(uri) raise TypeError if uri.nil? enable unless Vtp.enabled uri.empty? ? @@node.config_set("vtp", "filename", "no", "") : @@node.config_set("vtp", "filename", "", uri) end |
#password ⇒ Object
Get vtp password
71 72 73 74 75 76 |
# File 'lib/cisco_node_utils/vtp.rb', line 71 def password # Unfortunately nxapi returns "\\" when the password is not set password = @@node.config_get("vtp", "password") if Vtp.enabled return '' if password.nil? or password == "\\" password end |
#password=(password) ⇒ Object
Set vtp password
79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/cisco_node_utils/vtp.rb', line 79 def password=(password) raise TypeError if password.nil? raise TypeError unless password.is_a? String raise ArgumentError if password.length > MAX_VTP_PASSWORD_SIZE enable unless Vtp.enabled begin password == default_password ? @@node.config_set("vtp", "password", "no", "") : @@node.config_set("vtp", "password", "", password) rescue Cisco::CliError => e raise unless e.clierror =~ /password cannot be set for NULL domain/ raise "Setting VTP password requires first setting VTP domain" unless password == default_password end end |