oxidized-script 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/oxidized/script/cli.rb +4 -5
- data/lib/oxidized/script/script.rb +14 -9
- data/oxidized-script.gemspec +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea9be3c8d9c8f52605aa70e968d1402b067bd9c5
|
4
|
+
data.tar.gz: 92dd4aeba5806eda79f706be7b77813f9a05cf6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd23cfcd6376dd20c7676ecf183a635b3e3953ecf9a1dc61f1c3760b2821518bb6e0ee10a4bc86bcb54a3d47581d1184b0f091ff96d44d0d14146f6504fb59bf
|
7
|
+
data.tar.gz: 0a8d27f8bec9dbda18078b914088285f65df78dc780d965f19ed9e98492328aebac13012b4370b8679e2e8073502694f1a03dd30a2db35160dccb7f448c8cf0c
|
data/lib/oxidized/script/cli.rb
CHANGED
@@ -36,6 +36,7 @@ module Oxidized
|
|
36
36
|
on 'p=', '--password', 'password to use'
|
37
37
|
on 't=', '--timeout', 'timeout value to use'
|
38
38
|
on 'e=', '--enable', 'enable password to use'
|
39
|
+
on 'v', '--verbose', 'verbose output, e.g. show commands sent'
|
39
40
|
on 'd', '--debug', 'turn on debugging'
|
40
41
|
end
|
41
42
|
[slop.parse!, slop]
|
@@ -44,11 +45,9 @@ module Oxidized
|
|
44
45
|
def connect
|
45
46
|
opts = {}
|
46
47
|
opts[:host] = @host
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
opts[:timeout] = @opts[:timeout].to_i if @opts[:timeout]
|
51
|
-
opts[:enable] = @opts[:enable] if @opts[:enable]
|
48
|
+
[:model, :username, :passsword, :timeout, :enable, :verbose].each do |key|
|
49
|
+
opts[key] = @opts[key] if @opts[key]
|
50
|
+
end
|
52
51
|
@oxs = Script.new opts
|
53
52
|
end
|
54
53
|
|
@@ -11,7 +11,10 @@ module Oxidized
|
|
11
11
|
# @param [String] command command to be sent
|
12
12
|
# @return [String] output for command
|
13
13
|
def cmd command
|
14
|
-
|
14
|
+
out = ''
|
15
|
+
out += "## OXS - #{command}\n" if @verbose
|
16
|
+
out += @model.cmd command
|
17
|
+
out
|
15
18
|
end
|
16
19
|
|
17
20
|
# disconnects from ssh/telnet session
|
@@ -24,12 +27,13 @@ module Oxidized
|
|
24
27
|
private
|
25
28
|
|
26
29
|
# @param [Hash] opts options for Oxidized::Script
|
27
|
-
# @option opts [String]
|
28
|
-
# @option opts [String]
|
29
|
-
# @option opts [Fixnum]
|
30
|
-
# @option opts [String :username username for login
|
31
|
-
# @option opts [String :passsword password for login
|
32
|
-
# @option opts [String :enable enable password to use
|
30
|
+
# @option opts [String] :host hostname or ip address for Oxidized::Node
|
31
|
+
# @option opts [String] :model node model (ios, junos etc) if defined, nodes are not loaded from source
|
32
|
+
# @option opts [Fixnum] :timeout oxidized timeout
|
33
|
+
# @option opts [String] :username username for login
|
34
|
+
# @option opts [String] :passsword password for login
|
35
|
+
# @option opts [String] :enable enable password to use
|
36
|
+
# @option opts [boolean] :verbose extra output, e.g. show command given in output
|
33
37
|
# @yieldreturn [self] if called in block, returns self and disconnnects session after exiting block
|
34
38
|
# @return [void]
|
35
39
|
def initialize opts, &block
|
@@ -38,7 +42,8 @@ module Oxidized
|
|
38
42
|
timeout = opts.delete :timeout
|
39
43
|
username = opts.delete :username
|
40
44
|
password = opts.delete :password
|
41
|
-
enable
|
45
|
+
enable = opts.delete :enable
|
46
|
+
@verbose = opts.delete :verbose
|
42
47
|
raise InvalidOption, "#{opts} not recognized" unless opts.empty?
|
43
48
|
Oxidized.mgr = Manager.new
|
44
49
|
@node = if model
|
@@ -49,7 +54,7 @@ module Oxidized
|
|
49
54
|
raise NoNode, 'node not found' unless @node
|
50
55
|
@node.auth[:username] = username if username
|
51
56
|
@node.auth[:password] = password if password
|
52
|
-
CFG.vars
|
57
|
+
CFG.vars.enable = enable if enable
|
53
58
|
CFG.timeout = timeout if timeout
|
54
59
|
@model = @node.model
|
55
60
|
@input = nil
|
data/oxidized-script.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'oxidized-script'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.2'
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.authors = [ 'Saku Ytti' ]
|
6
6
|
s.email = %w( saku@ytti.fi )
|
@@ -12,6 +12,6 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.executables = %w( oxs )
|
13
13
|
s.require_path = 'lib'
|
14
14
|
|
15
|
-
|
15
|
+
s.add_dependency 'oxidized'
|
16
16
|
s.add_dependency 'slop'
|
17
17
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oxidized-script
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: oxidized
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: slop
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|