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
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
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
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
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
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
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
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
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
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