summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--lib/oxidized/model/dlink.rb36
2 files changed, 38 insertions, 0 deletions
diff --git a/README.md b/README.md
index aef7609..5595685 100644
--- a/README.md
+++ b/README.md
@@ -96,6 +96,8 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
* DELL
* [PowerConnect](lib/oxidized/model/powerconnect.rb)
* [AOSW](lib/oxidized/model/aosw.rb)
+ * D-Link
+ * [D-Link](lib/oxidized/model/dlink.rb)
* Ericsson/Redback
* [IPOS (former SEOS)](lib/oxidized/model/ipos.rb)
* Extreme Networks
diff --git a/lib/oxidized/model/dlink.rb b/lib/oxidized/model/dlink.rb
new file mode 100644
index 0000000..5756bad
--- /dev/null
+++ b/lib/oxidized/model/dlink.rb
@@ -0,0 +1,36 @@
+class Dlink < Oxidized::Model
+ # D-LINK Switches
+
+ prompt /^(\r*[\w.@():-]+[#>]\s?)$/
+ comment '# '
+
+ cmd :secret do |cfg|
+ cfg.gsub! /^(create snmp community) \S+/, '\\1 <removed>'
+ cfg.gsub! /^(create snmp group) \S+/, '\\1 <removed>'
+ cfg
+ end
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[2..-2].map{|line|line.delete("\r").rstrip}.join("\n") + "\n"
+ end
+
+ cmd 'show switch' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show vlan' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show config current'
+
+ cfg :telnet do
+ username /\r*username:/
+ password /\r*password:/
+ end
+
+ cfg :telnet, :ssh do
+ post_login 'disable clipaging'
+ pre_logout 'logout'
+ end
+end