import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback } from 'google-gax'; import { Transform } from 'stream'; import * as protos from '../../protos/protos'; /** * A service handles job management, including job CRUD, enumeration and search. * @class * @memberof v4beta1 */ export declare class JobServiceClient { private _terminated; private _opts; private _providedCustomServicePath; private _gaxModule; private _gaxGrpc; private _protos; private _defaults; private _universeDomain; private _servicePath; private _log; auth: gax.GoogleAuth; descriptors: Descriptors; warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: { [name: string]: Function; }; pathTemplates: { [name: string]: gax.PathTemplate; }; operationsClient: gax.OperationsClient; jobServiceStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of JobServiceClient. * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. * @param {string} [options.projectId] - The project ID from the Google * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you * need to avoid loading the default gRPC version and want to use the fallback * HTTP implementation. Load only fallback version and pass it to the constructor: * ``` * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC * const client = new JobServiceClient({fallback: true}, gax); * ``` */ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback); /** * Initialize the client. * Performs asynchronous operations (such as authentication) and prepares the client. * This function will be called automatically when any class method is called for the * first time, but if you need to initialize it before calling an actual method, * feel free to call initialize() directly. * * You can await on this method if you want to make sure the client is initialized. * * @returns {Promise} A promise that resolves to an authenticated service stub. */ initialize(): Promise<{ [name: string]: Function; }>; /** * The DNS address for this API service. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get servicePath(): string; /** * The DNS address for this API service - same as servicePath. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get apiEndpoint(): string; /** * The DNS address for this API service. * @returns {string} The DNS address for this service. */ get apiEndpoint(): string; get universeDomain(): string; /** * The port for this API service. * @returns {number} The default port for this service. */ static get port(): number; /** * The scopes needed to make gRPC calls for every method defined * in this service. * @returns {string[]} List of default scopes. */ static get scopes(): string[]; getProjectId(): Promise; getProjectId(callback: Callback): void; /** * Creates a new job. * * Typically, the job becomes searchable within 10 seconds, but it may take * up to 5 minutes. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified a default tenant * is created. For example, "projects/foo". * @param {google.cloud.talent.v4beta1.Job} request.job * Required. The Job to be created. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.talent.v4beta1.Job|Job}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.create_job.js * region_tag:jobs_v4beta1_generated_JobService_CreateJob_async */ createJob(request?: protos.google.cloud.talent.v4beta1.ICreateJobRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.IJob, protos.google.cloud.talent.v4beta1.ICreateJobRequest | undefined, {} | undefined ]>; createJob(request: protos.google.cloud.talent.v4beta1.ICreateJobRequest, options: CallOptions, callback: Callback): void; createJob(request: protos.google.cloud.talent.v4beta1.ICreateJobRequest, callback: Callback): void; /** * Retrieves the specified job, whose status is OPEN or recently EXPIRED * within the last 90 days. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The resource name of the job to retrieve. * * The format is * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For * example, "projects/foo/tenants/bar/jobs/baz". * * If tenant id is unspecified, the default tenant is used. For * example, "projects/foo/jobs/bar". * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.talent.v4beta1.Job|Job}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.get_job.js * region_tag:jobs_v4beta1_generated_JobService_GetJob_async */ getJob(request?: protos.google.cloud.talent.v4beta1.IGetJobRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.IJob, protos.google.cloud.talent.v4beta1.IGetJobRequest | undefined, {} | undefined ]>; getJob(request: protos.google.cloud.talent.v4beta1.IGetJobRequest, options: CallOptions, callback: Callback): void; getJob(request: protos.google.cloud.talent.v4beta1.IGetJobRequest, callback: Callback): void; /** * Updates specified job. * * Typically, updated contents become visible in search results within 10 * seconds, but it may take up to 5 minutes. * * @param {Object} request * The request object that will be sent. * @param {google.cloud.talent.v4beta1.Job} request.job * Required. The Job to be updated. * @param {google.protobuf.FieldMask} request.updateMask * Strongly recommended for the best service experience. * * If {@link protos.google.cloud.talent.v4beta1.UpdateJobRequest.update_mask|update_mask} * is provided, only the specified fields in * {@link protos.google.cloud.talent.v4beta1.UpdateJobRequest.job|job} are updated. * Otherwise all the fields are updated. * * A field mask to restrict the fields that are updated. Only * top level fields of {@link protos.google.cloud.talent.v4beta1.Job|Job} are supported. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.talent.v4beta1.Job|Job}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.update_job.js * region_tag:jobs_v4beta1_generated_JobService_UpdateJob_async */ updateJob(request?: protos.google.cloud.talent.v4beta1.IUpdateJobRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.IJob, protos.google.cloud.talent.v4beta1.IUpdateJobRequest | undefined, {} | undefined ]>; updateJob(request: protos.google.cloud.talent.v4beta1.IUpdateJobRequest, options: CallOptions, callback: Callback): void; updateJob(request: protos.google.cloud.talent.v4beta1.IUpdateJobRequest, callback: Callback): void; /** * Deletes the specified job. * * Typically, the job becomes unsearchable within 10 seconds, but it may take * up to 5 minutes. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The resource name of the job to be deleted. * * The format is * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For * example, "projects/foo/tenants/bar/jobs/baz". * * If tenant id is unspecified, the default tenant is used. For * example, "projects/foo/jobs/bar". * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.delete_job.js * region_tag:jobs_v4beta1_generated_JobService_DeleteJob_async */ deleteJob(request?: protos.google.cloud.talent.v4beta1.IDeleteJobRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.cloud.talent.v4beta1.IDeleteJobRequest | undefined, {} | undefined ]>; deleteJob(request: protos.google.cloud.talent.v4beta1.IDeleteJobRequest, options: CallOptions, callback: Callback): void; deleteJob(request: protos.google.cloud.talent.v4beta1.IDeleteJobRequest, callback: Callback): void; /** * Deletes a list of {@link protos.google.cloud.talent.v4beta1.Job|Job}s by filter. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {string} request.filter * Required. The filter string specifies the jobs to be deleted. * * Supported operator: =, AND * * The fields eligible for filtering are: * * * `companyName` (Required) * * `requisitionId` (Required) * * Sample Query: companyName = "projects/foo/companies/bar" AND * requisitionId = "req-1" * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.batch_delete_jobs.js * region_tag:jobs_v4beta1_generated_JobService_BatchDeleteJobs_async */ batchDeleteJobs(request?: protos.google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.cloud.talent.v4beta1.IBatchDeleteJobsRequest | undefined, {} | undefined ]>; batchDeleteJobs(request: protos.google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, options: CallOptions, callback: Callback): void; batchDeleteJobs(request: protos.google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, callback: Callback): void; /** * Searches for jobs using the provided * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest|SearchJobsRequest}. * * This call constrains the * {@link protos.google.cloud.talent.v4beta1.Job.visibility|visibility} of jobs present in * the database, and only returns jobs that the caller has permission to * search against. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant to search within. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode} request.searchMode * Mode of a search. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH|SearchMode.JOB_SEARCH}. * @param {google.cloud.talent.v4beta1.RequestMetadata} request.requestMetadata * Required. The meta information collected about the job searcher, used to * improve the search quality of the service. The identifiers (such as * `user_id`) are provided by users, and must be unique and consistent. * @param {google.cloud.talent.v4beta1.JobQuery} request.jobQuery * Query used to search against jobs, such as keyword, location filters, etc. * @param {boolean} request.enableBroadening * Controls whether to broaden the search when it produces sparse results. * Broadened queries append results to the end of the matching results * list. * * Defaults to false. * @param {boolean} request.requirePreciseResultSize * This field is deprecated. * @param {number[]} request.histogramQueries * An expression specifies a histogram request against matching jobs. * * Expression syntax is an aggregation function call with histogram facets and * other options. * * Available aggregation function calls are: * * `count(string_histogram_facet)`: Count the number of matching entities, * for each distinct attribute value. * * `count(numeric_histogram_facet, list of buckets)`: Count the number of * matching entities within each bucket. * * A maximum of 200 histogram buckets are supported. * * Data types: * * * Histogram facet: facet names with format `{@link protos.a-zA-Z0-9_|a-zA-Z}+`. * * String: string like "any string with backslash escape for quote(\")." * * Number: whole number and floating point number like 10, -1 and -0.01. * * List: list of elements with comma(,) separator surrounded by square * brackets, for example, [1, 2, 3] and ["one", "two", "three"]. * * Built-in constants: * * * MIN (minimum number similar to java Double.MIN_VALUE) * * MAX (maximum number similar to java Double.MAX_VALUE) * * Built-in functions: * * * bucket(start, end[, label]): bucket built-in function creates a bucket * with range of [start, end). Note that the end is exclusive, for example, * bucket(1, MAX, "positive number") or bucket(1, 10). * * Job histogram facets: * * * company_display_name: histogram by * {@link protos.google.cloud.talent.v4beta1.Job.company_display_name|Job.company_display_name}. * * employment_type: histogram by * {@link protos.google.cloud.talent.v4beta1.Job.employment_types|Job.employment_types}, * for example, * "FULL_TIME", "PART_TIME". * * company_size (DEPRECATED): histogram by * {@link protos.google.cloud.talent.v4beta1.CompanySize|CompanySize}, for example, * "SMALL", "MEDIUM", "BIG". * * publish_time_in_day: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in days. * Must specify list of numeric buckets in spec. * * publish_time_in_month: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in months. * Must specify list of numeric buckets in spec. * * publish_time_in_year: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in years. * Must specify list of numeric buckets in spec. * * degree_types: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.degree_types|Job.degree_types}, for * example, * "Bachelors", "Masters". * * job_level: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.job_level|Job.job_level}, for example, * "Entry * Level". * * country: histogram by the country code of jobs, for example, "US", "FR". * * admin1: histogram by the admin1 code of jobs, which is a global * placeholder referring to the state, province, or the particular term a * country uses to define the geographic structure below the country level, * for example, "CA", "IL". * * city: histogram by a combination of the "city name, admin1 code". For * example, "Mountain View, CA", "New York, NY". * * admin1_country: histogram by a combination of the "admin1 code, country", * for example, "CA, US", "IL, US". * * city_coordinate: histogram by the city center's GPS coordinates (latitude * and longitude), for example, 37.4038522,-122.0987765. Since the * coordinates of a city center can change, customers may need to refresh * them periodically. * * locale: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.language_code|Job.language_code}, for * example, "en-US", * "fr-FR". * * language: histogram by the language subtag of the * {@link protos.google.cloud.talent.v4beta1.Job.language_code|Job.language_code}, * for example, "en", "fr". * * category: histogram by the * {@link protos.google.cloud.talent.v4beta1.JobCategory|JobCategory}, for example, * "COMPUTER_AND_IT", "HEALTHCARE". * * base_compensation_unit: histogram by the * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit|CompensationInfo.CompensationUnit} * of base salary, for example, "WEEKLY", "MONTHLY". * * base_compensation: histogram by the base salary. Must specify list of * numeric buckets to group results by. * * annualized_base_compensation: histogram by the base annualized salary. * Must specify list of numeric buckets to group results by. * * annualized_total_compensation: histogram by the total annualized salary. * Must specify list of numeric buckets to group results by. * * string_custom_attribute: histogram by string * {@link protos.google.cloud.talent.v4beta1.Job.custom_attributes|Job.custom_attributes}. * Values can be accessed via square bracket notations like * string_custom_attribute["key1"]. * * numeric_custom_attribute: histogram by numeric * {@link protos.google.cloud.talent.v4beta1.Job.custom_attributes|Job.custom_attributes}. * Values can be accessed via square bracket notations like * numeric_custom_attribute["key1"]. Must specify list of numeric buckets to * group results by. * * Example expressions: * * * `count(admin1)` * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), * bucket(100000, MAX)])` * * `count(string_custom_attribute["some-string-custom-attribute"])` * * `count(numeric_custom_attribute["some-numeric-custom-attribute"], * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` * @param {google.cloud.talent.v4beta1.JobView} request.jobView * The desired job attributes returned for jobs in the search response. * Defaults to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_SMALL|JobView.JOB_VIEW_SMALL} * if no value is specified. * @param {number} request.offset * An integer that specifies the current offset (that is, starting result * location, amongst the jobs deemed by the API as relevant) in search * results. This field is only considered if * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.page_token|page_token} is * unset. * * The maximum allowed value is 5000. Otherwise an error is thrown. * * For example, 0 means to return results starting from the first matching * job, and 10 means to return from the 11th job. This can be used for * pagination, (for example, pageSize = 10 and offset = 10 means to return * from the second page). * @param {number} request.pageSize * A limit on the number of jobs returned in the search results. * Increasing this value above the default value of 10 can increase search * response time. The value can be between 1 and 100. * @param {string} request.pageToken * The token specifying the current offset within * search results. See * {@link protos.google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token|SearchJobsResponse.next_page_token} * for an explanation of how to obtain the next set of query results. * @param {string} request.orderBy * The criteria determining how search results are sorted. Default is * `"relevance desc"`. * * Supported options are: * * * `"relevance desc"`: By relevance descending, as determined by the API * algorithms. Relevance thresholding of query results is only available * with this ordering. * * `"posting_publish_time desc"`: By * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * descending. * * `"posting_update_time desc"`: By * {@link protos.google.cloud.talent.v4beta1.Job.posting_update_time|Job.posting_update_time} * descending. * * `"title"`: By {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title} * ascending. * * `"title desc"`: By {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title} * descending. * * `"annualized_base_compensation"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range|CompensationInfo.annualized_base_compensation_range} * ascending. Jobs whose annualized base compensation is unspecified are put * at the end of search results. * * `"annualized_base_compensation desc"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range|CompensationInfo.annualized_base_compensation_range} * descending. Jobs whose annualized base compensation is unspecified are * put at the end of search results. * * `"annualized_total_compensation"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range|CompensationInfo.annualized_total_compensation_range} * ascending. Jobs whose annualized base compensation is unspecified are put * at the end of search results. * * `"annualized_total_compensation desc"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range|CompensationInfo.annualized_total_compensation_range} * descending. Jobs whose annualized base compensation is unspecified are * put at the end of search results. * * `"custom_ranking desc"`: By the relevance score adjusted to the * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression|SearchJobsRequest.CustomRankingInfo.ranking_expression} * with weight factor assigned by * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level|SearchJobsRequest.CustomRankingInfo.importance_level} * in descending order. * * Location sorting: Use the special syntax to order jobs by distance:
* `"distance_from('Hawaii')"`: Order by distance from Hawaii.
* `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
* `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by * multiple locations. See details below.
* `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by * multiple locations. See details below.
* The string can have a maximum of 256 characters. When multiple distance * centers are provided, a job that is close to any of the distance centers * would have a high rank. When a job has multiple locations, the job * location closest to one of the distance centers will be used. Jobs that * don't have locations will be ranked at the bottom. Distance is calculated * with a precision of 11.3 meters (37.4 feet). Diversification strategy is * still applied unless explicitly disabled in * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level|diversification_level}. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel} request.diversificationLevel * Controls whether highly similar jobs are returned next to each other in * the search results. Jobs are identified as highly similar based on * their titles, job categories, and locations. Highly similar results are * clustered so that only one representative job of the cluster is * displayed to the job seeker higher up in the results, with the other jobs * being displayed lower down in the results. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE|DiversificationLevel.SIMPLE} * if no value is specified. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo} request.customRankingInfo * Controls over how job documents get ranked on top of existing relevance * score (determined by API algorithm). * @param {boolean} request.disableKeywordMatch * This field is deprecated. Please use * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode|SearchJobsRequest.keyword_match_mode} * going forward. * * To migrate, disable_keyword_match set to false maps to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL|KeywordMatchMode.KEYWORD_MATCH_ALL}, * and disable_keyword_match set to true maps to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED|KeywordMatchMode.KEYWORD_MATCH_DISABLED}. * If * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode|SearchJobsRequest.keyword_match_mode} * is set, this field is ignored. * * Controls whether to disable exact keyword match on * {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title}, * {@link protos.google.cloud.talent.v4beta1.Job.description|Job.description}, * {@link protos.google.cloud.talent.v4beta1.Job.company_display_name|Job.company_display_name}, * {@link protos.google.cloud.talent.v4beta1.Job.addresses|Job.addresses}, * {@link protos.google.cloud.talent.v4beta1.Job.qualifications|Job.qualifications}. When * disable keyword match is turned off, a keyword match returns jobs that do * not match given category filters when there are matching keywords. For * example, for the query "program manager," a result is returned even if the * job posting has the title "software developer," which doesn't fall into * "program manager" ontology, but does have "program manager" appearing in * its description. * * For queries like "cloud" that don't contain title or * location specific ontology, jobs with "cloud" keyword matches are returned * regardless of this flag's value. * * Use * {@link protos.google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes|Company.keyword_searchable_job_custom_attributes} * if company-specific globally matched custom field/attribute string values * are needed. Enabling keyword match improves recall of subsequent search * requests. * * Defaults to false. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode} request.keywordMatchMode * Controls what keyword match options to use. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL|KeywordMatchMode.KEYWORD_MATCH_ALL} * if no value is specified. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.RelevanceThreshold} [request.relevanceThreshold] * Optional. The relevance threshold of the search results. * * Default to Google defined threshold, leveraging a balance of * precision and recall to deliver both highly accurate results and * comprehensive coverage of relevant information. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.talent.v4beta1.SearchJobsResponse|SearchJobsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.search_jobs.js * region_tag:jobs_v4beta1_generated_JobService_SearchJobs_async */ searchJobs(request?: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.ISearchJobsResponse, protos.google.cloud.talent.v4beta1.ISearchJobsRequest | undefined, {} | undefined ]>; searchJobs(request: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, options: CallOptions, callback: Callback): void; searchJobs(request: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, callback: Callback): void; /** * Searches for jobs using the provided * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest|SearchJobsRequest}. * * This API call is intended for the use case of targeting passive job * seekers (for example, job seekers who have signed up to receive email * alerts about potential job opportunities), and has different algorithmic * adjustments that are targeted to passive job seekers. * * This call constrains the * {@link protos.google.cloud.talent.v4beta1.Job.visibility|visibility} of jobs present in * the database, and only returns jobs the caller has permission to search * against. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant to search within. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode} request.searchMode * Mode of a search. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH|SearchMode.JOB_SEARCH}. * @param {google.cloud.talent.v4beta1.RequestMetadata} request.requestMetadata * Required. The meta information collected about the job searcher, used to * improve the search quality of the service. The identifiers (such as * `user_id`) are provided by users, and must be unique and consistent. * @param {google.cloud.talent.v4beta1.JobQuery} request.jobQuery * Query used to search against jobs, such as keyword, location filters, etc. * @param {boolean} request.enableBroadening * Controls whether to broaden the search when it produces sparse results. * Broadened queries append results to the end of the matching results * list. * * Defaults to false. * @param {boolean} request.requirePreciseResultSize * This field is deprecated. * @param {number[]} request.histogramQueries * An expression specifies a histogram request against matching jobs. * * Expression syntax is an aggregation function call with histogram facets and * other options. * * Available aggregation function calls are: * * `count(string_histogram_facet)`: Count the number of matching entities, * for each distinct attribute value. * * `count(numeric_histogram_facet, list of buckets)`: Count the number of * matching entities within each bucket. * * A maximum of 200 histogram buckets are supported. * * Data types: * * * Histogram facet: facet names with format `{@link protos.a-zA-Z0-9_|a-zA-Z}+`. * * String: string like "any string with backslash escape for quote(\")." * * Number: whole number and floating point number like 10, -1 and -0.01. * * List: list of elements with comma(,) separator surrounded by square * brackets, for example, [1, 2, 3] and ["one", "two", "three"]. * * Built-in constants: * * * MIN (minimum number similar to java Double.MIN_VALUE) * * MAX (maximum number similar to java Double.MAX_VALUE) * * Built-in functions: * * * bucket(start, end[, label]): bucket built-in function creates a bucket * with range of [start, end). Note that the end is exclusive, for example, * bucket(1, MAX, "positive number") or bucket(1, 10). * * Job histogram facets: * * * company_display_name: histogram by * {@link protos.google.cloud.talent.v4beta1.Job.company_display_name|Job.company_display_name}. * * employment_type: histogram by * {@link protos.google.cloud.talent.v4beta1.Job.employment_types|Job.employment_types}, * for example, * "FULL_TIME", "PART_TIME". * * company_size (DEPRECATED): histogram by * {@link protos.google.cloud.talent.v4beta1.CompanySize|CompanySize}, for example, * "SMALL", "MEDIUM", "BIG". * * publish_time_in_day: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in days. * Must specify list of numeric buckets in spec. * * publish_time_in_month: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in months. * Must specify list of numeric buckets in spec. * * publish_time_in_year: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * in years. * Must specify list of numeric buckets in spec. * * degree_types: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.degree_types|Job.degree_types}, for * example, * "Bachelors", "Masters". * * job_level: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.job_level|Job.job_level}, for example, * "Entry * Level". * * country: histogram by the country code of jobs, for example, "US", "FR". * * admin1: histogram by the admin1 code of jobs, which is a global * placeholder referring to the state, province, or the particular term a * country uses to define the geographic structure below the country level, * for example, "CA", "IL". * * city: histogram by a combination of the "city name, admin1 code". For * example, "Mountain View, CA", "New York, NY". * * admin1_country: histogram by a combination of the "admin1 code, country", * for example, "CA, US", "IL, US". * * city_coordinate: histogram by the city center's GPS coordinates (latitude * and longitude), for example, 37.4038522,-122.0987765. Since the * coordinates of a city center can change, customers may need to refresh * them periodically. * * locale: histogram by the * {@link protos.google.cloud.talent.v4beta1.Job.language_code|Job.language_code}, for * example, "en-US", * "fr-FR". * * language: histogram by the language subtag of the * {@link protos.google.cloud.talent.v4beta1.Job.language_code|Job.language_code}, * for example, "en", "fr". * * category: histogram by the * {@link protos.google.cloud.talent.v4beta1.JobCategory|JobCategory}, for example, * "COMPUTER_AND_IT", "HEALTHCARE". * * base_compensation_unit: histogram by the * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit|CompensationInfo.CompensationUnit} * of base salary, for example, "WEEKLY", "MONTHLY". * * base_compensation: histogram by the base salary. Must specify list of * numeric buckets to group results by. * * annualized_base_compensation: histogram by the base annualized salary. * Must specify list of numeric buckets to group results by. * * annualized_total_compensation: histogram by the total annualized salary. * Must specify list of numeric buckets to group results by. * * string_custom_attribute: histogram by string * {@link protos.google.cloud.talent.v4beta1.Job.custom_attributes|Job.custom_attributes}. * Values can be accessed via square bracket notations like * string_custom_attribute["key1"]. * * numeric_custom_attribute: histogram by numeric * {@link protos.google.cloud.talent.v4beta1.Job.custom_attributes|Job.custom_attributes}. * Values can be accessed via square bracket notations like * numeric_custom_attribute["key1"]. Must specify list of numeric buckets to * group results by. * * Example expressions: * * * `count(admin1)` * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), * bucket(100000, MAX)])` * * `count(string_custom_attribute["some-string-custom-attribute"])` * * `count(numeric_custom_attribute["some-numeric-custom-attribute"], * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` * @param {google.cloud.talent.v4beta1.JobView} request.jobView * The desired job attributes returned for jobs in the search response. * Defaults to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_SMALL|JobView.JOB_VIEW_SMALL} * if no value is specified. * @param {number} request.offset * An integer that specifies the current offset (that is, starting result * location, amongst the jobs deemed by the API as relevant) in search * results. This field is only considered if * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.page_token|page_token} is * unset. * * The maximum allowed value is 5000. Otherwise an error is thrown. * * For example, 0 means to return results starting from the first matching * job, and 10 means to return from the 11th job. This can be used for * pagination, (for example, pageSize = 10 and offset = 10 means to return * from the second page). * @param {number} request.pageSize * A limit on the number of jobs returned in the search results. * Increasing this value above the default value of 10 can increase search * response time. The value can be between 1 and 100. * @param {string} request.pageToken * The token specifying the current offset within * search results. See * {@link protos.google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token|SearchJobsResponse.next_page_token} * for an explanation of how to obtain the next set of query results. * @param {string} request.orderBy * The criteria determining how search results are sorted. Default is * `"relevance desc"`. * * Supported options are: * * * `"relevance desc"`: By relevance descending, as determined by the API * algorithms. Relevance thresholding of query results is only available * with this ordering. * * `"posting_publish_time desc"`: By * {@link protos.google.cloud.talent.v4beta1.Job.posting_publish_time|Job.posting_publish_time} * descending. * * `"posting_update_time desc"`: By * {@link protos.google.cloud.talent.v4beta1.Job.posting_update_time|Job.posting_update_time} * descending. * * `"title"`: By {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title} * ascending. * * `"title desc"`: By {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title} * descending. * * `"annualized_base_compensation"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range|CompensationInfo.annualized_base_compensation_range} * ascending. Jobs whose annualized base compensation is unspecified are put * at the end of search results. * * `"annualized_base_compensation desc"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range|CompensationInfo.annualized_base_compensation_range} * descending. Jobs whose annualized base compensation is unspecified are * put at the end of search results. * * `"annualized_total_compensation"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range|CompensationInfo.annualized_total_compensation_range} * ascending. Jobs whose annualized base compensation is unspecified are put * at the end of search results. * * `"annualized_total_compensation desc"`: By job's * {@link protos.google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range|CompensationInfo.annualized_total_compensation_range} * descending. Jobs whose annualized base compensation is unspecified are * put at the end of search results. * * `"custom_ranking desc"`: By the relevance score adjusted to the * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression|SearchJobsRequest.CustomRankingInfo.ranking_expression} * with weight factor assigned by * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level|SearchJobsRequest.CustomRankingInfo.importance_level} * in descending order. * * Location sorting: Use the special syntax to order jobs by distance:
* `"distance_from('Hawaii')"`: Order by distance from Hawaii.
* `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
* `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by * multiple locations. See details below.
* `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by * multiple locations. See details below.
* The string can have a maximum of 256 characters. When multiple distance * centers are provided, a job that is close to any of the distance centers * would have a high rank. When a job has multiple locations, the job * location closest to one of the distance centers will be used. Jobs that * don't have locations will be ranked at the bottom. Distance is calculated * with a precision of 11.3 meters (37.4 feet). Diversification strategy is * still applied unless explicitly disabled in * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level|diversification_level}. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel} request.diversificationLevel * Controls whether highly similar jobs are returned next to each other in * the search results. Jobs are identified as highly similar based on * their titles, job categories, and locations. Highly similar results are * clustered so that only one representative job of the cluster is * displayed to the job seeker higher up in the results, with the other jobs * being displayed lower down in the results. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE|DiversificationLevel.SIMPLE} * if no value is specified. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo} request.customRankingInfo * Controls over how job documents get ranked on top of existing relevance * score (determined by API algorithm). * @param {boolean} request.disableKeywordMatch * This field is deprecated. Please use * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode|SearchJobsRequest.keyword_match_mode} * going forward. * * To migrate, disable_keyword_match set to false maps to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL|KeywordMatchMode.KEYWORD_MATCH_ALL}, * and disable_keyword_match set to true maps to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED|KeywordMatchMode.KEYWORD_MATCH_DISABLED}. * If * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode|SearchJobsRequest.keyword_match_mode} * is set, this field is ignored. * * Controls whether to disable exact keyword match on * {@link protos.google.cloud.talent.v4beta1.Job.title|Job.title}, * {@link protos.google.cloud.talent.v4beta1.Job.description|Job.description}, * {@link protos.google.cloud.talent.v4beta1.Job.company_display_name|Job.company_display_name}, * {@link protos.google.cloud.talent.v4beta1.Job.addresses|Job.addresses}, * {@link protos.google.cloud.talent.v4beta1.Job.qualifications|Job.qualifications}. When * disable keyword match is turned off, a keyword match returns jobs that do * not match given category filters when there are matching keywords. For * example, for the query "program manager," a result is returned even if the * job posting has the title "software developer," which doesn't fall into * "program manager" ontology, but does have "program manager" appearing in * its description. * * For queries like "cloud" that don't contain title or * location specific ontology, jobs with "cloud" keyword matches are returned * regardless of this flag's value. * * Use * {@link protos.google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes|Company.keyword_searchable_job_custom_attributes} * if company-specific globally matched custom field/attribute string values * are needed. Enabling keyword match improves recall of subsequent search * requests. * * Defaults to false. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode} request.keywordMatchMode * Controls what keyword match options to use. * * Defaults to * {@link protos.google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL|KeywordMatchMode.KEYWORD_MATCH_ALL} * if no value is specified. * @param {google.cloud.talent.v4beta1.SearchJobsRequest.RelevanceThreshold} [request.relevanceThreshold] * Optional. The relevance threshold of the search results. * * Default to Google defined threshold, leveraging a balance of * precision and recall to deliver both highly accurate results and * comprehensive coverage of relevant information. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.cloud.talent.v4beta1.SearchJobsResponse|SearchJobsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.search_jobs_for_alert.js * region_tag:jobs_v4beta1_generated_JobService_SearchJobsForAlert_async */ searchJobsForAlert(request?: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.ISearchJobsResponse, protos.google.cloud.talent.v4beta1.ISearchJobsRequest | undefined, {} | undefined ]>; searchJobsForAlert(request: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, options: CallOptions, callback: Callback): void; searchJobsForAlert(request: protos.google.cloud.talent.v4beta1.ISearchJobsRequest, callback: Callback): void; /** * Begins executing a batch create jobs operation. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {number[]} request.jobs * Required. The jobs to be created. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * a long running operation. Its `promise()` method returns a promise * you can `await` for. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.batch_create_jobs.js * region_tag:jobs_v4beta1_generated_JobService_BatchCreateJobs_async */ batchCreateJobs(request?: protos.google.cloud.talent.v4beta1.IBatchCreateJobsRequest, options?: CallOptions): Promise<[ LROperation, protos.google.longrunning.IOperation | undefined, {} | undefined ]>; batchCreateJobs(request: protos.google.cloud.talent.v4beta1.IBatchCreateJobsRequest, options: CallOptions, callback: Callback, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; batchCreateJobs(request: protos.google.cloud.talent.v4beta1.IBatchCreateJobsRequest, callback: Callback, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; /** * Check the status of the long running operation returned by `batchCreateJobs()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.batch_create_jobs.js * region_tag:jobs_v4beta1_generated_JobService_BatchCreateJobs_async */ checkBatchCreateJobsProgress(name: string): Promise>; /** * Begins executing a batch update jobs operation. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {number[]} request.jobs * Required. The jobs to be updated. * @param {google.protobuf.FieldMask} request.updateMask * Strongly recommended for the best service experience. Be aware that it will * also increase latency when checking the status of a batch operation. * * If * {@link protos.google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask|update_mask} * is provided, only the specified fields in * {@link protos.google.cloud.talent.v4beta1.Job|Job} are updated. Otherwise all the * fields are updated. * * A field mask to restrict the fields that are updated. Only * top level fields of {@link protos.google.cloud.talent.v4beta1.Job|Job} are supported. * * If * {@link protos.google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask|update_mask} * is provided, The {@link protos.google.cloud.talent.v4beta1.Job|Job} inside * {@link protos.google.cloud.talent.v4beta1.JobOperationResult.JobResult|JobResult} * will only contains fields that is updated, plus the Id of the Job. * Otherwise, {@link protos.google.cloud.talent.v4beta1.Job|Job} will include all fields, * which can yield a very large response. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * a long running operation. Its `promise()` method returns a promise * you can `await` for. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.batch_update_jobs.js * region_tag:jobs_v4beta1_generated_JobService_BatchUpdateJobs_async */ batchUpdateJobs(request?: protos.google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, options?: CallOptions): Promise<[ LROperation, protos.google.longrunning.IOperation | undefined, {} | undefined ]>; batchUpdateJobs(request: protos.google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, options: CallOptions, callback: Callback, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; batchUpdateJobs(request: protos.google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, callback: Callback, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; /** * Check the status of the long running operation returned by `batchUpdateJobs()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.batch_update_jobs.js * region_tag:jobs_v4beta1_generated_JobService_BatchUpdateJobs_async */ checkBatchUpdateJobsProgress(name: string): Promise>; /** * Lists jobs by filter. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {string} request.filter * Required. The filter string specifies the jobs to be enumerated. * * Supported operator: =, AND * * The fields eligible for filtering are: * * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * * At least one of `companyName` and `requisitionId` must present or an * INVALID_ARGUMENT error is thrown. * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" * * requisitionId = "req-1" * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize * The maximum number of jobs to be returned per page of results. * * If {@link protos.google.cloud.talent.v4beta1.ListJobsRequest.job_view|job_view} is set * to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY|JobView.JOB_VIEW_ID_ONLY}, * the maximum allowed page size is 1000. Otherwise, the maximum allowed page * size is 100. * * Default is 100 if empty or a number < 1 is specified. * @param {google.cloud.talent.v4beta1.JobView} request.jobView * The desired job attributes returned for jobs in the * search response. Defaults to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL|JobView.JOB_VIEW_FULL} * if no value is specified. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.cloud.talent.v4beta1.Job|Job}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listJobsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listJobs(request?: protos.google.cloud.talent.v4beta1.IListJobsRequest, options?: CallOptions): Promise<[ protos.google.cloud.talent.v4beta1.IJob[], protos.google.cloud.talent.v4beta1.IListJobsRequest | null, protos.google.cloud.talent.v4beta1.IListJobsResponse ]>; listJobs(request: protos.google.cloud.talent.v4beta1.IListJobsRequest, options: CallOptions, callback: PaginationCallback): void; listJobs(request: protos.google.cloud.talent.v4beta1.IListJobsRequest, callback: PaginationCallback): void; /** * Equivalent to `listJobs`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {string} request.filter * Required. The filter string specifies the jobs to be enumerated. * * Supported operator: =, AND * * The fields eligible for filtering are: * * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * * At least one of `companyName` and `requisitionId` must present or an * INVALID_ARGUMENT error is thrown. * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" * * requisitionId = "req-1" * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize * The maximum number of jobs to be returned per page of results. * * If {@link protos.google.cloud.talent.v4beta1.ListJobsRequest.job_view|job_view} is set * to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY|JobView.JOB_VIEW_ID_ONLY}, * the maximum allowed page size is 1000. Otherwise, the maximum allowed page * size is 100. * * Default is 100 if empty or a number < 1 is specified. * @param {google.cloud.talent.v4beta1.JobView} request.jobView * The desired job attributes returned for jobs in the * search response. Defaults to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL|JobView.JOB_VIEW_FULL} * if no value is specified. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.cloud.talent.v4beta1.Job|Job} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listJobsAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listJobsStream(request?: protos.google.cloud.talent.v4beta1.IListJobsRequest, options?: CallOptions): Transform; /** * Equivalent to `listJobs`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The resource name of the tenant under which the job is created. * * The format is "projects/{project_id}/tenants/{tenant_id}". For example, * "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant * is created. For example, "projects/foo". * @param {string} request.filter * Required. The filter string specifies the jobs to be enumerated. * * Supported operator: =, AND * * The fields eligible for filtering are: * * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * * At least one of `companyName` and `requisitionId` must present or an * INVALID_ARGUMENT error is thrown. * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" * * requisitionId = "req-1" * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize * The maximum number of jobs to be returned per page of results. * * If {@link protos.google.cloud.talent.v4beta1.ListJobsRequest.job_view|job_view} is set * to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY|JobView.JOB_VIEW_ID_ONLY}, * the maximum allowed page size is 1000. Otherwise, the maximum allowed page * size is 100. * * Default is 100 if empty or a number < 1 is specified. * @param {google.cloud.talent.v4beta1.JobView} request.jobView * The desired job attributes returned for jobs in the * search response. Defaults to * {@link protos.google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL|JobView.JOB_VIEW_FULL} * if no value is specified. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.cloud.talent.v4beta1.Job|Job}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example include:samples/generated/v4beta1/job_service.list_jobs.js * region_tag:jobs_v4beta1_generated_JobService_ListJobs_async */ listJobsAsync(request?: protos.google.cloud.talent.v4beta1.IListJobsRequest, options?: CallOptions): AsyncIterable; /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. * * @param {Object} request - The request object that will be sent. * @param {string} request.name - The name of the operation resource. * @param {Object=} options * Optional parameters. You can override the default settings for this call, * e.g, timeout, retries, paginations, etc. See {@link * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} * for the details. * @param {function(?Error, ?Object)=} callback * The function which will be called with the result of the API call. * * The second parameter to the callback is an object representing * {@link google.longrunning.Operation | google.longrunning.Operation}. * @return {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * {@link google.longrunning.Operation | google.longrunning.Operation}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example * ``` * const client = longrunning.operationsClient(); * const name = ''; * const [response] = await client.getOperation({name}); * // doThingsWith(response) * ``` */ getOperation(request: protos.google.longrunning.GetOperationRequest, optionsOrCallback?: gax.CallOptions | Callback, callback?: Callback): Promise<[protos.google.longrunning.Operation]>; /** * Lists operations that match the specified filter in the request. If the * server doesn't support this method, it returns `UNIMPLEMENTED`. Returns an iterable object. * * For-await-of syntax is used with the iterable to recursively get response element on-demand. * * @param {Object} request - The request object that will be sent. * @param {string} request.name - The name of the operation collection. * @param {string} request.filter - The standard list filter. * @param {number=} request.pageSize - * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this * parameter does not affect the return value. If page streaming is * performed per-page, this determines the maximum number of * resources in a page. * @param {Object=} options * Optional parameters. You can override the default settings for this call, * e.g, timeout, retries, paginations, etc. See {@link * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the * details. * @returns {Object} * An iterable Object that conforms to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | iteration protocols}. * * @example * ``` * const client = longrunning.operationsClient(); * for await (const response of client.listOperationsAsync(request)); * // doThingsWith(response) * ``` */ listOperationsAsync(request: protos.google.longrunning.ListOperationsRequest, options?: gax.CallOptions): AsyncIterable; /** * Starts asynchronous cancellation on a long-running operation. The server * makes a best effort to cancel the operation, but success is not * guaranteed. If the server doesn't support this method, it returns * `google.rpc.Code.UNIMPLEMENTED`. Clients can use * {@link Operations.GetOperation} or * other methods to check whether the cancellation succeeded or whether the * operation completed despite cancellation. On successful cancellation, * the operation is not deleted; instead, it becomes an operation with * an {@link Operation.error} value with a {@link google.rpc.Status.code} of * 1, corresponding to `Code.CANCELLED`. * * @param {Object} request - The request object that will be sent. * @param {string} request.name - The name of the operation resource to be cancelled. * @param {Object=} options * Optional parameters. You can override the default settings for this call, * e.g, timeout, retries, paginations, etc. See {@link * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the * details. * @param {function(?Error)=} callback * The function which will be called with the result of the API call. * @return {Promise} - The promise which resolves when API call finishes. * The promise has a method named "cancel" which cancels the ongoing API * call. * * @example * ``` * const client = longrunning.operationsClient(); * await client.cancelOperation({name: ''}); * ``` */ cancelOperation(request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: gax.CallOptions | Callback, callback?: Callback): Promise; /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the * operation. If the server doesn't support this method, it returns * `google.rpc.Code.UNIMPLEMENTED`. * * @param {Object} request - The request object that will be sent. * @param {string} request.name - The name of the operation resource to be deleted. * @param {Object=} options * Optional parameters. You can override the default settings for this call, * e.g, timeout, retries, paginations, etc. See {@link * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} * for the details. * @param {function(?Error)=} callback * The function which will be called with the result of the API call. * @return {Promise} - The promise which resolves when API call finishes. * The promise has a method named "cancel" which cancels the ongoing API * call. * * @example * ``` * const client = longrunning.operationsClient(); * await client.deleteOperation({name: ''}); * ``` */ deleteOperation(request: protos.google.longrunning.DeleteOperationRequest, optionsOrCallback?: gax.CallOptions | Callback, callback?: Callback): Promise; /** * Return a fully-qualified project resource name string. * * @param {string} project * @returns {string} Resource name string. */ projectPath(project: string): string; /** * Parse the project from Project resource. * * @param {string} projectName * A fully-qualified path representing Project resource. * @returns {string} A string representing the project. */ matchProjectFromProjectName(projectName: string): string | number; /** * Return a fully-qualified projectCompany resource name string. * * @param {string} project * @param {string} company * @returns {string} Resource name string. */ projectCompanyPath(project: string, company: string): string; /** * Parse the project from ProjectCompany resource. * * @param {string} projectCompanyName * A fully-qualified path representing project_company resource. * @returns {string} A string representing the project. */ matchProjectFromProjectCompanyName(projectCompanyName: string): string | number; /** * Parse the company from ProjectCompany resource. * * @param {string} projectCompanyName * A fully-qualified path representing project_company resource. * @returns {string} A string representing the company. */ matchCompanyFromProjectCompanyName(projectCompanyName: string): string | number; /** * Return a fully-qualified projectJob resource name string. * * @param {string} project * @param {string} job * @returns {string} Resource name string. */ projectJobPath(project: string, job: string): string; /** * Parse the project from ProjectJob resource. * * @param {string} projectJobName * A fully-qualified path representing project_job resource. * @returns {string} A string representing the project. */ matchProjectFromProjectJobName(projectJobName: string): string | number; /** * Parse the job from ProjectJob resource. * * @param {string} projectJobName * A fully-qualified path representing project_job resource. * @returns {string} A string representing the job. */ matchJobFromProjectJobName(projectJobName: string): string | number; /** * Return a fully-qualified projectTenantCompany resource name string. * * @param {string} project * @param {string} tenant * @param {string} company * @returns {string} Resource name string. */ projectTenantCompanyPath(project: string, tenant: string, company: string): string; /** * Parse the project from ProjectTenantCompany resource. * * @param {string} projectTenantCompanyName * A fully-qualified path representing project_tenant_company resource. * @returns {string} A string representing the project. */ matchProjectFromProjectTenantCompanyName(projectTenantCompanyName: string): string | number; /** * Parse the tenant from ProjectTenantCompany resource. * * @param {string} projectTenantCompanyName * A fully-qualified path representing project_tenant_company resource. * @returns {string} A string representing the tenant. */ matchTenantFromProjectTenantCompanyName(projectTenantCompanyName: string): string | number; /** * Parse the company from ProjectTenantCompany resource. * * @param {string} projectTenantCompanyName * A fully-qualified path representing project_tenant_company resource. * @returns {string} A string representing the company. */ matchCompanyFromProjectTenantCompanyName(projectTenantCompanyName: string): string | number; /** * Return a fully-qualified projectTenantJob resource name string. * * @param {string} project * @param {string} tenant * @param {string} job * @returns {string} Resource name string. */ projectTenantJobPath(project: string, tenant: string, job: string): string; /** * Parse the project from ProjectTenantJob resource. * * @param {string} projectTenantJobName * A fully-qualified path representing project_tenant_job resource. * @returns {string} A string representing the project. */ matchProjectFromProjectTenantJobName(projectTenantJobName: string): string | number; /** * Parse the tenant from ProjectTenantJob resource. * * @param {string} projectTenantJobName * A fully-qualified path representing project_tenant_job resource. * @returns {string} A string representing the tenant. */ matchTenantFromProjectTenantJobName(projectTenantJobName: string): string | number; /** * Parse the job from ProjectTenantJob resource. * * @param {string} projectTenantJobName * A fully-qualified path representing project_tenant_job resource. * @returns {string} A string representing the job. */ matchJobFromProjectTenantJobName(projectTenantJobName: string): string | number; /** * Return a fully-qualified tenant resource name string. * * @param {string} project * @param {string} tenant * @returns {string} Resource name string. */ tenantPath(project: string, tenant: string): string; /** * Parse the project from Tenant resource. * * @param {string} tenantName * A fully-qualified path representing Tenant resource. * @returns {string} A string representing the project. */ matchProjectFromTenantName(tenantName: string): string | number; /** * Parse the tenant from Tenant resource. * * @param {string} tenantName * A fully-qualified path representing Tenant resource. * @returns {string} A string representing the tenant. */ matchTenantFromTenantName(tenantName: string): string | number; /** * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise; }