diff options
author | Saku Ytti <saku@ytti.fi> | 2013-04-20 00:41:23 +0300 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2013-04-20 00:41:23 +0300 |
commit | f1287a7925901bf3518eb69079304bfb97f7434d (patch) | |
tree | 3dd2779e4d087b73b99d7136f37db88c76091d8d /extra/rest_client.rb | |
parent | 5a393d6102655f575549311e6b250534b4dcbb59 (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.rb | 25 |
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 |