netstack 0.1.1 → 0.2.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.
Files changed (279) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -3
  3. data/{LICENSE.txt → LICENSE} +7 -6
  4. data/NOTICE +25 -0
  5. data/README.md +58 -20
  6. data/docs/acceptance.md +92 -0
  7. data/docs/backups.md +100 -0
  8. data/docs/configuration.md +198 -0
  9. data/docs/connector.md +187 -0
  10. data/docs/ddi.md +142 -0
  11. data/docs/deployment.md +47 -0
  12. data/docs/foundations.md +45 -0
  13. data/docs/implementation.md +68 -0
  14. data/docs/inventory.md +42 -0
  15. data/docs/monitoring.md +227 -0
  16. data/docs/motor_integration.md +96 -0
  17. data/docs/performance.md +39 -0
  18. data/docs/release.md +20 -0
  19. data/docs/vxlan.md +91 -0
  20. data/docs/wireless.md +81 -0
  21. data/lib/netstack/backups/artifact.rb +23 -0
  22. data/lib/netstack/backups/diff.rb +15 -0
  23. data/lib/netstack/backups/repository.rb +77 -0
  24. data/lib/netstack/backups/request.rb +78 -0
  25. data/lib/netstack/circuits/business_calendar.rb +51 -0
  26. data/lib/netstack/circuits/capacity_review.rb +191 -0
  27. data/lib/netstack/circuits/endpoint.rb +25 -0
  28. data/lib/netstack/circuits/monitoring_plan.rb +212 -0
  29. data/lib/netstack/configuration/artifact.rb +85 -0
  30. data/lib/netstack/configuration/artifact_resolver.rb +30 -0
  31. data/lib/netstack/configuration/bootstrap/payload.rb +67 -0
  32. data/lib/netstack/configuration/bootstrap/validator.rb +224 -0
  33. data/lib/netstack/configuration/catalog.rb +60 -0
  34. data/lib/netstack/configuration/generator.rb +87 -0
  35. data/lib/netstack/configuration/input_contract.rb +82 -0
  36. data/lib/netstack/configuration/payload.rb +168 -0
  37. data/lib/netstack/configuration/reader.rb +124 -0
  38. data/lib/netstack/configuration/support.rb +30 -0
  39. data/lib/netstack/configuration/system_configuration.rb +56 -0
  40. data/lib/netstack/configuration/template_manager.rb +174 -0
  41. data/lib/netstack/configuration/template_store.rb +40 -0
  42. data/lib/netstack/configuration/validator.rb +566 -0
  43. data/lib/netstack/connector/authentication.rb +77 -0
  44. data/lib/netstack/connector/authentication_error.rb +11 -0
  45. data/lib/netstack/connector/backup.rb +19 -0
  46. data/lib/netstack/connector/backup_busy.rb +11 -0
  47. data/lib/netstack/connector/backup_persistence_error.rb +32 -0
  48. data/lib/netstack/connector/command.rb +63 -0
  49. data/lib/netstack/connector/command_result.rb +24 -0
  50. data/lib/netstack/connector/command_timeout.rb +11 -0
  51. data/lib/netstack/connector/configuration.rb +138 -0
  52. data/lib/netstack/connector/connection_closed.rb +11 -0
  53. data/lib/netstack/connector/connection_error.rb +11 -0
  54. data/lib/netstack/connector/device.rb +284 -0
  55. data/lib/netstack/connector/device_error.rb +11 -0
  56. data/lib/netstack/connector/dialogue.rb +55 -0
  57. data/lib/netstack/connector/error.rb +44 -0
  58. data/lib/netstack/connector/error_metadata.rb +58 -0
  59. data/lib/netstack/connector/event.rb +24 -0
  60. data/lib/netstack/connector/execution.rb +110 -0
  61. data/lib/netstack/connector/interaction.rb +55 -0
  62. data/lib/netstack/connector/internal_error.rb +11 -0
  63. data/lib/netstack/connector/known_hosts.rb +128 -0
  64. data/lib/netstack/connector/local_backup.rb +63 -0
  65. data/lib/netstack/connector/log/event.rb +65 -0
  66. data/lib/netstack/connector/log/formatter.rb +18 -0
  67. data/lib/netstack/connector/log/messages.rb +54 -0
  68. data/lib/netstack/connector/log/redacting_writer.rb +33 -0
  69. data/lib/netstack/connector/log/transcript.rb +35 -0
  70. data/lib/netstack/connector/log.rb +262 -0
  71. data/lib/netstack/connector/log_error.rb +11 -0
  72. data/lib/netstack/connector/login_timeout.rb +11 -0
  73. data/lib/netstack/connector/output_limit_exceeded.rb +11 -0
  74. data/lib/netstack/connector/parsing_error.rb +11 -0
  75. data/lib/netstack/connector/profile/builder.rb +238 -0
  76. data/lib/netstack/connector/profile.rb +225 -0
  77. data/lib/netstack/connector/prompt_error.rb +11 -0
  78. data/lib/netstack/connector/recovery.rb +59 -0
  79. data/lib/netstack/connector/redactor.rb +100 -0
  80. data/lib/netstack/connector/response.rb +25 -0
  81. data/lib/netstack/connector/response_reader.rb +140 -0
  82. data/lib/netstack/connector/result.rb +50 -0
  83. data/lib/netstack/connector/running_config/rendered.rb +16 -0
  84. data/lib/netstack/connector/running_config/strategy.rb +28 -0
  85. data/lib/netstack/connector/running_config.rb +113 -0
  86. data/lib/netstack/connector/save_config.rb +23 -0
  87. data/lib/netstack/connector/script.rb +59 -0
  88. data/lib/netstack/connector/script_error.rb +11 -0
  89. data/lib/netstack/connector/script_output_limit_exceeded.rb +11 -0
  90. data/lib/netstack/connector/session.rb +414 -0
  91. data/lib/netstack/connector/session_busy.rb +11 -0
  92. data/lib/netstack/connector/storage/backup_lock.rb +117 -0
  93. data/lib/netstack/connector/storage/private_file.rb +111 -0
  94. data/lib/netstack/connector/storage/safe_file.rb +64 -0
  95. data/lib/netstack/connector/storage/saved_config.rb +76 -0
  96. data/lib/netstack/connector/terminal_renderer.rb +186 -0
  97. data/lib/netstack/connector/terminal_text.rb +32 -0
  98. data/lib/netstack/connector/textfsm.rb +71 -0
  99. data/lib/netstack/connector/tftp/file_upload.rb +53 -0
  100. data/lib/netstack/connector/tftp/strategy.rb +67 -0
  101. data/lib/netstack/connector/tftp.rb +116 -0
  102. data/lib/netstack/connector/tftp_completion_error.rb +36 -0
  103. data/lib/netstack/connector/tftp_receipt.rb +54 -0
  104. data/lib/netstack/connector/tftp_target.rb +65 -0
  105. data/lib/netstack/connector/topology/checkpoint_error.rb +16 -0
  106. data/lib/netstack/connector/topology/deployment_adapter.rb +163 -0
  107. data/lib/netstack/connector/topology/execution_result.rb +34 -0
  108. data/lib/netstack/connector/topology/immediate_strategy.rb +39 -0
  109. data/lib/netstack/connector/topology/interface_description.rb +46 -0
  110. data/lib/netstack/connector/topology/interface_name.rb +60 -0
  111. data/lib/netstack/connector/topology/plan.rb +105 -0
  112. data/lib/netstack/connector/topology/strategy.rb +76 -0
  113. data/lib/netstack/connector/topology.rb +255 -0
  114. data/lib/netstack/connector/transport_error.rb +11 -0
  115. data/lib/netstack/connector/transports.rb +201 -0
  116. data/lib/netstack/connector/underlying_error.rb +25 -0
  117. data/lib/netstack/connector/unsupported_operation.rb +11 -0
  118. data/lib/netstack/connector/vendors/cisco_ios/running_config.rb +22 -0
  119. data/lib/netstack/connector/vendors/cisco_ios/tftp_backup.rb +41 -0
  120. data/lib/netstack/connector/vendors/cisco_ios/topology.rb +54 -0
  121. data/lib/netstack/connector/vendors/cisco_ios.rb +44 -0
  122. data/lib/netstack/connector/vendors/cisco_nxos/running_config.rb +25 -0
  123. data/lib/netstack/connector/vendors/cisco_nxos/tftp_backup.rb +43 -0
  124. data/lib/netstack/connector/vendors/cisco_nxos.rb +51 -0
  125. data/lib/netstack/connector/vendors/h3c/tftp_backup.rb +34 -0
  126. data/lib/netstack/connector/vendors/h3c/topology.rb +72 -0
  127. data/lib/netstack/connector/vendors/h3c.rb +75 -0
  128. data/lib/netstack/connector/vendors/h3c_wireless.rb +13 -0
  129. data/lib/netstack/connector/vendors/hillstone/running_config.rb +16 -0
  130. data/lib/netstack/connector/vendors/hillstone/tftp_backup.rb +55 -0
  131. data/lib/netstack/connector/vendors/hillstone/topology.rb +64 -0
  132. data/lib/netstack/connector/vendors/hillstone.rb +39 -0
  133. data/lib/netstack/connector/vendors/huawei/tftp_backup.rb +26 -0
  134. data/lib/netstack/connector/vendors/huawei.rb +62 -0
  135. data/lib/netstack/connector/vendors/palo_alto/running_config.rb +77 -0
  136. data/lib/netstack/connector/vendors/palo_alto/tftp_backup.rb +49 -0
  137. data/lib/netstack/connector/vendors/palo_alto/topology.rb +77 -0
  138. data/lib/netstack/connector/vendors/palo_alto.rb +39 -0
  139. data/lib/netstack/connector/vendors/radware/running_config.rb +21 -0
  140. data/lib/netstack/connector/vendors/radware/tftp_backup.rb +49 -0
  141. data/lib/netstack/connector/vendors/radware/topology.rb +19 -0
  142. data/lib/netstack/connector/vendors/radware.rb +59 -0
  143. data/lib/netstack/connector/write_timeout.rb +11 -0
  144. data/lib/netstack/connector.rb +32 -0
  145. data/lib/netstack/ddi/applier.rb +107 -0
  146. data/lib/netstack/ddi/deployment.rb +137 -0
  147. data/lib/netstack/ddi/inputs.rb +61 -0
  148. data/lib/netstack/ddi/manager.rb +197 -0
  149. data/lib/netstack/ddi/plan.rb +99 -0
  150. data/lib/netstack/ddi/scope.rb +127 -0
  151. data/lib/netstack/ddi/settings.rb +44 -0
  152. data/lib/netstack/ddi/state.rb +166 -0
  153. data/lib/netstack/deployment/checkpoint_error.rb +14 -0
  154. data/lib/netstack/deployment/cli_adapter.rb +64 -0
  155. data/lib/netstack/deployment/executor.rb +131 -0
  156. data/lib/netstack/deployment/plan.rb +82 -0
  157. data/lib/netstack/deployment/receipt.rb +78 -0
  158. data/lib/netstack/deployment/recovery.rb +19 -0
  159. data/lib/netstack/deployment/step.rb +16 -0
  160. data/lib/netstack/dimension.rb +30 -0
  161. data/lib/netstack/error.rb +14 -0
  162. data/lib/netstack/input_error.rb +9 -0
  163. data/lib/netstack/integrations/bluecat/client.rb +84 -0
  164. data/lib/netstack/integrations/http/client.rb +146 -0
  165. data/lib/netstack/integrations/http/error.rb +10 -0
  166. data/lib/netstack/integrations/http/response.rb +28 -0
  167. data/lib/netstack/integrations/http_delivery/adapter.rb +51 -0
  168. data/lib/netstack/integrations/http_delivery/client.rb +127 -0
  169. data/lib/netstack/integrations/http_delivery/result.rb +27 -0
  170. data/lib/netstack/integrations/oxidized/client.rb +89 -0
  171. data/lib/netstack/integrations/zabbix/client.rb +211 -0
  172. data/lib/netstack/integrations/zabbix/error.rb +10 -0
  173. data/lib/netstack/inventory/address.rb +30 -0
  174. data/lib/netstack/inventory/changes.rb +13 -0
  175. data/lib/netstack/inventory/cli_parser.rb +75 -0
  176. data/lib/netstack/inventory/collector.rb +99 -0
  177. data/lib/netstack/inventory/device.rb +14 -0
  178. data/lib/netstack/inventory/interface.rb +25 -0
  179. data/lib/netstack/inventory/neighbor.rb +15 -0
  180. data/lib/netstack/inventory/reconciler.rb +74 -0
  181. data/lib/netstack/inventory/snapshot.rb +69 -0
  182. data/lib/netstack/inventory/transceiver.rb +23 -0
  183. data/lib/netstack/ipv4.rb +204 -0
  184. data/lib/netstack/ipv6.rb +88 -0
  185. data/lib/netstack/monitoring/applier.rb +179 -0
  186. data/lib/netstack/monitoring/device_plan.rb +23 -0
  187. data/lib/netstack/monitoring/host_plan.rb +152 -0
  188. data/lib/netstack/monitoring/inputs.rb +73 -0
  189. data/lib/netstack/monitoring/measurements.rb +89 -0
  190. data/lib/netstack/monitoring/mutation.rb +37 -0
  191. data/lib/netstack/monitoring/plan.rb +69 -0
  192. data/lib/netstack/monitoring/probe_plan.rb +19 -0
  193. data/lib/netstack/monitoring/state_comparison.rb +37 -0
  194. data/lib/netstack/range_set.rb +181 -0
  195. data/lib/netstack/routing/lookup.rb +46 -0
  196. data/lib/netstack/routing/lookup_result.rb +14 -0
  197. data/lib/netstack/routing/route.rb +32 -0
  198. data/lib/netstack/routing/snapshot.rb +23 -0
  199. data/lib/netstack/target.rb +15 -0
  200. data/lib/netstack/unsupported_capability.rb +9 -0
  201. data/lib/netstack/values.rb +70 -0
  202. data/lib/netstack/version.rb +1 -1
  203. data/lib/netstack/vxlan/auditor.rb +187 -0
  204. data/lib/netstack/vxlan/cisco_nxos/config_parser.rb +327 -0
  205. data/lib/netstack/vxlan/cisco_nxos/deployment_adapter.rb +63 -0
  206. data/lib/netstack/vxlan/cisco_nxos/runtime_parser.rb +182 -0
  207. data/lib/netstack/vxlan/cisco_nxos/segment_renderer.rb +42 -0
  208. data/lib/netstack/vxlan/collector.rb +77 -0
  209. data/lib/netstack/vxlan/fabric.rb +29 -0
  210. data/lib/netstack/vxlan/finding.rb +20 -0
  211. data/lib/netstack/vxlan/node.rb +51 -0
  212. data/lib/netstack/vxlan/route_policy.rb +57 -0
  213. data/lib/netstack/vxlan/runtime_result.rb +24 -0
  214. data/lib/netstack/vxlan/segment.rb +35 -0
  215. data/lib/netstack/vxlan/segment_plan.rb +25 -0
  216. data/lib/netstack/vxlan/segment_planner.rb +156 -0
  217. data/lib/netstack/vxlan/snapshot.rb +34 -0
  218. data/lib/netstack/vxlan/validation.rb +58 -0
  219. data/lib/netstack/vxlan/verifier.rb +52 -0
  220. data/lib/netstack/vxlan/vpc_domain.rb +20 -0
  221. data/lib/netstack/wireless/access_point.rb +12 -0
  222. data/lib/netstack/wireless/ap_group.rb +12 -0
  223. data/lib/netstack/wireless/assessment.rb +13 -0
  224. data/lib/netstack/wireless/assessor.rb +83 -0
  225. data/lib/netstack/wireless/authentication_connection.rb +12 -0
  226. data/lib/netstack/wireless/bss.rb +12 -0
  227. data/lib/netstack/wireless/client.rb +12 -0
  228. data/lib/netstack/wireless/collector.rb +191 -0
  229. data/lib/netstack/wireless/configuration.rb +13 -0
  230. data/lib/netstack/wireless/finding.rb +12 -0
  231. data/lib/netstack/wireless/h3c/config_parser.rb +229 -0
  232. data/lib/netstack/wireless/h3c/lldp_parser.rb +69 -0
  233. data/lib/netstack/wireless/h3c/runtime_parser.rb +240 -0
  234. data/lib/netstack/wireless/huawei/runtime_parser.rb +83 -0
  235. data/lib/netstack/wireless/invalid_snapshot.rb +11 -0
  236. data/lib/netstack/wireless/neighbor.rb +12 -0
  237. data/lib/netstack/wireless/normalizer.rb +90 -0
  238. data/lib/netstack/wireless/parse_result.rb +13 -0
  239. data/lib/netstack/wireless/radio.rb +12 -0
  240. data/lib/netstack/wireless/reconciler.rb +115 -0
  241. data/lib/netstack/wireless/reconciliation.rb +11 -0
  242. data/lib/netstack/wireless/security_policy.rb +12 -0
  243. data/lib/netstack/wireless/service_template.rb +12 -0
  244. data/lib/netstack/wireless/service_template_bindings.rb +56 -0
  245. data/lib/netstack/wireless/snapshot.rb +150 -0
  246. data/lib/netstack/wireless/state.rb +23 -0
  247. data/lib/netstack/wireless/view.rb +154 -0
  248. data/lib/netstack.rb +10 -3
  249. data/resources/configuration/cisco-bootstrap.erb +118 -0
  250. data/resources/configuration/cisco-distributed-gateway.erb +40 -0
  251. data/resources/configuration/cisco-n9k-vpc.erb +62 -0
  252. data/resources/configuration/cisco-server-port.erb +43 -0
  253. data/resources/configuration/h3c-bootstrap.erb +108 -0
  254. data/resources/configuration/h3c-irf.erb +57 -0
  255. data/resources/configuration/h3c-server-port.erb +36 -0
  256. data/resources/configuration/hillstone-ipsec-vpn.erb +68 -0
  257. data/resources/configuration/hillstone-policy.erb +31 -0
  258. data/resources/configuration/paloalto-ipsec-vpn.erb +39 -0
  259. data/resources/configuration/radware-load-balancer.erb +26 -0
  260. data/resources/textfsm/cisco_cdp_neighbors_detail.textfsm +7 -0
  261. data/resources/textfsm/cisco_ios_running_config_interfaces.textfsm +12 -0
  262. data/resources/textfsm/cisco_ios_show_ip_interface_brief.textfsm +7 -0
  263. data/resources/textfsm/h3c_interface_descriptions.textfsm +11 -0
  264. data/resources/textfsm/h3c_lldp_local_first.textfsm +8 -0
  265. data/resources/textfsm/h3c_lldp_name_first.textfsm +8 -0
  266. data/resources/textfsm/hillstone_interface_descriptions.textfsm +11 -0
  267. data/resources/textfsm/hillstone_lldp_neighbors.textfsm +7 -0
  268. data/resources/textfsm/index +8 -0
  269. data/resources/textfsm/palo_alto_interface_descriptions.textfsm +6 -0
  270. data/resources/textfsm/palo_alto_lldp_neighbors.textfsm +11 -0
  271. data/resources/textfsm/radware_port_names.textfsm +13 -0
  272. metadata +588 -27
  273. data/.rubocop.yml +0 -13
  274. data/CODE_OF_CONDUCT.md +0 -84
  275. data/Gemfile +0 -10
  276. data/Gemfile.lock +0 -40
  277. data/Rakefile +0 -8
  278. data/bin/console +0 -15
  279. data/bin/setup +0 -8
