net-connector 0.6.0 → 0.7.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 +4 -4
- data/CHANGELOG.md +52 -0
- data/CONTRIBUTING.md +20 -0
- data/README.md +112 -50
- data/docs/VERIFICATION.md +42 -1
- data/docs/architecture.md +15 -2
- data/examples/backup.yml +40 -0
- data/lib/net/connector/device/base.rb +30 -38
- data/lib/net/connector/device/profile/builder.rb +8 -8
- data/lib/net/connector/device/profile.rb +2 -2
- data/lib/net/connector/device/running_config.rb +2 -2
- data/lib/net/connector/device/tftp/receipt.rb +12 -3
- data/lib/net/connector/device/tftp.rb +7 -7
- data/lib/net/connector/device/topology.rb +4 -4
- data/lib/net/connector/engine/command.rb +2 -2
- data/lib/net/connector/engine/configuration.rb +5 -2
- data/lib/net/connector/engine/execution.rb +25 -14
- data/lib/net/connector/engine/known_hosts.rb +112 -0
- data/lib/net/connector/engine/log.rb +10 -7
- data/lib/net/connector/engine/session.rb +117 -128
- data/lib/net/connector/engine/transport.rb +32 -7
- data/lib/net/connector/netdisco/backup_run.rb +132 -0
- data/lib/net/connector/netdisco/batch.rb +1 -1
- data/lib/net/connector/netdisco/cli/options.rb +139 -0
- data/lib/net/connector/netdisco/cli.rb +13 -26
- data/lib/net/connector/netdisco/client.rb +6 -6
- data/lib/net/connector/netdisco/config_file.rb +20 -19
- data/lib/net/connector/netdisco/connection.rb +38 -0
- data/lib/net/connector/netdisco/database_client.rb +2 -2
- data/lib/net/connector/netdisco/device.rb +11 -1
- data/lib/net/connector/netdisco/fleet.rb +68 -47
- data/lib/net/connector/netdisco/inventory_budget.rb +4 -4
- data/lib/net/connector/netdisco/plan.rb +14 -9
- data/lib/net/connector/netdisco/planner.rb +18 -14
- data/lib/net/connector/netdisco/progress.rb +253 -0
- data/lib/net/connector/netdisco/report/files.rb +41 -0
- data/lib/net/connector/netdisco/report/text.rb +45 -0
- data/lib/net/connector/netdisco/report.rb +53 -31
- data/lib/net/connector/netdisco/result_store.rb +3 -1
- data/lib/net/connector/netdisco/rules.rb +10 -2
- data/lib/net/connector/netdisco/settings.rb +118 -68
- data/lib/net/connector/netdisco/tftp_archive.rb +175 -0
- data/lib/net/connector/netdisco/tftp_history.rb +16 -0
- data/lib/net/connector/netdisco/tftp_verification.rb +58 -0
- data/lib/net/connector/netdisco/worker.rb +8 -3
- data/lib/net/connector/netdisco.rb +10 -0
- data/lib/net/connector/storage/backup_lock.rb +1 -1
- data/lib/net/connector/storage/batch_directory.rb +29 -0
- data/lib/net/connector/storage.rb +1 -0
- data/lib/net/connector/vendor/h3c.rb +2 -1
- data/lib/net/connector/vendor/hillstone/tftp_backup.rb +3 -3
- data/lib/net/connector/vendor/palo_alto/tftp_backup.rb +3 -3
- data/lib/net/connector/vendor/radware/running_config.rb +19 -0
- data/lib/net/connector/vendor/radware.rb +4 -3
- data/lib/net/connector/version.rb +1 -1
- data/lib/net/connector.rb +2 -2
- metadata +42 -111
- /data/examples/{netdisco_database.yml → inventory_sql.yml} +0 -0
|
@@ -12,9 +12,9 @@ module Net
|
|
|
12
12
|
# 在连接前拒绝源文件及远端目录;未指定文件名时仍由设备生成。
|
|
13
13
|
def validate_options!(target, source_file:, **)
|
|
14
14
|
raise ArgumentError, "Hillstone TFTP export does not use source_file" unless source_file.nil?
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
return unless target.explicit_path? && target.path.include?("/")
|
|
16
|
+
|
|
17
|
+
raise ArgumentError, "Hillstone TFTP filename cannot contain a directory"
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def receipt_metadata(target, **)
|
|
@@ -15,9 +15,9 @@ module Net
|
|
|
15
15
|
def validate_options!(target, source_file:, vrf: nil)
|
|
16
16
|
raise ArgumentError, "PAN-OS does not use source_file" unless source_file.nil?
|
|
17
17
|
raise ArgumentError, "PAN-OS TFTP backup does not use vrf" unless vrf.nil?
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
return unless target.explicit_path? && target.path != FILENAME
|
|
19
|
+
|
|
20
|
+
raise ArgumentError, "PAN-OS TFTP export uses the fixed filename #{FILENAME}"
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def receipt_metadata(_target, **)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../../device/running_config/strategy"
|
|
4
|
+
|
|
5
|
+
module Net
|
|
6
|
+
module Connector
|
|
7
|
+
module Radware
|
|
8
|
+
class RunningConfig < Net::Connector::RunningConfig::Rendered
|
|
9
|
+
# /cfg/dump 进入 Configuration 菜单;保留设备前缀,只替换菜单名称。
|
|
10
|
+
def prompt_text(command)
|
|
11
|
+
prompt = super
|
|
12
|
+
return prompt unless command.text == "/cfg/dump"
|
|
13
|
+
|
|
14
|
+
prompt.sub(/\A(>>[ \t]+(?:.* - )?)[^\r\n#]+#\z/, '\1Configuration#')
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative "../device/base"
|
|
4
|
+
require_relative "radware/running_config"
|
|
4
5
|
require_relative "radware/tftp_backup"
|
|
5
6
|
require_relative "radware/topology"
|
|
6
7
|
|
|
@@ -12,7 +13,7 @@ module Net
|
|
|
12
13
|
vendor :radware
|
|
13
14
|
# 声明菜单式 CLI 的命令、提示、超时、诊断和确认规则。
|
|
14
15
|
profile do
|
|
15
|
-
running_config_strategy Net::Connector::RunningConfig
|
|
16
|
+
running_config_strategy Net::Connector::Radware::RunningConfig
|
|
16
17
|
tftp_strategy Net::Connector::Radware::TftpBackup
|
|
17
18
|
topology_strategy Net::Connector::Radware::Topology
|
|
18
19
|
commands do
|
|
@@ -21,8 +22,8 @@ module Net
|
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
prompts do
|
|
24
|
-
login(/(?:\A|(?<=[\r\n]))(?:>>[^\r\n]
|
|
25
|
-
command(/(?:\A|(?<=[\r\n]))
|
|
25
|
+
login(/(?:\A|(?<=[\r\n]))(?:>>[^\r\n]*#|(?!>>)[^\r\n]+[>#])\s*\z/)
|
|
26
|
+
command(/(?:\A|(?<=[\r\n]))[^\r\n]+#\s*\z/)
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
errors do
|
data/lib/net/connector.rb
CHANGED
|
@@ -34,10 +34,10 @@ module Net
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
# 在代码块内连接设备并确保会话关闭。
|
|
37
|
-
def self.open(vendor, **settings)
|
|
37
|
+
def self.open(vendor, **settings, &)
|
|
38
38
|
raise ArgumentError, "open requires a block" unless block_given?
|
|
39
39
|
|
|
40
|
-
vendor_class(vendor).open(**settings)
|
|
40
|
+
vendor_class(vendor).open(**settings, &)
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
end
|
metadata
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: net-connector
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- net-connector contributors
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-09-
|
|
10
|
+
date: 2026-09-28 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: expect-pty
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
|
-
- - "
|
|
16
|
+
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
18
|
version: 0.5.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
|
-
- - "
|
|
23
|
+
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: 0.5.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: textfsm
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
|
-
- - "
|
|
30
|
+
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
32
|
version: 0.2.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
|
-
- - "
|
|
37
|
+
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: 0.2.0
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
@@ -44,9 +44,6 @@ dependencies:
|
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: '1.5'
|
|
47
|
-
- - "<"
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '2.0'
|
|
50
47
|
type: :runtime
|
|
51
48
|
prerelease: false
|
|
52
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -54,9 +51,6 @@ dependencies:
|
|
|
54
51
|
- - ">="
|
|
55
52
|
- !ruby/object:Gem::Version
|
|
56
53
|
version: '1.5'
|
|
57
|
-
- - "<"
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: '2.0'
|
|
60
54
|
- !ruby/object:Gem::Dependency
|
|
61
55
|
name: digest
|
|
62
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,9 +58,6 @@ dependencies:
|
|
|
64
58
|
- - ">="
|
|
65
59
|
- !ruby/object:Gem::Version
|
|
66
60
|
version: '3.1'
|
|
67
|
-
- - "<"
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '4.0'
|
|
70
61
|
type: :runtime
|
|
71
62
|
prerelease: false
|
|
72
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -74,9 +65,6 @@ dependencies:
|
|
|
74
65
|
- - ">="
|
|
75
66
|
- !ruby/object:Gem::Version
|
|
76
67
|
version: '3.1'
|
|
77
|
-
- - "<"
|
|
78
|
-
- !ruby/object:Gem::Version
|
|
79
|
-
version: '4.0'
|
|
80
68
|
- !ruby/object:Gem::Dependency
|
|
81
69
|
name: english
|
|
82
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -84,9 +72,6 @@ dependencies:
|
|
|
84
72
|
- - ">="
|
|
85
73
|
- !ruby/object:Gem::Version
|
|
86
74
|
version: '0.7'
|
|
87
|
-
- - "<"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '1.0'
|
|
90
75
|
type: :runtime
|
|
91
76
|
prerelease: false
|
|
92
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -94,9 +79,6 @@ dependencies:
|
|
|
94
79
|
- - ">="
|
|
95
80
|
- !ruby/object:Gem::Version
|
|
96
81
|
version: '0.7'
|
|
97
|
-
- - "<"
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
version: '1.0'
|
|
100
82
|
- !ruby/object:Gem::Dependency
|
|
101
83
|
name: fileutils
|
|
102
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -104,9 +86,6 @@ dependencies:
|
|
|
104
86
|
- - ">="
|
|
105
87
|
- !ruby/object:Gem::Version
|
|
106
88
|
version: '1.6'
|
|
107
|
-
- - "<"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '2.0'
|
|
110
89
|
type: :runtime
|
|
111
90
|
prerelease: false
|
|
112
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -114,49 +93,60 @@ dependencies:
|
|
|
114
93
|
- - ">="
|
|
115
94
|
- !ruby/object:Gem::Version
|
|
116
95
|
version: '1.6'
|
|
117
|
-
- - "<"
|
|
118
|
-
- !ruby/object:Gem::Version
|
|
119
|
-
version: '2.0'
|
|
120
96
|
- !ruby/object:Gem::Dependency
|
|
121
97
|
name: forwardable
|
|
122
98
|
requirement: !ruby/object:Gem::Requirement
|
|
123
99
|
requirements:
|
|
124
|
-
- - "
|
|
100
|
+
- - ">="
|
|
125
101
|
- !ruby/object:Gem::Version
|
|
126
102
|
version: '1.3'
|
|
127
103
|
type: :runtime
|
|
128
104
|
prerelease: false
|
|
129
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
130
106
|
requirements:
|
|
131
|
-
- - "
|
|
107
|
+
- - ">="
|
|
132
108
|
- !ruby/object:Gem::Version
|
|
133
109
|
version: '1.3'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: io-console
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.6'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.6'
|
|
134
124
|
- !ruby/object:Gem::Dependency
|
|
135
125
|
name: ipaddr
|
|
136
126
|
requirement: !ruby/object:Gem::Requirement
|
|
137
127
|
requirements:
|
|
138
|
-
- - "
|
|
128
|
+
- - ">="
|
|
139
129
|
- !ruby/object:Gem::Version
|
|
140
130
|
version: '1.2'
|
|
141
131
|
type: :runtime
|
|
142
132
|
prerelease: false
|
|
143
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
144
134
|
requirements:
|
|
145
|
-
- - "
|
|
135
|
+
- - ">="
|
|
146
136
|
- !ruby/object:Gem::Version
|
|
147
137
|
version: '1.2'
|
|
148
138
|
- !ruby/object:Gem::Dependency
|
|
149
139
|
name: json
|
|
150
140
|
requirement: !ruby/object:Gem::Requirement
|
|
151
141
|
requirements:
|
|
152
|
-
- - "
|
|
142
|
+
- - ">="
|
|
153
143
|
- !ruby/object:Gem::Version
|
|
154
144
|
version: '2.0'
|
|
155
145
|
type: :runtime
|
|
156
146
|
prerelease: false
|
|
157
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
158
148
|
requirements:
|
|
159
|
-
- - "
|
|
149
|
+
- - ">="
|
|
160
150
|
- !ruby/object:Gem::Version
|
|
161
151
|
version: '2.0'
|
|
162
152
|
- !ruby/object:Gem::Dependency
|
|
@@ -166,9 +156,6 @@ dependencies:
|
|
|
166
156
|
- - ">="
|
|
167
157
|
- !ruby/object:Gem::Version
|
|
168
158
|
version: '1.5'
|
|
169
|
-
- - "<"
|
|
170
|
-
- !ruby/object:Gem::Version
|
|
171
|
-
version: '2.0'
|
|
172
159
|
type: :runtime
|
|
173
160
|
prerelease: false
|
|
174
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -176,9 +163,6 @@ dependencies:
|
|
|
176
163
|
- - ">="
|
|
177
164
|
- !ruby/object:Gem::Version
|
|
178
165
|
version: '1.5'
|
|
179
|
-
- - "<"
|
|
180
|
-
- !ruby/object:Gem::Version
|
|
181
|
-
version: '2.0'
|
|
182
166
|
- !ruby/object:Gem::Dependency
|
|
183
167
|
name: net-http
|
|
184
168
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -186,9 +170,6 @@ dependencies:
|
|
|
186
170
|
- - ">="
|
|
187
171
|
- !ruby/object:Gem::Version
|
|
188
172
|
version: '0.3'
|
|
189
|
-
- - "<"
|
|
190
|
-
- !ruby/object:Gem::Version
|
|
191
|
-
version: '1.0'
|
|
192
173
|
type: :runtime
|
|
193
174
|
prerelease: false
|
|
194
175
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -196,9 +177,6 @@ dependencies:
|
|
|
196
177
|
- - ">="
|
|
197
178
|
- !ruby/object:Gem::Version
|
|
198
179
|
version: '0.3'
|
|
199
|
-
- - "<"
|
|
200
|
-
- !ruby/object:Gem::Version
|
|
201
|
-
version: '1.0'
|
|
202
180
|
- !ruby/object:Gem::Dependency
|
|
203
181
|
name: open3
|
|
204
182
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -206,9 +184,6 @@ dependencies:
|
|
|
206
184
|
- - ">="
|
|
207
185
|
- !ruby/object:Gem::Version
|
|
208
186
|
version: '0.1'
|
|
209
|
-
- - "<"
|
|
210
|
-
- !ruby/object:Gem::Version
|
|
211
|
-
version: '1.0'
|
|
212
187
|
type: :runtime
|
|
213
188
|
prerelease: false
|
|
214
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -216,9 +191,6 @@ dependencies:
|
|
|
216
191
|
- - ">="
|
|
217
192
|
- !ruby/object:Gem::Version
|
|
218
193
|
version: '0.1'
|
|
219
|
-
- - "<"
|
|
220
|
-
- !ruby/object:Gem::Version
|
|
221
|
-
version: '1.0'
|
|
222
194
|
- !ruby/object:Gem::Dependency
|
|
223
195
|
name: openssl
|
|
224
196
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -226,9 +198,6 @@ dependencies:
|
|
|
226
198
|
- - ">="
|
|
227
199
|
- !ruby/object:Gem::Version
|
|
228
200
|
version: '3.0'
|
|
229
|
-
- - "<"
|
|
230
|
-
- !ruby/object:Gem::Version
|
|
231
|
-
version: '5.0'
|
|
232
201
|
type: :runtime
|
|
233
202
|
prerelease: false
|
|
234
203
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -236,9 +205,6 @@ dependencies:
|
|
|
236
205
|
- - ">="
|
|
237
206
|
- !ruby/object:Gem::Version
|
|
238
207
|
version: '3.0'
|
|
239
|
-
- - "<"
|
|
240
|
-
- !ruby/object:Gem::Version
|
|
241
|
-
version: '5.0'
|
|
242
208
|
- !ruby/object:Gem::Dependency
|
|
243
209
|
name: optparse
|
|
244
210
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -246,9 +212,6 @@ dependencies:
|
|
|
246
212
|
- - ">="
|
|
247
213
|
- !ruby/object:Gem::Version
|
|
248
214
|
version: '0.3'
|
|
249
|
-
- - "<"
|
|
250
|
-
- !ruby/object:Gem::Version
|
|
251
|
-
version: '1.0'
|
|
252
215
|
type: :runtime
|
|
253
216
|
prerelease: false
|
|
254
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -256,9 +219,6 @@ dependencies:
|
|
|
256
219
|
- - ">="
|
|
257
220
|
- !ruby/object:Gem::Version
|
|
258
221
|
version: '0.3'
|
|
259
|
-
- - "<"
|
|
260
|
-
- !ruby/object:Gem::Version
|
|
261
|
-
version: '1.0'
|
|
262
222
|
- !ruby/object:Gem::Dependency
|
|
263
223
|
name: securerandom
|
|
264
224
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -266,9 +226,6 @@ dependencies:
|
|
|
266
226
|
- - ">="
|
|
267
227
|
- !ruby/object:Gem::Version
|
|
268
228
|
version: '0.2'
|
|
269
|
-
- - "<"
|
|
270
|
-
- !ruby/object:Gem::Version
|
|
271
|
-
version: '1.0'
|
|
272
229
|
type: :runtime
|
|
273
230
|
prerelease: false
|
|
274
231
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -276,9 +233,6 @@ dependencies:
|
|
|
276
233
|
- - ">="
|
|
277
234
|
- !ruby/object:Gem::Version
|
|
278
235
|
version: '0.2'
|
|
279
|
-
- - "<"
|
|
280
|
-
- !ruby/object:Gem::Version
|
|
281
|
-
version: '1.0'
|
|
282
236
|
- !ruby/object:Gem::Dependency
|
|
283
237
|
name: shellwords
|
|
284
238
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -286,9 +240,6 @@ dependencies:
|
|
|
286
240
|
- - ">="
|
|
287
241
|
- !ruby/object:Gem::Version
|
|
288
242
|
version: '0.1'
|
|
289
|
-
- - "<"
|
|
290
|
-
- !ruby/object:Gem::Version
|
|
291
|
-
version: '1.0'
|
|
292
243
|
type: :runtime
|
|
293
244
|
prerelease: false
|
|
294
245
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -296,21 +247,18 @@ dependencies:
|
|
|
296
247
|
- - ">="
|
|
297
248
|
- !ruby/object:Gem::Version
|
|
298
249
|
version: '0.1'
|
|
299
|
-
- - "<"
|
|
300
|
-
- !ruby/object:Gem::Version
|
|
301
|
-
version: '1.0'
|
|
302
250
|
- !ruby/object:Gem::Dependency
|
|
303
251
|
name: stringio
|
|
304
252
|
requirement: !ruby/object:Gem::Requirement
|
|
305
253
|
requirements:
|
|
306
|
-
- - "
|
|
254
|
+
- - ">="
|
|
307
255
|
- !ruby/object:Gem::Version
|
|
308
256
|
version: '3.0'
|
|
309
257
|
type: :runtime
|
|
310
258
|
prerelease: false
|
|
311
259
|
version_requirements: !ruby/object:Gem::Requirement
|
|
312
260
|
requirements:
|
|
313
|
-
- - "
|
|
261
|
+
- - ">="
|
|
314
262
|
- !ruby/object:Gem::Version
|
|
315
263
|
version: '3.0'
|
|
316
264
|
- !ruby/object:Gem::Dependency
|
|
@@ -320,9 +268,6 @@ dependencies:
|
|
|
320
268
|
- - ">="
|
|
321
269
|
- !ruby/object:Gem::Version
|
|
322
270
|
version: '0.1'
|
|
323
|
-
- - "<"
|
|
324
|
-
- !ruby/object:Gem::Version
|
|
325
|
-
version: '1.0'
|
|
326
271
|
type: :runtime
|
|
327
272
|
prerelease: false
|
|
328
273
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -330,9 +275,6 @@ dependencies:
|
|
|
330
275
|
- - ">="
|
|
331
276
|
- !ruby/object:Gem::Version
|
|
332
277
|
version: '0.1'
|
|
333
|
-
- - "<"
|
|
334
|
-
- !ruby/object:Gem::Version
|
|
335
|
-
version: '1.0'
|
|
336
278
|
- !ruby/object:Gem::Dependency
|
|
337
279
|
name: time
|
|
338
280
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -340,9 +282,6 @@ dependencies:
|
|
|
340
282
|
- - ">="
|
|
341
283
|
- !ruby/object:Gem::Version
|
|
342
284
|
version: '0.2'
|
|
343
|
-
- - "<"
|
|
344
|
-
- !ruby/object:Gem::Version
|
|
345
|
-
version: '1.0'
|
|
346
285
|
type: :runtime
|
|
347
286
|
prerelease: false
|
|
348
287
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -350,9 +289,6 @@ dependencies:
|
|
|
350
289
|
- - ">="
|
|
351
290
|
- !ruby/object:Gem::Version
|
|
352
291
|
version: '0.2'
|
|
353
|
-
- - "<"
|
|
354
|
-
- !ruby/object:Gem::Version
|
|
355
|
-
version: '1.0'
|
|
356
292
|
- !ruby/object:Gem::Dependency
|
|
357
293
|
name: timeout
|
|
358
294
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -360,9 +296,6 @@ dependencies:
|
|
|
360
296
|
- - ">="
|
|
361
297
|
- !ruby/object:Gem::Version
|
|
362
298
|
version: '0.3'
|
|
363
|
-
- - "<"
|
|
364
|
-
- !ruby/object:Gem::Version
|
|
365
|
-
version: '1.0'
|
|
366
299
|
type: :runtime
|
|
367
300
|
prerelease: false
|
|
368
301
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -370,9 +303,6 @@ dependencies:
|
|
|
370
303
|
- - ">="
|
|
371
304
|
- !ruby/object:Gem::Version
|
|
372
305
|
version: '0.3'
|
|
373
|
-
- - "<"
|
|
374
|
-
- !ruby/object:Gem::Version
|
|
375
|
-
version: '1.0'
|
|
376
306
|
- !ruby/object:Gem::Dependency
|
|
377
307
|
name: uri
|
|
378
308
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -380,9 +310,6 @@ dependencies:
|
|
|
380
310
|
- - ">="
|
|
381
311
|
- !ruby/object:Gem::Version
|
|
382
312
|
version: '0.12'
|
|
383
|
-
- - "<"
|
|
384
|
-
- !ruby/object:Gem::Version
|
|
385
|
-
version: '2.0'
|
|
386
313
|
type: :runtime
|
|
387
314
|
prerelease: false
|
|
388
315
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -390,9 +317,6 @@ dependencies:
|
|
|
390
317
|
- - ">="
|
|
391
318
|
- !ruby/object:Gem::Version
|
|
392
319
|
version: '0.12'
|
|
393
|
-
- - "<"
|
|
394
|
-
- !ruby/object:Gem::Version
|
|
395
|
-
version: '2.0'
|
|
396
320
|
- !ruby/object:Gem::Dependency
|
|
397
321
|
name: yaml
|
|
398
322
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -400,9 +324,6 @@ dependencies:
|
|
|
400
324
|
- - ">="
|
|
401
325
|
- !ruby/object:Gem::Version
|
|
402
326
|
version: '0.2'
|
|
403
|
-
- - "<"
|
|
404
|
-
- !ruby/object:Gem::Version
|
|
405
|
-
version: '1.0'
|
|
406
327
|
type: :runtime
|
|
407
328
|
prerelease: false
|
|
408
329
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -410,9 +331,6 @@ dependencies:
|
|
|
410
331
|
- - ">="
|
|
411
332
|
- !ruby/object:Gem::Version
|
|
412
333
|
version: '0.2'
|
|
413
|
-
- - "<"
|
|
414
|
-
- !ruby/object:Gem::Version
|
|
415
|
-
version: '1.0'
|
|
416
334
|
description: 通过 SSH 或 Telnet 登录网络设备,采集配置、执行命令脚本、处理交互提示,并提供脱敏日志与基于 Netdisco 清单的批量备份。
|
|
417
335
|
executables:
|
|
418
336
|
- net-connector-backup
|
|
@@ -427,7 +345,8 @@ files:
|
|
|
427
345
|
- docs/RELEASING.md
|
|
428
346
|
- docs/VERIFICATION.md
|
|
429
347
|
- docs/architecture.md
|
|
430
|
-
- examples/
|
|
348
|
+
- examples/backup.yml
|
|
349
|
+
- examples/inventory_sql.yml
|
|
431
350
|
- exe/net-connector-backup
|
|
432
351
|
- lib/net-connector.rb
|
|
433
352
|
- lib/net/connector.rb
|
|
@@ -456,6 +375,7 @@ files:
|
|
|
456
375
|
- lib/net/connector/engine/error_metadata.rb
|
|
457
376
|
- lib/net/connector/engine/errors.rb
|
|
458
377
|
- lib/net/connector/engine/execution.rb
|
|
378
|
+
- lib/net/connector/engine/known_hosts.rb
|
|
459
379
|
- lib/net/connector/engine/log.rb
|
|
460
380
|
- lib/net/connector/engine/log/event.rb
|
|
461
381
|
- lib/net/connector/engine/log/formatter.rb
|
|
@@ -468,10 +388,13 @@ files:
|
|
|
468
388
|
- lib/net/connector/engine/terminal_text.rb
|
|
469
389
|
- lib/net/connector/engine/transport.rb
|
|
470
390
|
- lib/net/connector/netdisco.rb
|
|
391
|
+
- lib/net/connector/netdisco/backup_run.rb
|
|
471
392
|
- lib/net/connector/netdisco/batch.rb
|
|
472
393
|
- lib/net/connector/netdisco/cli.rb
|
|
394
|
+
- lib/net/connector/netdisco/cli/options.rb
|
|
473
395
|
- lib/net/connector/netdisco/client.rb
|
|
474
396
|
- lib/net/connector/netdisco/config_file.rb
|
|
397
|
+
- lib/net/connector/netdisco/connection.rb
|
|
475
398
|
- lib/net/connector/netdisco/database_client.rb
|
|
476
399
|
- lib/net/connector/netdisco/device.rb
|
|
477
400
|
- lib/net/connector/netdisco/diagnostic.rb
|
|
@@ -479,13 +402,20 @@ files:
|
|
|
479
402
|
- lib/net/connector/netdisco/inventory_budget.rb
|
|
480
403
|
- lib/net/connector/netdisco/plan.rb
|
|
481
404
|
- lib/net/connector/netdisco/planner.rb
|
|
405
|
+
- lib/net/connector/netdisco/progress.rb
|
|
482
406
|
- lib/net/connector/netdisco/report.rb
|
|
407
|
+
- lib/net/connector/netdisco/report/files.rb
|
|
408
|
+
- lib/net/connector/netdisco/report/text.rb
|
|
483
409
|
- lib/net/connector/netdisco/result_store.rb
|
|
484
410
|
- lib/net/connector/netdisco/rules.rb
|
|
485
411
|
- lib/net/connector/netdisco/settings.rb
|
|
412
|
+
- lib/net/connector/netdisco/tftp_archive.rb
|
|
413
|
+
- lib/net/connector/netdisco/tftp_history.rb
|
|
414
|
+
- lib/net/connector/netdisco/tftp_verification.rb
|
|
486
415
|
- lib/net/connector/netdisco/worker.rb
|
|
487
416
|
- lib/net/connector/storage.rb
|
|
488
417
|
- lib/net/connector/storage/backup_lock.rb
|
|
418
|
+
- lib/net/connector/storage/batch_directory.rb
|
|
489
419
|
- lib/net/connector/storage/private_file.rb
|
|
490
420
|
- lib/net/connector/storage/safe_file.rb
|
|
491
421
|
- lib/net/connector/storage/saved_config.rb
|
|
@@ -524,6 +454,7 @@ files:
|
|
|
524
454
|
- lib/net/connector/vendor/palo_alto/tftp_backup.rb
|
|
525
455
|
- lib/net/connector/vendor/palo_alto/topology.rb
|
|
526
456
|
- lib/net/connector/vendor/radware.rb
|
|
457
|
+
- lib/net/connector/vendor/radware/running_config.rb
|
|
527
458
|
- lib/net/connector/vendor/radware/tftp_backup.rb
|
|
528
459
|
- lib/net/connector/vendor/radware/topology.rb
|
|
529
460
|
- lib/net/connector/version.rb
|
|
File without changes
|