annet 0.16.32__tar.gz → 0.16.33__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 (191) hide show
  1. {annet-0.16.32/annet.egg-info → annet-0.16.33}/PKG-INFO +1 -1
  2. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/status_client.py +1 -1
  3. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/cumulus_frr.py +9 -4
  4. {annet-0.16.32 → annet-0.16.33/annet.egg-info}/PKG-INFO +1 -1
  5. {annet-0.16.32 → annet-0.16.33}/AUTHORS +0 -0
  6. {annet-0.16.32 → annet-0.16.33}/LICENSE +0 -0
  7. {annet-0.16.32 → annet-0.16.33}/MANIFEST.in +0 -0
  8. {annet-0.16.32 → annet-0.16.33}/README.md +0 -0
  9. {annet-0.16.32 → annet-0.16.33}/annet/__init__.py +0 -0
  10. {annet-0.16.32 → annet-0.16.33}/annet/adapters/__init__.py +0 -0
  11. {annet-0.16.32 → annet-0.16.33}/annet/adapters/fetchers/__init__.py +0 -0
  12. {annet-0.16.32 → annet-0.16.33}/annet/adapters/fetchers/stub/__init__.py +0 -0
  13. {annet-0.16.32 → annet-0.16.33}/annet/adapters/fetchers/stub/fetcher.py +0 -0
  14. {annet-0.16.32 → annet-0.16.33}/annet/adapters/file/__init__.py +0 -0
  15. {annet-0.16.32 → annet-0.16.33}/annet/adapters/file/provider.py +0 -0
  16. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/__init__.py +0 -0
  17. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/__init__.py +0 -0
  18. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/client.py +0 -0
  19. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/manufacturer.py +0 -0
  20. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/models.py +0 -0
  21. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/query.py +0 -0
  22. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/common/storage_opts.py +0 -0
  23. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/provider.py +0 -0
  24. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/v24/__init__.py +0 -0
  25. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/v24/storage.py +0 -0
  26. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/v37/__init__.py +0 -0
  27. {annet-0.16.32 → annet-0.16.33}/annet/adapters/netbox/v37/storage.py +0 -0
  28. {annet-0.16.32 → annet-0.16.33}/annet/annet.py +0 -0
  29. {annet-0.16.32 → annet-0.16.33}/annet/annlib/__init__.py +0 -0
  30. {annet-0.16.32 → annet-0.16.33}/annet/annlib/command.py +0 -0
  31. {annet-0.16.32 → annet-0.16.33}/annet/annlib/diff.py +0 -0
  32. {annet-0.16.32 → annet-0.16.33}/annet/annlib/errors.py +0 -0
  33. {annet-0.16.32 → annet-0.16.33}/annet/annlib/filter_acl.py +0 -0
  34. {annet-0.16.32 → annet-0.16.33}/annet/annlib/jsontools.py +0 -0
  35. {annet-0.16.32 → annet-0.16.33}/annet/annlib/lib.py +0 -0
  36. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/__init__.py +0 -0
  37. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/db.py +0 -0
  38. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/devdb/__init__.py +0 -0
  39. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/devdb/data/devdb.json +0 -0
  40. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/views/__init__.py +0 -0
  41. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/views/dump.py +0 -0
  42. {annet-0.16.32 → annet-0.16.33}/annet/annlib/netdev/views/hardware.py +0 -0
  43. {annet-0.16.32 → annet-0.16.33}/annet/annlib/output.py +0 -0
  44. {annet-0.16.32 → annet-0.16.33}/annet/annlib/patching.py +0 -0
  45. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/__init__.py +0 -0
  46. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/acl.py +0 -0
  47. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/deploying.py +0 -0
  48. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/ordering.py +0 -0
  49. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/platform.py +0 -0
  50. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rbparser/syntax.py +0 -0
  51. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rulebook/__init__.py +0 -0
  52. {annet-0.16.32 → annet-0.16.33}/annet/annlib/rulebook/common.py +0 -0
  53. {annet-0.16.32 → annet-0.16.33}/annet/annlib/tabparser.py +0 -0
  54. {annet-0.16.32 → annet-0.16.33}/annet/annlib/types.py +0 -0
  55. {annet-0.16.32 → annet-0.16.33}/annet/api/__init__.py +0 -0
  56. {annet-0.16.32 → annet-0.16.33}/annet/argparse.py +0 -0
  57. {annet-0.16.32 → annet-0.16.33}/annet/bgp_models.py +0 -0
  58. {annet-0.16.32 → annet-0.16.33}/annet/cli.py +0 -0
  59. {annet-0.16.32 → annet-0.16.33}/annet/cli_args.py +0 -0
  60. {annet-0.16.32 → annet-0.16.33}/annet/configs/context.yml +0 -0
  61. {annet-0.16.32 → annet-0.16.33}/annet/configs/logging.yaml +0 -0
  62. {annet-0.16.32 → annet-0.16.33}/annet/connectors.py +0 -0
  63. {annet-0.16.32 → annet-0.16.33}/annet/deploy.py +0 -0
  64. {annet-0.16.32 → annet-0.16.33}/annet/diff.py +0 -0
  65. {annet-0.16.32 → annet-0.16.33}/annet/executor.py +0 -0
  66. {annet-0.16.32 → annet-0.16.33}/annet/filtering.py +0 -0
  67. {annet-0.16.32 → annet-0.16.33}/annet/gen.py +0 -0
  68. {annet-0.16.32 → annet-0.16.33}/annet/generators/__init__.py +0 -0
  69. {annet-0.16.32 → annet-0.16.33}/annet/generators/base.py +0 -0
  70. {annet-0.16.32 → annet-0.16.33}/annet/generators/common/__init__.py +0 -0
  71. {annet-0.16.32 → annet-0.16.33}/annet/generators/common/initial.py +0 -0
  72. {annet-0.16.32 → annet-0.16.33}/annet/generators/entire.py +0 -0
  73. {annet-0.16.32 → annet-0.16.33}/annet/generators/exceptions.py +0 -0
  74. {annet-0.16.32 → annet-0.16.33}/annet/generators/jsonfragment.py +0 -0
  75. {annet-0.16.32 → annet-0.16.33}/annet/generators/partial.py +0 -0
  76. {annet-0.16.32 → annet-0.16.33}/annet/generators/perf.py +0 -0
  77. {annet-0.16.32 → annet-0.16.33}/annet/generators/ref.py +0 -0
  78. {annet-0.16.32 → annet-0.16.33}/annet/generators/result.py +0 -0
  79. {annet-0.16.32 → annet-0.16.33}/annet/hardware.py +0 -0
  80. {annet-0.16.32 → annet-0.16.33}/annet/implicit.py +0 -0
  81. {annet-0.16.32 → annet-0.16.33}/annet/lib.py +0 -0
  82. {annet-0.16.32 → annet-0.16.33}/annet/mesh/__init__.py +0 -0
  83. {annet-0.16.32 → annet-0.16.33}/annet/mesh/basemodel.py +0 -0
  84. {annet-0.16.32 → annet-0.16.33}/annet/mesh/device_models.py +0 -0
  85. {annet-0.16.32 → annet-0.16.33}/annet/mesh/executor.py +0 -0
  86. {annet-0.16.32 → annet-0.16.33}/annet/mesh/match_args.py +0 -0
  87. {annet-0.16.32 → annet-0.16.33}/annet/mesh/models_converter.py +0 -0
  88. {annet-0.16.32 → annet-0.16.33}/annet/mesh/peer_models.py +0 -0
  89. {annet-0.16.32 → annet-0.16.33}/annet/mesh/port_processor.py +0 -0
  90. {annet-0.16.32 → annet-0.16.33}/annet/mesh/registry.py +0 -0
  91. {annet-0.16.32 → annet-0.16.33}/annet/output.py +0 -0
  92. {annet-0.16.32 → annet-0.16.33}/annet/parallel.py +0 -0
  93. {annet-0.16.32 → annet-0.16.33}/annet/patching.py +0 -0
  94. {annet-0.16.32 → annet-0.16.33}/annet/reference.py +0 -0
  95. {annet-0.16.32 → annet-0.16.33}/annet/rpl/__init__.py +0 -0
  96. {annet-0.16.32 → annet-0.16.33}/annet/rpl/action.py +0 -0
  97. {annet-0.16.32 → annet-0.16.33}/annet/rpl/condition.py +0 -0
  98. {annet-0.16.32 → annet-0.16.33}/annet/rpl/match_builder.py +0 -0
  99. {annet-0.16.32 → annet-0.16.33}/annet/rpl/policy.py +0 -0
  100. {annet-0.16.32 → annet-0.16.33}/annet/rpl/result.py +0 -0
  101. {annet-0.16.32 → annet-0.16.33}/annet/rpl/routemap.py +0 -0
  102. {annet-0.16.32 → annet-0.16.33}/annet/rpl/statement_builder.py +0 -0
  103. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/__init__.py +0 -0
  104. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/aspath.py +0 -0
  105. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/community.py +0 -0
  106. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/entities.py +0 -0
  107. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/execute.py +0 -0
  108. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/policy.py +0 -0
  109. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/prefix_lists.py +0 -0
  110. {annet-0.16.32 → annet-0.16.33}/annet/rpl_generators/rd.py +0 -0
  111. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/__init__.py +0 -0
  112. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/arista/__init__.py +0 -0
  113. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/arista/iface.py +0 -0
  114. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/aruba/__init__.py +0 -0
  115. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/aruba/ap_env.py +0 -0
  116. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/aruba/misc.py +0 -0
  117. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/b4com/__init__.py +0 -0
  118. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/b4com/file.py +0 -0
  119. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/cisco/__init__.py +0 -0
  120. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/cisco/iface.py +0 -0
  121. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/cisco/misc.py +0 -0
  122. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/cisco/vlandb.py +0 -0
  123. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/common.py +0 -0
  124. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/deploying.py +0 -0
  125. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/__init__.py +0 -0
  126. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/aaa.py +0 -0
  127. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/bgp.py +0 -0
  128. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/iface.py +0 -0
  129. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/misc.py +0 -0
  130. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/huawei/vlandb.py +0 -0
  131. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/juniper/__init__.py +0 -0
  132. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/nexus/__init__.py +0 -0
  133. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/nexus/iface.py +0 -0
  134. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/patching.py +0 -0
  135. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/ribbon/__init__.py +0 -0
  136. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/routeros/__init__.py +0 -0
  137. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/routeros/file.py +0 -0
  138. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/arista.deploy +0 -0
  139. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/arista.order +0 -0
  140. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/arista.rul +0 -0
  141. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/aruba.deploy +0 -0
  142. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/aruba.order +0 -0
  143. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/aruba.rul +0 -0
  144. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/b4com.deploy +0 -0
  145. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/b4com.order +0 -0
  146. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/b4com.rul +0 -0
  147. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/cisco.deploy +0 -0
  148. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/cisco.order +0 -0
  149. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/cisco.rul +0 -0
  150. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/huawei.deploy +0 -0
  151. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/huawei.order +0 -0
  152. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/huawei.rul +0 -0
  153. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/juniper.rul +0 -0
  154. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/nexus.deploy +0 -0
  155. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/nexus.order +0 -0
  156. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/nexus.rul +0 -0
  157. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/nokia.rul +0 -0
  158. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/optixtrans.deploy +0 -0
  159. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/optixtrans.order +0 -0
  160. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/optixtrans.rul +0 -0
  161. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/pc.deploy +0 -0
  162. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/pc.order +0 -0
  163. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/pc.rul +0 -0
  164. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/ribbon.deploy +0 -0
  165. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/ribbon.rul +0 -0
  166. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/routeros.order +0 -0
  167. {annet-0.16.32 → annet-0.16.33}/annet/rulebook/texts/routeros.rul +0 -0
  168. {annet-0.16.32 → annet-0.16.33}/annet/storage.py +0 -0
  169. {annet-0.16.32 → annet-0.16.33}/annet/tabparser.py +0 -0
  170. {annet-0.16.32 → annet-0.16.33}/annet/text_term_format.py +0 -0
  171. {annet-0.16.32 → annet-0.16.33}/annet/tracing.py +0 -0
  172. {annet-0.16.32 → annet-0.16.33}/annet/types.py +0 -0
  173. {annet-0.16.32 → annet-0.16.33}/annet.egg-info/SOURCES.txt +0 -0
  174. {annet-0.16.32 → annet-0.16.33}/annet.egg-info/dependency_links.txt +0 -0
  175. {annet-0.16.32 → annet-0.16.33}/annet.egg-info/entry_points.txt +0 -0
  176. {annet-0.16.32 → annet-0.16.33}/annet.egg-info/requires.txt +0 -0
  177. {annet-0.16.32 → annet-0.16.33}/annet.egg-info/top_level.txt +0 -0
  178. {annet-0.16.32 → annet-0.16.33}/annet_generators/__init__.py +0 -0
  179. {annet-0.16.32 → annet-0.16.33}/annet_generators/example/__init__.py +0 -0
  180. {annet-0.16.32 → annet-0.16.33}/annet_generators/example/lldp.py +0 -0
  181. {annet-0.16.32 → annet-0.16.33}/annet_generators/mesh_example/__init__.py +0 -0
  182. {annet-0.16.32 → annet-0.16.33}/annet_generators/mesh_example/bgp.py +0 -0
  183. {annet-0.16.32 → annet-0.16.33}/annet_generators/mesh_example/mesh_logic.py +0 -0
  184. {annet-0.16.32 → annet-0.16.33}/annet_generators/rpl_example/__init__.py +0 -0
  185. {annet-0.16.32 → annet-0.16.33}/annet_generators/rpl_example/generator.py +0 -0
  186. {annet-0.16.32 → annet-0.16.33}/annet_generators/rpl_example/items.py +0 -0
  187. {annet-0.16.32 → annet-0.16.33}/annet_generators/rpl_example/mesh.py +0 -0
  188. {annet-0.16.32 → annet-0.16.33}/annet_generators/rpl_example/route_policy.py +0 -0
  189. {annet-0.16.32 → annet-0.16.33}/requirements.txt +0 -0
  190. {annet-0.16.32 → annet-0.16.33}/setup.cfg +0 -0
  191. {annet-0.16.32 → annet-0.16.33}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: annet