metadata CHANGED
@@ -1,43 +1,605 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netstack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - WENWU YAN
8
- autorequire:
9
- bindir: exe
7
+ - netstack contributors
8
+ bindir: bin
10
9
  cert_chain: []
11
- date: 2021-12-17 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Write a longer description or delete this line.
14
- email:
15
- - careline@foxmail.com
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: zeitwerk
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '2.7'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '2.7'
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '8.1'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '8.1'
40
+ - !ruby/object:Gem::Dependency
41
+ name: expect-pty
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.5.3
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.5.3
54
+ - !ruby/object:Gem::Dependency
55
+ name: textfsm
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.2.0
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 0.2.0
68
+ - !ruby/object:Gem::Dependency
69
+ name: digest
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: english
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: fileutils
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: forwardable
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: io-console
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: ipaddr
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: json
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: logger
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ - !ruby/object:Gem::Dependency
181
+ name: net-http
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ type: :runtime
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: open3
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ - !ruby/object:Gem::Dependency
209
+ name: openssl
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ type: :runtime
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: securerandom
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ type: :runtime
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ - !ruby/object:Gem::Dependency
237
+ name: shellwords
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ - !ruby/object:Gem::Dependency
251
+ name: stringio
252
+ requirement: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ type: :runtime
258
+ prerelease: false
259
+ version_requirements: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ - !ruby/object:Gem::Dependency
265
+ name: tempfile
266
+ requirement: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ type: :runtime
272
+ prerelease: false
273
+ version_requirements: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ - !ruby/object:Gem::Dependency
279
+ name: time
280
+ requirement: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ type: :runtime
286
+ prerelease: false
287
+ version_requirements: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: timeout
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
306
+ - !ruby/object:Gem::Dependency
307
+ name: uri
308
+ requirement: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ type: :runtime
314
+ prerelease: false
315
+ version_requirements: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ description: Independent Ruby network business library with device sessions, inventory,
321
+ wireless, VXLAN, monitoring and configuration delivery.
16
322
  executables: []
17
323
  extensions: []
18
324
  extra_rdoc_files: []
19
325
  files:
20
- - ".rubocop.yml"
21
326
  - CHANGELOG.md
22
- - CODE_OF_CONDUCT.md
23
- - Gemfile
24
- - Gemfile.lock
25
- - LICENSE.txt
327
+ - LICENSE
328
+ - NOTICE
26
329
  - README.md
27
- - Rakefile
28
- - bin/console
29
- - bin/setup
330
+ - docs/acceptance.md
331
+ - docs/backups.md
332
+ - docs/configuration.md
333
+ - docs/connector.md
334
+ - docs/ddi.md
335
+ - docs/deployment.md
336
+ - docs/foundations.md
337
+ - docs/implementation.md
338
+ - docs/inventory.md
339
+ - docs/monitoring.md
340
+ - docs/motor_integration.md
341
+ - docs/performance.md
342
+ - docs/release.md
343
+ - docs/vxlan.md
344
+ - docs/wireless.md
30
345
  - lib/netstack.rb
346
+ - lib/netstack/backups/artifact.rb
347
+ - lib/netstack/backups/diff.rb
348
+ - lib/netstack/backups/repository.rb
349
+ - lib/netstack/backups/request.rb
350
+ - lib/netstack/circuits/business_calendar.rb
351
+ - lib/netstack/circuits/capacity_review.rb
352
+ - lib/netstack/circuits/endpoint.rb
353
+ - lib/netstack/circuits/monitoring_plan.rb
354
+ - lib/netstack/configuration/artifact.rb
355
+ - lib/netstack/configuration/artifact_resolver.rb
356
+ - lib/netstack/configuration/bootstrap/payload.rb
357
+ - lib/netstack/configuration/bootstrap/validator.rb
358
+ - lib/netstack/configuration/catalog.rb
359
+ - lib/netstack/configuration/generator.rb
360
+ - lib/netstack/configuration/input_contract.rb
361
+ - lib/netstack/configuration/payload.rb
362
+ - lib/netstack/configuration/reader.rb
363
+ - lib/netstack/configuration/support.rb
364
+ - lib/netstack/configuration/system_configuration.rb
365
+ - lib/netstack/configuration/template_manager.rb
366
+ - lib/netstack/configuration/template_store.rb
367
+ - lib/netstack/configuration/validator.rb
368
+ - lib/netstack/connector.rb
369
+ - lib/netstack/connector/authentication.rb
370
+ - lib/netstack/connector/authentication_error.rb
371
+ - lib/netstack/connector/backup.rb
372
+ - lib/netstack/connector/backup_busy.rb
373
+ - lib/netstack/connector/backup_persistence_error.rb
374
+ - lib/netstack/connector/command.rb
375
+ - lib/netstack/connector/command_result.rb
376
+ - lib/netstack/connector/command_timeout.rb
377
+ - lib/netstack/connector/configuration.rb
378
+ - lib/netstack/connector/connection_closed.rb
379
+ - lib/netstack/connector/connection_error.rb
380
+ - lib/netstack/connector/device.rb
381
+ - lib/netstack/connector/device_error.rb
382
+ - lib/netstack/connector/dialogue.rb
383
+ - lib/netstack/connector/error.rb
384
+ - lib/netstack/connector/error_metadata.rb
385
+ - lib/netstack/connector/event.rb
386
+ - lib/netstack/connector/execution.rb
387
+ - lib/netstack/connector/interaction.rb
388
+ - lib/netstack/connector/internal_error.rb
389
+ - lib/netstack/connector/known_hosts.rb
390
+ - lib/netstack/connector/local_backup.rb
391
+ - lib/netstack/connector/log.rb
392
+ - lib/netstack/connector/log/event.rb
393
+ - lib/netstack/connector/log/formatter.rb
394
+ - lib/netstack/connector/log/messages.rb
395
+ - lib/netstack/connector/log/redacting_writer.rb
396
+ - lib/netstack/connector/log/transcript.rb
397
+ - lib/netstack/connector/log_error.rb
398
+ - lib/netstack/connector/login_timeout.rb
399
+ - lib/netstack/connector/output_limit_exceeded.rb
400
+ - lib/netstack/connector/parsing_error.rb
401
+ - lib/netstack/connector/profile.rb
402
+ - lib/netstack/connector/profile/builder.rb
403
+ - lib/netstack/connector/prompt_error.rb
404
+ - lib/netstack/connector/recovery.rb
405
+ - lib/netstack/connector/redactor.rb
406
+ - lib/netstack/connector/response.rb
407
+ - lib/netstack/connector/response_reader.rb
408
+ - lib/netstack/connector/result.rb
409
+ - lib/netstack/connector/running_config.rb
410
+ - lib/netstack/connector/running_config/rendered.rb
411
+ - lib/netstack/connector/running_config/strategy.rb
412
+ - lib/netstack/connector/save_config.rb
413
+ - lib/netstack/connector/script.rb
414
+ - lib/netstack/connector/script_error.rb
415
+ - lib/netstack/connector/script_output_limit_exceeded.rb
416
+ - lib/netstack/connector/session.rb
417
+ - lib/netstack/connector/session_busy.rb
418
+ - lib/netstack/connector/storage/backup_lock.rb
419
+ - lib/netstack/connector/storage/private_file.rb
420
+ - lib/netstack/connector/storage/safe_file.rb
421
+ - lib/netstack/connector/storage/saved_config.rb
422
+ - lib/netstack/connector/terminal_renderer.rb
423
+ - lib/netstack/connector/terminal_text.rb
424
+ - lib/netstack/connector/textfsm.rb
425
+ - lib/netstack/connector/tftp.rb
426
+ - lib/netstack/connector/tftp/file_upload.rb
427
+ - lib/netstack/connector/tftp/strategy.rb
428
+ - lib/netstack/connector/tftp_completion_error.rb
429
+ - lib/netstack/connector/tftp_receipt.rb
430
+ - lib/netstack/connector/tftp_target.rb
431
+ - lib/netstack/connector/topology.rb
432
+ - lib/netstack/connector/topology/checkpoint_error.rb
433
+ - lib/netstack/connector/topology/deployment_adapter.rb
434
+ - lib/netstack/connector/topology/execution_result.rb
435
+ - lib/netstack/connector/topology/immediate_strategy.rb
436
+ - lib/netstack/connector/topology/interface_description.rb
437
+ - lib/netstack/connector/topology/interface_name.rb
438
+ - lib/netstack/connector/topology/plan.rb
439
+ - lib/netstack/connector/topology/strategy.rb
440
+ - lib/netstack/connector/transport_error.rb
441
+ - lib/netstack/connector/transports.rb
442
+ - lib/netstack/connector/underlying_error.rb
443
+ - lib/netstack/connector/unsupported_operation.rb
444
+ - lib/netstack/connector/vendors/cisco_ios.rb
445
+ - lib/netstack/connector/vendors/cisco_ios/running_config.rb
446
+ - lib/netstack/connector/vendors/cisco_ios/tftp_backup.rb
447
+ - lib/netstack/connector/vendors/cisco_ios/topology.rb
448
+ - lib/netstack/connector/vendors/cisco_nxos.rb
449
+ - lib/netstack/connector/vendors/cisco_nxos/running_config.rb
450
+ - lib/netstack/connector/vendors/cisco_nxos/tftp_backup.rb
451
+ - lib/netstack/connector/vendors/h3c.rb
452
+ - lib/netstack/connector/vendors/h3c/tftp_backup.rb
453
+ - lib/netstack/connector/vendors/h3c/topology.rb
454
+ - lib/netstack/connector/vendors/h3c_wireless.rb
455
+ - lib/netstack/connector/vendors/hillstone.rb
456
+ - lib/netstack/connector/vendors/hillstone/running_config.rb
457
+ - lib/netstack/connector/vendors/hillstone/tftp_backup.rb
458
+ - lib/netstack/connector/vendors/hillstone/topology.rb
459
+ - lib/netstack/connector/vendors/huawei.rb
460
+ - lib/netstack/connector/vendors/huawei/tftp_backup.rb
461
+ - lib/netstack/connector/vendors/palo_alto.rb
462
+ - lib/netstack/connector/vendors/palo_alto/running_config.rb
463
+ - lib/netstack/connector/vendors/palo_alto/tftp_backup.rb
464
+ - lib/netstack/connector/vendors/palo_alto/topology.rb
465
+ - lib/netstack/connector/vendors/radware.rb
466
+ - lib/netstack/connector/vendors/radware/running_config.rb
467
+ - lib/netstack/connector/vendors/radware/tftp_backup.rb
468
+ - lib/netstack/connector/vendors/radware/topology.rb
469
+ - lib/netstack/connector/write_timeout.rb
470
+ - lib/netstack/ddi/applier.rb
471
+ - lib/netstack/ddi/deployment.rb
472
+ - lib/netstack/ddi/inputs.rb
473
+ - lib/netstack/ddi/manager.rb
474
+ - lib/netstack/ddi/plan.rb
475
+ - lib/netstack/ddi/scope.rb
476
+ - lib/netstack/ddi/settings.rb
477
+ - lib/netstack/ddi/state.rb
478
+ - lib/netstack/deployment/checkpoint_error.rb
479
+ - lib/netstack/deployment/cli_adapter.rb
480
+ - lib/netstack/deployment/executor.rb
481
+ - lib/netstack/deployment/plan.rb
482
+ - lib/netstack/deployment/receipt.rb
483
+ - lib/netstack/deployment/recovery.rb
484
+ - lib/netstack/deployment/step.rb
485
+ - lib/netstack/dimension.rb
486
+ - lib/netstack/error.rb
487
+ - lib/netstack/input_error.rb
488
+ - lib/netstack/integrations/bluecat/client.rb
489
+ - lib/netstack/integrations/http/client.rb
490
+ - lib/netstack/integrations/http/error.rb
491
+ - lib/netstack/integrations/http/response.rb
492
+ - lib/netstack/integrations/http_delivery/adapter.rb
493
+ - lib/netstack/integrations/http_delivery/client.rb
494
+ - lib/netstack/integrations/http_delivery/result.rb
495
+ - lib/netstack/integrations/oxidized/client.rb
496
+ - lib/netstack/integrations/zabbix/client.rb
497
+ - lib/netstack/integrations/zabbix/error.rb
498
+ - lib/netstack/inventory/address.rb
499
+ - lib/netstack/inventory/changes.rb
500
+ - lib/netstack/inventory/cli_parser.rb
501
+ - lib/netstack/inventory/collector.rb
502
+ - lib/netstack/inventory/device.rb
503
+ - lib/netstack/inventory/interface.rb
504
+ - lib/netstack/inventory/neighbor.rb
505
+ - lib/netstack/inventory/reconciler.rb
506
+ - lib/netstack/inventory/snapshot.rb
507
+ - lib/netstack/inventory/transceiver.rb
508
+ - lib/netstack/ipv4.rb
509
+ - lib/netstack/ipv6.rb
510
+ - lib/netstack/monitoring/applier.rb
511
+ - lib/netstack/monitoring/device_plan.rb
512
+ - lib/netstack/monitoring/host_plan.rb
513
+ - lib/netstack/monitoring/inputs.rb
514
+ - lib/netstack/monitoring/measurements.rb
515
+ - lib/netstack/monitoring/mutation.rb
516
+ - lib/netstack/monitoring/plan.rb
517
+ - lib/netstack/monitoring/probe_plan.rb
518
+ - lib/netstack/monitoring/state_comparison.rb
519
+ - lib/netstack/range_set.rb
520
+ - lib/netstack/routing/lookup.rb
521
+ - lib/netstack/routing/lookup_result.rb
522
+ - lib/netstack/routing/route.rb
523
+ - lib/netstack/routing/snapshot.rb
524
+ - lib/netstack/target.rb
525
+ - lib/netstack/unsupported_capability.rb
526
+ - lib/netstack/values.rb
31
527
  - lib/netstack/version.rb
