google-cloud-talent-v4 0.1.0

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