summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lib/oxidized/model/mikrotik.rb21
2 files changed, 22 insertions, 0 deletions
diff --git a/README.md b/README.md
index 99f3173..aa7080d 100644
--- a/README.md
+++ b/README.md
@@ -64,6 +64,7 @@ Oxidized is a network device configration backup tool. Its a RANCID replacment!
* Huawei VRP
* Juniper JunOS
* Juniper ScreenOS (Netscreen)
+ * Mikrotik RouterOS
* Ubiquiti AirOS
diff --git a/lib/oxidized/model/mikrotik.rb b/lib/oxidized/model/mikrotik.rb
new file mode 100644
index 0000000..69eeabc
--- /dev/null
+++ b/lib/oxidized/model/mikrotik.rb
@@ -0,0 +1,21 @@
+class Mikrotik < Oxidized::Model
+ prompt /^\[\w+@\S+\]\s?>\s?$/
+ comment "# "
+
+ cmd '/system routerboard print' do |cfg|
+ comment cfg
+ end
+
+ cmd '/export' do |cfg|
+ cfg = cfg.split("\n").select { |line| not line[/^\#\s\w{3}\/\d{2}\/\d{4}.*$/] }
+ cfg.join("\n") + "\n"
+ end
+
+ cfg :telnet do
+ pre_logout "quit"
+ end
+
+ cfg :ssh do
+ exec true
+ end
+end