google-cloud-talent-v4 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-talent-v4.rb +21 -0
  7. data/lib/google/cloud/talent/v4.rb +39 -0
  8. data/lib/google/cloud/talent/v4/common_pb.rb +280 -0
  9. data/lib/google/cloud/talent/v4/company_pb.rb +42 -0
  10. data/lib/google/cloud/talent/v4/company_service.rb +49 -0
  11. data/lib/google/cloud/talent/v4/company_service/client.rb +732 -0
  12. data/lib/google/cloud/talent/v4/company_service/credentials.rb +52 -0
  13. data/lib/google/cloud/talent/v4/company_service/paths.rb +69 -0
  14. data/lib/google/cloud/talent/v4/company_service_pb.rb +57 -0
  15. data/lib/google/cloud/talent/v4/company_service_services_pb.rb +54 -0
  16. data/lib/google/cloud/talent/v4/completion.rb +49 -0
  17. data/lib/google/cloud/talent/v4/completion/client.rb +408 -0
  18. data/lib/google/cloud/talent/v4/completion/credentials.rb +52 -0
  19. data/lib/google/cloud/talent/v4/completion/paths.rb +69 -0
  20. data/lib/google/cloud/talent/v4/completion_service_pb.rb +57 -0
  21. data/lib/google/cloud/talent/v4/completion_service_services_pb.rb +46 -0
  22. data/lib/google/cloud/talent/v4/event_pb.rb +55 -0
  23. data/lib/google/cloud/talent/v4/event_service.rb +49 -0
  24. data/lib/google/cloud/talent/v4/event_service/client.rb +383 -0
  25. data/lib/google/cloud/talent/v4/event_service/credentials.rb +52 -0
  26. data/lib/google/cloud/talent/v4/event_service/paths.rb +50 -0
  27. data/lib/google/cloud/talent/v4/event_service_pb.rb +28 -0
  28. data/lib/google/cloud/talent/v4/event_service_services_pb.rb +51 -0
  29. data/lib/google/cloud/talent/v4/filters_pb.rb +87 -0
  30. data/lib/google/cloud/talent/v4/histogram_pb.rb +28 -0
  31. data/lib/google/cloud/talent/v4/job_pb.rb +72 -0
  32. data/lib/google/cloud/talent/v4/job_service.rb +50 -0
  33. data/lib/google/cloud/talent/v4/job_service/client.rb +1632 -0
  34. data/lib/google/cloud/talent/v4/job_service/credentials.rb +52 -0
  35. data/lib/google/cloud/talent/v4/job_service/operations.rb +570 -0
  36. data/lib/google/cloud/talent/v4/job_service/paths.rb +88 -0
  37. data/lib/google/cloud/talent/v4/job_service_pb.rb +173 -0
  38. data/lib/google/cloud/talent/v4/job_service_services_pb.rb +86 -0
  39. data/lib/google/cloud/talent/v4/tenant_pb.rb +26 -0
  40. data/lib/google/cloud/talent/v4/tenant_service.rb +49 -0
  41. data/lib/google/cloud/talent/v4/tenant_service/client.rb +720 -0
  42. data/lib/google/cloud/talent/v4/tenant_service/credentials.rb +52 -0
  43. data/lib/google/cloud/talent/v4/tenant_service/paths.rb +64 -0
  44. data/lib/google/cloud/talent/v4/tenant_service_pb.rb +56 -0
  45. data/lib/google/cloud/talent/v4/tenant_service_services_pb.rb +53 -0
  46. data/lib/google/cloud/talent/v4/version.rb +28 -0
  47. data/proto_docs/README.md +4 -0
  48. data/proto_docs/google/api/field_behavior.rb +59 -0
  49. data/proto_docs/google/api/resource.rb +283 -0
  50. data/proto_docs/google/cloud/talent/v4/common.rb +949 -0
  51. data/proto_docs/google/cloud/talent/v4/company.rb +117 -0
  52. data/proto_docs/google/cloud/talent/v4/company_service.rb +133 -0
  53. data/proto_docs/google/cloud/talent/v4/completion_service.rb +148 -0
  54. data/proto_docs/google/cloud/talent/v4/event.rb +179 -0
  55. data/proto_docs/google/cloud/talent/v4/event_service.rb +42 -0
  56. data/proto_docs/google/cloud/talent/v4/filters.rb +360 -0
  57. data/proto_docs/google/cloud/talent/v4/histogram.rb +72 -0
  58. data/proto_docs/google/cloud/talent/v4/job.rb +378 -0
  59. data/proto_docs/google/cloud/talent/v4/job_service.rb +737 -0
  60. data/proto_docs/google/cloud/talent/v4/tenant.rb +50 -0
  61. data/proto_docs/google/cloud/talent/v4/tenant_service.rb +121 -0
  62. data/proto_docs/google/longrunning/operations.rb +150 -0
  63. data/proto_docs/google/protobuf/any.rb +138 -0
  64. data/proto_docs/google/protobuf/duration.rb +98 -0
  65. data/proto_docs/google/protobuf/empty.rb +36 -0
  66. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  67. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  68. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  69. data/proto_docs/google/rpc/status.rb +46 -0
  70. data/proto_docs/google/type/latlng.rb +38 -0
  71. data/proto_docs/google/type/money.rb +43 -0
  72. data/proto_docs/google/type/postal_address.rb +135 -0
  73. data/proto_docs/google/type/timeofday.rb +44 -0
  74. metadata +258 -0
