annet 3.4.1__py3-none-any.whl → 3.5.0__py3-none-any.whl

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 (60) hide show
  1. annet/__init__.py +1 -1
  2. annet/adapters/netbox/common/models.py +14 -6
  3. annet/annlib/command.py +2 -1
  4. annet/annlib/filter_acl.py +2 -1
  5. annet/annlib/patching.py +1 -1
  6. annet/annlib/rbparser/syntax.py +2 -1
  7. annet/api/__init__.py +2 -3
  8. annet/bgp_models.py +9 -1
  9. annet/deploy_ui.py +2 -1
  10. annet/diff.py +2 -2
  11. annet/executor.py +1 -1
  12. annet/gen.py +2 -1
  13. annet/generators/__init__.py +2 -2
  14. annet/generators/base.py +2 -1
  15. annet/implicit.py +2 -2
  16. annet/mesh/device_models.py +6 -0
  17. annet/mesh/executor.py +10 -18
  18. annet/mesh/models_converter.py +12 -2
  19. annet/mesh/peer_models.py +1 -5
  20. annet/parallel.py +0 -6
  21. annet/rpl/match_builder.py +1 -1
  22. annet/rpl_generators/aspath.py +16 -0
  23. annet/rpl_generators/community.py +37 -3
  24. annet/rpl_generators/policy.py +340 -5
  25. annet/rpl_generators/prefix_lists.py +51 -1
  26. annet/rpl_generators/rd.py +16 -0
  27. annet/rulebook/__init__.py +1 -1
  28. annet/rulebook/b4com/iface.py +5 -1
  29. annet/rulebook/juniper/__init__.py +1 -1
  30. annet/rulebook/texts/b4com.order +1 -0
  31. annet/rulebook/texts/b4com.rul +2 -1
  32. annet/rulebook/texts/cisco.order +2 -0
  33. annet/rulebook/texts/huawei.rul +5 -0
  34. annet/rulebook/texts/iosxr.order +21 -4
  35. annet/rulebook/texts/juniper.rul +5 -0
  36. annet/vendors/base.py +1 -1
  37. annet/vendors/library/arista.py +1 -1
  38. annet/vendors/library/aruba.py +1 -1
  39. annet/vendors/library/b4com.py +1 -1
  40. annet/vendors/library/cisco.py +1 -1
  41. annet/vendors/library/h3c.py +1 -1
  42. annet/vendors/library/huawei.py +1 -1
  43. annet/vendors/library/iosxr.py +1 -1
  44. annet/vendors/library/juniper.py +1 -1
  45. annet/vendors/library/nexus.py +1 -1
  46. annet/vendors/library/nokia.py +1 -1
  47. annet/vendors/library/optixtrans.py +1 -1
  48. annet/vendors/library/pc.py +1 -1
  49. annet/vendors/library/ribbon.py +1 -1
  50. annet/vendors/library/routeros.py +1 -1
  51. annet/vendors/registry.py +1 -1
  52. annet/{annlib → vendors}/tabparser.py +3 -3
  53. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/METADATA +1 -1
  54. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/RECORD +60 -60
  55. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/WHEEL +1 -1
  56. annet_generators/rpl_example/items.py +13 -5
  57. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/entry_points.txt +0 -0
  58. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/licenses/AUTHORS +0 -0
  59. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/licenses/LICENSE +0 -0
  60. {annet-3.4.1.dist-info → annet-3.5.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import AsrFormatter
3
+ from annet.vendors.tabparser import AsrFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import JuniperFormatter
3
+ from annet.vendors.tabparser import JuniperFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import NexusFormatter
3
+ from annet.vendors.tabparser import NexusFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import NokiaFormatter
3
+ from annet.vendors.tabparser import NokiaFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
@@ -1,5 +1,5 @@
1
1
  from annet.annlib.netdev.views.hardware import HardwareView
2
- from annet.annlib.tabparser import OptixtransFormatter
2
+ from annet.vendors.tabparser import OptixtransFormatter
3
3
  from annet.vendors.registry import registry
4
4
 
5
5
  from .huawei import HuaweiVendor
@@ -2,7 +2,7 @@ import os
2
2
 
3
3
  from annet.annlib.command import Command, CommandList
4
4
  from annet.annlib.netdev.views.hardware import HardwareView
5
- from annet.annlib.tabparser import CommonFormatter
5
+ from annet.vendors.tabparser import CommonFormatter
6
6
  from annet.vendors.base import AbstractVendor
7
7
  from annet.vendors.registry import registry
8
8
 
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import RibbonFormatter
3
+ from annet.vendors.tabparser import RibbonFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
@@ -1,6 +1,6 @@
1
1
  from annet.annlib.command import Command, CommandList
2
2
  from annet.annlib.netdev.views.hardware import HardwareView
3
- from annet.annlib.tabparser import RosFormatter
3
+ from annet.vendors.tabparser import RosFormatter
4
4
  from annet.vendors.base import AbstractVendor
5
5
  from annet.vendors.registry import registry
6
6
 
annet/vendors/registry.py CHANGED
@@ -2,7 +2,7 @@ import enum
2
2
  from operator import itemgetter
3
3
 
4
4
  from annet.annlib.netdev.views.hardware import HardwareView
5
- from annet.annlib.tabparser import CommonFormatter
5
+ from annet.vendors.tabparser import CommonFormatter
6
6
 
7
7
  from .base import AbstractVendor
8
8
 
@@ -4,12 +4,12 @@ import json
4
4
  import re
5
5
  import textwrap
6
6
  from collections import OrderedDict as odict
7
- from typing import TYPE_CHECKING, Any, Dict, Iterable, Optional, Tuple, Union, List
7
+ from typing import TYPE_CHECKING, Any, Dict, Iterable, Optional, Tuple, List
8
8
 
9
- from .types import Op
9
+ from annet.annlib.types import Op
10
10
 
11
11
  if TYPE_CHECKING:
12
- from .patching import PatchTree
12
+ from annet.annlib.patching import PatchTree
13
13
 
14
14
 
15
15
  # =====
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.4.1
3
+ Version: 3.5.0
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -1,21 +1,21 @@
1
- annet/__init__.py,sha256=mq-nzRTsR4cLd-wy4BL1i1MI57f2iG_5NX0iKViF_9U,1914
1
+ annet/__init__.py,sha256=eDQub3o0HdHcTWU4ZJpySrJuffGkbWts5CHXZYwVV9A,1915
2
2
  annet/annet.py,sha256=vyQ__n5hkjub3aWO8tksHPoUSbTeK97MyMcR_U8_BSU,1016
3
3
  annet/argparse.py,sha256=v1MfhjR0B8qahza0WinmXClpR8UiDFhmwDDWtNroJPA,12855
4
- annet/bgp_models.py,sha256=oibTSdipNkGL4t8Xn94bhyKHMOtwbPBqmYaAy4FmTxQ,12361
4
+ annet/bgp_models.py,sha256=KarLH0TXfGvcT4lDHmh0mRF5Hfh-PpbIxeN6OBPLQOM,12432
5
5
  annet/cli.py,sha256=shq3hHzrTxFL3x1_zTOR43QHo0JYs8QSwyOvGtL86Co,12733
6
6
  annet/cli_args.py,sha256=jzMKRezWe_87k7VBNzgwPjWGMROJksbgrlX-GDd6oQs,13533
7
7
  annet/connectors.py,sha256=aoiDVLPizx8CW2p8SAwGCzyO_WW8H9xc2aujbGC4bDg,4882
8
8
  annet/deploy.py,sha256=JCcJ2hUmUsaOSrcxFuW8SlN0ubXSnHQ7H_nP_tx-PgE,7698
9
- annet/deploy_ui.py,sha256=KcP1g_c1HSA3n5qFxbGHd8t_arL4_xJV46PFO-7FLg8,28650
10
- annet/diff.py,sha256=rxomgjyewq0VxKqWCqHEjYt6s_Ihv3HXiUr5QVHPlWU,9497
11
- annet/executor.py,sha256=lcKI-EbYqeCiBNpL729kSltduzxbAzOkQ1L_QK7tNv8,5112
9
+ annet/deploy_ui.py,sha256=XsN1i7E9cNp1SAf1YBwhEBuwN91MvlNMSrLhnQrumA8,28672
10
+ annet/diff.py,sha256=kD_2kxz5wc2TP10xj-BHs6IPq1yNKkXxIco8czjeC6M,9497
11
+ annet/executor.py,sha256=INlWAZFLpHurg8GTXclbSzaeSIXgZo4ccmcRulQqr88,5130
12
12
  annet/filtering.py,sha256=ZtqxPsKdV9reZoRxtQyBg22BqyMqd-2SotYcxZ-68AQ,903
13
- annet/gen.py,sha256=3p8HxC17yxTno1Kb4f7csjBTazXnB6FCRmKq000YLmg,31931
13
+ annet/gen.py,sha256=j6SUrhEbfVQJrF2pOuWQaaBABwABk8cYzOln78jJ320,31956
14
14
  annet/hardware.py,sha256=e7RWc5yPdEDT5hxNqcqWv9g9DRWIgwAieA2iT4FdPqc,1158
15
- annet/implicit.py,sha256=G6EwZbrtUp089qRAwh96hminp236-1pJbeKAedoEafg,6056
15
+ annet/implicit.py,sha256=i6UxQAQESXWlIBohNuFQuSEgvdsydRzyBu1r7nrR2F4,6083
16
16
  annet/lib.py,sha256=4N4X6jCCrig5rk7Ua4AofrV9zK9jhzkBq57fLsfBJjw,4812
17
17
  annet/output.py,sha256=se8EpyNS9f9kPOlOaAV0ht4DjzDoBr8F2UafiezLPYw,7743
18
- annet/parallel.py,sha256=onkE3q3Pe1CjOa3fI20vWUA5VO50sPlPxzfyiVdo8pI,17703
18
+ annet/parallel.py,sha256=yM53RYaSpbIOUuBx4y07B_3jW8J-w3taiZWjcq_1r6A,17397
19
19
  annet/patching.py,sha256=nILbY5oJajN0b1j3f0HEJm05H3HVThnWvB7vDVh7UQw,559
20
20
  annet/reference.py,sha256=B8mH8VUMcecPnzULiTVb_kTQ7jQrCL7zp4pfIZQa5fk,4035
21
21
  annet/storage.py,sha256=44f2aHNFOsQMSJwFvGxyu26oRcs3QmS24TKivcfPlxU,4064
@@ -34,7 +34,7 @@ annet/adapters/netbox/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
34
34
  annet/adapters/netbox/common/adapter.py,sha256=-YcO3371D8hupNXKf5f4-FdFSjTto-7VKDvz29Gid38,2016
35
35
  annet/adapters/netbox/common/client.py,sha256=PaxHG4W9H8_uunIwMBNYkLq4eQJYoO6p6gY-ciQs7Nc,2563
36
36
  annet/adapters/netbox/common/manufacturer.py,sha256=n1RxJSGqXilKcGSqwIc7d2jD1NCaUXG5kQcOO93WTxw,1319
37
- annet/adapters/netbox/common/models.py,sha256=IS9q5ZhrDhp74sjl5exSQu6lVOrQCX_I_RRtA9uCcdg,7686
37
+ annet/adapters/netbox/common/models.py,sha256=N9JIH3zj43MvOxkiUOqOpL7ZXIwYbG_Dz2Atx1HtOp0,7906
38
38
  annet/adapters/netbox/common/query.py,sha256=kbNQSZwkjFeDArHwA8INHUauxCxYElXtNh58pZipWdo,1867
39
39
  annet/adapters/netbox/common/status_client.py,sha256=POaqiQJ0jPcqUQH-X_fWHVnKB7TBYveNriaT0eNTlfI,769
40
40
  annet/adapters/netbox/common/storage_base.py,sha256=3dn42CWTEZVBig4ABhy5BMQQ3YGb28InncWZoGvrgKk,8768
@@ -52,15 +52,14 @@ annet/adapters/netbox/v42/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
52
52
  annet/adapters/netbox/v42/models.py,sha256=UWrnRh1k3a048XsVmqh50dF91dunrolIJzmTLT0QExw,1920
53
53
  annet/adapters/netbox/v42/storage.py,sha256=iMhdrdAAYZXS_VHoqi_5azFB3BVmp4daK4TVCI9vhxM,4666
54
54
  annet/annlib/__init__.py,sha256=fT1l4xV5fqqg8HPw9HqmZVN2qwS8i6X1aIm2zGDjxKY,252
55
- annet/annlib/command.py,sha256=uuBddMQphtn8P5MO5kzIa8_QrtMns-k05VeKv1bcAuA,1043
55
+ annet/annlib/command.py,sha256=eiMs5rYImBLQMBsLgFjsfhNUdlWqxkzQnGHHm7j9s4U,1136
56
56
  annet/annlib/diff.py,sha256=MZ6eQAU3cadQp8KaSE6uAYFtcfMDCIe_eNuVROnYkCk,4496
57
57
  annet/annlib/errors.py,sha256=jBcSFzY6Vj-FxR__vqjFm-87AwYQ0xHuAopTirii5AU,287
58
- annet/annlib/filter_acl.py,sha256=mxDga-3SXqpPEsdQypTq0ScqUqP625lxX-DmJalEc3s,7170
58
+ annet/annlib/filter_acl.py,sha256=ZJvNpSwE5MzJS_sKLenQpZgTuM-IrngwcbukQRq90do,7195
59
59
  annet/annlib/jsontools.py,sha256=BS7s4rI8R9c_y3zz0zYl1l6con65oQ0MvfsC1dsXZts,5535
60
60
  annet/annlib/lib.py,sha256=lxmYrbeablFMhFtvFmADVpVShSFi9TN4gNWaBs_Ygm0,14952
61
61
  annet/annlib/output.py,sha256=_SjJ6G6bejvnTKqNHw6xeio0FT9oO3OIkLaOC3cEga4,7569
62
- annet/annlib/patching.py,sha256=eSqhiOv98EOEODbRaYxOY8qaW4Ju58EzGB-uddeCId8,21493
63
- annet/annlib/tabparser.py,sha256=cDo-tAt0gGAToQwK4j0fLh31M0WEBpQclVshPAmanYc,31496
62
+ annet/annlib/patching.py,sha256=1bxlLDRx15GjB6aNk6kAx7t3WPPLHffYvSy7VLGnCig,21506
64
63
  annet/annlib/types.py,sha256=VHU0CBADfYmO0xzB_c5f-mcuU3dUumuJczQnqGlib9M,852
65
64
  annet/annlib/netdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
65
  annet/annlib/netdev/db.py,sha256=fI_u5aya4l61mbYSjj4JwlVfi3s7obt2jqERSuXGRUI,1634
@@ -74,14 +73,14 @@ annet/annlib/rbparser/acl.py,sha256=I_1VUZQgF-s4dYTxyEDxQ-GkAP2MeXonzzsc2xROpTM,
74
73
  annet/annlib/rbparser/deploying.py,sha256=ACT8QNhDAhJx3ZKuGh2nYBOrpdka2qEKuLDxvQAGKLk,1649
75
74
  annet/annlib/rbparser/ordering.py,sha256=XknggB92N4IbhHBZZHL0StwCCITt8mkho4D4Nu5Kb4k,2185
76
75
  annet/annlib/rbparser/platform.py,sha256=d1jFH8hGMOf_qiveKE4H-c0OfNnzwmt2VYpSiSOn9qc,42
77
- annet/annlib/rbparser/syntax.py,sha256=iZ7Y-4QQBw4L3UtjEh54qisiRDhobl7HZxFNdP8mi54,3577
76
+ annet/annlib/rbparser/syntax.py,sha256=PlKyWqS3zwPwumILmKIci-DmEAbfZp8YycpW1mNqADM,3602
78
77
  annet/annlib/rulebook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
78
  annet/annlib/rulebook/common.py,sha256=2ZMu7Z47Ip7d8yMjihDNKKhwl9aV5U4IeCcyXM4CjeA,13527
80
- annet/api/__init__.py,sha256=3-elPfDkX0Sgds0kquDIK5RL09BZNb_cX1ITG9HycjI,33845
79
+ annet/api/__init__.py,sha256=-VLQ-Uf2WSdNHXirzdMjgaY8UzrXbGpPHmUnwzB_5YI,33763
81
80
  annet/configs/context.yml,sha256=RVLrKLIHpCty7AGwOnmqf7Uu0iZQCn-AjYhophDJer8,259
82
81
  annet/configs/logging.yaml,sha256=EUagfir99QqA73Scc3k7sfQccbU3E1SvEQdyhLFtCl4,997
83
- annet/generators/__init__.py,sha256=_P_udR3i0pluvwQvYs60fWqrafTCqZeDPxCt6__wpbs,16735
84
- annet/generators/base.py,sha256=rgQLcQBPZm4ecbKmRhVOpBR-GFJAiVfdb_y5f2-LUR8,3670
82
+ annet/generators/__init__.py,sha256=LnW6G_7K5ScGYkFjFk7_QfuUaFAk5oTSHYaTaL6xUwA,16735
83
+ annet/generators/base.py,sha256=iIDshBnA6Jb6gXz-qSm3L7gyK5_ZRCw05fVPeIjOEmY,3695
85
84
  annet/generators/entire.py,sha256=jFTbx9BKoiXMstq_QeesRH2yi01LHyYHxgCtvvwBmeM,2872
86
85
  annet/generators/exceptions.py,sha256=GPXTBgn2xZ3Ev_bdOPlfCLGRC1kQHe_dEq88S-uyi5s,151
87
86
  annet/generators/jsonfragment.py,sha256=Cl43t9_OtNWRxesk3B69h60KvD37tiK9W7sLLmppAT4,4379
@@ -93,31 +92,31 @@ annet/generators/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
93
92
  annet/generators/common/initial.py,sha256=qYBxXFhyOPy34cxc6hsIXseod-lYCmmbuNHpM0uteY0,1244
94
93
  annet/mesh/__init__.py,sha256=lcgdnBIxc2MAN7Er1bcErEKPqrjWO4uIp_1FldMXTYg,557
95
94
  annet/mesh/basemodel.py,sha256=E6NTOneiMDwB1NCpjDRECoaeQ0f3n_fmTLnKTrSHTU4,4917
96
- annet/mesh/device_models.py,sha256=q_E4E_glVZRVUjVbWhvbAt4Qv8wx7IcY689EBx-OKuo,4216
97
- annet/mesh/executor.py,sha256=z_3e2neRR4GoEQfJlvfbalelKzOz5yb78zm9lIcLYw4,17578
95
+ annet/mesh/device_models.py,sha256=Vt9yOYBn3b67_Lz0-xnwe4QP-0gCDkX2XvhaZ1JizOM,4710
96
+ annet/mesh/executor.py,sha256=U-3LlAkd34SUD-xZK2K0KaQNy0b2xnVGFkTWlftJXWs,17235
98
97
  annet/mesh/match_args.py,sha256=CR3kdIV9NGtyk9E2JbcOQ3TRuYEryTWP3m2yCo2VCWg,5751
99
- annet/mesh/models_converter.py,sha256=itfrxDd5zdTQpFNmo-YXIFQDpYyBuQ6g7xpcjxvK6uA,3221
100
- annet/mesh/peer_models.py,sha256=Div4o1t6Z0TWvy-8WKg4-n9WOd2PKCmIpfbkILDlDtk,2791
98
+ annet/mesh/models_converter.py,sha256=nCtzFR3s65MVkCE_xJm1Ci5c2hUwsr6ajfBiSmy3r_8,3565
99
+ annet/mesh/peer_models.py,sha256=Ta0q3MwECz_zzHISbKKvbrGyVXi2Kdg5ZwpbZr8qqJA,2730
101
100
  annet/mesh/port_processor.py,sha256=RHiMS5W8qoDkTKiarQ748bcr8bNx4g_R4Y4vZg2k4TU,478
102
101
  annet/mesh/registry.py,sha256=xmWF7yxWXmwqX2_jyMAKrbGd2G9sjb4rYDx4Xk61QKc,9607
103
102
  annet/rpl/__init__.py,sha256=8nSiFpXH4OhzRGKr-013nHwwKk5Y50uh2gL7d_IoV8U,757
104
103
  annet/rpl/action.py,sha256=PY6W66j908RuqQ1_ioxayqVN-70rxDk5Z59EGHtxI98,1246
105
104
  annet/rpl/condition.py,sha256=MJri4MbWtPkLHIsLMAtsIEF7e8IAS9dIImjmJs5vS5U,3418
106
- annet/rpl/match_builder.py,sha256=8hvkNWF29yIAt8cpS7P797ePm3ikZBZwrVQj7QcCsP8,4749
105
+ annet/rpl/match_builder.py,sha256=mCxRlUp7qrNJDPi0ESvBzdpMUiOpgIk630m26jIzb0s,4787
107
106
  annet/rpl/policy.py,sha256=P1Kt-8fHFxEczeP-RwkK_wrGN0p7IR-hOApEd2vC55E,448
108
107
  annet/rpl/result.py,sha256=PHFn1zhDeqLBn07nkYw5vsoXew4nTwkklOwqvFWzBLg,141
109
108
  annet/rpl/routemap.py,sha256=SIyk73OzPp2oH_XwrDv2xczuY2Zt1VsJmB0TT5r7F5g,2593
110
109
  annet/rpl/statement_builder.py,sha256=qKhLS34lygbhtbEIY-6jzs0Aisc6qmNc_iyk9iKPyHE,10076
111
110
  annet/rpl_generators/__init__.py,sha256=V4rAZlBaOUSjeQ5eCNmWeD7BSJLIwy0lKU_01grebpc,832
112
- annet/rpl_generators/aspath.py,sha256=kZakwPLfGGiXu9fC6I1z-pvy7Fe-4dy93_-lYcx39_4,2038
113
- annet/rpl_generators/community.py,sha256=SWpaOvoQUNISuRm41-IvGPFmntvgFv9ee4zegsMyeo0,11496
111
+ annet/rpl_generators/aspath.py,sha256=hIH3GNDos8hVzeyCdsD7dD3Ku-meyevfEBWtyLsiwws,2613
112
+ annet/rpl_generators/community.py,sha256=vvjBupVrMn3B2OFDLXxgUq0QQBpp5TWdlJOAYpUxFkc,12818
114
113
  annet/rpl_generators/cumulus_frr.py,sha256=eABVCpn4ru_BFQJDcPZZEi1EL1cBwfNhtC1mDmC6BwA,21548
115
114
  annet/rpl_generators/entities.py,sha256=uO78iG2zHAGra5DqzpfnBgoc6slHEc6wDLvlnoySvJc,3750
116
115
  annet/rpl_generators/execute.py,sha256=wS6e6fwcPWywsHB0gBMqZ17eF0s4YOBgDgwPB_cr5Rw,431
117
- annet/rpl_generators/policy.py,sha256=j_2EtAsaxldhZZT4kRXKZacuAsGnHr3JSc2BMxr_Pow,37174
118
- annet/rpl_generators/prefix_lists.py,sha256=5jM5Xj0dtx5xF9ap-TgExs0ofRAzm0LN2j3aL5Ub_yc,4778
119
- annet/rpl_generators/rd.py,sha256=YGXgx1D2D0-pixgspXJzA6NvW8lx3AmHMxIY2l5rraI,1457
120
- annet/rulebook/__init__.py,sha256=Zm2RycKvIa-x-FwvaLSdJEV3t-V1QhsnjjkQ5dB7SzI,3979
116
+ annet/rpl_generators/policy.py,sha256=W_wlw37CIIqkdl_Og7c9-RxS55ojosLGHVEgTs80M6U,52348
117
+ annet/rpl_generators/prefix_lists.py,sha256=sxTPeOJufwogguuhjjMbrGSgW3wm2HNboX9tN3qLitU,6910
118
+ annet/rpl_generators/rd.py,sha256=-l0Dy-t1lIFCLLIzRb_okwU1jxr_kNEds92FyoVS7qs,1999
119
+ annet/rulebook/__init__.py,sha256=AmcqrLYaoU1-sO2vmtjWZbzsZ44_w7nXncoEVa_hpyk,3997
121
120
  annet/rulebook/common.py,sha256=zK1s2c5lc5HQbIlMUQ4HARQudXSgOYiZ_Sxc2I_tHqg,721
122
121
  annet/rulebook/deploying.py,sha256=9CMeOUw5L1OWdrccSRfpJyH9H_jH7xWNU1JldviBNrk,3015
123
122
  annet/rulebook/patching.py,sha256=7iZvtjR7T8_bK6mCsGlC5uPmntCDQ9OkkDHRWupnMNA,5045
@@ -129,7 +128,7 @@ annet/rulebook/aruba/ap_env.py,sha256=5fUVLhXH4-0DAtv8t0yoqJUibaRMuzF8Q7mGFzNsEN
129
128
  annet/rulebook/aruba/misc.py,sha256=O0p_wsR07gtB8rm1eJvJ7VYnGm5T8Uau_SVKR9FVInI,234
130
129
  annet/rulebook/b4com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
130
  annet/rulebook/b4com/file.py,sha256=zK7RwBk1YaVoDSFSg1u7Pt8u0Fk3nhhu27aJRngemwc,137
132
- annet/rulebook/b4com/iface.py,sha256=FGOYeeL3ZcogT8bDrmMYPG0KiZ5Q7iz5R19e1zrE0P8,1683
131
+ annet/rulebook/b4com/iface.py,sha256=4Xk4QPPSTO8E2Z2eI1aGVtc6jnhtwGPf6t_cWz9C4YI,1938
133
132
  annet/rulebook/cisco/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
133
  annet/rulebook/cisco/iface.py,sha256=WISkzjp_G7WKPpg098FCIm4b7ipOxtRLOQbu-7gMUL0,1792
135
134
  annet/rulebook/cisco/misc.py,sha256=zgKdWGmjRYmvq58dh7Lbn7ofwSYZoISgXsUh5lkGKF8,2318
@@ -140,7 +139,7 @@ annet/rulebook/huawei/bgp.py,sha256=dN8T3-44ggGEapt4u4sT3bTn_dsoCbS5qdNeSQ8LSTs,
140
139
  annet/rulebook/huawei/iface.py,sha256=DvLtQ7tfbDQWFmIYV4lxfih13Tdrt24L4-ZS29mCkuc,1126
141
140
  annet/rulebook/huawei/misc.py,sha256=Rpwhtm42IgcueDq4K6VOzN2qORoIDYh42Jb7iWL8AII,14424
142
141
  annet/rulebook/huawei/vlandb.py,sha256=B4BEUhZetjsNNhIJOp9cXtJSAYKMOgQucO8oAxSkRI0,4658
143
- annet/rulebook/juniper/__init__.py,sha256=DZu6Od4Uow0UHE1vNMnBJwCwynOFouHXNs253yStpZ4,5376
142
+ annet/rulebook/juniper/__init__.py,sha256=3LVrE0eXVRkEiVDTLGt0mhPjOY9MEUbx8NRY-7zPZcc,5377
144
143
  annet/rulebook/nexus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
144
  annet/rulebook/nexus/iface.py,sha256=aeog9iSGT2zZ78tsGlrRcfgfOv7yW3jLwryXqdeplRw,2923
146
145
  annet/rulebook/routeros/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -152,19 +151,19 @@ annet/rulebook/texts/aruba.deploy,sha256=hI432Bq-of_LMXuUflCu7eNSEFpx6qmj0KItEw6
152
151
  annet/rulebook/texts/aruba.order,sha256=ZMakkn0EJ9zomgY6VssoptJImrHrUmYnCqivzLBFTRo,1158
153
152
  annet/rulebook/texts/aruba.rul,sha256=zvGVpoYyJvMoL0fb1NQ8we_GCLZXno8nwWpZIOScLQQ,2584
154
153
  annet/rulebook/texts/b4com.deploy,sha256=SVX8-yLHM90tJC4M-ekpGuGM1aQZW3euSGyg67l--R0,781
155
- annet/rulebook/texts/b4com.order,sha256=nzPSPpq8f6WnVazOekJUEgt7ueEtf3Ietdl1m1X2qF8,867
156
- annet/rulebook/texts/b4com.rul,sha256=JhnaGx6Hc7sEMUGgFyru2PfmTNgFhcF-lgckopMMSP8,1334
154
+ annet/rulebook/texts/b4com.order,sha256=1ssX8XPSpCzYgS8quOIpnOtgKhWJbfexGF9lj_D_TmE,873
155
+ annet/rulebook/texts/b4com.rul,sha256=IPaHBWXN0gnaZQLBF8wVK3EPDTs7ueOPdJw1WdX_CtE,1353
157
156
  annet/rulebook/texts/cisco.deploy,sha256=Hu0NkcGv3f1CWUrnbzI3eQOPXJxtH4NNOPRV68IrW4U,1226
158
- annet/rulebook/texts/cisco.order,sha256=OvNHMNqkCc-DN2dEjLCTKv_7ZhiaHt4q2X4Y4Z8dvR4,1901
157
+ annet/rulebook/texts/cisco.order,sha256=ecwktxyY2_W63oqv2aqVhvfViuia42fZb-2uLP0Efg8,1942
159
158
  annet/rulebook/texts/cisco.rul,sha256=jgL5_xnSwd_H4E8cx4gcneSvJC5W1zz6_BWSb64iuxI,3017
160
159
  annet/rulebook/texts/huawei.deploy,sha256=uUsZCHUrC5Zyb_MePrR5svnE1QyGQlg7UxcKf00sJyg,10451
161
160
  annet/rulebook/texts/huawei.order,sha256=_X2LmxD9FGcIcb8ziwc13Imy1tBtQJgafrQGmvHPZLM,10649
162
- annet/rulebook/texts/huawei.rul,sha256=02Fi1RG4YYea2clHCluBuJDKNbT0hS9jtsk6_h6GK8k,12958
161
+ annet/rulebook/texts/huawei.rul,sha256=gTGF5vmLb1DbHcEJXQh_8PX-NXJQcyz8NVR0mg4x2XQ,13096
163
162
  annet/rulebook/texts/iosxr.deploy,sha256=Hu0NkcGv3f1CWUrnbzI3eQOPXJxtH4NNOPRV68IrW4U,1226
164
- annet/rulebook/texts/iosxr.order,sha256=OvNHMNqkCc-DN2dEjLCTKv_7ZhiaHt4q2X4Y4Z8dvR4,1901
163
+ annet/rulebook/texts/iosxr.order,sha256=gUp6XHwzqkDsArCUAwtx3rR1qlGfYsHy2vP9oZN2oDk,1922
165
164
  annet/rulebook/texts/iosxr.rul,sha256=MhIoIbOrfqisbyprZLy86DvO4rl6LtPESFnDU9nQUY0,2974
166
165
  annet/rulebook/texts/juniper.order,sha256=PpxmcCgeaeP3TyYe3BWvtb24MKYV_BujjCH3HD4lsc8,256
167
- annet/rulebook/texts/juniper.rul,sha256=EmtrEJZesnmc2nXjURRD2G0WOq4zLluI_PNupKhSOJs,2654
166
+ annet/rulebook/texts/juniper.rul,sha256=yo5hUt6XuxagquHHLD9zUw0YX-T2eo0CecryDRn4IW0,2738
168
167
  annet/rulebook/texts/nexus.deploy,sha256=9YNAQEw7aQxtYZJbE-dMD6qJrTzs_G92Ifrx3Ft4Wn4,1120
169
168
  annet/rulebook/texts/nexus.order,sha256=AZMKCD5Zf_mBOlE36aMDvO4w5rdbepTz1Dsyv7xP9Qs,1834
170
169
  annet/rulebook/texts/nexus.rul,sha256=veixbi_ztbX6OMV_WjdkgpEXa47yDxOkPE0YQ6r4wqs,2558
@@ -180,25 +179,26 @@ annet/rulebook/texts/ribbon.rul,sha256=609LyLTDCtXPVQNAzqS-VEyCpW3byHP8TCMJLFMn5
180
179
  annet/rulebook/texts/routeros.order,sha256=M71uy_hf0KAjLNS3zZY3uih4m2xLUcu26FEoVVjC6k0,905
181
180
  annet/rulebook/texts/routeros.rul,sha256=ipfxjj0mjFef6IsUlupqx4BY_Je_OUb8u_U1019O1DE,1203
182
181
  annet/vendors/__init__.py,sha256=gQcDFlKeWDZB6vxJ_MdPWEoE-C5dg-YgXvgGkuV9YLw,569
183
- annet/vendors/base.py,sha256=J9Bz7pDdBE7nCceHm2t9EzZ0MJChEugKLWaoOKZlP9Q,1144
184
- annet/vendors/registry.py,sha256=zJUj5vJ105kD7xvxt84MYNTNYZI08AKCNTCmE0YtMzo,2539
182
+ annet/vendors/base.py,sha256=AmM3--gqC-Rpw5Xu_-hqthWZ9EoZRL8x6eOHwadZGbo,1145
183
+ annet/vendors/registry.py,sha256=LgPg4oxWrgxsfpLpJ6OWEGFmUzlVlHzziSXsZTi82uc,2540
184
+ annet/vendors/tabparser.py,sha256=9AsBUY89YQstbLk2eia-NmuVXaJOG1fd2bIVcI5L43M,31513
185
185
  annet/vendors/library/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
- annet/vendors/library/arista.py,sha256=tp01vFmPDa2H3-3MSHzJ0iWVwe3kI_IKNViHa0VWB8M,1301
187
- annet/vendors/library/aruba.py,sha256=vGRUlbe48LRZs67o19wLOLnbDW-GDbAASWwsPuAzUro,1256
188
- annet/vendors/library/b4com.py,sha256=GMgOLd_JT-96gWb4KKGlZcaJ5Cfbp_cwXtYbwrPimNM,1389
189
- annet/vendors/library/cisco.py,sha256=ccKLOqxPQPFKUxb-SMdYR6-CCcILRvUB8shXZa7y_VU,1175
190
- annet/vendors/library/h3c.py,sha256=-gY4DKAMqMcoMcVCWORxM945SfI9r8zekPXFqqKi52o,1044
191
- annet/vendors/library/huawei.py,sha256=rDI3ScgJ7Cq8SlnGTZsZT8JcM8PxjyeGsQUMA5Xo4i8,1260
192
- annet/vendors/library/iosxr.py,sha256=5QUN0ERGhBvXRA6G2FC7fHeE-GNuk58Wog28sqzFU2k,1173
193
- annet/vendors/library/juniper.py,sha256=1Zih2jPdq34ZUZpjUX5nZKxOq4eiqgypaVqkmTmvTbc,1288
194
- annet/vendors/library/nexus.py,sha256=GW3fWz0W10V9AuW17FFDM9vVUoCQgUVIGDufJaU6B2w,1117
195
- annet/vendors/library/nokia.py,sha256=IPAwBux11cM2YdEK_b9dal7NAdmcMAo9HCLbWxjdZzo,1151
196
- annet/vendors/library/optixtrans.py,sha256=xNurVzIrr7cefVUCzhxI-7xnCnayk1kIyRfU8Ug5t8M,631
197
- annet/vendors/library/pc.py,sha256=4lPTvtvjGDCUuZ6yDyi-U4X9HPZRtj_CoYZM38jxwzo,1085
198
- annet/vendors/library/ribbon.py,sha256=55tlhY8weGTE9x-CDpFUMvEX6pg0KnrXnd-P8bxceGk,1215
199
- annet/vendors/library/routeros.py,sha256=0Hi-tDBjgBwfewiZi0EAnXkgGGHlOc_uwpY8xd9p3TM,1253
200
- annet-3.4.1.dist-info/licenses/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
201
- annet-3.4.1.dist-info/licenses/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
186
+ annet/vendors/library/arista.py,sha256=J4ltZ7sS_TgIECg2U7fizvxwfS4-s35Of0tNDNWWYbE,1302
187
+ annet/vendors/library/aruba.py,sha256=tvrSFSA43n0uelCv-NLQnqxO01d0y2mrfhncpOX7zoQ,1257
188
+ annet/vendors/library/b4com.py,sha256=fX9Rh_yUrZY0imuPdI4RBxEwmVlW_FkoKXebYSqF7Wk,1390
189
+ annet/vendors/library/cisco.py,sha256=3-hWdMaQPnUVFJzKX4gNwIIoGxrSqrGrrE0p7QvedyU,1176
190
+ annet/vendors/library/h3c.py,sha256=QOO670R-r9Ge_5T7a7b5FajA4j0HcqJKCCsn4ctbcxc,1045
191
+ annet/vendors/library/huawei.py,sha256=79RINBbuob8KJXQvULbEGVVaGhn3-LzCYuqWQ847eds,1261
192
+ annet/vendors/library/iosxr.py,sha256=f_i09WH3TfOKrQ0RpnzeJD30eNoVQIwrJyhi-DyeoOM,1174
193
+ annet/vendors/library/juniper.py,sha256=BDljknxDJ0JxEXb3HCbZSC38BuA7OF5mtcQLLftXx_o,1289
194
+ annet/vendors/library/nexus.py,sha256=naTtiaFzNt1YZmxUSR9UCa-z766r1oav0tPXinA2tho,1118
195
+ annet/vendors/library/nokia.py,sha256=RhynYZpti5ftud88vaphLAA3ZrCEKdR8BESXWlUZIH8,1152
196
+ annet/vendors/library/optixtrans.py,sha256=VdME69Ca4HAEgoaKN21fZxnmmsqqaxOe_HZjay9T8j0,632
197
+ annet/vendors/library/pc.py,sha256=vfv31_NPi7M-4AUDL89UcpawK2E6xvCpELA209cd1ho,1086
198
+ annet/vendors/library/ribbon.py,sha256=DDOBq-_-FL9dCxqXs2inEWZ-pvw-dJ-A-prA7cKMhec,1216
199
+ annet/vendors/library/routeros.py,sha256=iQa7m_4wjuvcgBOI9gyZwlw1BvzJfOkvUbyoEk-NI9I,1254
200
+ annet-3.5.0.dist-info/licenses/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
201
+ annet-3.5.0.dist-info/licenses/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
202
202
  annet_generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
203
  annet_generators/example/__init__.py,sha256=OJ77uj8axc-FIyIu_Xdcnzmde3oQW5mk5qbODkhuVc8,355
204
204
  annet_generators/example/hostname.py,sha256=RloLzNVetEoWPLITzfJ13Nk3CC0yi-cZB1RTd6dnuhI,2541
@@ -208,11 +208,11 @@ annet_generators/mesh_example/bgp.py,sha256=jzyDndSSGYyYBquDnLlR-7P5lzmUKcSyYCml
208
208
  annet_generators/mesh_example/mesh_logic.py,sha256=DJS5JMCTs0rs0LN__0LulNgo2ekUcWiOMe02BlOeFas,1454
209
209
  annet_generators/rpl_example/__init__.py,sha256=A7DTn-SVSlUpeO7mKT_obqimp29p9zWfVRPBSxmENQY,209
210
210
  annet_generators/rpl_example/generator.py,sha256=EWah19gOH8G-QyNyWqxCqdRi0BK7GbM-l7g6GIg2xDI,3967
211
- annet_generators/rpl_example/items.py,sha256=d99HSXDHFjZq511EvGhIqRTWK3F4ZsCWfdUqFYQcyhE,772
211
+ annet_generators/rpl_example/items.py,sha256=HPgxScDvSqJPdz0c2SppDrH82DZYC4zUaniQwcWmh4A,1176
212
212
  annet_generators/rpl_example/mesh.py,sha256=z_WgfDZZ4xnyh3cSf75igyH09hGvtexEVwy1gCD_DzA,288
213
213
  annet_generators/rpl_example/route_policy.py,sha256=z6nPb0VDeQtKD1NIg9sFvmUxBD5tVs2frfNIuKdM-5c,2318
214
- annet-3.4.1.dist-info/METADATA,sha256=SL59J4wE-GP4t7LAMsTVyAa5vk-jtBBPfx-d843_azE,815
215
- annet-3.4.1.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
216
- annet-3.4.1.dist-info/entry_points.txt,sha256=5lIaDGlGi3l6QQ2ry2jZaqViP5Lvt8AmsegdD0Uznck,192
217
- annet-3.4.1.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
218
- annet-3.4.1.dist-info/RECORD,,
214
+ annet-3.5.0.dist-info/METADATA,sha256=d13vJqNGhtvSbEvqCZvqBT6RoiyDDz07wndWrnxagzk,815
215
+ annet-3.5.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
216
+ annet-3.5.0.dist-info/entry_points.txt,sha256=5lIaDGlGi3l6QQ2ry2jZaqViP5Lvt8AmsegdD0Uznck,192
217
+ annet-3.5.0.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
218
+ annet-3.5.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.0.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,11 +1,14 @@
1
- from annet.rpl_generators import AsPathFilter, CommunityList, CommunityType, RDFilter, ip_prefix_list
1
+ from ipaddress import IPv6Network
2
+
3
+ from annet.rpl_generators import AsPathFilter, CommunityList, CommunityType, RDFilter, ip_prefix_list, CommunityLogic, \
4
+ IpPrefixListMember
2
5
 
3
6
  AS_PATH_FILTERS = [
4
- AsPathFilter("ASP_EXAMPLE", [".*123456.*"]),
7
+ AsPathFilter("ASP_EXAMPLE", [".*123456.*", ".*22.*"]),
5
8
  ]
6
9
  COMMUNITIES = [
7
- CommunityList("COMMUNITY_EXAMPLE_ADD", ["1234:1000", "1234:1001"]),
8
- CommunityList("COMMUNITY_EXAMPLE_REMOVE", ["1234:999"]),
10
+ CommunityList("COMMUNITY_EXAMPLE_ADD", ["1234:1000", "1234:1001"], logic=CommunityLogic.AND),
11
+ CommunityList("COMMUNITY_EXAMPLE_REMOVE", ["1234:999", "1234:998"], logic=CommunityLogic.OR),
9
12
  CommunityList("EXTCOMMUNITY_EXAMPLE_ADD", ["12345:1000"], CommunityType.RT),
10
13
  CommunityList("EXTCOMMUNITY_EXAMPLE_REMOVE", ["12345:999"], CommunityType.RT),
11
14
  ]
@@ -16,6 +19,11 @@ RD_FILTERS = [
16
19
  ]
17
20
 
18
21
  PREFIX_LISTS = [
19
- ip_prefix_list("IPV6_LIST_EXAMPLE", ["2a13:5941::/32"]),
22
+ ip_prefix_list("IPV6_LIST_EXAMPLE", [
23
+ "2a13:5941::/32",
24
+ IpPrefixListMember(IPv6Network("2a13:5942::/32"), or_longer=(32, 48)),
25
+ IpPrefixListMember(IPv6Network("2a13:5943::/32"), or_longer=(32, None)),
26
+ IpPrefixListMember(IPv6Network("2a13:5944::/32"), or_longer=(32, 32)),
27
+ ]),
20
28
  ip_prefix_list("IPV4_LIST_EXAMPLE", ["0.0.0.0/8", "10.0.0.0/8"]),
21
29
  ]