summaryrefslogtreecommitdiff
path: root/extra/rest_client.rb
diff options
context:
space:
mode:
authorSaku Ytti <saku@ytti.fi>2013-04-20 00:41:23 +0300
committerSaku Ytti <saku@ytti.fi>2013-04-20 00:41:23 +0300
commitf1287a7925901bf3518eb69079304bfb97f7434d (patch)
tree3dd2779e4d087b73b99d7136f37db88c76091d8d /extra/rest_client.rb
parent5a393d6102655f575549311e6b250534b4dcbb59 (diff)
Example of Syslog triggered fetch
'syslog.rb' listed to UDP port (or reads file). When IOS or JunOS style config change/commit message is seen, it triggers immediate update ot config It transports commit message (junos) remote host from which change was mde (ios) and who made the change (junos+ios). This is carried over to the 'output' methods, that is, 'git blame' will show IOS/JunOS user-name who made the change.
Diffstat (limited to 'extra/rest_client.rb')
-rw-r--r--extra/rest_client.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/rest_client.rb b/extra/rest_client.rb
new file mode 100644
index 0000000..2c58d04
--- /dev/null
+++ b/extra/rest_client.rb
@@ -0,0 +1,25 @@
+module Oxidized
+ class RestClient
+ require 'net/http'
+ require 'json'
+ HOST = 'localhost'
+ PORT = 8888
+
+ class << self
+ def next node, opt={}, host=HOST, port=PORT
+ web = new host, port
+ web.next node, opt
+ end
+ end
+
+ def initialize host=HOST, port=PORT
+ @web = Net::HTTP.new host, port
+ end
+
+ def next node, opt={}
+ data = JSON.dump :node => node, :user => opt[:user], :msg => opt[:msg], :from => opt[:from]
+ @web.put '/nodes/next/' + node.to_s, data
+ end
+
+ end
+end