google-cloud-talent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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