3
- Version: 0.16.32
3
+ Version: 0.16.33
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -20,6 +20,6 @@ class NetboxStatusClient(BaseNetboxClient):
20
20
  name_mapping(name_style=NameStyle.LOWER_KEBAB)
21
21
  ])
22
22
 
23
- @get("status")
23
+ @get("status/")
24
24
  def status(self) -> Status:
25
25
  ...
@@ -100,7 +100,7 @@ class CumulusPolicyGenerator(ABC):
100
100
  ip_type,
101
101
  "prefix-list",
102
102
  name,
103
- f"seq {i * 10 + 5}",
103
+ f"seq {i * 5 + 5}",
104
104
  "permit", f"{addr_mask.ip}/{addr_mask.network.prefixlen}",
105
105
  ) + (
106
106
  ("ge", str(match.greater_equal)) if match.greater_equal is not None else ()
@@ -151,13 +151,14 @@ class CumulusPolicyGenerator(ABC):
151
151
  return get_used_united_community_lists(communities=communities.values(), policies=policies)
152
152
 
153
153
  def _cumulus_community(
154
- self, name: str, cmd: str, member: str, use_regex: bool,
154
+ self, name: str, cmd: str, member: str, use_regex: bool, seq: int,
155
155
  ) -> Iterable[Sequence[str]]:
156
156
  if use_regex:
157
157
  yield (
158
158
  cmd,
159
159
  "expanded",
160
160
  name,
161
+ f"seq {seq}",
161
162
  "permit",
162
163
  member,
163
164
  )
@@ -166,6 +167,7 @@ class CumulusPolicyGenerator(ABC):
166
167
  cmd,
167
168
  "standard",
168
169
  name,
170
+ f"seq {seq}",
169
171
  "permit",
170
172
  member,
171
173
  )
