示例#1
0
def get_action_parser():
    parser = argparse.ArgumentParser(description=f'Kibana Config Manager')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers,
                                       'main',
                                       main.interface,
                                       interface_group_name='sub_interface')
    return parser
示例#2
0
def get_action_parser():
    parser = argparse.ArgumentParser(
        description=f'Update default configurations and mirrors.')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers,
                                       'install',
                                       install.interface,
                                       interface_group_name='interface')
    return parser
    def build_parser(
            interface: SimpleConfigManagerInterface,
            parser: argparse.ArgumentParser) -> argparse.ArgumentParser:
        """Build a parser from any `SimpleConfigManagerInterface` and `argparse.ArgumentParser` derived class
        Args:
            parser: The `argparse.ArgumentParser` instance that you want to add a new parser too
            interface: The `SimpleConfigManagerInterface` instance you wish to append

        Returns:
            An argument parser instance for the `SimpleConfigManagerInterface` derived class
        """
        config_options = parser.add_argument_group('configuration options')
        config_objects_subparser = parser.add_subparsers()
        for params in interface.base_params + interface.interface_params:
            parser.add_argument(*params.flags, **params.kwargs)
        for var in vars(interface.config):
            if var in RESERVED_VARIABLE_NAMES:
                continue
            elif var.startswith('_'):
                continue
            elif '_raw' in var:
                continue
            elif var in [param.name for param in interface.base_params]:
                continue
            elif 'config_objects' in str(type(getattr(interface.config, var))):
                complex_obj = getattr(interface.config, var)
                if isinstance(complex_obj, Analyzers):
                    config_module_interface = AnalyzersInterface(complex_obj)
                    interface.config_module_map.update(
                        {var: config_module_interface})
                    interface_operations.append_service_interface_to_parser(
                        config_objects_subparser,
                        interface=config_module_interface,
                        interface_name=var,
                        interface_group_name='config_module')
                elif isinstance(complex_obj, targets.BaseTargets):
                    config_module_interface = FilebeatTargetsInterface(
                        complex_obj)
                    interface.config_module_map.update(
                        {var: config_module_interface})
                    interface_operations.append_service_interface_to_parser(
                        config_objects_subparser,
                        interface=config_module_interface,
                        interface_name=var,
                        interface_group_name='config_module')
            else:
                args = ArgparseParameters.create_from_typing_annotation(
                    var, type(getattr(interface.config, var)), required=False)
                try:
                    config_options.add_argument(*args.flags, **args.kwargs)
                except argparse.ArgumentError:
                    continue
        return parser
示例#4
0
def get_action_parser():
    parser = argparse.ArgumentParser(
        description=f'Dynamite Remote Manager @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()

    append_service_interface_to_parser(subparsers,
                                       'install',
                                       install.interface,
                                       interface_group_name='interface')
    append_service_interface_to_parser(subparsers,
                                       'uninstall',
                                       uninstall.interface,
                                       interface_group_name='interface')
    return parser
示例#5
0
def get_action_parser():
    parser = argparse.ArgumentParser(
        description=f'Suricata @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()

    append_service_interface_to_parser(subparsers,
                                       'install',
                                       install.interface,
                                       interface_group_name='interface')
    append_service_interface_to_parser(subparsers,
                                       'uninstall',
                                       uninstall.interface,
                                       interface_group_name='interface')
    append_service_interface_to_parser(subparsers,
                                       'update',
                                       update.interface,
                                       interface_group_name='interface')
    append_service_interface_to_parser(subparsers,
                                       'process',
                                       process.interface,
                                       interface_group_name='interface')
    config_parser = subparsers.add_parser('config', help=SURICATA_CONFIG_HELP)
    config_parser.set_defaults(interface='config')
    config_sub_parsers = config_parser.add_subparsers()
    append_service_interfaces_to_parser(config_sub_parsers,
                                        interfaces=get_config_interfaces(),
                                        interface_group_name='sub_interface')
    log_parser = subparsers.add_parser('logs', help=SURICATA_LOGS_HELP)
    log_parser.set_defaults(interface='logs')
    log_sub_parsers = log_parser.add_subparsers()
    append_service_interfaces_to_parser(log_sub_parsers,
                                        interfaces=get_logs_interfaces(),
                                        interface_group_name='sub_interface')
    return parser
示例#6
0
def get_action_parser():
    parser = argparse.ArgumentParser(description=f'Agent @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers, 'install', install.interface, interface_group_name='interface')
    append_service_interface_to_parser(subparsers, 'uninstall', uninstall.interface, interface_group_name='interface')
    append_service_interface_to_parser(subparsers, 'process', process.interface, interface_group_name='interface')
    append_service_interface_to_parser(subparsers, 'optimize', optimize.interface, interface_group_name='interface')
    return parser
示例#7
0
def get_action_parser():
    parser = argparse.ArgumentParser(description=f'Kibana @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers, 'install', install.interface, interface_group_name='interface')
    append_service_interface_to_parser(subparsers, 'uninstall', uninstall.interface, interface_group_name='interface')
    append_service_interface_to_parser(subparsers, 'process', process.interface, interface_group_name='interface')
    config_parser = subparsers.add_parser('config', help=KIBANA_CONFIG_HELP)
    config_parser.set_defaults(interface='config')
    config_sub_parsers = config_parser.add_subparsers()
    append_service_interfaces_to_parser(config_sub_parsers, interfaces=get_config_interfaces(),
                                        interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers, 'package', package.interface, interface_group_name='interface')
    return parser
示例#8
0
def get_action_parser():
    parser = argparse.ArgumentParser(
        description=f'Zeek @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers,
                                       'broker',
                                       broker.interface,
                                       interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers,
                                       'cluster',
                                       cluster.interface,
                                       interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers,
                                       'metrics',
                                       metrics.interface,
                                       interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers,
                                       'reporter',
                                       reporter.interface,
                                       interface_group_name='sub_interface')
    return parser
示例#9
0
def get_action_parser():
    parser = argparse.ArgumentParser(
        description=f'Elasticsearch Config Manager')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers,
                                       'main',
                                       main.interface,
                                       interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers,
                                       'users',
                                       users.interface,
                                       interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers,
                                       'java',
                                       java.interface,
                                       interface_group_name='sub_interface')
    return parser
示例#10
0
def get_action_parser():
    parser = argparse.ArgumentParser(description=f'Filebeat @ {get_primary_ip_address()}')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers, 'main', main.interface, interface_group_name='sub_interface')
    append_service_interface_to_parser(subparsers, 'metrics', metrics.interface, interface_group_name='sub_interface')
    return parser
示例#11
0
def get_action_parser():
    parser = argparse.ArgumentParser(description=f'Zeek Configuration Manager')
    subparsers = parser.add_subparsers()
    append_service_interface_to_parser(subparsers, 'site', site.interface, interface_group_name='sub_interface')
    return parser