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