def _update_single_service_phase( target_phase: str, host: watolib.CREHost, check_type: str, service_item: str, ) -> None: discovery = Discovery( host=host, discovery_options=DiscoveryOptions( action=DiscoveryAction.SINGLE_UPDATE, show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True, ), api_request={ "update_target": target_phase, "update_services": [checkbox_id( check_type, service_item, )] }, ) discovery.execute_discovery()
def execute(params): """Execute a service discovery on a host""" host = watolib.Host.host(params["host_name"]) discovery_request = StartDiscoveryRequest(host=host, folder=host.folder(), options=DiscoveryOptions( action=DISCOVERY_ACTION[params["discover_mode"]], show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True)) _discovery_result = get_check_table(discovery_request) return Response(status=204)
def show_services(params): """Show all services of specific state""" host = watolib.Host.host(params["host_name"]) discovery_request = StartDiscoveryRequest( host=host, folder=host.folder(), options=DiscoveryOptions(action='', show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True), ) discovery_result = get_check_table(discovery_request) return _serve_services(host, discovery_result.check_table, params["discovery_state"])
def move_service(params): """Update the phase of a service""" host = watolib.Host.host(params["host_name"]) discovery_request = { "update_target": params["target_state"], "update_services": [params["service_hash"]] } discovery_options = DiscoveryOptions(action='single-update', show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True) discovery = Discovery(host=host, discovery_options=discovery_options, request=discovery_request) discovery.execute_discovery() return Response(status=204)
def show_services(params) -> Response: """Show all services of specific phase""" host = Host.load_host(params["host_name"]) discovery_request = StartDiscoveryRequest( host=host, folder=host.folder(), options=DiscoveryOptions( action="", show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True, ), ) discovery_result = get_check_table(discovery_request) return _serve_services( host, discovery_result.check_table, [params["discovery_phase"]], )
def execute(params): """Execute a service discovery on a host""" host = watolib.Host.host(params["host_name"]) body = params['body'] discovery_request = StartDiscoveryRequest( host=host, folder=host.folder(), options=DiscoveryOptions( action=DISCOVERY_ACTION[body["mode"]], show_checkboxes=False, show_parameters=False, show_discovered_labels=False, show_plugin_names=False, ignore_errors=True, ), ) discovery_result = get_check_table(discovery_request) return _serve_services( host, discovery_result.check_table, list(SERVICE_DISCOVERY_PHASES.keys()), )