annet 3.1.0__tar.gz → 3.1.1__tar.gz

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.

Potentially problematic release.


This version of annet might be problematic. Click here for more details.

Files changed (225) hide show
  1. {annet-3.1.0/annet.egg-info → annet-3.1.1}/PKG-INFO +1 -1
  2. annet-3.1.1/annet/vendors/library/arista.py +30 -0
  3. annet-3.1.1/annet/vendors/library/aruba.py +30 -0
  4. annet-3.1.1/annet/vendors/library/b4com.py +27 -0
  5. annet-3.1.1/annet/vendors/library/cisco.py +30 -0
  6. annet-3.1.1/annet/vendors/library/h3c.py +27 -0
  7. annet-3.1.1/annet/vendors/library/huawei.py +30 -0
  8. annet-3.1.1/annet/vendors/library/iosxr.py +30 -0
  9. annet-3.1.1/annet/vendors/library/juniper.py +33 -0
  10. annet-3.1.1/annet/vendors/library/nexus.py +27 -0
  11. annet-3.1.1/annet/vendors/library/nokia.py +30 -0
  12. annet-3.1.1/annet/vendors/library/optixtrans.py +27 -0
  13. annet-3.1.1/annet/vendors/library/pc.py +27 -0
  14. annet-3.1.1/annet/vendors/library/ribbon.py +30 -0
  15. annet-3.1.1/annet/vendors/library/routeros.py +27 -0
  16. {annet-3.1.0 → annet-3.1.1/annet.egg-info}/PKG-INFO +1 -1
  17. {annet-3.1.0 → annet-3.1.1}/annet.egg-info/SOURCES.txt +15 -0
  18. annet-3.1.1/annet_generators/__init__.py +0 -0
  19. {annet-3.1.0 → annet-3.1.1}/AUTHORS +0 -0
  20. {annet-3.1.0 → annet-3.1.1}/LICENSE +0 -0
  21. {annet-3.1.0 → annet-3.1.1}/MANIFEST.in +0 -0
  22. {annet-3.1.0 → annet-3.1.1}/README.md +0 -0
  23. {annet-3.1.0 → annet-3.1.1}/annet/__init__.py +0 -0
  24. {annet-3.1.0 → annet-3.1.1}/annet/adapters/__init__.py +0 -0
  25. {annet-3.1.0 → annet-3.1.1}/annet/adapters/fetchers/__init__.py +0 -0
  26. {annet-3.1.0 → annet-3.1.1}/annet/adapters/fetchers/stub/__init__.py +0 -0
  27. {annet-3.1.0 → annet-3.1.1}/annet/adapters/fetchers/stub/fetcher.py +0 -0
  28. {annet-3.1.0 → annet-3.1.1}/annet/adapters/file/__init__.py +0 -0
  29. {annet-3.1.0 → annet-3.1.1}/annet/adapters/file/provider.py +0 -0
  30. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/__init__.py +0 -0
  31. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/__init__.py +0 -0
  32. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/adapter.py +0 -0
  33. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/client.py +0 -0
  34. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/manufacturer.py +0 -0
  35. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/models.py +0 -0
  36. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/query.py +0 -0
  37. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/status_client.py +0 -0
  38. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/storage_base.py +0 -0
  39. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/common/storage_opts.py +0 -0
  40. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/provider.py +0 -0
  41. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v24/__init__.py +0 -0
  42. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v24/models.py +0 -0
  43. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v24/storage.py +0 -0
  44. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v37/__init__.py +0 -0
  45. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v37/models.py +0 -0
  46. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v37/storage.py +0 -0
  47. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v41/__init__.py +0 -0
  48. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v41/models.py +0 -0
  49. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v41/storage.py +0 -0
  50. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v42/__init__.py +0 -0
  51. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v42/models.py +0 -0
  52. {annet-3.1.0 → annet-3.1.1}/annet/adapters/netbox/v42/storage.py +0 -0
  53. {annet-3.1.0 → annet-3.1.1}/annet/annet.py +0 -0
  54. {annet-3.1.0 → annet-3.1.1}/annet/annlib/__init__.py +0 -0
  55. {annet-3.1.0 → annet-3.1.1}/annet/annlib/command.py +0 -0
  56. {annet-3.1.0 → annet-3.1.1}/annet/annlib/diff.py +0 -0
  57. {annet-3.1.0 → annet-3.1.1}/annet/annlib/errors.py +0 -0
  58. {annet-3.1.0 → annet-3.1.1}/annet/annlib/filter_acl.py +0 -0
  59. {annet-3.1.0 → annet-3.1.1}/annet/annlib/jsontools.py +0 -0
  60. {annet-3.1.0 → annet-3.1.1}/annet/annlib/lib.py +0 -0
  61. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/__init__.py +0 -0
  62. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/db.py +0 -0
  63. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/devdb/__init__.py +0 -0
  64. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/devdb/data/devdb.json +0 -0
  65. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/views/__init__.py +0 -0
  66. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/views/dump.py +0 -0
  67. {annet-3.1.0 → annet-3.1.1}/annet/annlib/netdev/views/hardware.py +0 -0
  68. {annet-3.1.0 → annet-3.1.1}/annet/annlib/output.py +0 -0
  69. {annet-3.1.0 → annet-3.1.1}/annet/annlib/patching.py +0 -0
  70. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/__init__.py +0 -0
  71. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/acl.py +0 -0
  72. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/deploying.py +0 -0
  73. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/ordering.py +0 -0
  74. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/platform.py +0 -0
  75. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rbparser/syntax.py +0 -0
  76. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rulebook/__init__.py +0 -0
  77. {annet-3.1.0 → annet-3.1.1}/annet/annlib/rulebook/common.py +0 -0
  78. {annet-3.1.0 → annet-3.1.1}/annet/annlib/tabparser.py +0 -0
  79. {annet-3.1.0 → annet-3.1.1}/annet/annlib/types.py +0 -0
  80. {annet-3.1.0 → annet-3.1.1}/annet/api/__init__.py +0 -0
  81. {annet-3.1.0 → annet-3.1.1}/annet/argparse.py +0 -0
  82. {annet-3.1.0 → annet-3.1.1}/annet/bgp_models.py +0 -0
  83. {annet-3.1.0 → annet-3.1.1}/annet/cli.py +0 -0
  84. {annet-3.1.0 → annet-3.1.1}/annet/cli_args.py +0 -0
  85. {annet-3.1.0 → annet-3.1.1}/annet/configs/context.yml +0 -0
  86. {annet-3.1.0 → annet-3.1.1}/annet/configs/logging.yaml +0 -0
  87. {annet-3.1.0 → annet-3.1.1}/annet/connectors.py +0 -0
  88. {annet-3.1.0 → annet-3.1.1}/annet/deploy.py +0 -0
  89. {annet-3.1.0 → annet-3.1.1}/annet/deploy_ui.py +0 -0
  90. {annet-3.1.0 → annet-3.1.1}/annet/diff.py +0 -0
  91. {annet-3.1.0 → annet-3.1.1}/annet/executor.py +0 -0
  92. {annet-3.1.0 → annet-3.1.1}/annet/filtering.py +0 -0
  93. {annet-3.1.0 → annet-3.1.1}/annet/gen.py +0 -0
  94. {annet-3.1.0 → annet-3.1.1}/annet/generators/__init__.py +0 -0
  95. {annet-3.1.0 → annet-3.1.1}/annet/generators/base.py +0 -0
  96. {annet-3.1.0 → annet-3.1.1}/annet/generators/common/__init__.py +0 -0
  97. {annet-3.1.0 → annet-3.1.1}/annet/generators/common/initial.py +0 -0
  98. {annet-3.1.0 → annet-3.1.1}/annet/generators/entire.py +0 -0
  99. {annet-3.1.0 → annet-3.1.1}/annet/generators/exceptions.py +0 -0
  100. {annet-3.1.0 → annet-3.1.1}/annet/generators/jsonfragment.py +0 -0
  101. {annet-3.1.0 → annet-3.1.1}/annet/generators/partial.py +0 -0
  102. {annet-3.1.0 → annet-3.1.1}/annet/generators/perf.py +0 -0
  103. {annet-3.1.0 → annet-3.1.1}/annet/generators/ref.py +0 -0
  104. {annet-3.1.0 → annet-3.1.1}/annet/generators/result.py +0 -0
  105. {annet-3.1.0 → annet-3.1.1}/annet/hardware.py +0 -0
  106. {annet-3.1.0 → annet-3.1.1}/annet/implicit.py +0 -0
  107. {annet-3.1.0 → annet-3.1.1}/annet/lib.py +0 -0
  108. {annet-3.1.0 → annet-3.1.1}/annet/mesh/__init__.py +0 -0
  109. {annet-3.1.0 → annet-3.1.1}/annet/mesh/basemodel.py +0 -0
  110. {annet-3.1.0 → annet-3.1.1}/annet/mesh/device_models.py +0 -0
  111. {annet-3.1.0 → annet-3.1.1}/annet/mesh/executor.py +0 -0
  112. {annet-3.1.0 → annet-3.1.1}/annet/mesh/match_args.py +0 -0
  113. {annet-3.1.0 → annet-3.1.1}/annet/mesh/models_converter.py +0 -0
  114. {annet-3.1.0 → annet-3.1.1}/annet/mesh/peer_models.py +0 -0
  115. {annet-3.1.0 → annet-3.1.1}/annet/mesh/port_processor.py +0 -0
  116. {annet-3.1.0 → annet-3.1.1}/annet/mesh/registry.py +0 -0
  117. {annet-3.1.0 → annet-3.1.1}/annet/output.py +0 -0
  118. {annet-3.1.0 → annet-3.1.1}/annet/parallel.py +0 -0
  119. {annet-3.1.0 → annet-3.1.1}/annet/patching.py +0 -0
  120. {annet-3.1.0 → annet-3.1.1}/annet/reference.py +0 -0
  121. {annet-3.1.0 → annet-3.1.1}/annet/rpl/__init__.py +0 -0
  122. {annet-3.1.0 → annet-3.1.1}/annet/rpl/action.py +0 -0
  123. {annet-3.1.0 → annet-3.1.1}/annet/rpl/condition.py +0 -0
  124. {annet-3.1.0 → annet-3.1.1}/annet/rpl/match_builder.py +0 -0
  125. {annet-3.1.0 → annet-3.1.1}/annet/rpl/policy.py +0 -0
  126. {annet-3.1.0 → annet-3.1.1}/annet/rpl/result.py +0 -0
  127. {annet-3.1.0 → annet-3.1.1}/annet/rpl/routemap.py +0 -0
  128. {annet-3.1.0 → annet-3.1.1}/annet/rpl/statement_builder.py +0 -0
  129. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/__init__.py +0 -0
  130. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/aspath.py +0 -0
  131. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/community.py +0 -0
  132. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/cumulus_frr.py +0 -0
  133. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/entities.py +0 -0
  134. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/execute.py +0 -0
  135. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/policy.py +0 -0
  136. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/prefix_lists.py +0 -0
  137. {annet-3.1.0 → annet-3.1.1}/annet/rpl_generators/rd.py +0 -0
  138. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/__init__.py +0 -0
  139. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/arista/__init__.py +0 -0
  140. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/arista/aaa.py +0 -0
  141. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/arista/iface.py +0 -0
  142. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/aruba/__init__.py +0 -0
  143. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/aruba/ap_env.py +0 -0
  144. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/aruba/misc.py +0 -0
  145. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/b4com/__init__.py +0 -0
  146. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/b4com/file.py +0 -0
  147. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/b4com/iface.py +0 -0
  148. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/cisco/__init__.py +0 -0
  149. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/cisco/iface.py +0 -0
  150. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/cisco/misc.py +0 -0
  151. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/cisco/vlandb.py +0 -0
  152. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/common.py +0 -0
  153. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/deploying.py +0 -0
  154. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/__init__.py +0 -0
  155. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/aaa.py +0 -0
  156. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/bgp.py +0 -0
  157. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/iface.py +0 -0
  158. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/misc.py +0 -0
  159. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/huawei/vlandb.py +0 -0
  160. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/juniper/__init__.py +0 -0
  161. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/nexus/__init__.py +0 -0
  162. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/nexus/iface.py +0 -0
  163. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/patching.py +0 -0
  164. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/routeros/__init__.py +0 -0
  165. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/routeros/file.py +0 -0
  166. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/arista.deploy +0 -0
  167. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/arista.order +0 -0
  168. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/arista.rul +0 -0
  169. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/aruba.deploy +0 -0
  170. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/aruba.order +0 -0
  171. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/aruba.rul +0 -0
  172. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/b4com.deploy +0 -0
  173. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/b4com.order +0 -0
  174. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/b4com.rul +0 -0
  175. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/cisco.deploy +0 -0
  176. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/cisco.order +0 -0
  177. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/cisco.rul +0 -0
  178. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/huawei.deploy +0 -0
  179. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/huawei.order +0 -0
  180. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/huawei.rul +0 -0
  181. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/iosxr.deploy +0 -0
  182. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/iosxr.order +0 -0
  183. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/iosxr.rul +0 -0
  184. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/juniper.order +0 -0
  185. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/juniper.rul +0 -0
  186. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/nexus.deploy +0 -0
  187. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/nexus.order +0 -0
  188. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/nexus.rul +0 -0
  189. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/nokia.rul +0 -0
  190. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/optixtrans.deploy +0 -0
  191. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/optixtrans.order +0 -0
  192. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/optixtrans.rul +0 -0
  193. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/pc.deploy +0 -0
  194. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/pc.order +0 -0
  195. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/pc.rul +0 -0
  196. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/ribbon.deploy +0 -0
  197. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/ribbon.rul +0 -0
  198. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/routeros.order +0 -0
  199. {annet-3.1.0 → annet-3.1.1}/annet/rulebook/texts/routeros.rul +0 -0
  200. {annet-3.1.0 → annet-3.1.1}/annet/storage.py +0 -0
  201. {annet-3.1.0 → annet-3.1.1}/annet/text_term_format.py +0 -0
  202. {annet-3.1.0 → annet-3.1.1}/annet/tracing.py +0 -0
  203. {annet-3.1.0 → annet-3.1.1}/annet/types.py +0 -0
  204. {annet-3.1.0 → annet-3.1.1}/annet/vendors/__init__.py +0 -0
  205. {annet-3.1.0 → annet-3.1.1}/annet/vendors/base.py +0 -0
  206. {annet-3.1.0/annet_generators → annet-3.1.1/annet/vendors/library}/__init__.py +0 -0
  207. {annet-3.1.0 → annet-3.1.1}/annet/vendors/registry.py +0 -0
  208. {annet-3.1.0 → annet-3.1.1}/annet.egg-info/dependency_links.txt +0 -0
  209. {annet-3.1.0 → annet-3.1.1}/annet.egg-info/entry_points.txt +0 -0
  210. {annet-3.1.0 → annet-3.1.1}/annet.egg-info/requires.txt +0 -0
  211. {annet-3.1.0 → annet-3.1.1}/annet.egg-info/top_level.txt +0 -0
  212. {annet-3.1.0 → annet-3.1.1}/annet_generators/example/__init__.py +0 -0
  213. {annet-3.1.0 → annet-3.1.1}/annet_generators/example/hostname.py +0 -0
  214. {annet-3.1.0 → annet-3.1.1}/annet_generators/example/lldp.py +0 -0
  215. {annet-3.1.0 → annet-3.1.1}/annet_generators/mesh_example/__init__.py +0 -0
  216. {annet-3.1.0 → annet-3.1.1}/annet_generators/mesh_example/bgp.py +0 -0
  217. {annet-3.1.0 → annet-3.1.1}/annet_generators/mesh_example/mesh_logic.py +0 -0
  218. {annet-3.1.0 → annet-3.1.1}/annet_generators/rpl_example/__init__.py +0 -0
  219. {annet-3.1.0 → annet-3.1.1}/annet_generators/rpl_example/generator.py +0 -0
  220. {annet-3.1.0 → annet-3.1.1}/annet_generators/rpl_example/items.py +0 -0
  221. {annet-3.1.0 → annet-3.1.1}/annet_generators/rpl_example/mesh.py +0 -0
  222. {annet-3.1.0 → annet-3.1.1}/annet_generators/rpl_example/route_policy.py +0 -0
  223. {annet-3.1.0 → annet-3.1.1}/requirements.txt +0 -0
  224. {annet-3.1.0 → annet-3.1.1}/setup.cfg +0 -0
  225. {annet-3.1.0 → annet-3.1.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.1.0
3
+ Version: 3.1.1
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import AristaFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class AristaVendor(AbstractVendor):
9
+ NAME = "arista"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Arista"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Arista")
21
+
22
+ def svi_name(self, num: int) -> str:
23
+ return f"Vlan{num}"
24
+
25
+ def make_formatter(self, **kwargs) -> AristaFormatter:
26
+ return AristaFormatter(**kwargs)
27
+
28
+ @property
29
+ def exit(self) -> str:
30
+ return "exit"
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import ArubaFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class ArubaVendor(AbstractVendor):
9
+ NAME = "aruba"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Aruba"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Aruba")
21
+
22
+ def make_formatter(self, **kwargs) -> ArubaFormatter:
23
+ return ArubaFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "exit"
28
+
29
+ def diff(self, order: bool) -> str:
30
+ return "common.ordered_diff" if order else "aruba.default_diff"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import B4comFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class B4ComVendor(AbstractVendor):
9
+ NAME = "b4com"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["B4com"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("B4com")
21
+
22
+ def make_formatter(self, **kwargs) -> B4comFormatter:
23
+ return B4comFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "exit"
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import CiscoFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class CiscoVendor(AbstractVendor):
9
+ NAME = "cisco"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Cisco"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Cisco")
21
+
22
+ def svi_name(self, num: int) -> str:
23
+ return f"Vlan{num}"
24
+
25
+ def make_formatter(self, **kwargs) -> CiscoFormatter:
26
+ return CiscoFormatter(**kwargs)
27
+
28
+ @property
29
+ def exit(self) -> str:
30
+ return "exit"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import HuaweiFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class H3CVendor(AbstractVendor):
9
+ NAME = "h3c"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["H3C"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "undo"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("H3C")
21
+
22
+ def make_formatter(self, **kwargs) -> HuaweiFormatter:
23
+ return HuaweiFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "quit"
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import HuaweiFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class HuaweiVendor(AbstractVendor):
9
+ NAME = "huawei"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Huawei"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "undo"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Huawei")
21
+
22
+ def svi_name(self, num: int) -> str:
23
+ return f"Vlanif{num}"
24
+
25
+ def make_formatter(self, **kwargs) -> HuaweiFormatter:
26
+ return HuaweiFormatter(**kwargs)
27
+
28
+ @property
29
+ def exit(self) -> str:
30
+ return "quit"
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import AsrFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class IosXrVendor(AbstractVendor):
9
+ NAME = "iosxr"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Cisco.XR", "Cisco.ASR", "Cisco.XRV"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Cisco XR")
21
+
22
+ def svi_name(self, num: int) -> str:
23
+ return f"Vlan{num}"
24
+
25
+ def make_formatter(self, **kwargs) -> AsrFormatter:
26
+ return AsrFormatter(**kwargs)
27
+
28
+ @property
29
+ def exit(self) -> str:
30
+ return "exit"
@@ -0,0 +1,33 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import JuniperFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class JuniperVendor(AbstractVendor):
9
+ NAME = "juniper"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Juniper"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "delete"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Juniper")
21
+
22
+ def svi_name(self, num: int) -> str:
23
+ return f"irb.{num}"
24
+
25
+ def make_formatter(self, **kwargs) -> JuniperFormatter:
26
+ return JuniperFormatter(**kwargs)
27
+
28
+ @property
29
+ def exit(self) -> str:
30
+ return ""
31
+
32
+ def diff(self, order: bool) -> str:
33
+ return "juniper.ordered_diff" if order else "juniper.default_diff"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import NexusFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class NexusVendor(AbstractVendor):
9
+ NAME = "nexus"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Cisco.Nexus"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "no"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Cisco Nexus")
21
+
22
+ def make_formatter(self, **kwargs) -> NexusFormatter:
23
+ return NexusFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "exit"
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import NokiaFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class NokiaVendor(AbstractVendor):
9
+ NAME = "nokia"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Nokia"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "delete"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Nokia")
21
+
22
+ def make_formatter(self, **kwargs) -> NokiaFormatter:
23
+ return NokiaFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return ""
28
+
29
+ def diff(self, order: bool) -> str:
30
+ return "juniper.ordered_diff" if order else "juniper.default_diff"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import OptixtransFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class OptixTransVendor(AbstractVendor):
9
+ NAME = "optixtrans"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["OptiXtrans"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "undo"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Huawei OptiXtrans")
21
+
22
+ def make_formatter(self, **kwargs) -> OptixtransFormatter:
23
+ return OptixtransFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "quit"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import CommonFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class PCVendor(AbstractVendor):
9
+ NAME = "pc"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["PC"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "-"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("PC")
21
+
22
+ def make_formatter(self, **kwargs) -> CommonFormatter:
23
+ return CommonFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return ""
@@ -0,0 +1,30 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import RibbonFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class RibbonVendor(AbstractVendor):
9
+ NAME = "ribbon"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["Ribbon"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "delete"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("Ribbon")
21
+
22
+ def make_formatter(self, **kwargs) -> RibbonFormatter:
23
+ return RibbonFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return "exit"
28
+
29
+ def diff(self, order: bool) -> str:
30
+ return "juniper.ordered_diff" if order else "juniper.default_diff"
@@ -0,0 +1,27 @@
1
+ from annet.annlib.netdev.views.hardware import HardwareView
2
+ from annet.annlib.tabparser import RosFormatter
3
+ from annet.vendors.base import AbstractVendor
4
+ from annet.vendors.registry import registry
5
+
6
+
7
+ @registry.register
8
+ class RouterOSVendor(AbstractVendor):
9
+ NAME = "routeros"
10
+
11
+ def match(self) -> list[str]:
12
+ return ["RouterOS"]
13
+
14
+ @property
15
+ def reverse(self) -> str:
16
+ return "remove"
17
+
18
+ @property
19
+ def hardware(self) -> HardwareView:
20
+ return HardwareView("RouterOS")
21
+
22
+ def make_formatter(self, **kwargs) -> RosFormatter:
23
+ return RosFormatter(**kwargs)
24
+
25
+ @property
26
+ def exit(self) -> str:
27
+ return ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.1.0
3
+ Version: 3.1.1
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -194,6 +194,21 @@ annet/rulebook/texts/routeros.rul
194
194
  annet/vendors/__init__.py
195
195
  annet/vendors/base.py
196
196
  annet/vendors/registry.py
197
+ annet/vendors/library/__init__.py
198
+ annet/vendors/library/arista.py
199
+ annet/vendors/library/aruba.py
200
+ annet/vendors/library/b4com.py
201
+ annet/vendors/library/cisco.py
202
+ annet/vendors/library/h3c.py
203
+ annet/vendors/library/huawei.py
204
+ annet/vendors/library/iosxr.py
205
+ annet/vendors/library/juniper.py
206
+ annet/vendors/library/nexus.py
207
+ annet/vendors/library/nokia.py
208
+ annet/vendors/library/optixtrans.py
209
+ annet/vendors/library/pc.py
210
+ annet/vendors/library/ribbon.py
211
+ annet/vendors/library/routeros.py
197
212
  annet_generators/__init__.py
198
213
  annet_generators/example/__init__.py
199
214
  annet_generators/example/hostname.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes