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.
- annet/__init__.py +1 -1
- annet/adapters/netbox/common/models.py +13 -5
- annet/annlib/filter_acl.py +2 -1
- annet/annlib/patching.py +1 -1
- annet/annlib/rbparser/syntax.py +2 -1
- annet/api/__init__.py +2 -3
- annet/bgp_models.py +9 -1
- annet/diff.py +2 -2
- annet/gen.py +2 -1
- annet/generators/__init__.py +2 -2
- annet/generators/base.py +2 -1
- annet/mesh/device_models.py +6 -0
- annet/mesh/executor.py +8 -16
- annet/mesh/models_converter.py +1 -1
- annet/mesh/peer_models.py +1 -5
- annet/parallel.py +0 -6
- annet/rpl/match_builder.py +1 -1
- annet/rpl_generators/aspath.py +16 -0
- annet/rpl_generators/community.py +37 -3
- annet/rpl_generators/policy.py +340 -5
- annet/rpl_generators/prefix_lists.py +51 -1
- annet/rpl_generators/rd.py +16 -0
- annet/rulebook/juniper/__init__.py +1 -1
- annet/rulebook/texts/cisco.order +2 -0
- annet/rulebook/texts/iosxr.order +21 -4
- annet/vendors/base.py +1 -1
- annet/vendors/library/arista.py +1 -1
- annet/vendors/library/aruba.py +1 -1
- annet/vendors/library/b4com.py +1 -1
- annet/vendors/library/cisco.py +1 -1
- annet/vendors/library/h3c.py +1 -1
- annet/vendors/library/huawei.py +1 -1
- annet/vendors/library/iosxr.py +1 -1
- annet/vendors/library/juniper.py +1 -1
- annet/vendors/library/nexus.py +1 -1
- annet/vendors/library/nokia.py +1 -1
- annet/vendors/library/optixtrans.py +1 -1
- annet/vendors/library/pc.py +1 -1
- annet/vendors/library/ribbon.py +1 -1
- annet/vendors/library/routeros.py +1 -1
- annet/vendors/registry.py +1 -1
- annet/{annlib → vendors}/tabparser.py +3 -3
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/METADATA +1 -1
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/RECORD +50 -50
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/WHEEL +1 -1
- annet_generators/rpl_example/items.py +13 -5
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/entry_points.txt +0 -0
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/licenses/AUTHORS +0 -0
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/licenses/LICENSE +0 -0
- {annet-3.4.1.dist-info → annet-3.4.2.dist-info}/top_level.txt +0 -0
annet/vendors/registry.py
CHANGED
|
@@ -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,
|
|
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,21 +1,21 @@
|
|
|
1
|
-
annet/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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=
|
|
84
|
-
annet/generators/base.py,sha256=
|
|
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=
|
|
97
|
-
annet/mesh/executor.py,sha256=
|
|
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=
|
|
100
|
-
annet/mesh/peer_models.py,sha256=
|
|
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=
|
|
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=
|
|
113
|
-
annet/rpl_generators/community.py,sha256=
|
|
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=
|
|
118
|
-
annet/rpl_generators/prefix_lists.py,sha256=
|
|
119
|
-
annet/rpl_generators/rd.py,sha256
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
184
|
-
annet/vendors/registry.py,sha256=
|
|
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=
|
|
187
|
-
annet/vendors/library/aruba.py,sha256=
|
|
188
|
-
annet/vendors/library/b4com.py,sha256=
|
|
189
|
-
annet/vendors/library/cisco.py,sha256=
|
|
190
|
-
annet/vendors/library/h3c.py,sha256
|
|
191
|
-
annet/vendors/library/huawei.py,sha256=
|
|
192
|
-
annet/vendors/library/iosxr.py,sha256=
|
|
193
|
-
annet/vendors/library/juniper.py,sha256=
|
|
194
|
-
annet/vendors/library/nexus.py,sha256=
|
|
195
|
-
annet/vendors/library/nokia.py,sha256=
|
|
196
|
-
annet/vendors/library/optixtrans.py,sha256=
|
|
197
|
-
annet/vendors/library/pc.py,sha256=
|
|
198
|
-
annet/vendors/library/ribbon.py,sha256=
|
|
199
|
-
annet/vendors/library/routeros.py,sha256=
|
|
200
|
-
annet-3.4.
|
|
201
|
-
annet-3.4.
|
|
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=
|
|
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.
|
|
215
|
-
annet-3.4.
|
|
216
|
-
annet-3.4.
|
|
217
|
-
annet-3.4.
|
|
218
|
-
annet-3.4.
|
|
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,11 +1,14 @@
|
|
|
1
|
-
from
|
|
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", [
|
|
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
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|