32
- homepage: https://github.com/snmpd/netstack
528
+ - lib/netstack/vxlan/auditor.rb
529
+ - lib/netstack/vxlan/cisco_nxos/config_parser.rb
530
+ - lib/netstack/vxlan/cisco_nxos/deployment_adapter.rb
531
+ - lib/netstack/vxlan/cisco_nxos/runtime_parser.rb
532
+ - lib/netstack/vxlan/cisco_nxos/segment_renderer.rb
533
+ - lib/netstack/vxlan/collector.rb
534
+ - lib/netstack/vxlan/fabric.rb
535
+ - lib/netstack/vxlan/finding.rb
536
+ - lib/netstack/vxlan/node.rb
537
+ - lib/netstack/vxlan/route_policy.rb
538
+ - lib/netstack/vxlan/runtime_result.rb
539
+ - lib/netstack/vxlan/segment.rb
540
+ - lib/netstack/vxlan/segment_plan.rb
541
+ - lib/netstack/vxlan/segment_planner.rb
542
+ - lib/netstack/vxlan/snapshot.rb
543
+ - lib/netstack/vxlan/validation.rb
544
+ - lib/netstack/vxlan/verifier.rb
545
+ - lib/netstack/vxlan/vpc_domain.rb
546
+ - lib/netstack/wireless/access_point.rb
547
+ - lib/netstack/wireless/ap_group.rb
548
+ - lib/netstack/wireless/assessment.rb
549
+ - lib/netstack/wireless/assessor.rb
550
+ - lib/netstack/wireless/authentication_connection.rb
551
+ - lib/netstack/wireless/bss.rb
552
+ - lib/netstack/wireless/client.rb
553
+ - lib/netstack/wireless/collector.rb
554
+ - lib/netstack/wireless/configuration.rb
555
+ - lib/netstack/wireless/finding.rb
556
+ - lib/netstack/wireless/h3c/config_parser.rb
557
+ - lib/netstack/wireless/h3c/lldp_parser.rb
558
+ - lib/netstack/wireless/h3c/runtime_parser.rb
559
+ - lib/netstack/wireless/huawei/runtime_parser.rb
560
+ - lib/netstack/wireless/invalid_snapshot.rb
561
+ - lib/netstack/wireless/neighbor.rb
562
+ - lib/netstack/wireless/normalizer.rb
563
+ - lib/netstack/wireless/parse_result.rb
564
+ - lib/netstack/wireless/radio.rb
565
+ - lib/netstack/wireless/reconciler.rb
566
+ - lib/netstack/wireless/reconciliation.rb
567
+ - lib/netstack/wireless/security_policy.rb
568
+ - lib/netstack/wireless/service_template.rb
569
+ - lib/netstack/wireless/service_template_bindings.rb
570
+ - lib/netstack/wireless/snapshot.rb
571
+ - lib/netstack/wireless/state.rb
572
+ - lib/netstack/wireless/view.rb
573
+ - resources/configuration/cisco-bootstrap.erb
574
+ - resources/configuration/cisco-distributed-gateway.erb
575
+ - resources/configuration/cisco-n9k-vpc.erb
576
+ - resources/configuration/cisco-server-port.erb
577
+ - resources/configuration/h3c-bootstrap.erb
578
+ - resources/configuration/h3c-irf.erb
579
+ - resources/configuration/h3c-server-port.erb
580
+ - resources/configuration/hillstone-ipsec-vpn.erb
581
+ - resources/configuration/hillstone-policy.erb
582
+ - resources/configuration/paloalto-ipsec-vpn.erb
583
+ - resources/configuration/radware-load-balancer.erb
584
+ - resources/textfsm/cisco_cdp_neighbors_detail.textfsm
585
+ - resources/textfsm/cisco_ios_running_config_interfaces.textfsm
586
+ - resources/textfsm/cisco_ios_show_ip_interface_brief.textfsm
587
+ - resources/textfsm/h3c_interface_descriptions.textfsm
588
+ - resources/textfsm/h3c_lldp_local_first.textfsm
589
+ - resources/textfsm/h3c_lldp_name_first.textfsm
590
+ - resources/textfsm/hillstone_interface_descriptions.textfsm
591
+ - resources/textfsm/hillstone_lldp_neighbors.textfsm
592
+ - resources/textfsm/index
593
+ - resources/textfsm/palo_alto_interface_descriptions.textfsm
594
+ - resources/textfsm/palo_alto_lldp_neighbors.textfsm
595
+ - resources/textfsm/radware_port_names.textfsm
596
+ homepage: https://github.com/gatework/netstack
33
597
  licenses:
