annet 0.14.12__py3-none-any.whl → 0.15.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.
- annet/adapters/netbox/common/manufacturer.py +1 -0
- annet/annlib/netdev/devdb/data/devdb.json +5 -3
- annet/annlib/netdev/views/hardware.py +3 -0
- annet/annlib/rbparser/platform.py +4 -0
- annet/annlib/tabparser.py +5 -0
- annet/rulebook/texts/optixtrans.deploy +18 -0
- annet/rulebook/texts/optixtrans.order +5 -0
- annet/rulebook/texts/optixtrans.rul +13 -0
- annet/tabparser.py +4 -1
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/METADATA +1 -1
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/RECORD +16 -13
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/WHEEL +1 -1
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/AUTHORS +0 -0
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/LICENSE +0 -0
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/entry_points.txt +0 -0
- {annet-0.14.12.dist-info → annet-0.15.0.dist-info}/top_level.txt +0 -0
|
@@ -52,8 +52,6 @@
|
|
|
52
52
|
"Huawei.CE.CE8800.CE8850": " CE8850",
|
|
53
53
|
"Huawei.CE.CE8800.CE8851": " CE8851",
|
|
54
54
|
"Huawei.CE.CE9800": " CE98\\d\\d",
|
|
55
|
-
"Huawei.DC": " DC\\d+",
|
|
56
|
-
"Huawei.DC.DC908": " DC908",
|
|
57
55
|
"Huawei.Quidway": " S\\d+",
|
|
58
56
|
"Huawei.Quidway.S2x": " S2\\d{3}",
|
|
59
57
|
"Huawei.Quidway.S2x.S2300": " S23\\d\\d",
|
|
@@ -67,6 +65,9 @@
|
|
|
67
65
|
"Huawei.EI": "-EI(-|$)",
|
|
68
66
|
"Huawei.HI": "-HI(-|$)",
|
|
69
67
|
"Huawei.SI": "-SI(-|$)",
|
|
68
|
+
"Huawei.OptiXtrans": " OptiXtrans|DC",
|
|
69
|
+
"Huawei.OptiXtrans.DC": " DC",
|
|
70
|
+
"Huawei.OptiXtrans.DC.DC908": " DC908",
|
|
70
71
|
|
|
71
72
|
"Juniper": "^[Jj]uniper",
|
|
72
73
|
"Juniper.MX": " MX",
|
|
@@ -119,7 +120,8 @@
|
|
|
119
120
|
"PC.Whitebox.Asterfusion.CX.CX500.CX532P-N": " CX532P-N",
|
|
120
121
|
"PC.Whitebox.Ufispace": "[Uu]fi[Ss]pace",
|
|
121
122
|
"PC.Whitebox.Ufispace.S": " S",
|
|
122
|
-
"PC.Whitebox.Ufispace.S.
|
|
123
|
+
"PC.Whitebox.Ufispace.S.S9100": " S91\\d\\d",
|
|
124
|
+
"PC.Whitebox.Ufispace.S.S9100.S9110_32X": " S9110-32X",
|
|
123
125
|
|
|
124
126
|
"RouterOS": "^([Rr]outer[Oo][Ss]|[Mm]ikro[Tt]ik)",
|
|
125
127
|
|
|
@@ -77,6 +77,8 @@ def hw_to_vendor(hw: HardwareView) -> Optional[str]:
|
|
|
77
77
|
return "nexus"
|
|
78
78
|
elif hw.Cisco:
|
|
79
79
|
return "cisco"
|
|
80
|
+
elif hw.OptiXtrans:
|
|
81
|
+
return "optixtrans"
|
|
80
82
|
elif hw.Huawei:
|
|
81
83
|
return "huawei"
|
|
82
84
|
elif hw.Juniper:
|
|
@@ -105,6 +107,7 @@ def vendor_to_hw(vendor):
|
|
|
105
107
|
"catalyst": "Cisco Catalyst",
|
|
106
108
|
"nexus": "Cisco Nexus",
|
|
107
109
|
"huawei": "Huawei",
|
|
110
|
+
"optixtrans": "Huawei OptiXtrans",
|
|
108
111
|
"juniper": "Juniper",
|
|
109
112
|
"arista": "Arista",
|
|
110
113
|
"pc": "PC",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
VENDOR_REVERSES = {
|
|
2
2
|
"huawei": "undo",
|
|
3
|
+
"optixtrans": "undo",
|
|
3
4
|
"cisco": "no",
|
|
4
5
|
"nexus": "no",
|
|
5
6
|
"juniper": "delete",
|
|
@@ -13,6 +14,7 @@ VENDOR_REVERSES = {
|
|
|
13
14
|
|
|
14
15
|
VENDOR_DIFF = {
|
|
15
16
|
"huawei": "common.default_diff",
|
|
17
|
+
"optixtrans": "common.default_diff",
|
|
16
18
|
"cisco": "common.default_diff",
|
|
17
19
|
"nexus": "common.default_diff",
|
|
18
20
|
"juniper": "juniper.default_diff",
|
|
@@ -26,6 +28,7 @@ VENDOR_DIFF = {
|
|
|
26
28
|
|
|
27
29
|
VENDOR_DIFF_ORDERED = {
|
|
28
30
|
"huawei": "common.ordered_diff",
|
|
31
|
+
"optixtrans": "common.ordered_diff",
|
|
29
32
|
"cisco": "common.ordered_diff",
|
|
30
33
|
"nexus": "common.ordered_diff",
|
|
31
34
|
"juniper": "juniper.ordered_diff",
|
|
@@ -39,6 +42,7 @@ VENDOR_DIFF_ORDERED = {
|
|
|
39
42
|
|
|
40
43
|
VENDOR_EXIT = {
|
|
41
44
|
"huawei": "quit",
|
|
45
|
+
"optixtrans": "quit",
|
|
42
46
|
"cisco": "exit",
|
|
43
47
|
"nexus": "exit",
|
|
44
48
|
"arista": "exit",
|
annet/annlib/tabparser.py
CHANGED
|
@@ -263,6 +263,10 @@ class HuaweiFormatter(BlockExitFormatter):
|
|
|
263
263
|
yield from super().block_exit(context)
|
|
264
264
|
|
|
265
265
|
|
|
266
|
+
class OptixtransFormatter(CommonFormatter):
|
|
267
|
+
pass
|
|
268
|
+
|
|
269
|
+
|
|
266
270
|
class CiscoFormatter(BlockExitFormatter):
|
|
267
271
|
def __init__(self, indent=" "):
|
|
268
272
|
super().__init__("exit", indent)
|
|
@@ -644,6 +648,7 @@ def make_formatter(vendor, **kwargs):
|
|
|
644
648
|
"cisco": CiscoFormatter,
|
|
645
649
|
"nexus": CiscoFormatter,
|
|
646
650
|
"huawei": HuaweiFormatter,
|
|
651
|
+
"optixtrans": OptixtransFormatter,
|
|
647
652
|
"arista": CiscoFormatter,
|
|
648
653
|
"nokia": NokiaFormatter,
|
|
649
654
|
"routeros": RosFormatter,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Рулбук деплоя на устройства
|
|
2
|
+
#
|
|
3
|
+
# Операторы:
|
|
4
|
+
# * Один аргумент
|
|
5
|
+
# ~ Несколько аргументов (минимум один)
|
|
6
|
+
#
|
|
7
|
+
# Параметры:
|
|
8
|
+
# %timeout=... Таймаут выполнения команды (в секундах, по умолчанию 30)
|
|
9
|
+
#
|
|
10
|
+
# Ответы на вопросы
|
|
11
|
+
#
|
|
12
|
+
# <команда>
|
|
13
|
+
# dialog: <вопрос> ::: <ответ> <параметры>
|
|
14
|
+
#
|
|
15
|
+
# Если <вопрос> заключён в слеши (//), то воспринимается как регулярка, иначе - точное совпадение.
|
|
16
|
+
# Параметы:
|
|
17
|
+
# %send_nl=... Посылать ли перевод строки после ответа (bool, по умолчанию true)
|
|
18
|
+
# -----
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# В этом файле определяется порядок команд, в котором их следует подавать на устройство.
|
|
2
|
+
# - Если порядок команды не важен - ее можно не писать сюда совсем.
|
|
3
|
+
# - Если команда начинается с undo и прописан параметр %order_reverse - команда считается
|
|
4
|
+
# обратной, но занимает место между прямыми там, где указано (т.е. undo vlan batch
|
|
5
|
+
# будет стоять после блоков interface).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Операторы:
|
|
2
|
+
# * Один аргумент в undo
|
|
3
|
+
# ~ Несколько аргументов (минимум один) в undo
|
|
4
|
+
#
|
|
5
|
+
# Параметры:
|
|
6
|
+
# %global Команда действует на любом уровне ниже
|
|
7
|
+
# %logic=... Кастомная функция обработки правила
|
|
8
|
+
# %diff_logic=... Кастомная функция построения диффа.
|
|
9
|
+
# данная функция работает для подблоков (в отличие от %logic)
|
|
10
|
+
# %comment=... Добавить коммент после строки который будет видно с опцией patch --add-comments
|
|
11
|
+
# Сделано в основном для того чтобы генерировать специальные команды для наливки
|
|
12
|
+
# -----
|
|
13
|
+
clock timezone
|
annet/tabparser.py
CHANGED
|
@@ -3,6 +3,7 @@ from annet.annlib.tabparser import ( # pylint: disable=unused-import
|
|
|
3
3
|
CiscoFormatter,
|
|
4
4
|
CommonFormatter,
|
|
5
5
|
HuaweiFormatter,
|
|
6
|
+
OptixtransFormatter,
|
|
6
7
|
JuniperFormatter,
|
|
7
8
|
JuniperList,
|
|
8
9
|
NokiaFormatter,
|
|
@@ -14,7 +15,9 @@ from annet.annlib.tabparser import ( # pylint: disable=unused-import
|
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
def make_formatter(hw, **kwargs):
|
|
17
|
-
if hw.
|
|
18
|
+
if hw.OptiXtrans:
|
|
19
|
+
cls = OptixtransFormatter
|
|
20
|
+
elif hw.Huawei:
|
|
18
21
|
cls = HuaweiFormatter
|
|
19
22
|
elif hw.Cisco.ASR or hw.Cisco.XRV:
|
|
20
23
|
cls = AsrFormatter
|
|
@@ -17,7 +17,7 @@ annet/parallel.py,sha256=hLkzEht0KhzmzUWDdO4QFYQHzhxs3wPlTA8DxbB2ziw,17160
|
|
|
17
17
|
annet/patching.py,sha256=nILbY5oJajN0b1j3f0HEJm05H3HVThnWvB7vDVh7UQw,559
|
|
18
18
|
annet/reference.py,sha256=B8mH8VUMcecPnzULiTVb_kTQ7jQrCL7zp4pfIZQa5fk,4035
|
|
19
19
|
annet/storage.py,sha256=Wr_D_w7JQD08nD2IvC6bcGJLH6Uv62tKznUyWWWVW5Q,3144
|
|
20
|
-
annet/tabparser.py,sha256=
|
|
20
|
+
annet/tabparser.py,sha256=dEavhVBd9TEFf2NOW_JpTDcz2rzNtP4siQPceWalpl0,957
|
|
21
21
|
annet/text_term_format.py,sha256=CHb6viv45vmYl-SK1A1vyPHGhaEni6jVybBusaQnct8,2813
|
|
22
22
|
annet/tracing.py,sha256=ndpM-au1c88uBBpOuH_z52qWZL773edYozNyys_wA68,4044
|
|
23
23
|
annet/types.py,sha256=f2HwqoKa6AucwFwDMszoouB6m1B8n6VmdjHMktO30Kc,7175
|
|
@@ -26,7 +26,7 @@ annet/adapters/netbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
26
26
|
annet/adapters/netbox/provider.py,sha256=Gymku2Ad7um4GR9MqzQzm2o2cBLHLhIYbF1Ytl0r0MA,1076
|
|
27
27
|
annet/adapters/netbox/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
annet/adapters/netbox/common/client.py,sha256=-lWZmphD-OPuLIHNKhW_h2bnjrVaiyKYAD_MUPasEbo,2483
|
|
29
|
-
annet/adapters/netbox/common/manufacturer.py,sha256=
|
|
29
|
+
annet/adapters/netbox/common/manufacturer.py,sha256=K1z2ioP9ZikxjjfSAuAAszZALW0o9w1kLTnW5cR16tU,1412
|
|
30
30
|
annet/adapters/netbox/common/models.py,sha256=Vgxbl_Mm-zOAi2BTlEzDppTTgZjafFEC5F9s_MTd_xU,3263
|
|
31
31
|
annet/adapters/netbox/common/query.py,sha256=ziUFM7cUEbEIf3k1szTll4aO-OCUa-2Ogxbebi7Tegs,646
|
|
32
32
|
annet/adapters/netbox/common/status_client.py,sha256=W4nTb2yvBlJ2UkWUmUhKQ2PaSQb1shjhHj5ebb4s2s4,591
|
|
@@ -44,20 +44,20 @@ annet/annlib/jsontools.py,sha256=J_pToAAXQphP1QFh6uLQH9PnmHO68I5WV64qIQXLeDQ,380
|
|
|
44
44
|
annet/annlib/lib.py,sha256=eJ4hcVuQ6pdYBzLs4YKCHFtq45idOfZCYp92XfF7_QI,15317
|
|
45
45
|
annet/annlib/output.py,sha256=_SjJ6G6bejvnTKqNHw6xeio0FT9oO3OIkLaOC3cEga4,7569
|
|
46
46
|
annet/annlib/patching.py,sha256=GwG2lT4w-I1Ls3Eswn6SPJLBUVt2M3Ysw1fmXsWamYw,19793
|
|
47
|
-
annet/annlib/tabparser.py,sha256=
|
|
47
|
+
annet/annlib/tabparser.py,sha256=TnDVxJ8PkQzn_IPdwkcantGzckRNIYPQAtlHwo9bnXY,25891
|
|
48
48
|
annet/annlib/types.py,sha256=VHU0CBADfYmO0xzB_c5f-mcuU3dUumuJczQnqGlib9M,852
|
|
49
49
|
annet/annlib/netdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
50
|
annet/annlib/netdev/db.py,sha256=fI_u5aya4l61mbYSjj4JwlVfi3s7obt2jqERSuXGRUI,1634
|
|
51
51
|
annet/annlib/netdev/devdb/__init__.py,sha256=aKYjjLbJebdKBjnGDpVLQdSqrV2JL24spGm58tmMWVU,892
|
|
52
|
-
annet/annlib/netdev/devdb/data/devdb.json,sha256=
|
|
52
|
+
annet/annlib/netdev/devdb/data/devdb.json,sha256=0c7r0_NF0QQVPd0p84yyFLKIn5iusuU0S45NDorLWEM,5570
|
|
53
53
|
annet/annlib/netdev/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
54
|
annet/annlib/netdev/views/dump.py,sha256=rIlyvnA3uM8bB_7oq1nS2KDxTp6dQh2hz-FbNhYIpOU,4630
|
|
55
|
-
annet/annlib/netdev/views/hardware.py,sha256=
|
|
55
|
+
annet/annlib/netdev/views/hardware.py,sha256=6453atMaeoLWJSXzZxQ0zeTrdtRwCv0dlu6ivvpcdYE,3423
|
|
56
56
|
annet/annlib/rbparser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
57
|
annet/annlib/rbparser/acl.py,sha256=RR8yPt6t96_IiyuKVbeZ-3x32cyhBAT2wC1y99oWBO8,3931
|
|
58
58
|
annet/annlib/rbparser/deploying.py,sha256=ACT8QNhDAhJx3ZKuGh2nYBOrpdka2qEKuLDxvQAGKLk,1649
|
|
59
59
|
annet/annlib/rbparser/ordering.py,sha256=DiKqyY8Khz-5MTxNF1GSNtZgtyKwT3YYCXpahIPB6Ps,1779
|
|
60
|
-
annet/annlib/rbparser/platform.py,sha256=
|
|
60
|
+
annet/annlib/rbparser/platform.py,sha256=_W84Gt3XwURT2MLngZSmwZbWgqsnbrwzjNgHIHa8Xug,1365
|
|
61
61
|
annet/annlib/rbparser/syntax.py,sha256=iZ7Y-4QQBw4L3UtjEh54qisiRDhobl7HZxFNdP8mi54,3577
|
|
62
62
|
annet/annlib/rulebook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
63
|
annet/annlib/rulebook/common.py,sha256=9kCZwZpsH5UliF2OzaN9nLs2eLlz_d__4L7_oZ3SrCw,16054
|
|
@@ -115,6 +115,9 @@ annet/rulebook/texts/nexus.deploy,sha256=9YNAQEw7aQxtYZJbE-dMD6qJrTzs_G92Ifrx3Ft
|
|
|
115
115
|
annet/rulebook/texts/nexus.order,sha256=AZMKCD5Zf_mBOlE36aMDvO4w5rdbepTz1Dsyv7xP9Qs,1834
|
|
116
116
|
annet/rulebook/texts/nexus.rul,sha256=veixbi_ztbX6OMV_WjdkgpEXa47yDxOkPE0YQ6r4wqs,2558
|
|
117
117
|
annet/rulebook/texts/nokia.rul,sha256=gxK7FCRdjGUs7tDHTUebVOgkzWINAGibMPtz8tzvwg4,1077
|
|
118
|
+
annet/rulebook/texts/optixtrans.deploy,sha256=SVX8-yLHM90tJC4M-ekpGuGM1aQZW3euSGyg67l--R0,781
|
|
119
|
+
annet/rulebook/texts/optixtrans.order,sha256=NbeEP5oBsC-Iw84T8dpmc_s3BXJofXYeTdGdjUmPsYM,623
|
|
120
|
+
annet/rulebook/texts/optixtrans.rul,sha256=MvQX16Gyc1loCgPgLd2Ei1BYrTDZ33CayQurc_j9xVk,898
|
|
118
121
|
annet/rulebook/texts/pc.order,sha256=WTSosHmIA5LyHO_DNAH1VDeuXHEgZ9e_aDFyAtIW6rE,275
|
|
119
122
|
annet/rulebook/texts/pc.rul,sha256=zwIkSdOsJ6gmIj1sfy0xa4_yQRRBRjSQEqopsqFE2u8,302
|
|
120
123
|
annet/rulebook/texts/ribbon.deploy,sha256=hCq2XeAcwaYanyQ8lTdnez6Pgq-gRqpNuR8dAleIn3U,864
|
|
@@ -124,10 +127,10 @@ annet/rulebook/texts/routeros.rul,sha256=ipfxjj0mjFef6IsUlupqx4BY_Je_OUb8u_U1019
|
|
|
124
127
|
annet_generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
128
|
annet_generators/example/__init__.py,sha256=zVd8_DrXuOASrNzg2Ab94rPyvJff83L-_HppDFxnUjM,228
|
|
126
129
|
annet_generators/example/lldp.py,sha256=68CLrK7vxTQQy9XIBxtywuEdBNlIlfXGYj8_wYWs5UI,1146
|
|
127
|
-
annet-0.
|
|
128
|
-
annet-0.
|
|
129
|
-
annet-0.
|
|
130
|
-
annet-0.
|
|
131
|
-
annet-0.
|
|
132
|
-
annet-0.
|
|
133
|
-
annet-0.
|
|
130
|
+
annet-0.15.0.dist-info/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
|
|
131
|
+
annet-0.15.0.dist-info/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
|
|
132
|
+
annet-0.15.0.dist-info/METADATA,sha256=YnR3Nr5WQwY-i1k4A8V_fKC_QIVrG36hp_oEhzebxTA,694
|
|
133
|
+
annet-0.15.0.dist-info/WHEEL,sha256=ixB2d4u7mugx_bCBycvM9OzZ5yD7NmPXFRtKlORZS2Y,91
|
|
134
|
+
annet-0.15.0.dist-info/entry_points.txt,sha256=yHimujIzR2bwNIbb--MTs_GpXiAve89Egpu2LlgTEkg,119
|
|
135
|
+
annet-0.15.0.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
|
|
136
|
+
annet-0.15.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|