annet 3.4.1__py3-none-any.whl → 3.4.2__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 (50) hide show
  1. annet/__init__.py +1 -1
  2. annet/adapters/netbox/common/models.py +13 -5
  3. annet/annlib/filter_acl.py +2 -1
  4. annet/annlib/patching.py +1 -1
  5. annet/annlib/rbparser/syntax.py +2 -1
  6. annet/api/__init__.py +2 -3
  7. annet/bgp_models.py +9 -1
  8. annet/diff.py +2 -2
  9. annet/gen.py +2 -1
  10. annet/generators/__init__.py +2 -2
  11. annet/generators/base.py +2 -1
  12. annet/mesh/device_models.py +6 -0
  13. annet/mesh/executor.py +8 -16
  14. annet/mesh/models_converter.py +1 -1
  15. annet/mesh/peer_models.py +1 -5
  16. annet/parallel.py +0 -6
  17. annet/rpl/match_builder.py +1 -1
  18. annet/rpl_generators/aspath.py +16 -0
  19. annet/rpl_generators/community.py +37 -3
  20. annet/rpl_generators/policy.py +340 -5
  21. annet/rpl_generators/prefix_lists.py +51 -1
  22. annet/rpl_generators/rd.py +16 -0
  23. annet/rulebook/juniper/__init__.py +1 -1
  24. annet/rulebook/texts/cisco.order +2 -0
  25. annet/rulebook/texts/iosxr.order +21 -4
  26. annet/vendors/base.py +1 -1
  27. annet/vendors/library/arista.py +1 -1
  28. annet/vendors/library/aruba.py +1 -1
  29. annet/vendors/library/b4com.py +1 -1
  30. annet/vendors/library/cisco.py +1 -1
  31. annet/vendors/library/h3c.py +1 -1
  32. annet/vendors/library/huawei.py +1 -1
  33. annet/vendors/library/iosxr.py +1 -1
  34. annet/vendors/library/juniper.py +1 -1
  35. annet/vendors/library/nexus.py +1 -1
  36. annet/vendors/library/nokia.py +1 -1
  37. annet/vendors/library/optixtrans.py +1 -1
  38. annet/vendors/library/pc.py +1 -1
  39. annet/vendors/library/ribbon.py +1 -1
  40. annet/vendors/library/routeros.py +1 -1
  41. annet/vendors/registry.py +1 -1
  42. annet/{annlib → vendors}/tabparser.py +3 -3
  43. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/METADATA +1 -1
  44. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/RECORD +50 -50
  45. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/WHEEL +1 -1
  46. annet_generators/rpl_example/items.py +13 -5
  47. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/entry_points.txt +0 -0
  48. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/licenses/AUTHORS +0 -0
  49. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/licenses/LICENSE +0 -0
  50. {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/top_level.txt +0 -0
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.4.2
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
9
  annet/deploy_ui.py,sha256=KcP1g_c1HSA3n5qFxbGHd8t_arL4_xJV46PFO-7FLg8,28650
10
- annet/diff.py,sha256=rxomgjyewq0VxKqWCqHEjYt6s_Ihv3HXiUr5QVHPlWU,9497
10
+ annet/diff.py,sha256=kD_2kxz5wc2TP10xj-BHs6IPq1yNKkXxIco8czjeC6M,9497
11
11
  annet/executor.py,sha256=lcKI-EbYqeCiBNpL729kSltduzxbAzOkQ1L_QK7tNv8,5112
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
15
  annet/implicit.py,sha256=G6EwZbrtUp089qRAwh96hminp236-1pJbeKAedoEafg,6056
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=PK4a8YBSp6mNe1V7oI2rILbVL9QnsRRIJQ4YN6aIz0w,7899
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
@@ -55,12 +55,11 @@ annet/annlib/__init__.py,sha256=fT1l4xV5fqqg8HPw9HqmZVN2qwS8i6X1aIm2zGDjxKY,252
55
55
  annet/annlib/command.py,sha256=uuBddMQphtn8P5MO5kzIa8_QrtMns-k05VeKv1bcAuA,1043
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,30 +92,30 @@ 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=rw_xr01kkcTn3U_s4ozGxRfCNdO4Mgg5kqmrAA-ySdE,17162
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=qTd-411215LBOsGHGBbYcmben58HdV4BRkMmspd5FgY,3238
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
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
120
119
  annet/rulebook/__init__.py,sha256=Zm2RycKvIa-x-FwvaLSdJEV3t-V1QhsnjjkQ5dB7SzI,3979
121
120
  annet/rulebook/common.py,sha256=zK1s2c5lc5HQbIlMUQ4HARQudXSgOYiZ_Sxc2I_tHqg,721
122
121
  annet/rulebook/deploying.py,sha256=9CMeOUw5L1OWdrccSRfpJyH9H_jH7xWNU1JldviBNrk,3015
@@ -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
@@ -155,13 +154,13 @@ annet/rulebook/texts/b4com.deploy,sha256=SVX8-yLHM90tJC4M-ekpGuGM1aQZW3euSGyg67l
155
154
  annet/rulebook/texts/b4com.order,sha256=nzPSPpq8f6WnVazOekJUEgt7ueEtf3Ietdl1m1X2qF8,867
156
155
  annet/rulebook/texts/b4com.rul,sha256=JhnaGx6Hc7sEMUGgFyru2PfmTNgFhcF-lgckopMMSP8,1334
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
161
  annet/rulebook/texts/huawei.rul,sha256=02Fi1RG4YYea2clHCluBuJDKNbT0hS9jtsk6_h6GK8k,12958
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
166
  annet/rulebook/texts/juniper.rul,sha256=EmtrEJZesnmc2nXjURRD2G0WOq4zLluI_PNupKhSOJs,2654
@@ -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.4.2.dist-info/licenses/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
201
+ annet-3.4.2.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.4.2.dist-info/METADATA,sha256=bLeca3jp_YNTggKhc9n3N4rJuqXXgls45oww9mR_kJ8,815
215
+ annet-3.4.2.dist-info/WHEEL,sha256=ooBFpIzZCPdw3uqIQsOo4qqbA4ZRPxHnOH7peeONza0,91
216
+ annet-3.4.2.dist-info/entry_points.txt,sha256=5lIaDGlGi3l6QQ2ry2jZaqViP5Lvt8AmsegdD0Uznck,192
217
+ annet-3.4.2.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
218
+ annet-3.4.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.0.0)
2
+ Generator: setuptools (80.0.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
  ]