34
598
  - MIT
35
599
  metadata:
36
- allowed_push_host: https://rubygems.org
37
- homepage_uri: https://github.com/snmpd/netstack
38
- source_code_uri: https://github.com/snmpd/netstack
39
- changelog_uri: https://github.com/snmpd/netstack
40
- post_install_message:
600
+ rubygems_mfa_required: 'true'
601
+ source_code_uri: https://github.com/gatework/netstack
602
+ changelog_uri: https://github.com/gatework/netstack/blob/main/CHANGELOG.md
41
603
  rdoc_options: []
42
604
  require_paths:
43
605
  - lib
@@ -45,15 +607,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
45
607
  requirements:
46
608
  - - ">="
47
609
  - !ruby/object:Gem::Version
48
- version: 2.4.0
610
+ version: '3.4'
49
611
  required_rubygems_version: !ruby/object:Gem::Requirement
50
612
  requirements:
51
613
  - - ">="
52
614
  - !ruby/object:Gem::Version
53
615
  version: '0'
54
616
  requirements: []
55
- rubygems_version: 3.2.22
56
- signing_key:
617
+ rubygems_version: 3.6.9
57
618
  specification_version: 4
58
- summary: Write a short summary, because RubyGems requires one.
619
+ summary: Ruby network operations, observations, planning and verified execution
59
620
  test_files: []
data/.rubocop.yml DELETED
@@ -1,13 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.4
3
-
4
- Style/StringLiterals:
5
- Enabled: true
6
- EnforcedStyle: double_quotes
7
-
8
- Style/StringLiteralsInInterpolation:
9
- Enabled: true
10
- EnforcedStyle: double_quotes
11
-
12
- Layout/LineLength:
13
- Max: 120