It refactors the translation of Zeek's enums to/from Python enum.Enum objects. This is a bit tricky since Zeek renders enums into fully-scoped strings ("Foo.Bar.VAL_1") with no immediate equivalent to such scoping in Python. The PR adds a new class hierarchy branch for enums to make the rendering of enums to/from Broker more similar to that of other records.
More importantly, it adds a get-nodes command to support the new corresponding functionality on the Zeek side.
For a deployed configuration this might look as follows:
This PR contains two main parts:
It refactors the translation of Zeek's enums to/from Python
enum.Enum
objects. This is a bit tricky since Zeek renders enums into fully-scoped strings ("Foo.Bar.VAL_1") with no immediate equivalent to such scoping in Python. The PR adds a new class hierarchy branch for enums to make the rendering of enums to/from Broker more similar to that of other records.More importantly, it adds a
get-nodes
command to support the new corresponding functionality on the Zeek side.For a deployed configuration this might look as follows: