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,34 @@
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
+ # The report event request.
21
+ # @!attribute [rw] parent
22
+ # @return [String]
23
+ # Parent project name.
24
+ # @!attribute [rw] client_event
25
+ # @return [Google::Cloud::Talent::V4beta1::ClientEvent]
26
+ # Required.
27
+ #
28
+ # Events issued when end user interacts with customer's application that
29
+ # uses Cloud Talent Solution.
30
+ class CreateClientEventRequest; end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,853 @@
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
+ # The query required to perform a search query.
23
+ # @!attribute [rw] query
24
+ # @return [String]
25
+ # Optional.
26
+ #
27
+ # The query string that matches against the job title, description, and
28
+ # location fields.
29
+ #
30
+ # The maximum number of allowed characters is 255.
31
+ # @!attribute [rw] company_names
32
+ # @return [Array<String>]
33
+ # Optional.
34
+ #
35
+ # This filter specifies the company entities to search against.
36
+ #
37
+ # If a value isn't specified, jobs are searched for against all
38
+ # companies.
39
+ #
40
+ # If multiple values are specified, jobs are searched against the
41
+ # companies specified.
42
+ #
43
+ # The format is "projects/{project_id}/companies/{company_id}", for example,
44
+ # "projects/api-test-project/companies/foo".
45
+ #
46
+ # At most 20 company filters are allowed.
47
+ # @!attribute [rw] location_filters
48
+ # @return [Array<Google::Cloud::Talent::V4beta1::LocationFilter>]
49
+ # Optional.
50
+ #
51
+ # The location filter specifies geo-regions containing the jobs to
52
+ # search against. See
53
+ # {Google::Cloud::Talent::V4beta1::LocationFilter LocationFilter} for more
54
+ # information.
55
+ #
56
+ # If a location value isn't specified, jobs fitting the other search
57
+ # criteria are retrieved regardless of where they're located.
58
+ #
59
+ # If multiple values are specified, jobs are retrieved from any of the
60
+ # specified locations. If different values are specified for the
61
+ # {Google::Cloud::Talent::V4beta1::LocationFilter#distance_in_miles LocationFilter#distance_in_miles}
62
+ # parameter, the maximum provided distance is used for all locations.
63
+ #
64
+ # At most 5 location filters are allowed.
65
+ # @!attribute [rw] job_categories
66
+ # @return [Array<Google::Cloud::Talent::V4beta1::JobCategory>]
67
+ # Optional.
68
+ #
69
+ # The category filter specifies the categories of jobs to search against.
70
+ # See {Category} for more information.
71
+ #
72
+ # If a value isn't specified, jobs from any category are searched against.
73
+ #
74
+ # If multiple values are specified, jobs from any of the specified
75
+ # categories are searched against.
76
+ # @!attribute [rw] commute_filter
77
+ # @return [Google::Cloud::Talent::V4beta1::CommuteFilter]
78
+ # Optional.
79
+ #
80
+ # Allows filtering jobs by commute time with different travel methods (for
81
+ # example, driving or public transit). Note: This only works with [COMMUTE
82
+ # MODE][Mode#COMMUTE]. When specified, [JobQuery.location_filters] is
83
+ # ignored.
84
+ #
85
+ # Currently we don't support sorting by commute time.
86
+ # @!attribute [rw] company_display_names
87
+ # @return [Array<String>]
88
+ # Optional.
89
+ #
90
+ # This filter specifies the exact [company display
91
+ # name][Company.display_name] of the jobs to search against.
92
+ #
93
+ # If a value isn't specified, jobs within the search results are
94
+ # associated with any company.
95
+ #
96
+ # If multiple values are specified, jobs within the search results may be
97
+ # associated with any of the specified companies.
98
+ #
99
+ # At most 20 company display name filters are allowed.
100
+ # @!attribute [rw] compensation_filter
101
+ # @return [Google::Cloud::Talent::V4beta1::CompensationFilter]
102
+ # Optional.
103
+ #
104
+ # This search filter is applied only to
105
+ # {Google::Cloud::Talent::V4beta1::Job#compensation_info Job#compensation_info}.
106
+ # For example, if the filter is specified as "Hourly job with per-hour
107
+ # compensation > $15", only jobs meeting these criteria are searched. If a
108
+ # filter isn't defined, all open jobs are searched.
109
+ # @!attribute [rw] custom_attribute_filter
110
+ # @return [String]
111
+ # Optional.
112
+ #
113
+ # This filter specifies a structured syntax to match against the
114
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}
115
+ # marked as `filterable`.
116
+ #
117
+ # The syntax for this expression is a subset of SQL syntax.
118
+ #
119
+ # Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the
120
+ # left of the operator is a custom field key and the right of the operator
121
+ # is a number or a quoted string. You must escape backslash (\\) and
122
+ # quote (\") characters.
123
+ #
124
+ # Supported functions are `LOWER([field_name])` to
125
+ # perform a case insensitive match and `EMPTY([field_name])` to filter on the
126
+ # existence of a key.
127
+ #
128
+ # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
129
+ # nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
130
+ # comparisons or functions are allowed in the expression. The expression
131
+ # must be < 3000 bytes in length.
132
+ #
133
+ # Sample Query:
134
+ # `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
135
+ # driving_years > 10`
136
+ # @!attribute [rw] disable_spell_check
137
+ # @return [true, false]
138
+ # Optional.
139
+ #
140
+ # This flag controls the spell-check feature. If false, the
141
+ # service attempts to correct a misspelled query,
142
+ # for example, "enginee" is corrected to "engineer".
143
+ #
144
+ # Defaults to false: a spell check is performed.
145
+ # @!attribute [rw] employment_types
146
+ # @return [Array<Google::Cloud::Talent::V4beta1::EmploymentType>]
147
+ # Optional.
148
+ #
149
+ # The employment type filter specifies the employment type of jobs to
150
+ # search against, such as
151
+ # {Google::Cloud::Talent::V4beta1::EmploymentType::FULL_TIME EmploymentType::FULL_TIME}.
152
+ #
153
+ # If a value isn't specified, jobs in the search results includes any
154
+ # employment type.
155
+ #
156
+ # If multiple values are specified, jobs in the search results include
157
+ # any of the specified employment types.
158
+ # @!attribute [rw] language_codes
159
+ # @return [Array<String>]
160
+ # Optional.
161
+ #
162
+ # This filter specifies the locale of jobs to search against,
163
+ # for example, "en-US".
164
+ #
165
+ # If a value isn't specified, the search results can contain jobs in any
166
+ # locale.
167
+ #
168
+ #
169
+ # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
170
+ # For more information, see
171
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
172
+ #
173
+ # At most 10 language code filters are allowed.
174
+ # @!attribute [rw] publish_time_range
175
+ # @return [Google::Cloud::Talent::V4beta1::TimestampRange]
176
+ # Optional.
177
+ #
178
+ # Jobs published within a range specified by this filter are searched
179
+ # against.
180
+ # @!attribute [rw] excluded_jobs
181
+ # @return [Array<String>]
182
+ # Optional.
183
+ #
184
+ # This filter specifies a list of job names to be excluded during search.
185
+ #
186
+ # At most 200 excluded job names are allowed.
187
+ class JobQuery; end
188
+
189
+ # Filters to apply when performing the search query.
190
+ # @!attribute [rw] query
191
+ # @return [String]
192
+ # Optional.
193
+ #
194
+ # Keywords to match any text fields of profiles.
195
+ #
196
+ # For example, "software engineer in Palo Alto".
197
+ # @!attribute [rw] location_filters
198
+ # @return [Array<Google::Cloud::Talent::V4beta1::LocationFilter>]
199
+ # Optional.
200
+ #
201
+ # The location filter specifies geo-regions containing the profiles to
202
+ # search against.
203
+ #
204
+ # If a location filter isn't specified, profiles fitting the other search
205
+ # criteria are retrieved regardless of where they're located.
206
+ #
207
+ # If
208
+ # {Google::Cloud::Talent::V4beta1::LocationFilter#negated LocationFilter#negated}
209
+ # is specified, the result doesn't contain profiles from that location.
210
+ #
211
+ # For example, search for profiles with addresses in "New York City".
212
+ # @!attribute [rw] job_title_filters
213
+ # @return [Array<Google::Cloud::Talent::V4beta1::JobTitleFilter>]
214
+ # Optional.
215
+ #
216
+ # Job title filter specifies job titles of profiles to match on.
217
+ #
218
+ # If a job title isn't specified, profiles with any titles are retrieved.
219
+ #
220
+ # If multiple values are specified, profiles are retrieved with any of the
221
+ # specified job titles.
222
+ #
223
+ # If
224
+ # {Google::Cloud::Talent::V4beta1::JobTitleFilter#negated JobTitleFilter#negated}
225
+ # is specified, the result won't contain profiles with the job titles.
226
+ #
227
+ # For example, search for profiles with a job title "Product Manager".
228
+ # @!attribute [rw] employer_filters
229
+ # @return [Array<Google::Cloud::Talent::V4beta1::EmployerFilter>]
230
+ # Optional.
231
+ #
232
+ # Employer filter specifies employers of profiles to match on.
233
+ #
234
+ # If an employer filter isn't specified, profiles with any employers are
235
+ # retrieved.
236
+ #
237
+ # If multiple employer filters are specified, profiles with any matching
238
+ # employers are retrieved.
239
+ #
240
+ # If
241
+ # {Google::Cloud::Talent::V4beta1::EmployerFilter#negated EmployerFilter#negated}
242
+ # is specified, the result won't contain profiles that match the employers.
243
+ #
244
+ # For example, search for profiles that have working experience at "Google
245
+ # LLC".
246
+ # @!attribute [rw] education_filters
247
+ # @return [Array<Google::Cloud::Talent::V4beta1::EducationFilter>]
248
+ # Optional.
249
+ #
250
+ # Education filter specifies education of profiles to match on.
251
+ #
252
+ # If an education filter isn't specified, profiles with any education are
253
+ # retrieved.
254
+ #
255
+ # If multiple education filters are specified, profiles that match any
256
+ # education filters are retrieved.
257
+ #
258
+ # If
259
+ # {Google::Cloud::Talent::V4beta1::EducationFilter#negated EducationFilter#negated}
260
+ # is specified, the result won't contain profiles that match the educations.
261
+ #
262
+ # For example, search for profiles with a master degree.
263
+ # @!attribute [rw] skill_filters
264
+ # @return [Array<Google::Cloud::Talent::V4beta1::SkillFilter>]
265
+ # Optional.
266
+ #
267
+ # Skill filter specifies skill of profiles to match on.
268
+ #
269
+ # If a skill filter isn't specified, profiles with any skills are retrieved.
270
+ #
271
+ # If multiple skill filters are specified, profiles that match any skill
272
+ # filters are retrieved.
273
+ #
274
+ # If {Google::Cloud::Talent::V4beta1::SkillFilter#negated SkillFilter#negated}
275
+ # is specified, the result won't contain profiles that match the skills.
276
+ #
277
+ # For example, search for profiles that have "Java" and "Python" in skill
278
+ # list.
279
+ # @!attribute [rw] work_experience_filter
280
+ # @return [Array<Google::Cloud::Talent::V4beta1::WorkExperienceFilter>]
281
+ # Optional.
282
+ #
283
+ # Work experience filter specifies the total working experience of profiles
284
+ # to match on.
285
+ #
286
+ # If a work experience filter isn't specified, profiles with any
287
+ # professional experience are retrieved.
288
+ #
289
+ # If multiple work experience filters are specified, profiles that match any
290
+ # work experience filters are retrieved.
291
+ #
292
+ # For example, search for profiles with 10 years of work experience.
293
+ # @!attribute [rw] time_filters
294
+ # @return [Array<Google::Cloud::Talent::V4beta1::TimeFilter>]
295
+ # Optional.
296
+ #
297
+ # Time filter specifies the create/update timestamp of the profiles to match
298
+ # on.
299
+ #
300
+ # For example, search for profiles created since "2018-1-1".
301
+ # @!attribute [rw] hirable_filter
302
+ # @return [Google::Protobuf::BoolValue]
303
+ # Optional.
304
+ #
305
+ # The hirable filter specifies the profile's hirable status to match on.
306
+ # @!attribute [rw] application_date_filters
307
+ # @return [Array<Google::Cloud::Talent::V4beta1::ApplicationDateFilter>]
308
+ # Optional.
309
+ #
310
+ # The application date filters specify application date ranges to match on.
311
+ # @!attribute [rw] application_outcome_reason_filters
312
+ # @return [Array<Google::Cloud::Talent::V4beta1::ApplicationOutcomeReasonFilter>]
313
+ # Optional.
314
+ #
315
+ # The application outcome reason filters specify the reasons for outcome of
316
+ # the job application.
317
+ # @!attribute [rw] application_last_stage_filters
318
+ # @return [Array<Google::Cloud::Talent::V4beta1::ApplicationLastStageFilter>]
319
+ # Optional.
320
+ #
321
+ # The application last stage filters specify the last stage of job
322
+ # application.
323
+ # @!attribute [rw] application_job_filters
324
+ # @return [Array<Google::Cloud::Talent::V4beta1::ApplicationJobFilter>]
325
+ # Optional.
326
+ #
327
+ # The application job filters specify the job applied for in the application.
328
+ # @!attribute [rw] application_status_filters
329
+ # @return [Array<Google::Cloud::Talent::V4beta1::ApplicationStatusFilter>]
330
+ # Optional.
331
+ #
332
+ # The application status filters specify the status of job application.
333
+ # @!attribute [rw] custom_field_filter
334
+ # @return [String]
335
+ # Optional.
336
+ #
337
+ # This filter specifies a structured syntax to match against the
338
+ # {Google::Cloud::Talent::V4beta1::Profile#custom_attributes Profile#custom_attributes}
339
+ # that are marked as `filterable`.
340
+ #
341
+ # The syntax for this expression is a subset of Google SQL syntax.
342
+ #
343
+ # Supported operators are: =, != where the left of the operator is a custom
344
+ # field key and the right of the operator is a string (surrounded by quotes)
345
+ # value.
346
+ #
347
+ # Supported functions are LOWER(<field_name>) to
348
+ # perform case insensitive match and EMPTY(<field_name>) to filter on the
349
+ # existence of a key.
350
+ #
351
+ # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
352
+ # nesting (for example "((A AND B AND C) OR NOT D) AND E"), and there can be
353
+ # a maximum of 50 comparisons/functions in the expression. The expression
354
+ # must be < 2000 characters in length.
355
+ #
356
+ # Sample Query:
357
+ # (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1))
358
+ class ProfileQuery; end
359
+
360
+ # Input only.
361
+ #
362
+ # Geographic region of the search.
363
+ # @!attribute [rw] address
364
+ # @return [String]
365
+ # Optional.
366
+ #
367
+ # The address name, such as "Mountain View" or "Bay Area".
368
+ # @!attribute [rw] region_code
369
+ # @return [String]
370
+ # Optional.
371
+ #
372
+ # CLDR region code of the country/region of the address. This is used
373
+ # to address ambiguity of the user-input location, for example, "Liverpool"
374
+ # against "Liverpool, NY, US" or "Liverpool, UK".
375
+ #
376
+ # Set this field if all the jobs to search against are from a same region,
377
+ # or jobs are world-wide, but the job seeker is from a specific region.
378
+ #
379
+ # See http://cldr.unicode.org/ and
380
+ # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
381
+ # for details. Example: "CH" for Switzerland.
382
+ # @!attribute [rw] lat_lng
383
+ # @return [Google::Type::LatLng]
384
+ # Optional.
385
+ #
386
+ # The latitude and longitude of the geographic center from which to
387
+ # search. This field's ignored if `address` is provided.
388
+ # @!attribute [rw] distance_in_miles
389
+ # @return [Float]
390
+ # Optional.
391
+ #
392
+ #
393
+ # The distance_in_miles is applied when the location being searched for is
394
+ # identified as a city or smaller. When the location being searched for is a
395
+ # state or larger, this field is ignored.
396
+ # @!attribute [rw] telecommute_preference
397
+ # @return [Google::Cloud::Talent::V4beta1::LocationFilter::TelecommutePreference]
398
+ # Optional.
399
+ #
400
+ # Allows the client to return jobs without a
401
+ # set location, specifically, telecommuting jobs (telecomuting is considered
402
+ # by the service as a special location.
403
+ # {Google::Cloud::Talent::V4beta1::Job#posting_region Job#posting_region}
404
+ # indicates if a job permits telecommuting. If this field is set to
405
+ # {Google::Cloud::Talent::V4beta1::LocationFilter::TelecommutePreference::TELECOMMUTE_ALLOWED TelecommutePreference::TELECOMMUTE_ALLOWED},
406
+ # telecommuting jobs are searched, and
407
+ # {Google::Cloud::Talent::V4beta1::LocationFilter#address address} and
408
+ # {Google::Cloud::Talent::V4beta1::LocationFilter#lat_lng lat_lng} are ignored.
409
+ # If not set or set to
410
+ # {Google::Cloud::Talent::V4beta1::LocationFilter::TelecommutePreference::TELECOMMUTE_EXCLUDED TelecommutePreference::TELECOMMUTE_EXCLUDED},
411
+ # telecommute job are not searched.
412
+ #
413
+ # This filter can be used by itself to search exclusively for telecommuting
414
+ # jobs, or it can be combined with another location
415
+ # filter to search for a combination of job locations,
416
+ # such as "Mountain View" or "telecommuting" jobs. However, when used in
417
+ # combination with other location filters, telecommuting jobs can be
418
+ # treated as less relevant than other jobs in the search response.
419
+ # @!attribute [rw] negated
420
+ # @return [true, false]
421
+ # Optional.
422
+ #
423
+ # Whether to apply negation to the filter so profiles matching the filter
424
+ # are excluded.
425
+ #
426
+ # Currently only supported in profile search.
427
+ class LocationFilter
428
+ # Specify whether including telecommute jobs.
429
+ module TelecommutePreference
430
+ # Default value if the telecommute preference isn't specified.
431
+ TELECOMMUTE_PREFERENCE_UNSPECIFIED = 0
432
+
433
+ # Exclude telecommute jobs.
434
+ TELECOMMUTE_EXCLUDED = 1
435
+
436
+ # Allow telecommute jobs.
437
+ TELECOMMUTE_ALLOWED = 2
438
+ end
439
+ end
440
+
441
+ # Input only.
442
+ #
443
+ # Filter on job compensation type and amount.
444
+ # @!attribute [rw] type
445
+ # @return [Google::Cloud::Talent::V4beta1::CompensationFilter::FilterType]
446
+ # Required.
447
+ #
448
+ # Type of filter.
449
+ # @!attribute [rw] units
450
+ # @return [Array<Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationUnit>]
451
+ # Required.
452
+ #
453
+ # Specify desired `base compensation entry's`
454
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationUnit CompensationInfo::CompensationUnit}.
455
+ # @!attribute [rw] range
456
+ # @return [Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationRange]
457
+ # Optional.
458
+ #
459
+ # Compensation range.
460
+ # @!attribute [rw] include_jobs_with_unspecified_compensation_range
461
+ # @return [true, false]
462
+ # Optional.
463
+ #
464
+ # Whether to include jobs whose compensation range is unspecified.
465
+ class CompensationFilter
466
+ # Specify the type of filtering.
467
+ module FilterType
468
+ # Filter type unspecified. Position holder, INVALID, should never be used.
469
+ FILTER_TYPE_UNSPECIFIED = 0
470
+
471
+ # Filter by `base compensation entry's` unit. A job is a match if and
472
+ # only if the job contains a base CompensationEntry and the base
473
+ # CompensationEntry's unit matches provided
474
+ # {Google::Cloud::Talent::V4beta1::CompensationFilter#units units}. Populate
475
+ # one or more
476
+ # {Google::Cloud::Talent::V4beta1::CompensationFilter#units units}.
477
+ #
478
+ # See
479
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationEntry CompensationInfo::CompensationEntry}
480
+ # for definition of base compensation entry.
481
+ UNIT_ONLY = 1
482
+
483
+ # Filter by `base compensation entry's` unit and amount / range. A job
484
+ # is a match if and only if the job contains a base CompensationEntry, and
485
+ # the base entry's unit matches provided {Compensation_units} and amount
486
+ # or range overlaps with provided {Compensation_range}.
487
+ #
488
+ # See
489
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationEntry CompensationInfo::CompensationEntry}
490
+ # for definition of base compensation entry.
491
+ #
492
+ # Set exactly one
493
+ # {Google::Cloud::Talent::V4beta1::CompensationFilter#units units} and
494
+ # populate {Google::Cloud::Talent::V4beta1::CompensationFilter#range range}.
495
+ UNIT_AND_AMOUNT = 2
496
+
497
+ # Filter by annualized base compensation amount and `base compensation
498
+ # entry's` unit. Populate
499
+ # {Google::Cloud::Talent::V4beta1::CompensationFilter#range range} and zero or
500
+ # more {Google::Cloud::Talent::V4beta1::CompensationFilter#units units}.
501
+ ANNUALIZED_BASE_AMOUNT = 3
502
+
503
+ # Filter by annualized total compensation amount and `base compensation
504
+ # entry's` unit . Populate
505
+ # {Google::Cloud::Talent::V4beta1::CompensationFilter#range range} and zero or
506
+ # more {Google::Cloud::Talent::V4beta1::CompensationFilter#units units}.
507
+ ANNUALIZED_TOTAL_AMOUNT = 4
508
+ end
509
+ end
510
+
511
+ # Input only.
512
+ #
513
+ # Parameters needed for commute search.
514
+ # @!attribute [rw] commute_method
515
+ # @return [Google::Cloud::Talent::V4beta1::CommuteMethod]
516
+ # Required.
517
+ #
518
+ # The method of transportation for which to calculate the commute time.
519
+ # @!attribute [rw] start_coordinates
520
+ # @return [Google::Type::LatLng]
521
+ # Required.
522
+ #
523
+ # The latitude and longitude of the location from which to calculate the
524
+ # commute time.
525
+ # @!attribute [rw] travel_duration
526
+ # @return [Google::Protobuf::Duration]
527
+ # Required.
528
+ #
529
+ # The maximum travel time in seconds. The maximum allowed value is `3600s`
530
+ # (one hour). Format is `123s`.
531
+ # @!attribute [rw] allow_imprecise_addresses
532
+ # @return [true, false]
533
+ # Optional.
534
+ # If `true`, jobs without street level addresses may also be returned.
535
+ # For city level addresses, the city center is used. For state and coarser
536
+ # level addresses, text matching is used.
537
+ # If this field is set to `false` or isn't specified, only jobs that include
538
+ # street level addresses will be returned by commute search.
539
+ # @!attribute [rw] road_traffic
540
+ # @return [Google::Cloud::Talent::V4beta1::CommuteFilter::RoadTraffic]
541
+ # Optional.
542
+ #
543
+ # Specifies the traffic density to use when calculating commute time.
544
+ # @!attribute [rw] departure_time
545
+ # @return [Google::Type::TimeOfDay]
546
+ # Optional.
547
+ #
548
+ # The departure time used to calculate traffic impact, represented as
549
+ # {Google::Type::TimeOfDay} in local time zone.
550
+ #
551
+ # Currently traffic model is restricted to hour level resolution.
552
+ class CommuteFilter
553
+ # The traffic density to use when calculating commute time.
554
+ module RoadTraffic
555
+ # Road traffic situation isn't specified.
556
+ ROAD_TRAFFIC_UNSPECIFIED = 0
557
+
558
+ # Optimal commute time without considering any traffic impact.
559
+ TRAFFIC_FREE = 1
560
+
561
+ # Commute time calculation takes in account the peak traffic impact.
562
+ BUSY_HOUR = 2
563
+ end
564
+ end
565
+
566
+ # Input only.
567
+ #
568
+ # Job title of the search.
569
+ # @!attribute [rw] job_title
570
+ # @return [String]
571
+ # Required.
572
+ #
573
+ # The job title, for example, "Software engineer", or "Product manager".
574
+ # @!attribute [rw] negated
575
+ # @return [true, false]
576
+ # Optional.
577
+ #
578
+ # Whether to apply negation to the filter so profiles matching the filter
579
+ # are excluded.
580
+ class JobTitleFilter; end
581
+
582
+ # Input only.
583
+ #
584
+ # Skill filter of the search.
585
+ # @!attribute [rw] skill
586
+ # @return [String]
587
+ # Required.
588
+ #
589
+ # The skill name. For example, "java", "j2ee", etc.
590
+ # @!attribute [rw] negated
591
+ # @return [true, false]
592
+ # Optional.
593
+ #
594
+ # Whether to apply negation to the filter so profiles matching the filter
595
+ # are excluded.
596
+ class SkillFilter; end
597
+
598
+ # Input only.
599
+ #
600
+ # Employer filter of the search.
601
+ # @!attribute [rw] employer
602
+ # @return [String]
603
+ # Required.
604
+ #
605
+ # The name of the employer, for example "Google", "Alphabet".
606
+ # @!attribute [rw] mode
607
+ # @return [Google::Cloud::Talent::V4beta1::EmployerFilter::EmployerFilterMode]
608
+ # Optional.
609
+ #
610
+ # Define set of
611
+ # {Google::Cloud::Talent::V4beta1::EmploymentRecord EmploymentRecord}s to search
612
+ # against.
613
+ #
614
+ # Defaults to
615
+ # {Google::Cloud::Talent::V4beta1::EmployerFilter::EmployerFilterMode::ALL_EMPLOYMENT_RECORDS EmployerFilterMode::ALL_EMPLOYMENT_RECORDS}.
616
+ # @!attribute [rw] negated
617
+ # @return [true, false]
618
+ # Optional.
619
+ #
620
+ # Whether to apply negation to the filter so profiles matching the filter
621
+ # is excluded.
622
+ class EmployerFilter
623
+ # Enum indicating which set of
624
+ # {Google::Cloud::Talent::V4beta1::Profile#employment_records Profile#employment_records}
625
+ # to search against.
626
+ module EmployerFilterMode
627
+ # Default value.
628
+ EMPLOYER_FILTER_MODE_UNSPECIFIED = 0
629
+
630
+ # Apply to all employers in
631
+ # {Google::Cloud::Talent::V4beta1::Profile#employment_records Profile#employment_records}.
632
+ ALL_EMPLOYMENT_RECORDS = 1
633
+
634
+ # Apply only to current employer in
635
+ # {Google::Cloud::Talent::V4beta1::Profile#employment_records Profile#employment_records}.
636
+ CURRENT_EMPLOYMENT_RECORDS_ONLY = 2
637
+
638
+ # Apply only to past (not current) employers in
639
+ # {Google::Cloud::Talent::V4beta1::Profile#employment_records Profile#employment_records}.
640
+ PAST_EMPLOYMENT_RECORDS_ONLY = 3
641
+ end
642
+ end
643
+
644
+ # Input only.
645
+ #
646
+ # Education filter of the search.
647
+ # @!attribute [rw] school
648
+ # @return [String]
649
+ # Optional.
650
+ #
651
+ # The school name. For example "MIT", "University of California, Berkeley".
652
+ # @!attribute [rw] field_of_study
653
+ # @return [String]
654
+ # Optional.
655
+ #
656
+ # The field of study. This is to search against value provided in
657
+ # {Google::Cloud::Talent::V4beta1::Degree#fields_of_study Degree#fields_of_study}.
658
+ # For example "Computer Science", "Mathematics".
659
+ # @!attribute [rw] degree_type
660
+ # @return [Google::Cloud::Talent::V4beta1::DegreeType]
661
+ # Optional.
662
+ #
663
+ # Education degree in ISCED code. Each value in degree covers a specific
664
+ # level of education, without any expansion to upper nor lower levels of
665
+ # education degree.
666
+ # @!attribute [rw] negated
667
+ # @return [true, false]
668
+ # Optional.
669
+ #
670
+ # Whether to apply negation to the filter so profiles matching the filter
671
+ # is excluded.
672
+ class EducationFilter; end
673
+
674
+ # Input only.
675
+ #
676
+ # Work experience filter.
677
+ #
678
+ # This filter is used to search for profiles with working experience length
679
+ # between
680
+ # {Google::Cloud::Talent::V4beta1::WorkExperienceFilter#min_experience min_experience}
681
+ # and
682
+ # {Google::Cloud::Talent::V4beta1::WorkExperienceFilter#max_experience max_experience}.
683
+ # @!attribute [rw] min_experience
684
+ # @return [Google::Protobuf::Duration]
685
+ # Optional.
686
+ #
687
+ # The minimum duration of the work experience (inclusive).
688
+ # @!attribute [rw] max_experience
689
+ # @return [Google::Protobuf::Duration]
690
+ # Optional.
691
+ #
692
+ # The maximum duration of the work experience (exclusive).
693
+ class WorkExperienceFilter; end
694
+
695
+ # Input only.
696
+ #
697
+ # Application Date Range Filter.
698
+ #
699
+ # The API matches profiles with
700
+ # {Google::Cloud::Talent::V4beta1::JobApplication#application_date JobApplication#application_date}
701
+ # between start date and end date (both boundaries are inclusive). The filter
702
+ # is ignored if both
703
+ # {Google::Cloud::Talent::V4beta1::ApplicationDateFilter#start_date start_date}
704
+ # and {Google::Cloud::Talent::V4beta1::ApplicationDateFilter#end_date end_date}
705
+ # are missing.
706
+ # @!attribute [rw] start_date
707
+ # @return [Google::Type::Date]
708
+ # Optional.
709
+ #
710
+ # Start date. If it's missing, The API matches profiles with application date
711
+ # not after the end date.
712
+ # @!attribute [rw] end_date
713
+ # @return [Google::Type::Date]
714
+ # Optional.
715
+ #
716
+ # End date. If it's missing, The API matches profiles with application date
717
+ # not before the start date.
718
+ class ApplicationDateFilter; end
719
+
720
+ # Input only.
721
+ #
722
+ # Outcome Reason Filter.
723
+ # @!attribute [rw] outcome_reason
724
+ # @return [String]
725
+ # Required.
726
+ #
727
+ # User entered or selected outcome reason. The API does an exact match on the
728
+ # {Google::Cloud::Talent::V4beta1::JobApplication#outcome_reason JobApplication#outcome_reason}
729
+ # in profiles.
730
+ # @!attribute [rw] negated
731
+ # @return [true, false]
732
+ # Optional.
733
+ #
734
+ # If true, The API excludes all candidates with any
735
+ # {Google::Cloud::Talent::V4beta1::JobApplication#outcome_reason JobApplication#outcome_reason}
736
+ # matching the outcome reason specified in the filter.
737
+ class ApplicationOutcomeReasonFilter; end
738
+
739
+ # Input only.
740
+ #
741
+ # Filter on Last Stage of Application.
742
+ # @!attribute [rw] last_stage
743
+ # @return [String]
744
+ # Required.
745
+ #
746
+ # User entered or selected last stage the candidate reached in the
747
+ # application. The API does an exact match on the
748
+ # {Google::Cloud::Talent::V4beta1::JobApplication#last_stage JobApplication#last_stage}
749
+ # in profiles.
750
+ # @!attribute [rw] negated
751
+ # @return [true, false]
752
+ # Optional.
753
+ # If true, The API excludes all candidates with any
754
+ # {Google::Cloud::Talent::V4beta1::JobApplication#last_stage JobApplication#last_stage}
755
+ # matching the last stage specified in the filter.
756
+ class ApplicationLastStageFilter; end
757
+
758
+ # Input only.
759
+ #
760
+ # Filter on the job information of Application.
761
+ # @!attribute [rw] job_name
762
+ # @return [String]
763
+ # Optional.
764
+ #
765
+ # The job resource name in the application. The API does an exact match on
766
+ # the {Google::Cloud::Talent::V4beta1::Job#name Job#name} of
767
+ # {Google::Cloud::Talent::V4beta1::JobApplication#job JobApplication#job} in
768
+ # profiles.
769
+ # @!attribute [rw] job_requisition_id
770
+ # @return [String]
771
+ # Optional.
772
+ #
773
+ # The job requisition id in the application. The API does an exact match on
774
+ # the {Job#requisistion_id} of
775
+ # {Google::Cloud::Talent::V4beta1::JobApplication#job JobApplication#job} in
776
+ # profiles.
777
+ # @!attribute [rw] job_title
778
+ # @return [String]
779
+ # Optional.
780
+ #
781
+ # The job title in the application. The API does an exact match on the
782
+ # {Google::Cloud::Talent::V4beta1::Job#title Job#title} of
783
+ # {Google::Cloud::Talent::V4beta1::JobApplication#job JobApplication#job} in
784
+ # profiles.
785
+ # @!attribute [rw] negated
786
+ # @return [true, false]
787
+ # Optional.
788
+ #
789
+ # If true, the API excludes all profiles with any
790
+ # {Google::Cloud::Talent::V4beta1::JobApplication#job JobApplication#job}
791
+ # matching the filters.
792
+ class ApplicationJobFilter; end
793
+
794
+ # Input only.
795
+ #
796
+ # Filter on status of Application.
797
+ # @!attribute [rw] application_status
798
+ # @return [Google::Cloud::Talent::V4beta1::JobApplication::ApplicationStatus]
799
+ # Required.
800
+ #
801
+ # User entered or selected application status. The API does an exact match
802
+ # between the application status specified in this filter and the
803
+ # {JobApplication#status} in profiles.
804
+ # @!attribute [rw] negated
805
+ # @return [true, false]
806
+ # Optional.
807
+ #
808
+ # If true, The API excludes all candidates with any {JobApplication#status}
809
+ # matching the status specified in the filter.
810
+ class ApplicationStatusFilter; end
811
+
812
+ # Input only.
813
+ #
814
+ # Filter on create timestamp or update timestamp of profiles.
815
+ # @!attribute [rw] start_time
816
+ # @return [Google::Protobuf::Timestamp]
817
+ # Optional.
818
+ #
819
+ # Start timestamp, matching profiles with the start time. If this field
820
+ # missing, The API matches profiles with create / update timestamp before the
821
+ # end timestamp.
822
+ # @!attribute [rw] end_time
823
+ # @return [Google::Protobuf::Timestamp]
824
+ # Optional.
825
+ #
826
+ # End timestamp, matching profiles with the end time. If this field
827
+ # missing, The API matches profiles with create / update timestamp after the
828
+ # start timestamp.
829
+ # @!attribute [rw] time_field
830
+ # @return [Google::Cloud::Talent::V4beta1::TimeFilter::TimeField]
831
+ # Optional.
832
+ #
833
+ # Specifies which time field to filter profiles.
834
+ #
835
+ # Defaults to
836
+ # {Google::Cloud::Talent::V4beta1::TimeFilter::TimeField::CREATE_TIME TimeField::CREATE_TIME}.
837
+ class TimeFilter
838
+ # Time fields can be used in TimeFilter.
839
+ module TimeField
840
+ # Default value.
841
+ TIME_FIELD_UNSPECIFIED = 0
842
+
843
+ # Earliest profile create time.
844
+ CREATE_TIME = 1
845
+
846
+ # Latest profile update time.
847
+ UPDATE_TIME = 2
848
+ end
849
+ end
850
+ end
851
+ end
852
+ end
853
+ end