summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Hilliard <nick@foobar.org>2017-09-02 19:00:12 +0100
committerNick Hilliard <nick@foobar.org>2017-09-02 19:00:12 +0100
commit13a09f6aa9e9b18b14affb6013b3a9b87be2db8b (patch)
tree02e25d019b2a852ba63b25b58b91f2bbd168a61c
parenta4174019e55992182a357573022a8ce024284bf7 (diff)
add support for Coriant Groove
-rw-r--r--README.md1
-rw-r--r--lib/oxidized/model/coriantgroove.rb30
2 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index 3fb06e3..09ea2b5 100644
--- a/README.md
+++ b/README.md
@@ -104,6 +104,7 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
* Coriant (former Tellabs)
* [TMOS (8800)](lib/oxidized/model/corianttmos.rb)
* [8600](lib/oxidized/model/coriant8600.rb)
+ * [Groove](lib/oxidized/model/coriantgroove.rb)
* Cumulus
* [Linux](lib/oxidized/model/cumulus.rb)
* DataCom
diff --git a/lib/oxidized/model/coriantgroove.rb b/lib/oxidized/model/coriantgroove.rb
new file mode 100644
index 0000000..4fc44b7
--- /dev/null
+++ b/lib/oxidized/model/coriantgroove.rb
@@ -0,0 +1,30 @@
+class CoriantGroove < Oxidized::Model
+
+ comment '# '
+
+ prompt /^(\w+@.*>\s*)$/
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-3].map{|line|line.delete("\r").rstrip}.join("\n") + "\n"
+ end
+
+ cmd 'show inventory' do |cfg|
+ cfg = cfg.each_line.to_a[0..-2].join
+ comment cfg
+ end
+
+ cmd 'show softwareload' do |cfg|
+ cfg = cfg.each_line.to_a[0..-2].join
+ comment cfg
+ end
+
+ cmd 'show config | display commands' do |cfg|
+ cfg.each_line.to_a[1..-1].join
+ end
+
+ cfg :ssh do
+ post_login 'set -f cli-config cli-columns 65535'
+ pre_logout 'quit -f'
+ end
+
+end