netconf 0.2.5 → 0.3.0
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 +15 -0
- data/examples/confd/get-running.rb +27 -27
- data/examples/jnpr/edit-config-jnpr-set.rb +55 -55
- data/examples/jnpr/edit-config-jnpr-text.rb +64 -64
- data/examples/jnpr/edit-config-jnpr.rb +73 -73
- data/examples/jnpr/edit-config-std.rb +64 -64
- data/examples/jnpr/edit-config-text-std.rb +68 -68
- data/examples/jnpr/get-config-jnpr.rb +62 -62
- data/examples/jnpr/get-config-matching.rb +20 -20
- data/examples/jnpr/get-config-std.rb +49 -49
- data/examples/jnpr/get-inventory-serial-explicit.rb +27 -27
- data/examples/jnpr/get-inventory-serial.rb +25 -25
- data/examples/jnpr/get-inventory-telnet.rb +14 -14
- data/examples/jnpr/get-inventory.rb +16 -16
- data/examples/jnpr/scp.rb +22 -22
- data/lib/net/netconf.rb +11 -1
- data/lib/net/netconf/exception.rb +38 -38
- data/lib/net/netconf/ioproc.rb +88 -88
- data/lib/net/netconf/jnpr.rb +9 -9
- data/lib/net/netconf/jnpr/ioproc.rb +14 -14
- data/lib/net/netconf/jnpr/rpc.rb +162 -140
- data/lib/net/netconf/jnpr/serial.rb +15 -15
- data/lib/net/netconf/jnpr/telnet.rb +23 -23
- data/lib/net/netconf/rpc.rb +71 -71
- data/lib/net/netconf/rpc_std.rb +133 -134
- data/lib/net/netconf/serial.rb +135 -135
- data/lib/net/netconf/ssh.rb +78 -77
- data/lib/net/netconf/telnet.rb +52 -52
- data/lib/net/netconf/transport.rb +28 -5
- data/lib/net/netconf/version.rb +3 -0
- metadata +21 -12
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NmUzYzM2NDEyMGJjMzE0NDljYmYzNjIxOGE0ZTE5YWNiMDg0ZDNmMQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjRiMTk0ZWJkMWUyZjRkNTFlNDJhZDBhMjU1M2I5NDI5MTgwODZiMg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Njg1NzU5NDZhY2ZiYWZkMGRmYTdjOTRjZWE1OWFjNmRhMzI0NjY4MzRjMzBl
|
10
|
+
NGQ0YWVmNWI0NjA0ZDU2ODY1OWI1NjQ0ZWJiNjhjM2MyMDg2ZjJmMjE5NWIy
|
11
|
+
ZDEzZGI0NzI1ZmM2NTZkNzhhNjlhNDI0NzhmY2NmNmI1NDk4ZGU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MGNhYjE4NzdmOGFlMGJjNTI4YTZkNjYyMWNlOWZmZTBjNTZiNzM1ZTkyNjIw
|
14
|
+
YjYxMTVmMmExYzBkNTJkODg3MzFiMTU3ZmZhYWM5YmRhZWNjYzc1OWY1ODY5
|
15
|
+
MWNmZjdlNTAzNDBmNWVlMTAxM2RkMTliYjQ4OWU2NDQ4Y2IwNmE=
|
@@ -1,27 +1,27 @@
|
|
1
|
-
#
|
2
|
-
# This code is used to retrieve the running configuration
|
3
|
-
# from a Tail-F "confD" NETCONF server, and display the
|
4
|
-
# configured user names
|
5
|
-
#
|
6
|
-
|
7
|
-
require 'net/netconf'
|
8
|
-
|
9
|
-
puts "NETCONF v#{Netconf::VERSION}"
|
10
|
-
|
11
|
-
login = { :target => 'jeap', :port => 2022,
|
12
|
-
:username => "admin", :password => "admin" }
|
13
|
-
|
14
|
-
Netconf::SSH.new( login ){ |dev|
|
15
|
-
|
16
|
-
config = dev.rpc.get_config
|
17
|
-
|
18
|
-
puts "Showing users on this device ..."
|
19
|
-
|
20
|
-
config.xpath("//users/user").each{|user|
|
21
|
-
puts "Username: #{user.xpath('name').text}"
|
22
|
-
}
|
23
|
-
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
#
|
2
|
+
# This code is used to retrieve the running configuration
|
3
|
+
# from a Tail-F "confD" NETCONF server, and display the
|
4
|
+
# configured user names
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'net/netconf'
|
8
|
+
|
9
|
+
puts "NETCONF v#{Netconf::VERSION}"
|
10
|
+
|
11
|
+
login = { :target => 'jeap', :port => 2022,
|
12
|
+
:username => "admin", :password => "admin" }
|
13
|
+
|
14
|
+
Netconf::SSH.new( login ){ |dev|
|
15
|
+
|
16
|
+
config = dev.rpc.get_config
|
17
|
+
|
18
|
+
puts "Showing users on this device ..."
|
19
|
+
|
20
|
+
config.xpath("//users/user").each{|user|
|
21
|
+
puts "Username: #{user.xpath('name').text}"
|
22
|
+
}
|
23
|
+
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
|
@@ -1,55 +1,55 @@
|
|
1
|
-
require 'net/netconf/jnpr'
|
2
|
-
|
3
|
-
puts "NETCONF v.#{Netconf::VERSION}"
|
4
|
-
|
5
|
-
login = { :target => 'vsrx', :username => "jeremy", :password => "jeremy1" }
|
6
|
-
|
7
|
-
new_host_name = "vsrx"
|
8
|
-
|
9
|
-
puts "Connecting to device: #{login[:target]}"
|
10
|
-
|
11
|
-
Netconf::SSH.new( login ){ |dev|
|
12
|
-
puts "Connected!"
|
13
|
-
|
14
|
-
location = []
|
15
|
-
location << 'set system location building "Main Campus, C"'
|
16
|
-
location << "set system location floor 15"
|
17
|
-
location << "set system location rack 1117"
|
18
|
-
|
19
|
-
begin
|
20
|
-
|
21
|
-
rsp = dev.rpc.lock_configuration
|
22
|
-
|
23
|
-
# --------------------------------------------------------------------
|
24
|
-
# configuration as BLOCK
|
25
|
-
|
26
|
-
rsp = dev.rpc.load_configuration( :format => 'set' ) {
|
27
|
-
"set system host-name #{new_host_name}"
|
28
|
-
}
|
29
|
-
|
30
|
-
# --------------------------------------------------------------------
|
31
|
-
# configuration as PARAM
|
32
|
-
|
33
|
-
rsp = dev.rpc.load_configuration( location, :format => 'set' )
|
34
|
-
|
35
|
-
rpc = dev.rpc.check_configuration
|
36
|
-
rpc = dev.rpc.commit_configuration
|
37
|
-
rpc = dev.rpc.unlock_configuration
|
38
|
-
|
39
|
-
rescue Netconf::LockError => e
|
40
|
-
puts "Lock error"
|
41
|
-
rescue Netconf::EditError => e
|
42
|
-
puts "Edit error"
|
43
|
-
rescue Netconf::ValidateError => e
|
44
|
-
puts "Validate error"
|
45
|
-
rescue Netconf::CommitError => e
|
46
|
-
puts "Commit error"
|
47
|
-
rescue Netconf::RpcError => e
|
48
|
-
puts "General RPC error"
|
49
|
-
else
|
50
|
-
puts "Configuration Committed."
|
51
|
-
end
|
52
|
-
}
|
53
|
-
|
54
|
-
|
55
|
-
|
1
|
+
require 'net/netconf/jnpr'
|
2
|
+
|
3
|
+
puts "NETCONF v.#{Netconf::VERSION}"
|
4
|
+
|
5
|
+
login = { :target => 'vsrx', :username => "jeremy", :password => "jeremy1" }
|
6
|
+
|
7
|
+
new_host_name = "vsrx"
|
8
|
+
|
9
|
+
puts "Connecting to device: #{login[:target]}"
|
10
|
+
|
11
|
+
Netconf::SSH.new( login ){ |dev|
|
12
|
+
puts "Connected!"
|
13
|
+
|
14
|
+
location = []
|
15
|
+
location << 'set system location building "Main Campus, C"'
|
16
|
+
location << "set system location floor 15"
|
17
|
+
location << "set system location rack 1117"
|
18
|
+
|
19
|
+
begin
|
20
|
+
|
21
|
+
rsp = dev.rpc.lock_configuration
|
22
|
+
|
23
|
+
# --------------------------------------------------------------------
|
24
|
+
# configuration as BLOCK
|
25
|
+
|
26
|
+
rsp = dev.rpc.load_configuration( :format => 'set' ) {
|
27
|
+
"set system host-name #{new_host_name}"
|
28
|
+
}
|
29
|
+
|
30
|
+
# --------------------------------------------------------------------
|
31
|
+
# configuration as PARAM
|
32
|
+
|
33
|
+
rsp = dev.rpc.load_configuration( location, :format => 'set' )
|
34
|
+
|
35
|
+
rpc = dev.rpc.check_configuration
|
36
|
+
rpc = dev.rpc.commit_configuration
|
37
|
+
rpc = dev.rpc.unlock_configuration
|
38
|
+
|
39
|
+
rescue Netconf::LockError => e
|
40
|
+
puts "Lock error"
|
41
|
+
rescue Netconf::EditError => e
|
42
|
+
puts "Edit error"
|
43
|
+
rescue Netconf::ValidateError => e
|
44
|
+
puts "Validate error"
|
45
|
+
rescue Netconf::CommitError => e
|
46
|
+
puts "Commit error"
|
47
|
+
rescue Netconf::RpcError => e
|
48
|
+
puts "General RPC error"
|
49
|
+
else
|
50
|
+
puts "Configuration Committed."
|
51
|
+
end
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
|
@@ -1,64 +1,64 @@
|
|
1
|
-
require 'net/netconf/jnpr'
|
2
|
-
|
3
|
-
puts "NETCONF v.#{Netconf::VERSION}"
|
4
|
-
|
5
|
-
login = { :target => 'vsrx', :username => "jeremy", :password => "jeremy1" }
|
6
|
-
|
7
|
-
new_host_name = "vsrx-gizmo"
|
8
|
-
|
9
|
-
puts "Connecting to device: #{login[:target]}"
|
10
|
-
|
11
|
-
Netconf::SSH.new( login ){ |dev|
|
12
|
-
puts "Connected!"
|
13
|
-
|
14
|
-
location = <<EOCONF
|
15
|
-
system {
|
16
|
-
location {
|
17
|
-
building "Main Campus, E"
|
18
|
-
floor 15
|
19
|
-
rack 1117
|
20
|
-
}
|
21
|
-
}
|
22
|
-
EOCONF
|
23
|
-
|
24
|
-
begin
|
25
|
-
|
26
|
-
rsp = dev.rpc.lock_configuration
|
27
|
-
|
28
|
-
# --------------------------------------------------------------------
|
29
|
-
# configuration as BLOCK
|
30
|
-
|
31
|
-
rsp = dev.rpc.load_configuration( :format => 'text' ) {
|
32
|
-
<<-EOCONF
|
33
|
-
system {
|
34
|
-
host-name #{new_host_name}
|
35
|
-
}
|
36
|
-
EOCONF
|
37
|
-
}
|
38
|
-
|
39
|
-
# --------------------------------------------------------------------
|
40
|
-
# configuration as PARAM
|
41
|
-
|
42
|
-
rsp = dev.rpc.load_configuration( location, :format => 'text' )
|
43
|
-
|
44
|
-
rpc = dev.rpc.check_configuration
|
45
|
-
rpc = dev.rpc.commit_configuration
|
46
|
-
rpc = dev.rpc.unlock_configuration
|
47
|
-
|
48
|
-
rescue Netconf::LockError => e
|
49
|
-
puts "Lock error"
|
50
|
-
rescue Netconf::EditError => e
|
51
|
-
puts "Edit error"
|
52
|
-
rescue Netconf::ValidateError => e
|
53
|
-
puts "Validate error"
|
54
|
-
rescue Netconf::CommitError => e
|
55
|
-
puts "Commit error"
|
56
|
-
rescue Netconf::RpcError => e
|
57
|
-
puts "General RPC error"
|
58
|
-
else
|
59
|
-
puts "Configuration Committed."
|
60
|
-
end
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
|
1
|
+
require 'net/netconf/jnpr'
|
2
|
+
|
3
|
+
puts "NETCONF v.#{Netconf::VERSION}"
|
4
|
+
|
5
|
+
login = { :target => 'vsrx', :username => "jeremy", :password => "jeremy1" }
|
6
|
+
|
7
|
+
new_host_name = "vsrx-gizmo"
|
8
|
+
|
9
|
+
puts "Connecting to device: #{login[:target]}"
|
10
|
+
|
11
|
+
Netconf::SSH.new( login ){ |dev|
|
12
|
+
puts "Connected!"
|
13
|
+
|
14
|
+
location = <<EOCONF
|
15
|
+
system {
|
16
|
+
location {
|
17
|
+
building "Main Campus, E"
|
18
|
+
floor 15
|
19
|
+
rack 1117
|
20
|
+
}
|
21
|
+
}
|
22
|
+
EOCONF
|
23
|
+
|
24
|
+
begin
|
25
|
+
|
26
|
+
rsp = dev.rpc.lock_configuration
|
27
|
+
|
28
|
+
# --------------------------------------------------------------------
|
29
|
+
# configuration as BLOCK
|
30
|
+
|
31
|
+
rsp = dev.rpc.load_configuration( :format => 'text' ) {
|
32
|
+
<<-EOCONF
|
33
|
+
system {
|
34
|
+
host-name #{new_host_name}
|
35
|
+
}
|
36
|
+
EOCONF
|
37
|
+
}
|
38
|
+
|
39
|
+
# --------------------------------------------------------------------
|
40
|
+
# configuration as PARAM
|
41
|
+
|
42
|
+
rsp = dev.rpc.load_configuration( location, :format => 'text' )
|
43
|
+
|
44
|
+
rpc = dev.rpc.check_configuration
|
45
|
+
rpc = dev.rpc.commit_configuration
|
46
|
+
rpc = dev.rpc.unlock_configuration
|
47
|
+
|
48
|
+
rescue Netconf::LockError => e
|
49
|
+
puts "Lock error"
|
50
|
+
rescue Netconf::EditError => e
|
51
|
+
puts "Edit error"
|
52
|
+
rescue Netconf::ValidateError => e
|
53
|
+
puts "Validate error"
|
54
|
+
rescue Netconf::CommitError => e
|
55
|
+
puts "Commit error"
|
56
|
+
rescue Netconf::RpcError => e
|
57
|
+
puts "General RPC error"
|
58
|
+
else
|
59
|
+
puts "Configuration Committed."
|
60
|
+
end
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
|
@@ -1,73 +1,73 @@
|
|
1
|
-
require 'net/netconf/jnpr'
|
2
|
-
|
3
|
-
puts "NETCONF v#{Netconf::VERSION}"
|
4
|
-
|
5
|
-
login = { :target => 'ex4', :username => "jeremy", :password => "jeremy1" }
|
6
|
-
|
7
|
-
new_host_name = "ex4-abc"
|
8
|
-
|
9
|
-
puts "Connecting to device: #{login[:target]}"
|
10
|
-
|
11
|
-
Netconf::SSH.new( login ){ |dev|
|
12
|
-
puts "Connected!"
|
13
|
-
|
14
|
-
# when providing a collection of configuration,
|
15
|
-
# you need to include the <configuration> as the
|
16
|
-
# toplevel element
|
17
|
-
|
18
|
-
location = Nokogiri::XML::Builder.new{ |x|
|
19
|
-
x.configuration {
|
20
|
-
x.system {
|
21
|
-
x.location {
|
22
|
-
x.building "Main Campus, D"
|
23
|
-
x.floor 22
|
24
|
-
x.rack 38
|
25
|
-
}
|
26
|
-
}
|
27
|
-
x.system {
|
28
|
-
x.services {
|
29
|
-
x.ftp;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
begin
|
36
|
-
|
37
|
-
rsp = dev.rpc.lock_configuration
|
38
|
-
|
39
|
-
# --------------------------------------------------------------------
|
40
|
-
# configuration as PARAM
|
41
|
-
|
42
|
-
rsp = dev.rpc.load_configuration( location, :action => 'replace' )
|
43
|
-
|
44
|
-
# --------------------------------------------------------------------
|
45
|
-
# configuration as BLOCK
|
46
|
-
|
47
|
-
rsp = dev.rpc.load_configuration{ |x|
|
48
|
-
x.system {
|
49
|
-
x.send(:'host-name', new_host_name )
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
rpc = dev.rpc.check_configuration
|
54
|
-
rpc = dev.rpc.commit_configuration
|
55
|
-
rpc = dev.rpc.unlock_configuration
|
56
|
-
|
57
|
-
rescue Netconf::LockError => e
|
58
|
-
puts "Lock error"
|
59
|
-
rescue Netconf::EditError => e
|
60
|
-
puts "Edit error"
|
61
|
-
rescue Netconf::ValidateError => e
|
62
|
-
puts "Validate error"
|
63
|
-
rescue Netconf::CommitError => e
|
64
|
-
puts "Commit error"
|
65
|
-
rescue Netconf::RpcError => e
|
66
|
-
puts "General RPC error"
|
67
|
-
else
|
68
|
-
puts "Configuration Committed."
|
69
|
-
end
|
70
|
-
}
|
71
|
-
|
72
|
-
|
73
|
-
|
1
|
+
require 'net/netconf/jnpr'
|
2
|
+
|
3
|
+
puts "NETCONF v#{Netconf::VERSION}"
|
4
|
+
|
5
|
+
login = { :target => 'ex4', :username => "jeremy", :password => "jeremy1" }
|
6
|
+
|
7
|
+
new_host_name = "ex4-abc"
|
8
|
+
|
9
|
+
puts "Connecting to device: #{login[:target]}"
|
10
|
+
|
11
|
+
Netconf::SSH.new( login ){ |dev|
|
12
|
+
puts "Connected!"
|
13
|
+
|
14
|
+
# when providing a collection of configuration,
|
15
|
+
# you need to include the <configuration> as the
|
16
|
+
# toplevel element
|
17
|
+
|
18
|
+
location = Nokogiri::XML::Builder.new{ |x|
|
19
|
+
x.configuration {
|
20
|
+
x.system {
|
21
|
+
x.location {
|
22
|
+
x.building "Main Campus, D"
|
23
|
+
x.floor 22
|
24
|
+
x.rack 38
|
25
|
+
}
|
26
|
+
}
|
27
|
+
x.system {
|
28
|
+
x.services {
|
29
|
+
x.ftp;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
begin
|
36
|
+
|
37
|
+
rsp = dev.rpc.lock_configuration
|
38
|
+
|
39
|
+
# --------------------------------------------------------------------
|
40
|
+
# configuration as PARAM
|
41
|
+
|
42
|
+
rsp = dev.rpc.load_configuration( location, :action => 'replace' )
|
43
|
+
|
44
|
+
# --------------------------------------------------------------------
|
45
|
+
# configuration as BLOCK
|
46
|
+
|
47
|
+
rsp = dev.rpc.load_configuration{ |x|
|
48
|
+
x.system {
|
49
|
+
x.send(:'host-name', new_host_name )
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
rpc = dev.rpc.check_configuration
|
54
|
+
rpc = dev.rpc.commit_configuration
|
55
|
+
rpc = dev.rpc.unlock_configuration
|
56
|
+
|
57
|
+
rescue Netconf::LockError => e
|
58
|
+
puts "Lock error"
|
59
|
+
rescue Netconf::EditError => e
|
60
|
+
puts "Edit error"
|
61
|
+
rescue Netconf::ValidateError => e
|
62
|
+
puts "Validate error"
|
63
|
+
rescue Netconf::CommitError => e
|
64
|
+
puts "Commit error"
|
65
|
+
rescue Netconf::RpcError => e
|
66
|
+
puts "General RPC error"
|
67
|
+
else
|
68
|
+
puts "Configuration Committed."
|
69
|
+
end
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
|