@@ -182,6 +184,7 @@ class CumulusPolicyGenerator(ABC):
182
184
  return
183
185
  for community_list_union in community_unions:
184
186
  name = mangle_united_community_list_name([c.name for c in community_list_union])
187
+ comm_number = 0
185
188
 
186
189
  for clist in community_list_union:
187
190
  if clist.type is CommunityType.BASIC:
@@ -207,13 +210,15 @@ class CumulusPolicyGenerator(ABC):
207
210
  else:
208
211
  member = " ".join(f"{member_prefix}{m}" for m in clist.members)
209
212
  yield from self._cumulus_community(
210
- name=name, cmd=cmd, member=member, use_regex=clist.use_regex,
213
+ name=name, cmd=cmd, member=member, use_regex=clist.use_regex, seq=(comm_number + 1) * 10,
211
214
  )
212
215
  else:
213
- for member_value in clist.members:
216
+ for comm_number, member_value in enumerate(clist.members, start=comm_number):
214
217
  yield from self._cumulus_community(
215
218
  name=name, cmd=cmd, member=member_prefix + member_value, use_regex=clist.use_regex,
219
+ seq=(comm_number + 1) * 10,
216
220
  )
221
+ comm_number += 1
217
222
  yield "!"
218
223
 
219
224
  def _get_match_community_names(self, condition: SingleCondition[Sequence[str]]) -> Sequence[str]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: annet
3
- Version: 0.16.32
3
+ Version: 0.16.33
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
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
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