google-cloud-talent 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +9 -0
  3. data/LICENSE +201 -0
  4. data/README.md +69 -0
  5. data/lib/google/cloud/talent.rb +456 -0
  6. data/lib/google/cloud/talent/v4beta1.rb +484 -0
  7. data/lib/google/cloud/talent/v4beta1/batch_pb.rb +21 -0
  8. data/lib/google/cloud/talent/v4beta1/common_pb.rb +264 -0
  9. data/lib/google/cloud/talent/v4beta1/company_pb.rb +39 -0
  10. data/lib/google/cloud/talent/v4beta1/company_service_client.rb +479 -0
  11. data/lib/google/cloud/talent/v4beta1/company_service_client_config.json +51 -0
  12. data/lib/google/cloud/talent/v4beta1/company_service_pb.rb +53 -0
  13. data/lib/google/cloud/talent/v4beta1/company_service_services_pb.rb +56 -0
  14. data/lib/google/cloud/talent/v4beta1/completion_client.rb +303 -0
  15. data/lib/google/cloud/talent/v4beta1/completion_client_config.json +31 -0
  16. data/lib/google/cloud/talent/v4beta1/completion_service_pb.rb +53 -0
  17. data/lib/google/cloud/talent/v4beta1/completion_service_services_pb.rb +48 -0
  18. data/lib/google/cloud/talent/v4beta1/credentials.rb +42 -0
  19. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/common.rb +890 -0
  20. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company.rb +125 -0
  21. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company_service.rb +130 -0
  22. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/completion_service.rb +153 -0
  23. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event.rb +252 -0
  24. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event_service.rb +34 -0
  25. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/filters.rb +853 -0
  26. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/histogram.rb +56 -0
  27. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job.rb +409 -0
  28. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job_service.rb +732 -0
  29. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile.rb +1125 -0
  30. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile_service.rb +392 -0
  31. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/resume_service.rb +98 -0
  32. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant.rb +68 -0
  33. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant_service.rb +119 -0
  34. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/duration.rb +91 -0
  35. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/empty.rb +29 -0
  36. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/field_mask.rb +230 -0
  37. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/timestamp.rb +109 -0
  38. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/wrappers.rb +34 -0
  39. data/lib/google/cloud/talent/v4beta1/doc/google/type/date.rb +39 -0
  40. data/lib/google/cloud/talent/v4beta1/doc/google/type/latlng.rb +65 -0
  41. data/lib/google/cloud/talent/v4beta1/doc/google/type/money.rb +36 -0
  42. data/lib/google/cloud/talent/v4beta1/doc/google/type/postal_address.rb +126 -0
  43. data/lib/google/cloud/talent/v4beta1/doc/google/type/timeofday.rb +38 -0
  44. data/lib/google/cloud/talent/v4beta1/event_pb.rb +75 -0
  45. data/lib/google/cloud/talent/v4beta1/event_service_client.rb +239 -0
  46. data/lib/google/cloud/talent/v4beta1/event_service_client_config.json +31 -0
  47. data/lib/google/cloud/talent/v4beta1/event_service_pb.rb +24 -0
  48. data/lib/google/cloud/talent/v4beta1/event_service_services_pb.rb +53 -0
  49. data/lib/google/cloud/talent/v4beta1/filters_pb.rb +182 -0
  50. data/lib/google/cloud/talent/v4beta1/helpers.rb +90 -0
  51. data/lib/google/cloud/talent/v4beta1/histogram_pb.rb +28 -0
  52. data/lib/google/cloud/talent/v4beta1/job_pb.rb +69 -0
  53. data/lib/google/cloud/talent/v4beta1/job_service_client.rb +1295 -0
  54. data/lib/google/cloud/talent/v4beta1/job_service_client_config.json +66 -0
  55. data/lib/google/cloud/talent/v4beta1/job_service_pb.rb +142 -0
  56. data/lib/google/cloud/talent/v4beta1/job_service_services_pb.rb +88 -0
  57. data/lib/google/cloud/talent/v4beta1/profile_pb.rb +249 -0
  58. data/lib/google/cloud/talent/v4beta1/profile_service_client.rb +757 -0
  59. data/lib/google/cloud/talent/v4beta1/profile_service_client_config.json +56 -0
  60. data/lib/google/cloud/talent/v4beta1/profile_service_pb.rb +81 -0
  61. data/lib/google/cloud/talent/v4beta1/profile_service_services_pb.rb +65 -0
  62. data/lib/google/cloud/talent/v4beta1/resume_service_client.rb +296 -0
  63. data/lib/google/cloud/talent/v4beta1/resume_service_client_config.json +31 -0
  64. data/lib/google/cloud/talent/v4beta1/resume_service_pb.rb +37 -0
  65. data/lib/google/cloud/talent/v4beta1/resume_service_services_pb.rb +75 -0
  66. data/lib/google/cloud/talent/v4beta1/tenant_pb.rb +31 -0
  67. data/lib/google/cloud/talent/v4beta1/tenant_service_client.rb +466 -0
  68. data/lib/google/cloud/talent/v4beta1/tenant_service_client_config.json +51 -0
  69. data/lib/google/cloud/talent/v4beta1/tenant_service_pb.rb +52 -0
  70. data/lib/google/cloud/talent/v4beta1/tenant_service_services_pb.rb +55 -0
  71. metadata +197 -0
