def search_jobs(
        self,
        parent,
        request_metadata,
        search_mode=None,
        job_query=None,
        enable_broadening=None,
        require_precise_result_size=None,
        histogram_queries=None,
        job_view=None,
        offset=None,
        page_size=None,
        order_by=None,
        diversification_level=None,
        custom_ranking_info=None,
        disable_keyword_match=None,
        retry=google.api_core.gapic_v1.method.DEFAULT,
        timeout=google.api_core.gapic_v1.method.DEFAULT,
        metadata=None,
    ):
        if "search_jobs" not in self._inner_api_calls:
            self._inner_api_calls[
                "search_jobs"
            ] = google.api_core.gapic_v1.method.wrap_method(
                self.transport.search_jobs,
                default_retry=self._method_configs["SearchJobs"].retry,
                default_timeout=self._method_configs["SearchJobs"].timeout,
                client_info=self._client_info,
            )
        request = job_service_pb2.SearchJobsRequest(
            parent=parent,
            request_metadata=request_metadata,
            search_mode=search_mode,
            job_query=job_query,
            enable_broadening=enable_broadening,
            require_precise_result_size=require_precise_result_size,
            histogram_queries=histogram_queries,
            job_view=job_view,
            offset=offset,
            page_size=page_size,
            order_by=order_by,
            diversification_level=diversification_level,
            custom_ranking_info=custom_ranking_info,
            disable_keyword_match=disable_keyword_match,
        )
        iterator = google.api_core.page_iterator.GRPCIterator(
            client=None,
            method=functools.partial(
                self._inner_api_calls["search_jobs"],
                retry=retry,
                timeout=timeout,
                metadata=metadata,
            ),
            request=request,
            items_field="matching_jobs",
            request_token_field="page_token",
            response_token_field="next_page_token",
        )
        return iterator