google-cloud-talent-v4beta1 0.1.0

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