a929ac3 install: use standard Python classes to declare knob types

Authored and Committed by jcholast 2 years ago
    install: use standard Python classes to declare knob types
    
    Use type(None) rather than bool to define knobs which are represented as
    command line flags. This allows declaring both "--option" and
    "--option={0,1}"-style command line options.
    
    Use enum.Enum subclasses instead of set literals to declare enumerations.
    
    Use typing.List[T] instead of (list, T) to declare lists. (Note that a
    minimal reimplementation of typing.List is used instead of the Python 2
    backport of the typing module due to non-technical reasons.)
    
    Use CheckedIPAddress instead of 'ip' and 'ip-local' to declare IP
    addresses.
    
    https://fedorahosted.org/freeipa/ticket/6392
    
    Reviewed-By: Martin Basti <mbasti@redhat.com>
    
        
file modified
+2 -0
file modified
+16 -9
file modified
+33 -3