tdl-xoa-driver 1.0.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.
Files changed (325) hide show
  1. tdl_xoa_driver-1.0.0.dist-info/LICENSE +202 -0
  2. tdl_xoa_driver-1.0.0.dist-info/METADATA +177 -0
  3. tdl_xoa_driver-1.0.0.dist-info/RECORD +325 -0
  4. tdl_xoa_driver-1.0.0.dist-info/WHEEL +5 -0
  5. tdl_xoa_driver-1.0.0.dist-info/top_level.txt +1 -0
  6. xoa_driver/__init__.py +2 -0
  7. xoa_driver/enums.py +399 -0
  8. xoa_driver/exceptions.py +77 -0
  9. xoa_driver/functions/__init__.py +0 -0
  10. xoa_driver/functions/anlt.py +744 -0
  11. xoa_driver/functions/anlt_ll_debug.py +429 -0
  12. xoa_driver/functions/cli.py +581 -0
  13. xoa_driver/functions/exceptions.py +72 -0
  14. xoa_driver/functions/headers.py +608 -0
  15. xoa_driver/functions/mgmt.py +515 -0
  16. xoa_driver/functions/tools.py +256 -0
  17. xoa_driver/hlfuncs.py +18 -0
  18. xoa_driver/internals/__init__.py +0 -0
  19. xoa_driver/internals/commands/__init__.py +31 -0
  20. xoa_driver/internals/commands/c_commands.py +2041 -0
  21. xoa_driver/internals/commands/enums.py +3289 -0
  22. xoa_driver/internals/commands/m4_commands.py +700 -0
  23. xoa_driver/internals/commands/m4e_commands.py +107 -0
  24. xoa_driver/internals/commands/m_commands.py +1875 -0
  25. xoa_driver/internals/commands/p4_commands.py +2221 -0
  26. xoa_driver/internals/commands/p4e_commands.py +160 -0
  27. xoa_driver/internals/commands/p4g_commands.py +7253 -0
  28. xoa_driver/internals/commands/p_commands.py +6000 -0
  29. xoa_driver/internals/commands/pc_commands.py +335 -0
  30. xoa_driver/internals/commands/pd_commands.py +355 -0
  31. xoa_driver/internals/commands/pe_commands.py +1018 -0
  32. xoa_driver/internals/commands/pec_commands.py +265 -0
  33. xoa_driver/internals/commands/ped_commands.py +1034 -0
  34. xoa_driver/internals/commands/pef_commands.py +2216 -0
  35. xoa_driver/internals/commands/pf_commands.py +379 -0
  36. xoa_driver/internals/commands/pl1_commands.py +1588 -0
  37. xoa_driver/internals/commands/pl_commands.py +178 -0
  38. xoa_driver/internals/commands/pm_commands.py +256 -0
  39. xoa_driver/internals/commands/pp_commands.py +2341 -0
  40. xoa_driver/internals/commands/pr_commands.py +812 -0
  41. xoa_driver/internals/commands/ps_commands.py +2311 -0
  42. xoa_driver/internals/commands/pt_commands.py +370 -0
  43. xoa_driver/internals/commands/px_commands.py +303 -0
  44. xoa_driver/internals/commands/subtypes.py +86 -0
  45. xoa_driver/internals/core/__init__.py +0 -0
  46. xoa_driver/internals/core/builders.py +39 -0
  47. xoa_driver/internals/core/exceptions.py +69 -0
  48. xoa_driver/internals/core/funcs.py +81 -0
  49. xoa_driver/internals/core/funcs.pyi +1072 -0
  50. xoa_driver/internals/core/interfaces.py +47 -0
  51. xoa_driver/internals/core/token.py +44 -0
  52. xoa_driver/internals/core/transporter/__init__.py +0 -0
  53. xoa_driver/internals/core/transporter/_processor.py +83 -0
  54. xoa_driver/internals/core/transporter/_publisher.py +101 -0
  55. xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
  56. xoa_driver/internals/core/transporter/_stream.py +99 -0
  57. xoa_driver/internals/core/transporter/_typings.py +43 -0
  58. xoa_driver/internals/core/transporter/exceptions.py +44 -0
  59. xoa_driver/internals/core/transporter/handler.py +127 -0
  60. xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
  61. xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
  62. xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
  63. xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
  64. xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
  65. xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
  66. xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
  67. xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
  68. xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
  69. xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
  70. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
  71. xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
  72. xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
  73. xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
  74. xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
  75. xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
  76. xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
  77. xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
  78. xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
  79. xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
  80. xoa_driver/internals/core/transporter/registry.py +43 -0
  81. xoa_driver/internals/exceptions/__init__.py +9 -0
  82. xoa_driver/internals/exceptions/modules.py +13 -0
  83. xoa_driver/internals/exceptions/testers.py +21 -0
  84. xoa_driver/internals/hli_v1/__init__.py +0 -0
  85. xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
  86. xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
  87. xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
  88. xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
  89. xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
  90. xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
  91. xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
  92. xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
  93. xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
  94. xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
  95. xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
  96. xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
  97. xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
  98. xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
  99. xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
  100. xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
  101. xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
  102. xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
  103. xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
  104. xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
  105. xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
  106. xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
  107. xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
  108. xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
  109. xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
  110. xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
  111. xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
  112. xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
  113. xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
  114. xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
  115. xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
  116. xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
  117. xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
  118. xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
  119. xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
  120. xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
  121. xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
  122. xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
  123. xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
  124. xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
  125. xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
  126. xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
  127. xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
  128. xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
  129. xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
  130. xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
  131. xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
  132. xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
  133. xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
  134. xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
  135. xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
  136. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
  137. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
  138. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
  139. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
  140. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
  141. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
  142. xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
  143. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  144. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  145. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
  146. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
  147. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
  148. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
  149. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
  150. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
  151. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
  152. xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
  153. xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
  154. xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
  155. xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
  156. xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
  157. xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
  158. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
  159. xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
  160. xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
  161. xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
  162. xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
  163. xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
  164. xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
  165. xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
  166. xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
  167. xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
  168. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
  169. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
  170. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
  171. xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
  172. xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
  173. xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
  174. xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
  175. xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
  176. xoa_driver/internals/hli_v1/revisions.py +11 -0
  177. xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
  178. xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
  179. xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
  180. xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
  181. xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
  182. xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
  183. xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
  184. xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
  185. xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
  186. xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
  187. xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
  188. xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
  189. xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
  190. xoa_driver/internals/hli_v2/__init__.py +0 -0
  191. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  192. xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
  193. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  194. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
  195. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
  196. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
  197. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
  198. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
  199. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
  200. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
  201. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
  202. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
  203. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
  204. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  205. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
  206. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
  207. xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
  208. xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
  209. xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
  210. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  211. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
  212. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
  213. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  214. xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
  215. xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
  216. xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
  217. xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
  218. xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
  219. xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
  220. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  221. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
  222. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
  223. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
  224. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
  225. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
  226. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
  227. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
  228. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
  229. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
  230. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
  231. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
  232. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
  233. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
  234. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
  235. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  236. xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
  237. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  238. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  239. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
  240. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
  241. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
  242. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
  243. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
  244. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
  245. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  246. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  247. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  248. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
  249. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
  250. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
  251. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
  252. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
  253. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
  254. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
  255. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
  256. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
  257. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
  258. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
  259. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
  260. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
  261. xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
  262. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
  263. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
  264. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
  265. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
  266. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
  267. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
  268. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
  269. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
  270. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
  271. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
  272. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
  273. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
  274. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  275. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
  276. xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
  277. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
  278. xoa_driver/internals/hli_v2/revisions.py +11 -0
  279. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  280. xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
  281. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  282. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  283. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
  284. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
  285. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
  286. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
  287. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
  288. xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
  289. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
  290. xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
  291. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
  292. xoa_driver/internals/state_storage/__init__.py +0 -0
  293. xoa_driver/internals/state_storage/_speed_detector.py +121 -0
  294. xoa_driver/internals/state_storage/modules_state.py +128 -0
  295. xoa_driver/internals/state_storage/ports_state.py +154 -0
  296. xoa_driver/internals/state_storage/testers_state.py +104 -0
  297. xoa_driver/internals/utils/__init__.py +0 -0
  298. xoa_driver/internals/utils/attributes.py +33 -0
  299. xoa_driver/internals/utils/cap_id.py +63 -0
  300. xoa_driver/internals/utils/con_traffic_light.py +88 -0
  301. xoa_driver/internals/utils/indices/__init__.py +0 -0
  302. xoa_driver/internals/utils/indices/_interfaces.py +26 -0
  303. xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
  304. xoa_driver/internals/utils/indices/index_manager.py +95 -0
  305. xoa_driver/internals/utils/indices/observer.py +17 -0
  306. xoa_driver/internals/utils/kind.py +19 -0
  307. xoa_driver/internals/utils/managers/__init__.py +0 -0
  308. xoa_driver/internals/utils/managers/abc.py +44 -0
  309. xoa_driver/internals/utils/managers/exceptions.py +22 -0
  310. xoa_driver/internals/utils/managers/modules_manager.py +118 -0
  311. xoa_driver/internals/utils/managers/ports_manager.py +116 -0
  312. xoa_driver/internals/utils/rev_tool.py +21 -0
  313. xoa_driver/internals/utils/session.py +117 -0
  314. xoa_driver/internals/warn.py +32 -0
  315. xoa_driver/lli.py +15 -0
  316. xoa_driver/misc.py +57 -0
  317. xoa_driver/modules.py +448 -0
  318. xoa_driver/ports.py +332 -0
  319. xoa_driver/testers.py +37 -0
  320. xoa_driver/utils.py +12 -0
  321. xoa_driver/v2/__init__.py +11 -0
  322. xoa_driver/v2/misc.py +77 -0
  323. xoa_driver/v2/modules.py +308 -0
  324. xoa_driver/v2/ports.py +232 -0
  325. xoa_driver/v2/testers.py +24 -0
@@ -0,0 +1,397 @@
1
+ import asyncio
2
+ import functools
3
+ import typing
4
+ from typing_extensions import Self
5
+ from xoa_driver.internals.commands import (
6
+ M_LICENSE_DEMO_INFO,
7
+ M_LICENSE_MAINTENANCE_INFO,
8
+ M_LICENSE_CWB_DETECTED,
9
+ M_LICENSE_UPDATE,
10
+ M_LICENSE_UPDATE_STATUS,
11
+ M_LICENSE_LIST_BSON,
12
+ M_LICENSE_ONLINE,
13
+ # M4_INT, #TODO: need to implement
14
+ # M4_STRING, #TODO: need to implement
15
+ # M4_HEX, #TODO: need to implement
16
+ M4_SYSTEMID,
17
+ M4_VERSIONNO,
18
+ M4_SYSTEM_STATUS,
19
+ M4_COMPATIBLE_CLIENT_VERSION,
20
+ M4_TIME,
21
+ M4_SYSTEM_TIME,
22
+ M4_MEM_INFO,
23
+ M4_CAPTURE_SIZE,
24
+ M4_LICENSE_INFO,
25
+ M4_REPLAY_PARSE_START,
26
+ M4_REPLAY_PARSE_STOP,
27
+ M4_REPLAY_PARSE_STATE,
28
+ M4_REPLAY_PARSER_PARAMS,
29
+ M4_REPLAY_FILE_LIST_BSON,
30
+ M4_REPLAY_FILE_LIST,
31
+ M4_CAPTURE_FILE_LIST_BSON,
32
+ M4_CAPTURE_FILE_LIST,
33
+ # M4_REPLAY_FILE_INFO_BSON, #TODO: need to implement
34
+ M4_REPLAY_FILE_DELETE,
35
+ M4_CAPTURE_FILE_DELETE,
36
+ M4E_MODE,
37
+ M4E_RESERVE,
38
+ M4_TLS_CIPHER_SUITES,
39
+ )
40
+ from xoa_driver.internals.hli_v1 import revisions
41
+ from xoa_driver.internals.utils import attributes as utils
42
+ from xoa_driver.internals.utils.managers import ports_manager as pm
43
+ from xoa_driver.internals.state_storage import modules_state
44
+ from xoa_driver import ports
45
+ from . import base_module as bm
46
+ if typing.TYPE_CHECKING:
47
+ from xoa_driver.internals.core import interfaces as itf
48
+ from . import __interfaces as m_itf
49
+
50
+
51
+ class License:
52
+ """
53
+ License management of a Vulcan tester.
54
+ """
55
+
56
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
57
+ self.demo_info = M_LICENSE_DEMO_INFO(conn, module_id)
58
+ """
59
+ Returns info about the demo status of the module.
60
+
61
+ :type: M_LICENSE_DEMO_INFO
62
+ """
63
+
64
+ self.management_info = M_LICENSE_MAINTENANCE_INFO(conn, module_id)
65
+ """
66
+ Returns info about the maintenance license status for the module.
67
+
68
+ :type: M_LICENSE_MAINTENANCE_INFO
69
+ """
70
+
71
+ self.clock_windback = M_LICENSE_CWB_DETECTED(conn, module_id)
72
+ """
73
+ Returns if clock-windback is detected. If clock-windback has been detected the chassis is locked and no reservations of ports can be performed.
74
+
75
+ :type: M_LICENSE_CWB_DETECTED
76
+ """
77
+
78
+ self.update = M_LICENSE_UPDATE(conn, module_id)
79
+ """
80
+ Instructs the chassis to update its local license information.
81
+
82
+ :type: M_LICENSE_UPDATE
83
+ """
84
+
85
+ self.update_status = M_LICENSE_UPDATE_STATUS(conn, module_id)
86
+ """
87
+ Returns the status of the latest license update operations.
88
+
89
+ :type: M_LICENSE_UPDATE_STATUS
90
+ """
91
+
92
+ self.list_bson = M_LICENSE_LIST_BSON(conn, module_id)
93
+ """
94
+ Returns a list of locally stored licenses - formatted as a BSON document.
95
+
96
+ :type: M_LICENSE_LIST_BSON
97
+ """
98
+
99
+ self.online_mode = M_LICENSE_ONLINE(conn, module_id)
100
+ """
101
+ Configures the chassis in online or offline mode.
102
+
103
+ :type: M_LICENSE_ONLINE
104
+ """
105
+
106
+
107
+ class CaptureParse:
108
+ """
109
+ Parse a captured pcap file.
110
+ """
111
+
112
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
113
+ self.start = M4_REPLAY_PARSE_START(conn, module_id)
114
+ """
115
+ To start parsing an uploaded Capture File (in PCAP format) intended for use in a replay test scenario.
116
+
117
+ :type: M4_REPLAY_PARSE_START
118
+ """
119
+
120
+ self.stop = M4_REPLAY_PARSE_STOP(conn, module_id)
121
+ """
122
+ To stop parsing an uploaded Capture File (in PCAP format) intended for use in a replay test scenario.
123
+
124
+ :type: M4_REPLAY_PARSE_STOP
125
+ """
126
+
127
+ self.state = M4_REPLAY_PARSE_STATE(conn, module_id)
128
+ """
129
+ Returns the state of the parser.
130
+
131
+ :type: M4_REPLAY_PARSE_STATE
132
+ """
133
+
134
+ self.parser_params = M4_REPLAY_PARSER_PARAMS(conn, module_id)
135
+ """
136
+ Configuration of parameters for the parsing of pcap files.
137
+
138
+ :type: M4_REPLAY_PARSER_PARAMS
139
+ """
140
+
141
+
142
+ class ReplayFile:
143
+ """
144
+ The pcap files to replay.
145
+ """
146
+
147
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
148
+ self.list_bson = M4_REPLAY_FILE_LIST_BSON(conn, module_id)
149
+ """
150
+ Returns a list of replay files formatted in BSON.
151
+
152
+ :type: M4_REPLAY_FILE_LIST_BSON
153
+ """
154
+ self.list = M4_REPLAY_FILE_LIST(conn, module_id)
155
+ """
156
+ Returns a list of replay files.
157
+
158
+ :type: M4_REPLAY_FILE_LIST
159
+ """
160
+ # self.info_bson = M4_REPLAY_FILE_INFO_BSON(conn, module_id) # TODO: need to implement
161
+
162
+ self.delete = M4_REPLAY_FILE_DELETE(conn, module_id)
163
+ """
164
+ Delete a replay file.
165
+
166
+ :type: M4_REPLAY_FILE_DELETE
167
+ """
168
+
169
+
170
+ class Replay:
171
+ """
172
+ PCAP replay settings and control.
173
+ """
174
+
175
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
176
+ self.file = ReplayFile(conn, module_id)
177
+ """
178
+ Replay file settings and control.
179
+
180
+ :type: ReplayFile
181
+ """
182
+
183
+
184
+ class Capture:
185
+ """
186
+ Captured pcap file settings and control.
187
+ """
188
+
189
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
190
+ self.size = M4_CAPTURE_SIZE(conn, module_id)
191
+ """
192
+ Specify whether to capture whole packets(large) or truncated packets.
193
+
194
+ :type: M4_CAPTURE_SIZE
195
+ """
196
+
197
+ self.file_list_bson = M4_CAPTURE_FILE_LIST_BSON(conn, module_id)
198
+ """
199
+ Returns a list of captured files formatted as a BSON.
200
+
201
+ :type: M4_CAPTURE_FILE_LIST_BSON
202
+ """
203
+
204
+ self.file_list = M4_CAPTURE_FILE_LIST(conn, module_id)
205
+ """
206
+ Returns a list of captured files.
207
+
208
+ :type: M4_CAPTURE_FILE_LIST
209
+ """
210
+
211
+ self.file_delete = M4_CAPTURE_FILE_DELETE(conn, module_id)
212
+ """
213
+ Delete a captured file.
214
+
215
+ :type: M4_CAPTURE_FILE_DELETE
216
+ """
217
+
218
+ self.parse = CaptureParse(conn, module_id)
219
+ """
220
+ Capture file parser settings.
221
+
222
+ :type: CaptureParse
223
+ """
224
+
225
+
226
+ class PacketEngine:
227
+ """
228
+ Packet engine.
229
+ """
230
+
231
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
232
+ self.license_info = M4_LICENSE_INFO(conn, module_id)
233
+ """
234
+ Returns the number of available and free PE licenses.
235
+
236
+ :type: M4_LICENSE_INFO
237
+ """
238
+
239
+ self.reserve = M4E_RESERVE(conn, module_id)
240
+ """
241
+ Reserve a number of PEs so they later can be assigned to specific ports.
242
+
243
+ :type: M4E_RESERVE
244
+ """
245
+
246
+ self.mode = M4E_MODE(conn, module_id)
247
+ """
248
+ Select resource allocation mode.
249
+
250
+ :type: M4E_MODE
251
+ """
252
+
253
+
254
+ class ModuleSystem:
255
+ """
256
+ L47 module info.
257
+ """
258
+
259
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
260
+ self.id = M4_SYSTEMID(conn, module_id)
261
+ """
262
+ The system identifier of the module.
263
+
264
+ :type: M4_SYSTEMID
265
+ """
266
+
267
+ self.status = M4_SYSTEM_STATUS(conn, module_id)
268
+ """
269
+ The module system status in a text string.
270
+
271
+ :type: M4_SYSTEM_STATUS
272
+ """
273
+
274
+ self.time = M4_SYSTEM_TIME(conn, module_id)
275
+ """
276
+ The module system time in UTC.
277
+ :type: M4_SYSTEM_TIME
278
+ """
279
+
280
+
281
+ @revisions.register_vulcan_module(rev="Xena L47 Module")
282
+ class ModuleL47(bm.BaseModule["modules_state.ModuleLocalState"]):
283
+ """
284
+ This is a conceptual class of L47 test module on a Vulcan tester.
285
+ """
286
+
287
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
288
+ super().__init__(conn, init_data)
289
+
290
+ self._local_states = modules_state.ModuleLocalState()
291
+
292
+ self.version_number = M4_VERSIONNO(conn, self.module_id)
293
+ """
294
+ Version string containing a combination of information regarding the software version and the build environment. The first part of the string is the software build version.
295
+
296
+ :type: M4_VERSIONNO
297
+ """
298
+
299
+ self.compatible_client_version = M4_COMPATIBLE_CLIENT_VERSION(conn, self.module_id)
300
+ """
301
+ The recommended and required VulcanMananger client version.
302
+
303
+ :type: M4_COMPATIBLE_CLIENT_VERSION
304
+ """
305
+
306
+ self.time = M4_TIME(conn, self.module_id)
307
+ """
308
+ The module time in millisecond.
309
+
310
+ :type: M4_TIME
311
+ """
312
+
313
+ self.tls_cipher = M4_TLS_CIPHER_SUITES(conn, self.module_id)
314
+ """
315
+ The list of supported TLS Cipher Suites.
316
+
317
+ :type: M4_TLS_CIPHER_SUITES
318
+ """
319
+
320
+ self.memory_info = M4_MEM_INFO(conn, self.module_id) # Not sure if suppose to be here, maybe under ModuleSystem
321
+ """
322
+ The system memory information.
323
+
324
+ :type: M4_MEM_INFO
325
+ """
326
+
327
+ self.module_system = ModuleSystem(conn, self.module_id)
328
+ """L47 module info.
329
+
330
+ :type: ModuleSystem
331
+ """
332
+
333
+ self.license = License(conn, self.module_id)
334
+ """L47 license management.
335
+
336
+ :type: License
337
+ """
338
+
339
+ self.replay = Replay(conn, self.module_id)
340
+ """L47 pcap replay.
341
+
342
+ :type: Replay
343
+ """
344
+
345
+ self.capture = Capture(conn, self.module_id)
346
+ """L47 capture to pcap files.
347
+
348
+ :type: Capture
349
+ """
350
+
351
+ self.packet_engine = PacketEngine(conn, self.module_id)
352
+ """L47 packet engine.
353
+
354
+ :type: ~xoa_driver.internals.hli_v1.modules.module_l47.PacketEngine
355
+ """
356
+
357
+ self.ports: pm.PortsManager[ports.PortL47] = pm.PortsManager(
358
+ conn=conn,
359
+ ports_type=ports.PortL47,
360
+ module_id=self.module_id,
361
+ ports_count=self.ports_count
362
+ )
363
+ """
364
+ L47 Port index manager of this test module.
365
+
366
+ :type: PortsManager
367
+ """
368
+
369
+ @property
370
+ def info(self) -> modules_state.ModuleLocalState:
371
+ """Return the module's local state
372
+
373
+ :return: the module's local state
374
+ :rtype: ModuleLocalState
375
+ """
376
+
377
+ return self._local_states
378
+
379
+ async def _setup(self) -> Self:
380
+ await asyncio.gather(
381
+ self._local_states.initiate(self),
382
+ self.ports.fill()
383
+ )
384
+ self._local_states.register_subscriptions(self)
385
+ return self
386
+
387
+ on_license_demo_info_change = functools.partialmethod(utils.on_event, M_LICENSE_DEMO_INFO)
388
+ """Register a callback to the event that the module's demo license info changes."""
389
+
390
+ on_license_maintenance_info_change = functools.partialmethod(utils.on_event, M_LICENSE_MAINTENANCE_INFO)
391
+ """Register a callback to the event that the module's maintenance license info changes."""
392
+
393
+ on_replay_parse_state_change = functools.partialmethod(utils.on_event, M4_REPLAY_PARSE_STATE)
394
+ """Register a callback to the event that the module's parsing state of a captured pcap file changes."""
395
+
396
+ on_license_info_change = functools.partialmethod(utils.on_event, M4_LICENSE_INFO)
397
+ """Register a callback to the event that the module's L47 license info changes."""
@@ -0,0 +1,9 @@
1
+ from . import module_l47 as l47m
2
+
3
+
4
+ class ModuleL47VE(l47m.ModuleL47):
5
+ """
6
+ This is a conceptual class of L47 test module on a VulcanVE tester.
7
+
8
+ """
9
+ ...
@@ -0,0 +1,83 @@
1
+ import typing
2
+ import functools
3
+ from xoa_driver import ports
4
+ from xoa_driver.internals.hli_v1 import revisions
5
+ from xoa_driver.internals.commands import P_CAPABILITIES
6
+ from xoa_driver.internals.utils.managers import ports_manager as pm
7
+ from xoa_driver.internals.utils.cap_id import CapID
8
+
9
+ if typing.TYPE_CHECKING:
10
+ from xoa_driver.internals.core import interfaces as itf
11
+ from .. import __interfaces as m_itf
12
+
13
+ from .module_l23_base import ModuleL23
14
+
15
+
16
+ D_FAMELY_ID = CapID(1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
17
+ F_FAMELY_ID = CapID(0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
18
+
19
+
20
+ CombiTypes = typing.Union[
21
+ ports.POdin1G4S4PCombi,
22
+ ports.POdin10G4S2PCombi,
23
+ ]
24
+
25
+ CombiTypesB = typing.Union[
26
+ ports.POdin1G4S4PCombi_b,
27
+ ports.POdin10G4S2PCombi_b,
28
+ ]
29
+
30
+
31
+ async def _port_resolver(conn: "itf.IConnection", module_id: int, port_id: int, port_map: typing.Dict[int, typing.Type]) -> typing.Coroutine[typing.Any, typing.Any, CombiTypes]:
32
+ cap = await P_CAPABILITIES(conn, module_id, port_id).get()
33
+ current_port_id = CapID.create_from_capabilities(cap)
34
+ port_type = port_map[current_port_id.to_int()]
35
+ return await port_type(conn, module_id, port_id)
36
+
37
+
38
+ @typing.final
39
+ @revisions.register_valkyrie_module(rev="Odin-10G-4S-2P-Combi")
40
+ class MOdin10G4S2PCombi(ModuleL23):
41
+ """Test module Odin-10G-4S-2P-Combi
42
+ """
43
+
44
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
45
+ super().__init__(conn, init_data)
46
+ PORTS_MAP = {
47
+ D_FAMELY_ID.to_int(): ports.POdin1G4S4PCombi,
48
+ F_FAMELY_ID.to_int(): ports.POdin10G4S2PCombi,
49
+ }
50
+ self.ports: pm.PortsCombiManager[CombiTypes] = pm.PortsCombiManager(
51
+ conn=conn,
52
+ resolver=functools.partial(_port_resolver, port_map=PORTS_MAP),
53
+ module_id=self.module_id,
54
+ ports_count=self.ports_count
55
+ )
56
+ """Port Index Manager of Odin-10G-4S-2P-Combi
57
+
58
+ :type: PortsCombiManager
59
+ """
60
+
61
+
62
+ @typing.final
63
+ @revisions.register_valkyrie_module(rev="Odin-10G-4S-2P-Combi[b]")
64
+ class MOdin10G4S2PCombi_b(ModuleL23):
65
+ """Test module Odin-10G-4S-2P-Combi[b]
66
+ """
67
+
68
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
69
+ super().__init__(conn, init_data)
70
+ PORTS_MAP = {
71
+ D_FAMELY_ID.to_int(): ports.POdin1G4S4PCombi_b,
72
+ F_FAMELY_ID.to_int(): ports.POdin10G4S2PCombi_b,
73
+ }
74
+ self.ports: pm.PortsCombiManager[CombiTypesB] = pm.PortsCombiManager(
75
+ conn=conn,
76
+ resolver=functools.partial(_port_resolver, port_map=PORTS_MAP),
77
+ module_id=self.module_id,
78
+ ports_count=self.ports_count
79
+ )
80
+ """Port Index Manager of Odin-10G-4S-2P-Combi[b]
81
+
82
+ :type: PortsCombiManager
83
+ """
@@ -0,0 +1,75 @@
1
+ import typing
2
+ from xoa_driver import ports
3
+ from xoa_driver.internals.hli_v1 import revisions
4
+ from xoa_driver.internals.utils.managers import ports_manager as pm
5
+
6
+
7
+ if typing.TYPE_CHECKING:
8
+ from xoa_driver.internals.core import interfaces as itf
9
+ from .. import __interfaces as m_itf
10
+
11
+ from .module_l23_base import ModuleL23
12
+
13
+
14
+ @typing.final
15
+ @revisions.register_valkyrie_module(rev="Odin-1G-3S-6P")
16
+ class MOdin1G3S6P(ModuleL23):
17
+ """Test module Odin-1G-3S-6P"""
18
+
19
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
20
+ super().__init__(conn, init_data)
21
+ self.ports: pm.PortsManager[ports.POdin1G3S6P] = pm.PortsManager(
22
+ conn=conn,
23
+ ports_type=ports.POdin1G3S6P,
24
+ module_id=self.module_id,
25
+ ports_count=self.ports_count
26
+ )
27
+ """Port Index Manager of Odin-1G-3S-6P"""
28
+
29
+
30
+ @typing.final
31
+ @revisions.register_valkyrie_module(rev="Odin-1G-3S-6P[b]")
32
+ class MOdin1G3S6P_b(ModuleL23):
33
+ """Test module Odin-1G-3S-6P[b]"""
34
+
35
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
36
+ super().__init__(conn, init_data)
37
+ self.ports: pm.PortsManager[ports.POdin1G3S6P_b] = pm.PortsManager(
38
+ conn=conn,
39
+ ports_type=ports.POdin1G3S6P_b,
40
+ module_id=self.module_id,
41
+ ports_count=self.ports_count
42
+ )
43
+ """Port Index Manager of Odin-1G-3S-6P[b]"""
44
+
45
+
46
+ @typing.final
47
+ @revisions.register_valkyrie_module(rev="Odin-1G-3S-6P-E")
48
+ class MOdin1G3S6PE(ModuleL23):
49
+ """Test module Odin-1G-3S-6P-E"""
50
+
51
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
52
+ super().__init__(conn, init_data)
53
+ self.ports: pm.PortsManager[ports.POdin1G3S6PE] = pm.PortsManager(
54
+ conn=conn,
55
+ ports_type=ports.POdin1G3S6PE,
56
+ module_id=self.module_id,
57
+ ports_count=self.ports_count
58
+ )
59
+ """Port Index Manager of Odin-1G-3S-6P-E"""
60
+
61
+
62
+ @typing.final
63
+ @revisions.register_valkyrie_module(rev="Odin-1G-3S-2P-T")
64
+ class MOdin1G3S2PT(ModuleL23):
65
+ """Test module Odin-1G-3S-2P-T"""
66
+
67
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
68
+ super().__init__(conn, init_data)
69
+ self.ports: pm.PortsManager[ports.POdin1G3S2PT] = pm.PortsManager(
70
+ conn=conn,
71
+ ports_type=ports.POdin1G3S2PT,
72
+ module_id=self.module_id,
73
+ ports_count=self.ports_count
74
+ )
75
+ """Port Index Manager of Odin-1G-3S-2P-T"""
@@ -0,0 +1,85 @@
1
+ import typing
2
+ from xoa_driver import ports
3
+ from xoa_driver.internals.hli_v1 import revisions
4
+ from xoa_driver.internals.utils.managers import ports_manager as pm
5
+
6
+ if typing.TYPE_CHECKING:
7
+ from xoa_driver.internals.core import interfaces as itf
8
+ from .. import __interfaces as m_itf
9
+
10
+ from .module_l23_base import ModuleL23
11
+
12
+
13
+ @typing.final
14
+ @revisions.register_valkyrie_module(rev="Odin-5G-4S-6P-CU")
15
+ class MOdin5G4S6PCU(ModuleL23):
16
+ """Test module Odin-5G-4S-6P-CU"""
17
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
18
+ super().__init__(conn, init_data)
19
+ self.ports: pm.PortsManager[ports.POdin5G4S6PCU] = pm.PortsManager(
20
+ conn=conn,
21
+ ports_type=ports.POdin5G4S6PCU,
22
+ module_id=self.module_id,
23
+ ports_count=self.ports_count
24
+ )
25
+ """Port Index Manager of Odin-5G-4S-6P-CU"""
26
+
27
+
28
+ @typing.final
29
+ @revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU")
30
+ class MOdin10G5S6PCU(ModuleL23):
31
+ """Test module Odin-10G-5S-6P-CU"""
32
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
33
+ super().__init__(conn, init_data)
34
+ self.ports: pm.PortsManager[ports.POdin10G5S6PCU] = pm.PortsManager(
35
+ conn=conn,
36
+ ports_type=ports.POdin10G5S6PCU,
37
+ module_id=self.module_id,
38
+ ports_count=self.ports_count
39
+ )
40
+ """Port Index Manager of Odin-10G-5S-6P-CU"""
41
+
42
+
43
+ @typing.final
44
+ @revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU[b]")
45
+ class MOdin10G5S6PCU_b(ModuleL23):
46
+ """Test module Odin-10G-5S-6P-CU[b]"""
47
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
48
+ super().__init__(conn, init_data)
49
+ self.ports: pm.PortsManager[ports.POdin10G5S6PCU_b] = pm.PortsManager(
50
+ conn=conn,
51
+ ports_type=ports.POdin10G5S6PCU_b,
52
+ module_id=self.module_id,
53
+ ports_count=self.ports_count
54
+ )
55
+ """Port Index Manager of Odin-10G-5S-6P-CU[b]"""
56
+
57
+
58
+ @typing.final
59
+ @revisions.register_valkyrie_module(rev="Odin-10G-3S-6P-CU")
60
+ class MOdin10G3S6PCU(ModuleL23):
61
+ """Test module Odin-10G-3S-6P-CU"""
62
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
63
+ super().__init__(conn, init_data)
64
+ self.ports: pm.PortsManager[ports.POdin10G3S6PCU] = pm.PortsManager(
65
+ conn=conn,
66
+ ports_type=ports.POdin10G3S6PCU,
67
+ module_id=self.module_id,
68
+ ports_count=self.ports_count
69
+ )
70
+ """Port Index Manager of Odin-10G-3S-6P-CU"""
71
+
72
+
73
+ @typing.final
74
+ @revisions.register_valkyrie_module(rev="Odin-10G-3S-2P-CU")
75
+ class MOdin10G3S2PCU(ModuleL23):
76
+ """Test module Odin-10G-3S-2P-CU"""
77
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
78
+ super().__init__(conn, init_data)
79
+ self.ports: pm.PortsManager[ports.POdin10G3S2PCU] = pm.PortsManager(
80
+ conn=conn,
81
+ ports_type=ports.POdin10G3S2PCU,
82
+ module_id=self.module_id,
83
+ ports_count=self.ports_count
84
+ )
85
+ """Port Index Manager of Odin-10G-3S-2P-CU"""