@@ -0,0 +1,732 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Cloud
18
+ module Talent
19
+ module V4beta1
20
+ # Input only.
21
+ #
22
+ # Create job request.
23
+ # @!attribute [rw] parent
24
+ # @return [String]
25
+ # Required.
26
+ #
27
+ # The resource name of the project under which the job is created.
28
+ #
29
+ # The format is "projects/{project_id}", for example,
30
+ # "projects/api-test-project".
31
+ # @!attribute [rw] job
32
+ # @return [Google::Cloud::Talent::V4beta1::Job]
33
+ # Required.
34
+ #
35
+ # The Job to be created.
36
+ class CreateJobRequest; end
37
+
38
+ # Input only.
39
+ #
40
+ # Get job request.
41
+ # @!attribute [rw] name
42
+ # @return [String]
43
+ # Required.
44
+ #
45
+ # The resource name of the job to retrieve.
46
+ #
47
+ # The format is "projects/{project_id}/jobs/{job_id}",
48
+ # for example, "projects/api-test-project/jobs/1234".
49
+ class GetJobRequest; end
50
+
51
+ # Input only.
52
+ #
53
+ # Update job request.
54
+ # @!attribute [rw] job
55
+ # @return [Google::Cloud::Talent::V4beta1::Job]
56
+ # Required.
57
+ #
58
+ # The Job to be updated.
59
+ # @!attribute [rw] update_mask
60
+ # @return [Google::Protobuf::FieldMask]
61
+ # Optional but strongly recommended to be provided for the best service
62
+ # experience.
63
+ #
64
+ # If {Google::Cloud::Talent::V4beta1::UpdateJobRequest#update_mask update_mask}
65
+ # is provided, only the specified fields in
66
+ # {Google::Cloud::Talent::V4beta1::UpdateJobRequest#job job} are updated.
67
+ # Otherwise all the fields are updated.
68
+ #
69
+ # A field mask to restrict the fields that are updated. Only
70
+ # top level fields of {Google::Cloud::Talent::V4beta1::Job Job} are supported.
71
+ class UpdateJobRequest; end
72
+
73
+ # Input only.
74
+ #
75
+ # Delete job request.
76
+ # @!attribute [rw] name
77
+ # @return [String]
78
+ # Required.
79
+ #
80
+ # The resource name of the job to be deleted.
81
+ #
82
+ # The format is "projects/{project_id}/jobs/{job_id}",
83
+ # for example, "projects/api-test-project/jobs/1234".
84
+ class DeleteJobRequest; end
85
+
86
+ # Input only.
87
+ #
88
+ # Batch delete jobs request.
89
+ # @!attribute [rw] parent
90
+ # @return [String]
91
+ # Required.
92
+ #
93
+ # The resource name of the project under which the job is created.
94
+ #
95
+ # The format is "projects/{project_id}", for example,
96
+ # "projects/api-test-project".
97
+ # @!attribute [rw] filter
98
+ # @return [String]
99
+ # Required.
100
+ #
101
+ # The filter string specifies the jobs to be deleted.
102
+ #
103
+ # Supported operator: =, AND
104
+ #
105
+ # The fields eligible for filtering are:
106
+ #
107
+ # * `companyName` (Required)
108
+ # * `requisitionId` (Required)
109
+ #
110
+ # Sample Query: companyName = "projects/api-test-project/companies/123" AND
111
+ # requisitionId = "req-1"
112
+ class BatchDeleteJobsRequest; end
113
+
114
+ # Input only.
115
+ #
116
+ # List jobs request.
117
+ # @!attribute [rw] parent
118
+ # @return [String]
119
+ # Required.
120
+ #
121
+ # The resource name of the project under which the job is created.
122
+ #
123
+ # The format is "projects/{project_id}", for example,
124
+ # "projects/api-test-project".
125
+ # @!attribute [rw] filter
126
+ # @return [String]
127
+ # Required.
128
+ #
129
+ # The filter string specifies the jobs to be enumerated.
130
+ #
131
+ # Supported operator: =, AND
132
+ #
133
+ # The fields eligible for filtering are:
134
+ #
135
+ # * `companyName` (Required)
136
+ # * `requisitionId` (Optional)
137
+ # * `status` (Optional) Available values: OPEN, EXPIRED, ALL. Defaults to
138
+ # OPEN if no value is specified.
139
+ #
140
+ # Sample Query:
141
+ #
142
+ # * companyName = "projects/api-test-project/companies/123"
143
+ # * companyName = "projects/api-test-project/companies/123" AND requisitionId
144
+ # = "req-1"
145
+ # * companyName = "projects/api-test-project/companies/123" AND status =
146
+ # "EXPIRED"
147
+ # @!attribute [rw] page_token
148
+ # @return [String]
149
+ # Optional.
150
+ #
151
+ # The starting point of a query result.
152
+ # @!attribute [rw] page_size
153
+ # @return [Integer]
154
+ # Optional.
155
+ #
156
+ # The maximum number of jobs to be returned per page of results.
157
+ #
158
+ # If {Google::Cloud::Talent::V4beta1::ListJobsRequest#job_view job_view} is set
159
+ # to
160
+ # {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_ID_ONLY JobView::JOB_VIEW_ID_ONLY},
161
+ # the maximum allowed page size is 1000. Otherwise, the maximum allowed page
162
+ # size is 100.
163
+ #
164
+ # Default is 100 if empty or a number < 1 is specified.
165
+ # @!attribute [rw] job_view
166
+ # @return [Google::Cloud::Talent::V4beta1::JobView]
167
+ # Optional.
168
+ #
169
+ # The desired job attributes returned for jobs in the
170
+ # search response. Defaults to
171
+ # {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_FULL JobView::JOB_VIEW_FULL}
172
+ # if no value is specified.
173
+ class ListJobsRequest; end
174
+
175
+ # Output only.
176
+ #
177
+ # List jobs response.
178
+ # @!attribute [rw] jobs
179
+ # @return [Array<Google::Cloud::Talent::V4beta1::Job>]
180
+ # The Jobs for a given company.
181
+ #
182
+ # The maximum number of items returned is based on the limit field
183
+ # provided in the request.
184
+ # @!attribute [rw] next_page_token
185
+ # @return [String]
186
+ # A token to retrieve the next page of results.
187
+ # @!attribute [rw] metadata
188
+ # @return [Google::Cloud::Talent::V4beta1::ResponseMetadata]
189
+ # Additional information for the API invocation, such as the request
190
+ # tracking id.
191
+ class ListJobsResponse; end
192
+
193
+ # Input only.
194
+ #
195
+ # The Request body of the `SearchJobs` call.
196
+ # @!attribute [rw] parent
197
+ # @return [String]
198
+ # Required.
199
+ #
200
+ # The resource name of the project to search within.
201
+ #
202
+ # The format is "projects/{project_id}", for example,
203
+ # "projects/api-test-project".
204
+ # @!attribute [rw] search_mode
205
+ # @return [Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode]
206
+ # Optional.
207
+ #
208
+ # Mode of a search.
209
+ #
210
+ # Defaults to
211
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode::JOB_SEARCH}.
212
+ # @!attribute [rw] request_metadata
213
+ # @return [Google::Cloud::Talent::V4beta1::RequestMetadata]
214
+ # Required.
215
+ #
216
+ # The meta information collected about the job searcher, used to improve the
217
+ # search quality of the service.. The identifiers, (such as `user_id`) are
218
+ # provided by users, and must be unique and consistent.
219
+ # @!attribute [rw] job_query
220
+ # @return [Google::Cloud::Talent::V4beta1::JobQuery]
221
+ # Optional.
222
+ #
223
+ # Query used to search against jobs, such as keyword, location filters, etc.
224
+ # @!attribute [rw] enable_broadening
225
+ # @return [true, false]
226
+ # Optional.
227
+ #
228
+ # Controls whether to broaden the search when it produces sparse results.
229
+ # Broadened queries append results to the end of the matching results
230
+ # list.
231
+ #
232
+ # Defaults to false.
233
+ # @!attribute [rw] require_precise_result_size
234
+ # @return [true, false]
235
+ # Optional.
236
+ #
237
+ # Controls if the search job request requires the return of a precise
238
+ # count of the first 300 results. Setting this to `true` ensures
239
+ # consistency in the number of results per page. Best practice is to set this
240
+ # value to true if a client allows users to jump directly to a
241
+ # non-sequential search results page.
242
+ #
243
+ # Enabling this flag may adversely impact performance.
244
+ #
245
+ # Defaults to false.
246
+ # @!attribute [rw] histogram_queries
247
+ # @return [Array<Google::Cloud::Talent::V4beta1::HistogramQuery>]
248
+ # Optional.
249
+ #
250
+ # An expression specifies a histogram request against matching jobs.
251
+ #
252
+ # Expression syntax is an aggregation function call with histogram facets and
253
+ # other options.
254
+ #
255
+ # Available aggregation function calls are:
256
+ # * `count(string_histogram_facet)`: Count the number of matching entities,
257
+ # for each distinct attribute value.
258
+ # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
259
+ # matching entities within each bucket.
260
+ #
261
+ # Data types:
262
+ #
263
+ # * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
264
+ # * String: string like "any string with backslash escape for quote(\")."
265
+ # * Number: whole number and floating point number like 10, -1 and -0.01.
266
+ # * List: list of elements with comma(,) separator surrounded by square
267
+ # brackets, for example, [1, 2, 3] and ["one", "two", "three"].
268
+ #
269
+ # Built-in constants:
270
+ #
271
+ # * MIN (minimum number similar to java Double.MIN_VALUE)
272
+ # * MAX (maximum number similar to java Double.MAX_VALUE)
273
+ #
274
+ # Built-in functions:
275
+ #
276
+ # * bucket(start, end[, label]): bucket built-in function creates a bucket
277
+ # with range of [start, end). Note that the end is exclusive, for example,
278
+ # bucket(1, MAX, "positive number") or bucket(1, 10).
279
+ #
280
+ # Job histogram facets:
281
+ #
282
+ # * company_id: histogram by {Job#distributor_company_id}.
283
+ # * company_display_name: histogram by
284
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}.
285
+ # * employment_type: histogram by
286
+ # {Google::Cloud::Talent::V4beta1::Job#employment_types Job#employment_types},
287
+ # for example, "FULL_TIME", "PART_TIME".
288
+ # * company_size: histogram by
289
+ # {Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example,
290
+ # "SMALL", "MEDIUM", "BIG".
291
+ # * publish_time_in_month: histogram by the {Job#publish_time} in months.
292
+ # Must specify list of numeric buckets in spec.
293
+ # * publish_time_in_year: histogram by the {Job#publish_time} in years.
294
+ # Must specify list of numeric buckets in spec.
295
+ # * degree_type: histogram by the {Job#degree_type}, for example,
296
+ # "Bachelors", "Masters".
297
+ # * job_level: histogram by the
298
+ # {Google::Cloud::Talent::V4beta1::Job#job_level Job#job_level}, for example,
299
+ # "Entry Level".
300
+ # * country: histogram by the country code of jobs, for example, "US", "FR".
301
+ # * admin1: histogram by the admin1 code of jobs, which is a global
302
+ # placeholder referring to the state, province, or the particular term a
303
+ # country uses to define the geographic structure below the country level,
304
+ # for example, "CA", "IL".
305
+ # * city: histogram by a combination of the "city name, admin1 code". For
306
+ # example, "Mountain View, CA", "New York, NY".
307
+ # * admin1_country: histogram by a combination of the "admin1 code, country",
308
+ # for example, "CA, US", "IL, US".
309
+ # * city_coordinate: histogram by the city center's GPS coordinates (latitude
310
+ # and longitude), for example, 37.4038522,-122.0987765. Since the coordinates
311
+ # of a city center can change, customers may need to refresh them
312
+ # periodically.
313
+ # * locale: histogram by the
314
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for
315
+ # example, "en-US", "fr-FR".
316
+ # * language: histogram by the language subtag of the
317
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for
318
+ # example, "en", "fr".
319
+ # * category: histogram by the
320
+ # {Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
321
+ # "COMPUTER_AND_IT", "HEALTHCARE".
322
+ # * base_compensation_unit: histogram by the {CompensationUnit} of base
323
+ # salary, for example, "WEEKLY", "MONTHLY".
324
+ # * base_compensation: histogram by the base salary. Must specify list of
325
+ # numeric buckets to group results by.
326
+ # * annualized_base_compensation: histogram by the base annualized salary.
327
+ # Must specify list of numeric buckets to group results by.
328
+ # * annualized_total_compensation: histogram by the total annualized salary.
329
+ # Must specify list of numeric buckets to group results by.
330
+ # * string_custom_attribute: histogram by string
331
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
332
+ # Values can be accessed via square bracket notations like
333
+ # string_custom_attribute["key1"].
334
+ # * numeric_custom_attribute: histogram by numeric
335
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
336
+ # Values can be accessed via square bracket notations like
337
+ # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
338
+ # group results by.
339
+ #
340
+ # Example expressions:
341
+ # * count(admin1)
342
+ # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
343
+ # bucket(100000, MAX)])
344
+ # * count(string_custom_attribute["some-string-custom-attribute"])
345
+ # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
346
+ # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
347
+ # @!attribute [rw] job_view
348
+ # @return [Google::Cloud::Talent::V4beta1::JobView]
349
+ # Optional.
350
+ #
351
+ # The desired job attributes returned for jobs in the
352
+ # search response. Defaults to {JobView::SMALL} if no value is specified.
353
+ # @!attribute [rw] offset
354
+ # @return [Integer]
355
+ # Optional.
356
+ #
357
+ # An integer that specifies the current offset (that is, starting result
358
+ # location, amongst the jobs deemed by the API as relevant) in search
359
+ # results. This field is only considered if
360
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is
361
+ # unset.
362
+ #
363
+ # For example, 0 means to return results starting from the first matching
364
+ # job, and 10 means to return from the 11th job. This can be used for
365
+ # pagination, (for example, pageSize = 10 and offset = 10 means to return
366
+ # from the second page).
367
+ # @!attribute [rw] page_size
368
+ # @return [Integer]
369
+ # Optional.
370
+ #
371
+ # A limit on the number of jobs returned in the search results.
372
+ # Increasing this value above the default value of 10 can increase search
373
+ # response time. The value can be between 1 and 100.
374
+ # @!attribute [rw] page_token
375
+ # @return [String]
376
+ # Optional.
377
+ #
378
+ # The token specifying the current offset within
379
+ # search results. See
380
+ # {Google::Cloud::Talent::V4beta1::SearchJobsResponse#next_page_token SearchJobsResponse#next_page_token}
381
+ # for an explanation of how to obtain the next set of query results.
382
+ # @!attribute [rw] order_by
383
+ # @return [String]
384
+ # Optional.
385
+ #
386
+ # The criteria determining how search results are sorted. Default is
387
+ # "relevance desc".
388
+ #
389
+ # Supported options are:
390
+ #
391
+ # * "relevance desc": By relevance descending, as determined by the API
392
+ # algorithms. Relevance thresholding of query results is only available
393
+ # with this ordering.
394
+ # * "posting`_`publish`_`time desc": By
395
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
396
+ # descending.
397
+ # * "posting`_`update`_`time desc": By
398
+ # {Google::Cloud::Talent::V4beta1::Job#posting_update_time Job#posting_update_time}
399
+ # descending.
400
+ # * "title": By {Google::Cloud::Talent::V4beta1::Job#title Job#title} ascending.
401
+ # * "title desc": By {Google::Cloud::Talent::V4beta1::Job#title Job#title}
402
+ # descending.
403
+ # * "annualized`_`base`_`compensation": By job's
404
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
405
+ # ascending. Jobs whose annualized base compensation is unspecified are put
406
+ # at the end of search results.
407
+ # * "annualized`_`base`_`compensation desc": By job's
408
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
409
+ # descending. Jobs whose annualized base compensation is unspecified are put
410
+ # at the end of search results.
411
+ # * "annualized`_`total`_`compensation": By job's
412
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
413
+ # ascending. Jobs whose annualized base compensation is unspecified are put
414
+ # at the end of search results.
415
+ # * "annualized`_`total`_`compensation desc": By job's
416
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
417
+ # descending. Jobs whose annualized base compensation is unspecified are put
418
+ # at the end of search results.
419
+ # * "custom`_`ranking desc": By the relevance score adjusted to the
420
+ # {SearchJobsRequest#custom_ranking_info#ranking_expression} with weight
421
+ # factor assigned by
422
+ # {SearchJobsRequest#custom_ranking_info#importance_level} in descending
423
+ # order.
424
+ # * "location`_`distance": By the distance between the location on jobs and
425
+ # locations specified in the
426
+ # {SearchJobsRequest#job_query#location_filters}.
427
+ # When this order is selected, the
428
+ # {SearchJobsRequest#job_query#location_filters} must not be empty. When
429
+ # a job has multiple locations, the location closest to one of the locations
430
+ # specified in the location filter will be used to calculate location
431
+ # distance. Distance is calculated by the distance between two lat/long
432
+ # coordinates, with a precision of 10e-4 degrees (11.3 meters).
433
+ # Jobs that don't have locations specified will be ranked below jobs having
434
+ # locations.
435
+ # Diversification strategy is still applied unless explicitly disabled in
436
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level SearchJobsRequest#diversification_level}.
437
+ # @!attribute [rw] diversification_level
438
+ # @return [Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel]
439
+ # Optional.
440
+ #
441
+ # Controls whether highly similar jobs are returned next to each other in
442
+ # the search results. Jobs are identified as highly similar based on
443
+ # their titles, job categories, and locations. Highly similar results are
444
+ # clustered so that only one representative job of the cluster is
445
+ # displayed to the job seeker higher up in the results, with the other jobs
446
+ # being displayed lower down in the results.
447
+ #
448
+ # Defaults to
449
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel::SIMPLE}
450
+ # if no value is specified.
451
+ # @!attribute [rw] custom_ranking_info
452
+ # @return [Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo]
453
+ # Optional.
454
+ #
455
+ # Controls over how job documents get ranked on top of existing relevance
456
+ # score (determined by API algorithm).
457
+ # @!attribute [rw] disable_keyword_match
458
+ # @return [true, false]
459
+ # Optional.
460
+ #
461
+ # Controls whether to disable exact keyword match on {Job#job_title},
462
+ # {Google::Cloud::Talent::V4beta1::Job#description Job#description},
463
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name},
464
+ # [Job.locations][0],
465
+ # {Google::Cloud::Talent::V4beta1::Job#qualifications Job#qualifications}. When
466
+ # disable keyword match is turned off, a keyword match returns jobs that do
467
+ # not match given category filters when there are matching keywords. For
468
+ # example, for the query "program manager," a result is returned even if the
469
+ # job posting has the title "software developer," which doesn't fall into
470
+ # "program manager" ontology, but does have "program manager" appearing in
471
+ # its description.
472
+ #
473
+ # For queries like "cloud" that don't contain title or
474
+ # location specific ontology, jobs with "cloud" keyword matches are returned
475
+ # regardless of this flag's value.
476
+ #
477
+ # Please use {Company#keyword_searchable_custom_fields} or
478
+ # {Company#keyword_searchable_custom_attributes} if company specific
479
+ # globally matched custom field/attribute string values is needed. Enabling
480
+ # keyword match improves recall of subsequent search requests.
481
+ #
482
+ # Defaults to false.
483
+ class SearchJobsRequest
484
+ # Input only.
485
+ #
486
+ # Custom ranking information for
487
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
488
+ # @!attribute [rw] importance_level
489
+ # @return [Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo::ImportanceLevel]
490
+ # Required.
491
+ #
492
+ # Controls over how important the score of
493
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo#ranking_expression}
494
+ # gets applied to job's final ranking position.
495
+ #
496
+ # An error is thrown if not specified.
497
+ # @!attribute [rw] ranking_expression
498
+ # @return [String]
499
+ # Required.
500
+ #
501
+ # Controls over how job documents get ranked on top of existing relevance
502
+ # score (determined by API algorithm). The product of ranking expression
503
+ # and relevance score is used to determine job's final ranking position.
504
+ #
505
+ # The syntax for this expression is a subset of Google SQL syntax.
506
+ #
507
+ # Supported operators are: +, -, *, /, where the left and right side of
508
+ # the operator is either a numeric
509
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}
510
+ # key, integer/double value or an expression that can be evaluated to a
511
+ # number.
512
+ #
513
+ # Parenthesis are supported to adjust calculation precedence. The
514
+ # expression must be < 100 characters in length.
515
+ #
516
+ # Sample ranking expression
517
+ # (year + 25) * 0.25 - (freshness / 0.5)
518
+ class CustomRankingInfo
519
+ # The importance level for
520
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo#ranking_expression}.
521
+ module ImportanceLevel
522
+ # Default value if the importance level isn't specified.
523
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0
524
+
525
+ # The given ranking expression is of None importance, existing relevance
526
+ # score (determined by API algorithm) dominates job's final ranking
527
+ # position.
528
+ NONE = 1
529
+
530
+ # The given ranking expression is of Low importance in terms of job's
531
+ # final ranking position compared to existing relevance
532
+ # score (determined by API algorithm).
533
+ LOW = 2
534
+
535
+ # The given ranking expression is of Mild importance in terms of job's
536
+ # final ranking position compared to existing relevance
537
+ # score (determined by API algorithm).
538
+ MILD = 3
539
+
540
+ # The given ranking expression is of Medium importance in terms of job's
541
+ # final ranking position compared to existing relevance
542
+ # score (determined by API algorithm).
543
+ MEDIUM = 4
544
+
545
+ # The given ranking expression is of High importance in terms of job's
546
+ # final ranking position compared to existing relevance
547
+ # score (determined by API algorithm).
548
+ HIGH = 5
549
+
550
+ # The given ranking expression is of Extreme importance, and dominates
551
+ # job's final ranking position with existing relevance
552
+ # score (determined by API algorithm) ignored.
553
+ EXTREME = 6
554
+ end
555
+ end
556
+
557
+ # Controls whether highly similar jobs are returned next to each other in
558
+ # the search results. Jobs are identified as highly similar based on
559
+ # their titles, job categories, and locations. Highly similar results are
560
+ # clustered so that only one representative job of the cluster is
561
+ # displayed to the job seeker higher up in the results, with the other jobs
562
+ # being displayed lower down in the results.
563
+ module DiversificationLevel
564
+ # The diversification level isn't specified.
565
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0
566
+
567
+ # Disables diversification. Jobs that would normally be pushed to the last
568
+ # page would not have their positions altered. This may result in highly
569
+ # similar jobs appearing in sequence in the search results.
570
+ DISABLED = 1
571
+
572
+ # Default diversifying behavior. The result list is ordered so that
573
+ # highly similar results are pushed to the end of the last page of search
574
+ # results.
575
+ SIMPLE = 2
576
+ end
577
+
578
+ # A string-represented enumeration of the job search mode. The service
579
+ # operate differently for different modes of service.
580
+ module SearchMode
581
+ # The mode of the search method isn't specified.
582
+ SEARCH_MODE_UNSPECIFIED = 0
583
+
584
+ # The job search matches against all jobs, and featured jobs
585
+ # (jobs with promotionValue > 0) are not specially handled.
586
+ JOB_SEARCH = 1
587
+
588
+ # The job search matches only against featured jobs (jobs with a
589
+ # promotionValue > 0). This method doesn't return any jobs having a
590
+ # promotionValue <= 0. The search results order is determined by the
591
+ # promotionValue (jobs with a higher promotionValue are returned higher up
592
+ # in the search results), with relevance being used as a tiebreaker.
593
+ FEATURED_JOB_SEARCH = 2
594
+ end
595
+ end
596
+
597
+ # Output only.
598
+ #
599
+ # Response for SearchJob method.
600
+ # @!attribute [rw] matching_jobs
601
+ # @return [Array<Google::Cloud::Talent::V4beta1::SearchJobsResponse::MatchingJob>]
602
+ # The Job entities that match the specified
603
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
604
+ # @!attribute [rw] histogram_query_results
605
+ # @return [Array<Google::Cloud::Talent::V4beta1::HistogramQueryResult>]
606
+ # The histogram results that match with specified
607
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#histogram_queries SearchJobsRequest#histogram_queries}.
608
+ # @!attribute [rw] next_page_token
609
+ # @return [String]
610
+ # The token that specifies the starting position of the next page of results.
611
+ # This field is empty if there are no more results.
612
+ # @!attribute [rw] location_filters
613
+ # @return [Array<Google::Cloud::Talent::V4beta1::Location>]
614
+ # The location filters that the service applied to the specified query. If
615
+ # any filters are lat-lng based, the {JobLocation#location_type} is
616
+ # {JobLocation::LocationType#LOCATION_TYPE_UNSPECIFIED}.
617
+ # @!attribute [rw] estimated_total_size
618
+ # @return [Integer]
619
+ # An estimation of the number of jobs that match the specified query.
620
+ #
621
+ # This number isn't guaranteed to be accurate. For accurate results,
622
+ # see {Enable_precise_result_size}.
623
+ # @!attribute [rw] total_size
624
+ # @return [Integer]
625
+ # The precise result count, which is available only if the client set
626
+ # {Enable_precise_result_size} to `true`, or if the response
627
+ # is the last page of results. Otherwise, the value is `-1`.
628
+ # @!attribute [rw] metadata
629
+ # @return [Google::Cloud::Talent::V4beta1::ResponseMetadata]
630
+ # Additional information for the API invocation, such as the request
631
+ # tracking id.
632
+ # @!attribute [rw] broadened_query_jobs_count
633
+ # @return [Integer]
634
+ # If query broadening is enabled, we may append additional results from the
635
+ # broadened query. This number indicates how many of the jobs returned in the
636
+ # jobs field are from the broadened query. These results are always at the
637
+ # end of the jobs list. In particular, a value of 0, or if the field isn't
638
+ # set, all the jobs in the jobs list are from the original
639
+ # (without broadening) query. If this field is non-zero, subsequent requests
640
+ # with offset after this result set should contain all broadened results.
641
+ # @!attribute [rw] spell_correction
642
+ # @return [Google::Cloud::Talent::V4beta1::SpellingCorrection]
643
+ # The spell checking result, and correction.
644
+ class SearchJobsResponse
645
+ # Output only.
646
+ #
647
+ # Job entry with metadata inside
648
+ # {Google::Cloud::Talent::V4beta1::SearchJobsResponse SearchJobsResponse}.
649
+ # @!attribute [rw] job
650
+ # @return [Google::Cloud::Talent::V4beta1::Job]
651
+ # Job resource that matches the specified
652
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
653
+ # @!attribute [rw] job_summary
654
+ # @return [String]
655
+ # A summary of the job with core information that's displayed on the search
656
+ # results listing page.
657
+ # @!attribute [rw] job_title_snippet
658
+ # @return [String]
659
+ # Contains snippets of text from the {Job#job_title} field most
660
+ # closely matching a search query's keywords, if available. The matching
661
+ # query keywords are enclosed in HTML bold tags.
662
+ # @!attribute [rw] search_text_snippet
663
+ # @return [String]
664
+ # Contains snippets of text from the
665
+ # {Google::Cloud::Talent::V4beta1::Job#description Job#description} and
666
+ # similar fields that most closely match a search query's keywords, if
667
+ # available. All HTML tags in the original fields are stripped when
668
+ # returned in this field, and matching query keywords are enclosed in HTML
669
+ # bold tags.
670
+ # @!attribute [rw] commute_info
671
+ # @return [Google::Cloud::Talent::V4beta1::SearchJobsResponse::CommuteInfo]
672
+ # Commute information which is generated based on specified
673
+ # {Google::Cloud::Talent::V4beta1::CommuteFilter CommuteFilter}.
674
+ class MatchingJob; end
675
+
676
+ # Output only.
677
+ #
678
+ # Commute details related to this job.
679
+ # @!attribute [rw] job_location
680
+ # @return [Google::Cloud::Talent::V4beta1::Location]
681
+ # Location used as the destination in the commute calculation.
682
+ # @!attribute [rw] travel_duration
683
+ # @return [Google::Protobuf::Duration]
684
+ # The number of seconds required to travel to the job location from the
685
+ # query location. A duration of 0 seconds indicates that the job isn't
686
+ # reachable within the requested duration, but was returned as part of an
687
+ # expanded query.
688
+ class CommuteInfo; end
689
+ end
690
+
691
+ # An enum that specifies the job attributes that are returned in the
692
+ # {MatchingJob::Job} in
693
+ # {Google::Cloud::Talent::V4beta1::SearchJobsResponse SearchJobsResponse} or
694
+ # {Google::Cloud::Talent::V4beta1::Job Job} objects in
695
+ # {Google::Cloud::Talent::V4beta1::ListJobsResponse ListJobsResponse}.
696
+ module JobView
697
+ # Default value.
698
+ JOB_VIEW_UNSPECIFIED = 0
699
+
700
+ # A ID only view of job, with following attributes:
701
+ # {Google::Cloud::Talent::V4beta1::Job#name Job#name},
702
+ # {Google::Cloud::Talent::V4beta1::Job#requisition_id Job#requisition_id},
703
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}.
704
+ JOB_VIEW_ID_ONLY = 1
705
+
706
+ # A minimal view of the job, with the following attributes:
707
+ # {Google::Cloud::Talent::V4beta1::Job#name Job#name},
708
+ # {Google::Cloud::Talent::V4beta1::Job#requisition_id Job#requisition_id},
709
+ # {Job#job_title},
710
+ # {Google::Cloud::Talent::V4beta1::Job#company_name Job#company_name},
711
+ # {Google::Cloud::Talent::V4beta1::Job::DerivedInfo#locations Job::DerivedInfo#locations},
712
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}.
713
+ JOB_VIEW_MINIMAL = 2
714
+
715
+ # A small view of the job, with the following attributes in the search
716
+ # results: {Google::Cloud::Talent::V4beta1::Job#name Job#name},
717
+ # {Google::Cloud::Talent::V4beta1::Job#requisition_id Job#requisition_id},
718
+ # {Job#job_title},
719
+ # {Google::Cloud::Talent::V4beta1::Job#company_name Job#company_name},
720
+ # {Google::Cloud::Talent::V4beta1::Job::DerivedInfo#locations Job::DerivedInfo#locations},
721
+ # {Google::Cloud::Talent::V4beta1::Job#visibility Job#visibility},
722
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code},
723
+ # {Google::Cloud::Talent::V4beta1::Job#description Job#description}.
724
+ JOB_VIEW_SMALL = 3
725
+
726
+ # All available attributes are included in the search results.
727
+ JOB_VIEW_FULL = 4
728
+ end
729
+ end
730
+ end
731
+ end
732
+ end