@@ -0,0 +1,378 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Talent
23
+ module V4
24
+ # A Job resource represents a job posting (also referred to as a "job listing"
25
+ # or "job requisition"). A job belongs to a
26
+ # {::Google::Cloud::Talent::V4::Company Company}, which is the hiring entity
27
+ # responsible for the job.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Required during job update.
31
+ #
32
+ # The resource name for the job. This is generated by the service when a
33
+ # job is created.
34
+ #
35
+ # The format is
36
+ # "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}". For
37
+ # example, "projects/foo/tenants/bar/jobs/baz".
38
+ #
39
+ # Use of this field in job queries and API calls is preferred over the use of
40
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id} since this
41
+ # value is unique.
42
+ # @!attribute [rw] company
43
+ # @return [::String]
44
+ # Required. The resource name of the company listing the job.
45
+ #
46
+ # The format is
47
+ # "projects/\\{project_id}/tenants/\\{tenant_id}/companies/\\{company_id}". For
48
+ # example, "projects/foo/tenants/bar/companies/baz".
49
+ # @!attribute [rw] requisition_id
50
+ # @return [::String]
51
+ # Required. The requisition ID, also referred to as the posting ID, is
52
+ # assigned by the client to identify a job. This field is intended to be used
53
+ # by clients for client identification and tracking of postings. A job isn't
54
+ # allowed to be created if there is another job with the same
55
+ # {::Google::Cloud::Talent::V4::Job#name company},
56
+ # {::Google::Cloud::Talent::V4::Job#language_code language_code} and
57
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id}.
58
+ #
59
+ # The maximum number of allowed characters is 255.
60
+ # @!attribute [rw] title
61
+ # @return [::String]
62
+ # Required. The title of the job, such as "Software Engineer"
63
+ #
64
+ # The maximum number of allowed characters is 500.
65
+ # @!attribute [rw] description
66
+ # @return [::String]
67
+ # Required. The description of the job, which typically includes a
68
+ # multi-paragraph description of the company and related information.
69
+ # Separate fields are provided on the job object for
70
+ # {::Google::Cloud::Talent::V4::Job#responsibilities responsibilities},
71
+ # {::Google::Cloud::Talent::V4::Job#qualifications qualifications}, and other job
72
+ # characteristics. Use of these separate job fields is recommended.
73
+ #
74
+ # This field accepts and sanitizes HTML input, and also accepts
75
+ # bold, italic, ordered list, and unordered list markup tags.
76
+ #
77
+ # The maximum number of allowed characters is 100,000.
78
+ # @!attribute [rw] addresses
79
+ # @return [::Array<::String>]
80
+ # Strongly recommended for the best service experience.
81
+ #
82
+ # Location(s) where the employer is looking to hire for this job posting.
83
+ #
84
+ # Specifying the full street address(es) of the hiring location enables
85
+ # better API results, especially job searches by commute time.
86
+ #
87
+ # At most 50 locations are allowed for best search performance. If a job has
88
+ # more locations, it is suggested to split it into multiple jobs with unique
89
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id}s (e.g. 'ReqA'
90
+ # becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
91
+ # {::Google::Cloud::Talent::V4::Job#company company},
92
+ # {::Google::Cloud::Talent::V4::Job#language_code language_code} and
93
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id} are not
94
+ # allowed. If the original
95
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id} must be
96
+ # preserved, a custom field should be used for storage. It is also suggested
97
+ # to group the locations that close to each other in the same job for better
98
+ # search experience.
99
+ #
100
+ # The maximum number of allowed characters is 500.
101
+ # @!attribute [rw] application_info
102
+ # @return [::Google::Cloud::Talent::V4::Job::ApplicationInfo]
103
+ # Job application information.
104
+ # @!attribute [rw] job_benefits
105
+ # @return [::Array<::Google::Cloud::Talent::V4::JobBenefit>]
106
+ # The benefits included with the job.
107
+ # @!attribute [rw] compensation_info
108
+ # @return [::Google::Cloud::Talent::V4::CompensationInfo]
109
+ # Job compensation information (a.k.a. "pay rate") i.e., the compensation
110
+ # that will paid to the employee.
111
+ # @!attribute [rw] custom_attributes
112
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Talent::V4::CustomAttribute}]
113
+ # A map of fields to hold both filterable and non-filterable custom job
114
+ # attributes that are not covered by the provided structured fields.
115
+ #
116
+ # The keys of the map are strings up to 64 bytes and must match the
117
+ # pattern: [a-zA-Z][a-zA-Z0-9_]*. For example, key0LikeThis or
118
+ # KEY_1_LIKE_THIS.
119
+ #
120
+ # At most 100 filterable and at most 100 unfilterable keys are supported.
121
+ # For filterable `string_values`, across all keys at most 200 values are
122
+ # allowed, with each string no more than 255 characters. For unfilterable
123
+ # `string_values`, the maximum total size of `string_values` across all keys
124
+ # is 50KB.
125
+ # @!attribute [rw] degree_types
126
+ # @return [::Array<::Google::Cloud::Talent::V4::DegreeType>]
127
+ # The desired education degrees for the job, such as Bachelors, Masters.
128
+ # @!attribute [rw] department
129
+ # @return [::String]
130
+ # The department or functional area within the company with the open
131
+ # position.
132
+ #
133
+ # The maximum number of allowed characters is 255.
134
+ # @!attribute [rw] employment_types
135
+ # @return [::Array<::Google::Cloud::Talent::V4::EmploymentType>]
136
+ # The employment type(s) of a job, for example,
137
+ # {::Google::Cloud::Talent::V4::EmploymentType::FULL_TIME full time} or
138
+ # {::Google::Cloud::Talent::V4::EmploymentType::PART_TIME part time}.
139
+ # @!attribute [rw] incentives
140
+ # @return [::String]
141
+ # A description of bonus, commission, and other compensation
142
+ # incentives associated with the job not including salary or pay.
143
+ #
144
+ # The maximum number of allowed characters is 10,000.
145
+ # @!attribute [rw] language_code
146
+ # @return [::String]
147
+ # The language of the posting. This field is distinct from
148
+ # any requirements for fluency that are associated with the job.
149
+ #
150
+ # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
151
+ # For more information, see
152
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
153
+ # class="external" target="_blank" }.
154
+ #
155
+ # If this field is unspecified and
156
+ # {::Google::Cloud::Talent::V4::Job#description Job.description} is present,
157
+ # detected language code based on
158
+ # {::Google::Cloud::Talent::V4::Job#description Job.description} is assigned,
159
+ # otherwise defaults to 'en_US'.
160
+ # @!attribute [rw] job_level
161
+ # @return [::Google::Cloud::Talent::V4::JobLevel]
162
+ # The experience level associated with the job, such as "Entry Level".
163
+ # @!attribute [rw] promotion_value
164
+ # @return [::Integer]
165
+ # A promotion value of the job, as determined by the client.
166
+ # The value determines the sort order of the jobs returned when searching for
167
+ # jobs using the featured jobs search call, with higher promotional values
168
+ # being returned first and ties being resolved by relevance sort. Only the
169
+ # jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
170
+ #
171
+ # Default value is 0, and negative values are treated as 0.
172
+ # @!attribute [rw] qualifications
173
+ # @return [::String]
174
+ # A description of the qualifications required to perform the
175
+ # job. The use of this field is recommended
176
+ # as an alternative to using the more general
177
+ # {::Google::Cloud::Talent::V4::Job#description description} field.
178
+ #
179
+ # This field accepts and sanitizes HTML input, and also accepts
180
+ # bold, italic, ordered list, and unordered list markup tags.
181
+ #
182
+ # The maximum number of allowed characters is 10,000.
183
+ # @!attribute [rw] responsibilities
184
+ # @return [::String]
185
+ # A description of job responsibilities. The use of this field is
186
+ # recommended as an alternative to using the more general
187
+ # {::Google::Cloud::Talent::V4::Job#description description} field.
188
+ #
189
+ # This field accepts and sanitizes HTML input, and also accepts
190
+ # bold, italic, ordered list, and unordered list markup tags.
191
+ #
192
+ # The maximum number of allowed characters is 10,000.
193
+ # @!attribute [rw] posting_region
194
+ # @return [::Google::Cloud::Talent::V4::PostingRegion]
195
+ # The job {::Google::Cloud::Talent::V4::PostingRegion PostingRegion} (for example,
196
+ # state, country) throughout which the job is available. If this field is
197
+ # set, a {::Google::Cloud::Talent::V4::LocationFilter LocationFilter} in a search
198
+ # query within the job region finds this job posting if an exact location
199
+ # match isn't specified. If this field is set to
200
+ # {::Google::Cloud::Talent::V4::PostingRegion::NATION PostingRegion.NATION} or
201
+ # {::Google::Cloud::Talent::V4::PostingRegion::ADMINISTRATIVE_AREA PostingRegion.ADMINISTRATIVE_AREA},
202
+ # setting job {::Google::Cloud::Talent::V4::Job#addresses Job.addresses} to the
203
+ # same location level as this field is strongly recommended.
204
+ # @!attribute [rw] visibility
205
+ # @return [::Google::Cloud::Talent::V4::Visibility]
206
+ # Deprecated. The job is only visible to the owner.
207
+ #
208
+ # The visibility of the job.
209
+ #
210
+ # Defaults to
211
+ # {::Google::Cloud::Talent::V4::Visibility::ACCOUNT_ONLY Visibility.ACCOUNT_ONLY}
212
+ # if not specified.
213
+ # @!attribute [rw] job_start_time
214
+ # @return [::Google::Protobuf::Timestamp]
215
+ # The start timestamp of the job in UTC time zone. Typically this field
216
+ # is used for contracting engagements. Invalid timestamps are ignored.
217
+ # @!attribute [rw] job_end_time
218
+ # @return [::Google::Protobuf::Timestamp]
219
+ # The end timestamp of the job. Typically this field is used for contracting
220
+ # engagements. Invalid timestamps are ignored.
221
+ # @!attribute [rw] posting_publish_time
222
+ # @return [::Google::Protobuf::Timestamp]
223
+ # The timestamp this job posting was most recently published. The default
224
+ # value is the time the request arrives at the server. Invalid timestamps are
225
+ # ignored.
226
+ # @!attribute [rw] posting_expire_time
227
+ # @return [::Google::Protobuf::Timestamp]
228
+ # Strongly recommended for the best service experience.
229
+ #
230
+ # The expiration timestamp of the job. After this timestamp, the
231
+ # job is marked as expired, and it no longer appears in search results. The
232
+ # expired job can't be listed by the
233
+ # {::Google::Cloud::Talent::V4::JobService::Client#list_jobs ListJobs} API, but it can be
234
+ # retrieved with the {::Google::Cloud::Talent::V4::JobService::Client#get_job GetJob} API
235
+ # or updated with the
236
+ # {::Google::Cloud::Talent::V4::JobService::Client#update_job UpdateJob} API or deleted
237
+ # with the {::Google::Cloud::Talent::V4::JobService::Client#delete_job DeleteJob} API. An
238
+ # expired job can be updated and opened again by using a future expiration
239
+ # timestamp. Updating an expired job fails if there is another existing open
240
+ # job with same {::Google::Cloud::Talent::V4::Job#company company},
241
+ # {::Google::Cloud::Talent::V4::Job#language_code language_code} and
242
+ # {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id}.
243
+ #
244
+ # The expired jobs are retained in our system for 90 days. However, the
245
+ # overall expired job count cannot exceed 3 times the maximum number of
246
+ # open jobs over previous 7 days. If this threshold is exceeded,
247
+ # expired jobs are cleaned out in order of earliest expire time.
248
+ # Expired jobs are no longer accessible after they are cleaned
249
+ # out.
250
+ #
251
+ # Invalid timestamps are ignored, and treated as expire time not provided.
252
+ #
253
+ # If the timestamp is before the instant request is made, the job
254
+ # is treated as expired immediately on creation. This kind of job can
255
+ # not be updated. And when creating a job with past timestamp, the
256
+ # {::Google::Cloud::Talent::V4::Job#posting_publish_time posting_publish_time}
257
+ # must be set before
258
+ # {::Google::Cloud::Talent::V4::Job#posting_expire_time posting_expire_time}. The
259
+ # purpose of this feature is to allow other objects, such as [Application][],
260
+ # to refer a job that didn't exist in the system prior to becoming expired.
261
+ # If you want to modify a job that was expired on creation, delete it and
262
+ # create a new one.
263
+ #
264
+ # If this value isn't provided at the time of job creation or is invalid,
265
+ # the job posting expires after 30 days from the job's creation time. For
266
+ # example, if the job was created on 2017/01/01 13:00AM UTC with an
267
+ # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
268
+ #
269
+ # If this value isn't provided on job update, it depends on the field masks
270
+ # set by
271
+ # {::Google::Cloud::Talent::V4::UpdateJobRequest#update_mask UpdateJobRequest.update_mask}.
272
+ # If the field masks include
273
+ # {::Google::Cloud::Talent::V4::Job#job_end_time job_end_time}, or the masks are
274
+ # empty meaning that every field is updated, the job posting expires after 30
275
+ # days from the job's last update time. Otherwise the expiration date isn't
276
+ # updated.
277
+ # @!attribute [r] posting_create_time
278
+ # @return [::Google::Protobuf::Timestamp]
279
+ # Output only. The timestamp when this job posting was created.
280
+ # @!attribute [r] posting_update_time
281
+ # @return [::Google::Protobuf::Timestamp]
282
+ # Output only. The timestamp when this job posting was last updated.
283
+ # @!attribute [r] company_display_name
284
+ # @return [::String]
285
+ # Output only. Display name of the company listing the job.
286
+ # @!attribute [r] derived_info
287
+ # @return [::Google::Cloud::Talent::V4::Job::DerivedInfo]
288
+ # Output only. Derived details about the job posting.
289
+ # @!attribute [rw] processing_options
290
+ # @return [::Google::Cloud::Talent::V4::Job::ProcessingOptions]
291
+ # Options for job processing.
292
+ class Job
293
+ include ::Google::Protobuf::MessageExts
294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
295
+
296
+ # Application related details of a job posting.
297
+ # @!attribute [rw] emails
298
+ # @return [::Array<::String>]
299
+ # Use this field to specify email address(es) to which resumes or
300
+ # applications can be sent.
301
+ #
302
+ # The maximum number of allowed characters for each entry is 255.
303
+ # @!attribute [rw] instruction
304
+ # @return [::String]
305
+ # Use this field to provide instructions, such as "Mail your application
306
+ # to ...", that a candidate can follow to apply for the job.
307
+ #
308
+ # This field accepts and sanitizes HTML input, and also accepts
309
+ # bold, italic, ordered list, and unordered list markup tags.
310
+ #
311
+ # The maximum number of allowed characters is 3,000.
312
+ # @!attribute [rw] uris
313
+ # @return [::Array<::String>]
314
+ # Use this URI field to direct an applicant to a website, for example to
315
+ # link to an online application form.
316
+ #
317
+ # The maximum number of allowed characters for each entry is 2,000.
318
+ class ApplicationInfo
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+ end
322
+
323
+ # Derived details about the job posting.
324
+ # @!attribute [rw] locations
325
+ # @return [::Array<::Google::Cloud::Talent::V4::Location>]
326
+ # Structured locations of the job, resolved from
327
+ # {::Google::Cloud::Talent::V4::Job#addresses Job.addresses}.
328
+ #
329
+ # {::Google::Cloud::Talent::V4::Job::DerivedInfo#locations locations} are exactly
330
+ # matched to {::Google::Cloud::Talent::V4::Job#addresses Job.addresses} in the
331
+ # same order.
332
+ # @!attribute [rw] job_categories
333
+ # @return [::Array<::Google::Cloud::Talent::V4::JobCategory>]
334
+ # Job categories derived from {::Google::Cloud::Talent::V4::Job#title Job.title}
335
+ # and {::Google::Cloud::Talent::V4::Job#description Job.description}.
336
+ class DerivedInfo
337
+ include ::Google::Protobuf::MessageExts
338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
339
+ end
340
+
341
+ # Options for job processing.
342
+ # @!attribute [rw] disable_street_address_resolution
343
+ # @return [::Boolean]
344
+ # If set to `true`, the service does not attempt to resolve a
345
+ # more precise address for the job.
346
+ # @!attribute [rw] html_sanitization
347
+ # @return [::Google::Cloud::Talent::V4::HtmlSanitization]
348
+ # Option for job HTML content sanitization. Applied fields are:
349
+ #
350
+ # * description
351
+ # * applicationInfo.instruction
352
+ # * incentives
353
+ # * qualifications
354
+ # * responsibilities
355
+ #
356
+ # HTML tags in these fields may be stripped if sanitiazation isn't
357
+ # disabled.
358
+ #
359
+ # Defaults to
360
+ # {::Google::Cloud::Talent::V4::HtmlSanitization::SIMPLE_FORMATTING_ONLY HtmlSanitization.SIMPLE_FORMATTING_ONLY}.
361
+ class ProcessingOptions
362
+ include ::Google::Protobuf::MessageExts
363
+ extend ::Google::Protobuf::MessageExts::ClassMethods
364
+ end
365
+
366
+ # @!attribute [rw] key
367
+ # @return [::String]
368
+ # @!attribute [rw] value
369
+ # @return [::Google::Cloud::Talent::V4::CustomAttribute]
370
+ class CustomAttributesEntry
371
+ include ::Google::Protobuf::MessageExts
372
+ extend ::Google::Protobuf::MessageExts::ClassMethods
373
+ end
374
+ end
375
+ end
376
+ end
377
+ end
378
+ end
@@ -0,0 +1,737 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Talent
23
+ module V4
24
+ # Create job request.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The resource name of the tenant under which the job is created.
28
+ #
29
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
30
+ # "projects/foo/tenants/bar".
31
+ # @!attribute [rw] job
32
+ # @return [::Google::Cloud::Talent::V4::Job]
33
+ # Required. The Job to be created.
34
+ class CreateJobRequest
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+
39
+ # Get job request.
40
+ # @!attribute [rw] name
41
+ # @return [::String]
42
+ # Required. The resource name of the job to retrieve.
43
+ #
44
+ # The format is
45
+ # "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}". For
46
+ # example, "projects/foo/tenants/bar/jobs/baz".
47
+ class GetJobRequest
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Update job request.
53
+ # @!attribute [rw] job
54
+ # @return [::Google::Cloud::Talent::V4::Job]
55
+ # Required. The Job to be updated.
56
+ # @!attribute [rw] update_mask
57
+ # @return [::Google::Protobuf::FieldMask]
58
+ # Strongly recommended for the best service experience.
59
+ #
60
+ # If {::Google::Cloud::Talent::V4::UpdateJobRequest#update_mask update_mask} is provided, only the specified fields in
61
+ # {::Google::Cloud::Talent::V4::UpdateJobRequest#job job} are updated. Otherwise all the fields are updated.
62
+ #
63
+ # A field mask to restrict the fields that are updated. Only
64
+ # top level fields of {::Google::Cloud::Talent::V4::Job Job} are supported.
65
+ class UpdateJobRequest
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+ end
69
+
70
+ # Delete job request.
71
+ # @!attribute [rw] name
72
+ # @return [::String]
73
+ # Required. The resource name of the job to be deleted.
74
+ #
75
+ # The format is
76
+ # "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}". For
77
+ # example, "projects/foo/tenants/bar/jobs/baz".
78
+ class DeleteJobRequest
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # List jobs request.
84
+ # @!attribute [rw] parent
85
+ # @return [::String]
86
+ # Required. The resource name of the tenant under which the job is created.
87
+ #
88
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
89
+ # "projects/foo/tenants/bar".
90
+ # @!attribute [rw] filter
91
+ # @return [::String]
92
+ # Required. The filter string specifies the jobs to be enumerated.
93
+ #
94
+ # Supported operator: =, AND
95
+ #
96
+ # The fields eligible for filtering are:
97
+ #
98
+ # * `companyName` (Required)
99
+ # * `requisitionId`
100
+ # * `status` Available values: OPEN, EXPIRED, ALL. Defaults to
101
+ # OPEN if no value is specified.
102
+ #
103
+ # Sample Query:
104
+ #
105
+ # * companyName = "projects/foo/tenants/bar/companies/baz"
106
+ # * companyName = "projects/foo/tenants/bar/companies/baz" AND
107
+ # requisitionId = "req-1"
108
+ # * companyName = "projects/foo/tenants/bar/companies/baz" AND
109
+ # status = "EXPIRED"
110
+ # @!attribute [rw] page_token
111
+ # @return [::String]
112
+ # The starting point of a query result.
113
+ # @!attribute [rw] page_size
114
+ # @return [::Integer]
115
+ # The maximum number of jobs to be returned per page of results.
116
+ #
117
+ # If {::Google::Cloud::Talent::V4::ListJobsRequest#job_view job_view} is set to {::Google::Cloud::Talent::V4::JobView::JOB_VIEW_ID_ONLY JobView.JOB_VIEW_ID_ONLY}, the maximum allowed
118
+ # page size is 1000. Otherwise, the maximum allowed page size is 100.
119
+ #
120
+ # Default is 100 if empty or a number < 1 is specified.
121
+ # @!attribute [rw] job_view
122
+ # @return [::Google::Cloud::Talent::V4::JobView]
123
+ # The desired job attributes returned for jobs in the
124
+ # search response. Defaults to {::Google::Cloud::Talent::V4::JobView::JOB_VIEW_FULL JobView.JOB_VIEW_FULL} if no value is
125
+ # specified.
126
+ class ListJobsRequest
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # List jobs response.
132
+ # @!attribute [rw] jobs
133
+ # @return [::Array<::Google::Cloud::Talent::V4::Job>]
134
+ # The Jobs for a given company.
135
+ #
136
+ # The maximum number of items returned is based on the limit field
137
+ # provided in the request.
138
+ # @!attribute [rw] next_page_token
139
+ # @return [::String]
140
+ # A token to retrieve the next page of results.
141
+ # @!attribute [rw] metadata
142
+ # @return [::Google::Cloud::Talent::V4::ResponseMetadata]
143
+ # Additional information for the API invocation, such as the request
144
+ # tracking id.
145
+ class ListJobsResponse
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+
150
+ # The Request body of the `SearchJobs` call.
151
+ # @!attribute [rw] parent
152
+ # @return [::String]
153
+ # Required. The resource name of the tenant to search within.
154
+ #
155
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
156
+ # "projects/foo/tenants/bar".
157
+ # @!attribute [rw] search_mode
158
+ # @return [::Google::Cloud::Talent::V4::SearchJobsRequest::SearchMode]
159
+ # Mode of a search.
160
+ #
161
+ # Defaults to {::Google::Cloud::Talent::V4::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode.JOB_SEARCH}.
162
+ # @!attribute [rw] request_metadata
163
+ # @return [::Google::Cloud::Talent::V4::RequestMetadata]
164
+ # Required. The meta information collected about the job searcher, used to improve the
165
+ # search quality of the service. The identifiers (such as `user_id`) are
166
+ # provided by users, and must be unique and consistent.
167
+ # @!attribute [rw] job_query
168
+ # @return [::Google::Cloud::Talent::V4::JobQuery]
169
+ # Query used to search against jobs, such as keyword, location filters, etc.
170
+ # @!attribute [rw] enable_broadening
171
+ # @return [::Boolean]
172
+ # Controls whether to broaden the search when it produces sparse results.
173
+ # Broadened queries append results to the end of the matching results
174
+ # list.
175
+ #
176
+ # Defaults to false.
177
+ # @!attribute [rw] histogram_queries
178
+ # @return [::Array<::Google::Cloud::Talent::V4::HistogramQuery>]
179
+ # An expression specifies a histogram request against matching jobs.
180
+ #
181
+ # Expression syntax is an aggregation function call with histogram facets and
182
+ # other options.
183
+ #
184
+ # Available aggregation function calls are:
185
+ # * `count(string_histogram_facet)`: Count the number of matching entities,
186
+ # for each distinct attribute value.
187
+ # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
188
+ # matching entities within each bucket.
189
+ #
190
+ # Data types:
191
+ #
192
+ # * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
193
+ # * String: string like "any string with backslash escape for quote(\")."
194
+ # * Number: whole number and floating point number like 10, -1 and -0.01.
195
+ # * List: list of elements with comma(,) separator surrounded by square
196
+ # brackets, for example, [1, 2, 3] and ["one", "two", "three"].
197
+ #
198
+ # Built-in constants:
199
+ #
200
+ # * MIN (minimum number similar to java Double.MIN_VALUE)
201
+ # * MAX (maximum number similar to java Double.MAX_VALUE)
202
+ #
203
+ # Built-in functions:
204
+ #
205
+ # * bucket(start, end[, label]): bucket built-in function creates a bucket
206
+ # with range of [start, end). Note that the end is exclusive, for example,
207
+ # bucket(1, MAX, "positive number") or bucket(1, 10).
208
+ #
209
+ # Job histogram facets:
210
+ #
211
+ # * company_display_name: histogram by {::Google::Cloud::Talent::V4::Job#company_display_name Job.company_display_name}.
212
+ # * employment_type: histogram by {::Google::Cloud::Talent::V4::Job#employment_types Job.employment_types}, for example,
213
+ # "FULL_TIME", "PART_TIME".
214
+ # * company_size: histogram by {::Google::Cloud::Talent::V4::CompanySize CompanySize}, for example, "SMALL",
215
+ # "MEDIUM", "BIG".
216
+ # * publish_time_in_month: histogram by the {::Google::Cloud::Talent::V4::Job#posting_publish_time Job.posting_publish_time}
217
+ # in months.
218
+ # Must specify list of numeric buckets in spec.
219
+ # * publish_time_in_year: histogram by the {::Google::Cloud::Talent::V4::Job#posting_publish_time Job.posting_publish_time}
220
+ # in years.
221
+ # Must specify list of numeric buckets in spec.
222
+ # * degree_types: histogram by the {::Google::Cloud::Talent::V4::Job#degree_types Job.degree_types}, for example,
223
+ # "Bachelors", "Masters".
224
+ # * job_level: histogram by the {::Google::Cloud::Talent::V4::Job#job_level Job.job_level}, for example, "Entry
225
+ # Level".
226
+ # * country: histogram by the country code of jobs, for example, "US", "FR".
227
+ # * admin1: histogram by the admin1 code of jobs, which is a global
228
+ # placeholder referring to the state, province, or the particular term a
229
+ # country uses to define the geographic structure below the country level,
230
+ # for example, "CA", "IL".
231
+ # * city: histogram by a combination of the "city name, admin1 code". For
232
+ # example, "Mountain View, CA", "New York, NY".
233
+ # * admin1_country: histogram by a combination of the "admin1 code, country",
234
+ # for example, "CA, US", "IL, US".
235
+ # * city_coordinate: histogram by the city center's GPS coordinates (latitude
236
+ # and longitude), for example, 37.4038522,-122.0987765. Since the
237
+ # coordinates of a city center can change, customers may need to refresh
238
+ # them periodically.
239
+ # * locale: histogram by the {::Google::Cloud::Talent::V4::Job#language_code Job.language_code}, for example, "en-US",
240
+ # "fr-FR".
241
+ # * language: histogram by the language subtag of the {::Google::Cloud::Talent::V4::Job#language_code Job.language_code},
242
+ # for example, "en", "fr".
243
+ # * category: histogram by the {::Google::Cloud::Talent::V4::JobCategory JobCategory}, for example,
244
+ # "COMPUTER_AND_IT", "HEALTHCARE".
245
+ # * base_compensation_unit: histogram by the
246
+ # {::Google::Cloud::Talent::V4::CompensationInfo::CompensationUnit CompensationInfo.CompensationUnit} of base
247
+ # salary, for example, "WEEKLY", "MONTHLY".
248
+ # * base_compensation: histogram by the base salary. Must specify list of
249
+ # numeric buckets to group results by.
250
+ # * annualized_base_compensation: histogram by the base annualized salary.
251
+ # Must specify list of numeric buckets to group results by.
252
+ # * annualized_total_compensation: histogram by the total annualized salary.
253
+ # Must specify list of numeric buckets to group results by.
254
+ # * string_custom_attribute: histogram by string {::Google::Cloud::Talent::V4::Job#custom_attributes Job.custom_attributes}.
255
+ # Values can be accessed via square bracket notations like
256
+ # string_custom_attribute["key1"].
257
+ # * numeric_custom_attribute: histogram by numeric {::Google::Cloud::Talent::V4::Job#custom_attributes Job.custom_attributes}.
258
+ # Values can be accessed via square bracket notations like
259
+ # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
260
+ # group results by.
261
+ #
262
+ # Example expressions:
263
+ #
264
+ # * `count(admin1)`
265
+ # * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
266
+ # bucket(100000, MAX)])`
267
+ # * `count(string_custom_attribute["some-string-custom-attribute"])`
268
+ # * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
269
+ # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])`
270
+ # @!attribute [rw] job_view
271
+ # @return [::Google::Cloud::Talent::V4::JobView]
272
+ # The desired job attributes returned for jobs in the search response.
273
+ # Defaults to {::Google::Cloud::Talent::V4::JobView::JOB_VIEW_SMALL JobView.JOB_VIEW_SMALL} if no value is specified.
274
+ # @!attribute [rw] offset
275
+ # @return [::Integer]
276
+ # An integer that specifies the current offset (that is, starting result
277
+ # location, amongst the jobs deemed by the API as relevant) in search
278
+ # results. This field is only considered if {::Google::Cloud::Talent::V4::SearchJobsRequest#page_token page_token} is unset.
279
+ #
280
+ # The maximum allowed value is 5000. Otherwise an error is thrown.
281
+ #
282
+ # For example, 0 means to return results starting from the first matching
283
+ # job, and 10 means to return from the 11th job. This can be used for
284
+ # pagination, (for example, pageSize = 10 and offset = 10 means to return
285
+ # from the second page).
286
+ # @!attribute [rw] max_page_size
287
+ # @return [::Integer]
288
+ # A limit on the number of jobs returned in the search results.
289
+ # Increasing this value above the default value of 10 can increase search
290
+ # response time. The value can be between 1 and 100.
291
+ # @!attribute [rw] page_token
292
+ # @return [::String]
293
+ # The token specifying the current offset within
294
+ # search results. See {::Google::Cloud::Talent::V4::SearchJobsResponse#next_page_token SearchJobsResponse.next_page_token} for
295
+ # an explanation of how to obtain the next set of query results.
296
+ # @!attribute [rw] order_by
297
+ # @return [::String]
298
+ # The criteria determining how search results are sorted. Default is
299
+ # `"relevance desc"`.
300
+ #
301
+ # Supported options are:
302
+ #
303
+ # * `"relevance desc"`: By relevance descending, as determined by the API
304
+ # algorithms. Relevance thresholding of query results is only available
305
+ # with this ordering.
306
+ # * `"posting_publish_time desc"`: By {::Google::Cloud::Talent::V4::Job#posting_publish_time Job.posting_publish_time}
307
+ # descending.
308
+ # * `"posting_update_time desc"`: By {::Google::Cloud::Talent::V4::Job#posting_update_time Job.posting_update_time}
309
+ # descending.
310
+ # * `"title"`: By {::Google::Cloud::Talent::V4::Job#title Job.title} ascending.
311
+ # * `"title desc"`: By {::Google::Cloud::Talent::V4::Job#title Job.title} descending.
312
+ # * `"annualized_base_compensation"`: By job's
313
+ # {::Google::Cloud::Talent::V4::CompensationInfo#annualized_base_compensation_range CompensationInfo.annualized_base_compensation_range} ascending. Jobs
314
+ # whose annualized base compensation is unspecified are put at the end of
315
+ # search results.
316
+ # * `"annualized_base_compensation desc"`: By job's
317
+ # {::Google::Cloud::Talent::V4::CompensationInfo#annualized_base_compensation_range CompensationInfo.annualized_base_compensation_range} descending. Jobs
318
+ # whose annualized base compensation is unspecified are put at the end of
319
+ # search results.
320
+ # * `"annualized_total_compensation"`: By job's
321
+ # {::Google::Cloud::Talent::V4::CompensationInfo#annualized_total_compensation_range CompensationInfo.annualized_total_compensation_range} ascending. Jobs
322
+ # whose annualized base compensation is unspecified are put at the end of
323
+ # search results.
324
+ # * `"annualized_total_compensation desc"`: By job's
325
+ # {::Google::Cloud::Talent::V4::CompensationInfo#annualized_total_compensation_range CompensationInfo.annualized_total_compensation_range} descending. Jobs
326
+ # whose annualized base compensation is unspecified are put at the end of
327
+ # search results.
328
+ # * `"custom_ranking desc"`: By the relevance score adjusted to the
329
+ # {::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo#ranking_expression SearchJobsRequest.CustomRankingInfo.ranking_expression} with weight
330
+ # factor assigned by
331
+ # {::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo#importance_level SearchJobsRequest.CustomRankingInfo.importance_level} in descending
332
+ # order.
333
+ # * Location sorting: Use the special syntax to order jobs by distance:<br>
334
+ # `"distance_from('Hawaii')"`: Order by distance from Hawaii.<br>
335
+ # `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.<br>
336
+ # `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
337
+ # multiple locations. See details below.<br>
338
+ # `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
339
+ # multiple locations. See details below.<br>
340
+ # The string can have a maximum of 256 characters. When multiple distance
341
+ # centers are provided, a job that is close to any of the distance centers
342
+ # would have a high rank. When a job has multiple locations, the job
343
+ # location closest to one of the distance centers will be used. Jobs that
344
+ # don't have locations will be ranked at the bottom. Distance is calculated
345
+ # with a precision of 11.3 meters (37.4 feet). Diversification strategy is
346
+ # still applied unless explicitly disabled in
347
+ # {::Google::Cloud::Talent::V4::SearchJobsRequest#diversification_level diversification_level}.
348
+ # @!attribute [rw] diversification_level
349
+ # @return [::Google::Cloud::Talent::V4::SearchJobsRequest::DiversificationLevel]
350
+ # Controls whether highly similar jobs are returned next to each other in
351
+ # the search results. Jobs are identified as highly similar based on
352
+ # their titles, job categories, and locations. Highly similar results are
353
+ # clustered so that only one representative job of the cluster is
354
+ # displayed to the job seeker higher up in the results, with the other jobs
355
+ # being displayed lower down in the results.
356
+ #
357
+ # Defaults to {::Google::Cloud::Talent::V4::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel.SIMPLE} if no value
358
+ # is specified.
359
+ # @!attribute [rw] custom_ranking_info
360
+ # @return [::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo]
361
+ # Controls over how job documents get ranked on top of existing relevance
362
+ # score (determined by API algorithm).
363
+ # @!attribute [rw] disable_keyword_match
364
+ # @return [::Boolean]
365
+ # Controls whether to disable exact keyword match on {::Google::Cloud::Talent::V4::Job#title Job.title},
366
+ # {::Google::Cloud::Talent::V4::Job#description Job.description}, {::Google::Cloud::Talent::V4::Job#company_display_name Job.company_display_name}, {::Google::Cloud::Talent::V4::Job#addresses Job.addresses},
367
+ # {::Google::Cloud::Talent::V4::Job#qualifications Job.qualifications}. When disable keyword match is turned off, a
368
+ # keyword match returns jobs that do not match given category filters when
369
+ # there are matching keywords. For example, for the query "program manager,"
370
+ # a result is returned even if the job posting has the title "software
371
+ # developer," which doesn't fall into "program manager" ontology, but does
372
+ # have "program manager" appearing in its description.
373
+ #
374
+ # For queries like "cloud" that don't contain title or
375
+ # location specific ontology, jobs with "cloud" keyword matches are returned
376
+ # regardless of this flag's value.
377
+ #
378
+ # Use {::Google::Cloud::Talent::V4::Company#keyword_searchable_job_custom_attributes Company.keyword_searchable_job_custom_attributes} if
379
+ # company-specific globally matched custom field/attribute string values are
380
+ # needed. Enabling keyword match improves recall of subsequent search
381
+ # requests.
382
+ #
383
+ # Defaults to false.
384
+ class SearchJobsRequest
385
+ include ::Google::Protobuf::MessageExts
386
+ extend ::Google::Protobuf::MessageExts::ClassMethods
387
+
388
+ # Custom ranking information for {::Google::Cloud::Talent::V4::SearchJobsRequest SearchJobsRequest}.
389
+ # @!attribute [rw] importance_level
390
+ # @return [::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo::ImportanceLevel]
391
+ # Required. Controls over how important the score of
392
+ # {::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo.ranking_expression} gets applied to job's final
393
+ # ranking position.
394
+ #
395
+ # An error is thrown if not specified.
396
+ # @!attribute [rw] ranking_expression
397
+ # @return [::String]
398
+ # Required. Controls over how job documents get ranked on top of existing relevance
399
+ # score (determined by API algorithm). A combination of the ranking
400
+ # expression and relevance score is used to determine job's final ranking
401
+ # position.
402
+ #
403
+ # The syntax for this expression is a subset of Google SQL syntax.
404
+ #
405
+ # Supported operators are: +, -, *, /, where the left and right side of
406
+ # the operator is either a numeric {::Google::Cloud::Talent::V4::Job#custom_attributes Job.custom_attributes} key,
407
+ # integer/double value or an expression that can be evaluated to a number.
408
+ #
409
+ # Parenthesis are supported to adjust calculation precedence. The
410
+ # expression must be < 100 characters in length.
411
+ #
412
+ # The expression is considered invalid for a job if the expression
413
+ # references custom attributes that are not populated on the job or if the
414
+ # expression results in a divide by zero. If an expression is invalid for a
415
+ # job, that job is demoted to the end of the results.
416
+ #
417
+ # Sample ranking expression
418
+ # (year + 25) * 0.25 - (freshness / 0.5)
419
+ class CustomRankingInfo
420
+ include ::Google::Protobuf::MessageExts
421
+ extend ::Google::Protobuf::MessageExts::ClassMethods
422
+
423
+ # The importance level for {::Google::Cloud::Talent::V4::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo.ranking_expression}.
424
+ module ImportanceLevel
425
+ # Default value if the importance level isn't specified.
426
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0
427
+
428
+ # The given ranking expression is of None importance, existing relevance
429
+ # score (determined by API algorithm) dominates job's final ranking
430
+ # position.
431
+ NONE = 1
432
+
433
+ # The given ranking expression is of Low importance in terms of job's
434
+ # final ranking position compared to existing relevance
435
+ # score (determined by API algorithm).
436
+ LOW = 2
437
+
438
+ # The given ranking expression is of Mild importance in terms of job's
439
+ # final ranking position compared to existing relevance
440
+ # score (determined by API algorithm).
441
+ MILD = 3
442
+
443
+ # The given ranking expression is of Medium importance in terms of job's
444
+ # final ranking position compared to existing relevance
445
+ # score (determined by API algorithm).
446
+ MEDIUM = 4
447
+
448
+ # The given ranking expression is of High importance in terms of job's
449
+ # final ranking position compared to existing relevance
450
+ # score (determined by API algorithm).
451
+ HIGH = 5
452
+
453
+ # The given ranking expression is of Extreme importance, and dominates
454
+ # job's final ranking position with existing relevance
455
+ # score (determined by API algorithm) ignored.
456
+ EXTREME = 6
457
+ end
458
+ end
459
+
460
+ # A string-represented enumeration of the job search mode. The service
461
+ # operate differently for different modes of service.
462
+ module SearchMode
463
+ # The mode of the search method isn't specified. The default search
464
+ # behavior is identical to JOB_SEARCH search behavior.
465
+ SEARCH_MODE_UNSPECIFIED = 0
466
+
467
+ # The job search matches against all jobs, and featured jobs
468
+ # (jobs with promotionValue > 0) are not specially handled.
469
+ JOB_SEARCH = 1
470
+
471
+ # The job search matches only against featured jobs (jobs with a
472
+ # promotionValue > 0). This method doesn't return any jobs having a
473
+ # promotionValue <= 0. The search results order is determined by the
474
+ # promotionValue (jobs with a higher promotionValue are returned higher up
475
+ # in the search results), with relevance being used as a tiebreaker.
476
+ FEATURED_JOB_SEARCH = 2
477
+ end
478
+
479
+ # Controls whether highly similar jobs are returned next to each other in
480
+ # the search results. Jobs are identified as highly similar based on
481
+ # their titles, job categories, and locations. Highly similar results are
482
+ # clustered so that only one representative job of the cluster is
483
+ # displayed to the job seeker higher up in the results, with the other jobs
484
+ # being displayed lower down in the results.
485
+ module DiversificationLevel
486
+ # The diversification level isn't specified.
487
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0
488
+
489
+ # Disables diversification. Jobs that would normally be pushed to the last
490
+ # page would not have their positions altered. This may result in highly
491
+ # similar jobs appearing in sequence in the search results.
492
+ DISABLED = 1
493
+
494
+ # Default diversifying behavior. The result list is ordered so that
495
+ # highly similar results are pushed to the end of the last page of search
496
+ # results. If you are using pageToken to page through the result set,
497
+ # latency might be lower but we can't guarantee that all results are
498
+ # returned. If you are using page offset, latency might be higher but all
499
+ # results are returned.
500
+ SIMPLE = 2
501
+ end
502
+ end
503
+
504
+ # Response for SearchJob method.
505
+ # @!attribute [rw] matching_jobs
506
+ # @return [::Array<::Google::Cloud::Talent::V4::SearchJobsResponse::MatchingJob>]
507
+ # The Job entities that match the specified {::Google::Cloud::Talent::V4::SearchJobsRequest SearchJobsRequest}.
508
+ # @!attribute [rw] histogram_query_results
509
+ # @return [::Array<::Google::Cloud::Talent::V4::HistogramQueryResult>]
510
+ # The histogram results that match with specified
511
+ # {::Google::Cloud::Talent::V4::SearchJobsRequest#histogram_queries SearchJobsRequest.histogram_queries}.
512
+ # @!attribute [rw] next_page_token
513
+ # @return [::String]
514
+ # The token that specifies the starting position of the next page of results.
515
+ # This field is empty if there are no more results.
516
+ # @!attribute [rw] location_filters
517
+ # @return [::Array<::Google::Cloud::Talent::V4::Location>]
518
+ # The location filters that the service applied to the specified query. If
519
+ # any filters are lat-lng based, the {::Google::Cloud::Talent::V4::Location#location_type Location.location_type} is
520
+ # {::Google::Cloud::Talent::V4::Location::LocationType::LOCATION_TYPE_UNSPECIFIED Location.LocationType.LOCATION_TYPE_UNSPECIFIED}.
521
+ # @!attribute [rw] total_size
522
+ # @return [::Integer]
523
+ # Number of jobs that match the specified query.
524
+ #
525
+ # Note: This size is precise only if the total is less than 100,000.
526
+ # @!attribute [rw] metadata
527
+ # @return [::Google::Cloud::Talent::V4::ResponseMetadata]
528
+ # Additional information for the API invocation, such as the request
529
+ # tracking id.
530
+ # @!attribute [rw] broadened_query_jobs_count
531
+ # @return [::Integer]
532
+ # If query broadening is enabled, we may append additional results from the
533
+ # broadened query. This number indicates how many of the jobs returned in the
534
+ # jobs field are from the broadened query. These results are always at the
535
+ # end of the jobs list. In particular, a value of 0, or if the field isn't
536
+ # set, all the jobs in the jobs list are from the original
537
+ # (without broadening) query. If this field is non-zero, subsequent requests
538
+ # with offset after this result set should contain all broadened results.
539
+ # @!attribute [rw] spell_correction
540
+ # @return [::Google::Cloud::Talent::V4::SpellingCorrection]
541
+ # The spell checking result, and correction.
542
+ class SearchJobsResponse
543
+ include ::Google::Protobuf::MessageExts
544
+ extend ::Google::Protobuf::MessageExts::ClassMethods
545
+
546
+ # Job entry with metadata inside {::Google::Cloud::Talent::V4::SearchJobsResponse SearchJobsResponse}.
547
+ # @!attribute [rw] job
548
+ # @return [::Google::Cloud::Talent::V4::Job]
549
+ # Job resource that matches the specified {::Google::Cloud::Talent::V4::SearchJobsRequest SearchJobsRequest}.
550
+ # @!attribute [rw] job_summary
551
+ # @return [::String]
552
+ # A summary of the job with core information that's displayed on the search
553
+ # results listing page.
554
+ # @!attribute [rw] job_title_snippet
555
+ # @return [::String]
556
+ # Contains snippets of text from the {::Google::Cloud::Talent::V4::Job#title Job.title} field most
557
+ # closely matching a search query's keywords, if available. The matching
558
+ # query keywords are enclosed in HTML bold tags.
559
+ # @!attribute [rw] search_text_snippet
560
+ # @return [::String]
561
+ # Contains snippets of text from the {::Google::Cloud::Talent::V4::Job#description Job.description} and similar
562
+ # fields that most closely match a search query's keywords, if available.
563
+ # All HTML tags in the original fields are stripped when returned in this
564
+ # field, and matching query keywords are enclosed in HTML bold tags.
565
+ # @!attribute [rw] commute_info
566
+ # @return [::Google::Cloud::Talent::V4::SearchJobsResponse::CommuteInfo]
567
+ # Commute information which is generated based on specified
568
+ # {::Google::Cloud::Talent::V4::CommuteFilter CommuteFilter}.
569
+ class MatchingJob
570
+ include ::Google::Protobuf::MessageExts
571
+ extend ::Google::Protobuf::MessageExts::ClassMethods
572
+ end
573
+
574
+ # Commute details related to this job.
575
+ # @!attribute [rw] job_location
576
+ # @return [::Google::Cloud::Talent::V4::Location]
577
+ # Location used as the destination in the commute calculation.
578
+ # @!attribute [rw] travel_duration
579
+ # @return [::Google::Protobuf::Duration]
580
+ # The number of seconds required to travel to the job location from the
581
+ # query location. A duration of 0 seconds indicates that the job isn't
582
+ # reachable within the requested duration, but was returned as part of an
583
+ # expanded query.
584
+ class CommuteInfo
585
+ include ::Google::Protobuf::MessageExts
586
+ extend ::Google::Protobuf::MessageExts::ClassMethods
587
+ end
588
+ end
589
+
590
+ # Request to create a batch of jobs.
591
+ # @!attribute [rw] parent
592
+ # @return [::String]
593
+ # Required. The resource name of the tenant under which the job is created.
594
+ #
595
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
596
+ # "projects/foo/tenants/bar".
597
+ # @!attribute [rw] jobs
598
+ # @return [::Array<::Google::Cloud::Talent::V4::Job>]
599
+ # Required. The jobs to be created.
600
+ # A maximum of 200 jobs can be created in a batch.
601
+ class BatchCreateJobsRequest
602
+ include ::Google::Protobuf::MessageExts
603
+ extend ::Google::Protobuf::MessageExts::ClassMethods
604
+ end
605
+
606
+ # Request to update a batch of jobs.
607
+ # @!attribute [rw] parent
608
+ # @return [::String]
609
+ # Required. The resource name of the tenant under which the job is created.
610
+ #
611
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
612
+ # "projects/foo/tenants/bar".
613
+ # @!attribute [rw] jobs
614
+ # @return [::Array<::Google::Cloud::Talent::V4::Job>]
615
+ # Required. The jobs to be updated.
616
+ # A maximum of 200 jobs can be updated in a batch.
617
+ # @!attribute [rw] update_mask
618
+ # @return [::Google::Protobuf::FieldMask]
619
+ # Strongly recommended for the best service experience. Be aware that it will
620
+ # also increase latency when checking the status of a batch operation.
621
+ #
622
+ # If {::Google::Cloud::Talent::V4::BatchUpdateJobsRequest#update_mask update_mask} is provided, only the specified fields in
623
+ # {::Google::Cloud::Talent::V4::Job Job} are updated. Otherwise all the fields are updated.
624
+ #
625
+ # A field mask to restrict the fields that are updated. Only
626
+ # top level fields of {::Google::Cloud::Talent::V4::Job Job} are supported.
627
+ #
628
+ # If {::Google::Cloud::Talent::V4::BatchUpdateJobsRequest#update_mask update_mask} is provided, The {::Google::Cloud::Talent::V4::Job Job} inside
629
+ # [JobResult][JobOperationResult.JobResult]
630
+ # will only contains fields that is updated, plus the Id of the Job.
631
+ # Otherwise, {::Google::Cloud::Talent::V4::Job Job} will include all fields, which can yield a very
632
+ # large response.
633
+ class BatchUpdateJobsRequest
634
+ include ::Google::Protobuf::MessageExts
635
+ extend ::Google::Protobuf::MessageExts::ClassMethods
636
+ end
637
+
638
+ # Request to delete a batch of jobs.
639
+ # @!attribute [rw] parent
640
+ # @return [::String]
641
+ # Required. The resource name of the tenant under which the job is created.
642
+ #
643
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
644
+ # "projects/foo/tenants/bar".
645
+ #
646
+ # The parent of all of the jobs specified in `names` must match this field.
647
+ # @!attribute [rw] names
648
+ # @return [::Array<::String>]
649
+ # The names of the jobs to delete.
650
+ #
651
+ # The format is "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}".
652
+ # For example, "projects/foo/tenants/bar/jobs/baz".
653
+ #
654
+ # A maximum of 200 jobs can be deleted in a batch.
655
+ class BatchDeleteJobsRequest
656
+ include ::Google::Protobuf::MessageExts
657
+ extend ::Google::Protobuf::MessageExts::ClassMethods
658
+ end
659
+
660
+ # Mutation result of a job from a batch operation.
661
+ # @!attribute [rw] job
662
+ # @return [::Google::Cloud::Talent::V4::Job]
663
+ # Here {::Google::Cloud::Talent::V4::Job Job} only contains basic information including {::Google::Cloud::Talent::V4::Job#name name},
664
+ # {::Google::Cloud::Talent::V4::Job#company company}, {::Google::Cloud::Talent::V4::Job#language_code language_code}
665
+ # and {::Google::Cloud::Talent::V4::Job#requisition_id requisition_id}, use getJob method to retrieve
666
+ # detailed information of the created/updated job.
667
+ # @!attribute [rw] status
668
+ # @return [::Google::Rpc::Status]
669
+ # The status of the job processed. This field is populated if the
670
+ # processing of the {::Google::Cloud::Talent::V4::JobResult#job job} fails.
671
+ class JobResult
672
+ include ::Google::Protobuf::MessageExts
673
+ extend ::Google::Protobuf::MessageExts::ClassMethods
674
+ end
675
+
676
+ # The result of {::Google::Cloud::Talent::V4::JobService::Client#batch_create_jobs JobService.BatchCreateJobs}. It's used to
677
+ # replace {::Google::Longrunning::Operation#response google.longrunning.Operation.response} in case of success.
678
+ # @!attribute [rw] job_results
679
+ # @return [::Array<::Google::Cloud::Talent::V4::JobResult>]
680
+ # List of job mutation results from a batch create operation. It can change
681
+ # until operation status is FINISHED, FAILED or CANCELLED.
682
+ class BatchCreateJobsResponse
683
+ include ::Google::Protobuf::MessageExts
684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
685
+ end
686
+
687
+ # The result of {::Google::Cloud::Talent::V4::JobService::Client#batch_update_jobs JobService.BatchUpdateJobs}. It's used to
688
+ # replace {::Google::Longrunning::Operation#response google.longrunning.Operation.response} in case of success.
689
+ # @!attribute [rw] job_results
690
+ # @return [::Array<::Google::Cloud::Talent::V4::JobResult>]
691
+ # List of job mutation results from a batch update operation. It can change
692
+ # until operation status is FINISHED, FAILED or CANCELLED.
693
+ class BatchUpdateJobsResponse
694
+ include ::Google::Protobuf::MessageExts
695
+ extend ::Google::Protobuf::MessageExts::ClassMethods
696
+ end
697
+
698
+ # The result of {::Google::Cloud::Talent::V4::JobService::Client#batch_delete_jobs JobService.BatchDeleteJobs}. It's used to
699
+ # replace {::Google::Longrunning::Operation#response google.longrunning.Operation.response} in case of success.
700
+ # @!attribute [rw] job_results
701
+ # @return [::Array<::Google::Cloud::Talent::V4::JobResult>]
702
+ # List of job mutation results from a batch delete operation. It can change
703
+ # until operation status is FINISHED, FAILED or CANCELLED.
704
+ class BatchDeleteJobsResponse
705
+ include ::Google::Protobuf::MessageExts
706
+ extend ::Google::Protobuf::MessageExts::ClassMethods
707
+ end
708
+
709
+ # An enum that specifies the job attributes that are returned in the
710
+ # {::Google::Cloud::Talent::V4::SearchJobsResponse::MatchingJob#job MatchingJob.job} or
711
+ # {::Google::Cloud::Talent::V4::ListJobsResponse#jobs ListJobsResponse.jobs} fields.
712
+ module JobView
713
+ # Default value.
714
+ JOB_VIEW_UNSPECIFIED = 0
715
+
716
+ # A ID only view of job, with following attributes:
717
+ # {::Google::Cloud::Talent::V4::Job#name Job.name}, {::Google::Cloud::Talent::V4::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4::Job#language_code Job.language_code}.
718
+ JOB_VIEW_ID_ONLY = 1
719
+
720
+ # A minimal view of the job, with the following attributes:
721
+ # {::Google::Cloud::Talent::V4::Job#name Job.name}, {::Google::Cloud::Talent::V4::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4::Job#title Job.title},
722
+ # {::Google::Cloud::Talent::V4::Job#company Job.company}, {::Google::Cloud::Talent::V4::Job::DerivedInfo#locations Job.DerivedInfo.locations}, {::Google::Cloud::Talent::V4::Job#language_code Job.language_code}.
723
+ JOB_VIEW_MINIMAL = 2
724
+
725
+ # A small view of the job, with the following attributes in the search
726
+ # results: {::Google::Cloud::Talent::V4::Job#name Job.name}, {::Google::Cloud::Talent::V4::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4::Job#title Job.title},
727
+ # {::Google::Cloud::Talent::V4::Job#company Job.company}, {::Google::Cloud::Talent::V4::Job::DerivedInfo#locations Job.DerivedInfo.locations}, {::Google::Cloud::Talent::V4::Job#visibility Job.visibility},
728
+ # {::Google::Cloud::Talent::V4::Job#language_code Job.language_code}, {::Google::Cloud::Talent::V4::Job#description Job.description}.
729
+ JOB_VIEW_SMALL = 3
730
+
731
+ # All available attributes are included in the search results.
732
+ JOB_VIEW_FULL = 4
733
+ end
734
+ end
735
+ end
736
+ end
737
+ end