google-cloud-talent 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/talent.rb +28 -0
  3. data/lib/google/cloud/talent/v4beta1.rb +57 -0
  4. data/lib/google/cloud/talent/v4beta1/application_pb.rb +1 -2
  5. data/lib/google/cloud/talent/v4beta1/application_service_client.rb +26 -24
  6. data/lib/google/cloud/talent/v4beta1/application_service_pb.rb +1 -0
  7. data/lib/google/cloud/talent/v4beta1/batch_pb.rb +30 -0
  8. data/lib/google/cloud/talent/v4beta1/common_pb.rb +1 -0
  9. data/lib/google/cloud/talent/v4beta1/company_pb.rb +1 -1
  10. data/lib/google/cloud/talent/v4beta1/company_service_client.rb +28 -29
  11. data/lib/google/cloud/talent/v4beta1/company_service_pb.rb +1 -0
  12. data/lib/google/cloud/talent/v4beta1/completion_client.rb +36 -32
  13. data/lib/google/cloud/talent/v4beta1/completion_service_pb.rb +1 -0
  14. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/application.rb +14 -33
  15. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/application_service.rb +18 -27
  16. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/common.rb +144 -135
  17. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company.rb +19 -36
  18. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company_service.rb +20 -32
  19. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/completion_service.rb +30 -32
  20. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event.rb +121 -41
  21. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event_service.rb +3 -7
  22. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/filters.rb +239 -281
  23. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/histogram.rb +9 -3
  24. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job.rb +129 -142
  25. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job_service.rb +280 -215
  26. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile.rb +198 -338
  27. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile_service.rb +128 -108
  28. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant.rb +11 -13
  29. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant_service.rb +16 -27
  30. data/lib/google/cloud/talent/v4beta1/doc/google/longrunning/operations.rb +51 -0
  31. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/any.rb +131 -0
  32. data/lib/google/cloud/talent/v4beta1/doc/google/rpc/status.rb +87 -0
  33. data/lib/google/cloud/talent/v4beta1/doc/google/type/postal_address.rb +1 -1
  34. data/lib/google/cloud/talent/v4beta1/event_pb.rb +1 -1
  35. data/lib/google/cloud/talent/v4beta1/event_service_client.rb +13 -10
  36. data/lib/google/cloud/talent/v4beta1/event_service_pb.rb +1 -0
  37. data/lib/google/cloud/talent/v4beta1/filters_pb.rb +6 -1
  38. data/lib/google/cloud/talent/v4beta1/histogram_pb.rb +1 -1
  39. data/lib/google/cloud/talent/v4beta1/job_pb.rb +1 -1
  40. data/lib/google/cloud/talent/v4beta1/job_service_client.rb +528 -301
  41. data/lib/google/cloud/talent/v4beta1/job_service_client_config.json +10 -0
  42. data/lib/google/cloud/talent/v4beta1/job_service_pb.rb +13 -0
  43. data/lib/google/cloud/talent/v4beta1/job_service_services_pb.rb +16 -8
  44. data/lib/google/cloud/talent/v4beta1/profile_service_client.rb +118 -91
  45. data/lib/google/cloud/talent/v4beta1/profile_service_pb.rb +3 -0
  46. data/lib/google/cloud/talent/v4beta1/profile_service_services_pb.rb +3 -1
  47. data/lib/google/cloud/talent/v4beta1/tenant_pb.rb +1 -1
  48. data/lib/google/cloud/talent/v4beta1/tenant_service_client.rb +24 -24
  49. data/lib/google/cloud/talent/v4beta1/tenant_service_pb.rb +1 -0
  50. data/lib/google/cloud/talent/version.rb +22 -0
  51. metadata +8 -9
  52. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/resume_service.rb +0 -98
  53. data/lib/google/cloud/talent/v4beta1/resume_service_client.rb +0 -296
  54. data/lib/google/cloud/talent/v4beta1/resume_service_client_config.json +0 -31
  55. data/lib/google/cloud/talent/v4beta1/resume_service_pb.rb +0 -37
  56. data/lib/google/cloud/talent/v4beta1/resume_service_services_pb.rb +0 -75
@@ -0,0 +1,51 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Longrunning
18
+ # This resource represents a long-running operation that is the result of a
19
+ # network API call.
20
+ # @!attribute [rw] name
21
+ # @return [String]
22
+ # The server-assigned name, which is only unique within the same service that
23
+ # originally returns it. If you use the default HTTP mapping, the
24
+ # `name` should have the format of `operations/some/unique/name`.
25
+ # @!attribute [rw] metadata
26
+ # @return [Google::Protobuf::Any]
27
+ # Service-specific metadata associated with the operation. It typically
28
+ # contains progress information and common metadata such as create time.
29
+ # Some services might not provide such metadata. Any method that returns a
30
+ # long-running operation should document the metadata type, if any.
31
+ # @!attribute [rw] done
32
+ # @return [true, false]
33
+ # If the value is `false`, it means the operation is still in progress.
34
+ # If `true`, the operation is completed, and either `error` or `response` is
35
+ # available.
36
+ # @!attribute [rw] error
37
+ # @return [Google::Rpc::Status]
38
+ # The error result of the operation in case of failure or cancellation.
39
+ # @!attribute [rw] response
40
+ # @return [Google::Protobuf::Any]
41
+ # The normal response of the operation in case of success. If the original
42
+ # method returns no data on success, such as `Delete`, the response is
43
+ # `google.protobuf.Empty`. If the original method is standard
44
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
45
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
46
+ # is the original method name. For example, if the original method name
47
+ # is `TakeSnapshot()`, the inferred response type is
48
+ # `TakeSnapshotResponse`.
49
+ class Operation; end
50
+ end
51
+ end
@@ -0,0 +1,131 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Protobuf
18
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
19
+ # URL that describes the type of the serialized message.
20
+ #
21
+ # Protobuf library provides support to pack/unpack Any values in the form
22
+ # of utility functions or additional generated methods of the Any type.
23
+ #
24
+ # Example 1: Pack and unpack a message in C++.
25
+ #
26
+ # Foo foo = ...;
27
+ # Any any;
28
+ # any.PackFrom(foo);
29
+ # ...
30
+ # if (any.UnpackTo(&foo)) {
31
+ # ...
32
+ # }
33
+ #
34
+ # Example 2: Pack and unpack a message in Java.
35
+ #
36
+ # Foo foo = ...;
37
+ # Any any = Any.pack(foo);
38
+ # ...
39
+ # if (any.is(Foo.class)) {
40
+ # foo = any.unpack(Foo.class);
41
+ # }
42
+ #
43
+ # Example 3: Pack and unpack a message in Python.
44
+ #
45
+ # foo = Foo(...)
46
+ # any = Any()
47
+ # any.Pack(foo)
48
+ # ...
49
+ # if any.Is(Foo.DESCRIPTOR):
50
+ # any.Unpack(foo)
51
+ # ...
52
+ #
53
+ # Example 4: Pack and unpack a message in Go
54
+ #
55
+ # foo := &pb.Foo{...}
56
+ # any, err := ptypes.MarshalAny(foo)
57
+ # ...
58
+ # foo := &pb.Foo{}
59
+ # if err := ptypes.UnmarshalAny(any, foo); err != nil {
60
+ # ...
61
+ # }
62
+ #
63
+ # The pack methods provided by protobuf library will by default use
64
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
65
+ # methods only use the fully qualified type name after the last '/'
66
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
67
+ # name "y.z".
68
+ #
69
+ #
70
+ # = JSON
71
+ #
72
+ # The JSON representation of an `Any` value uses the regular
73
+ # representation of the deserialized, embedded message, with an
74
+ # additional field `@type` which contains the type URL. Example:
75
+ #
76
+ # package google.profile;
77
+ # message Person {
78
+ # string first_name = 1;
79
+ # string last_name = 2;
80
+ # }
81
+ #
82
+ # {
83
+ # "@type": "type.googleapis.com/google.profile.Person",
84
+ # "firstName": <string>,
85
+ # "lastName": <string>
86
+ # }
87
+ #
88
+ # If the embedded message type is well-known and has a custom JSON
89
+ # representation, that representation will be embedded adding a field
90
+ # `value` which holds the custom JSON in addition to the `@type`
91
+ # field. Example (for message {Google::Protobuf::Duration}):
92
+ #
93
+ # {
94
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
95
+ # "value": "1.212s"
96
+ # }
97
+ # @!attribute [rw] type_url
98
+ # @return [String]
99
+ # A URL/resource name that uniquely identifies the type of the serialized
100
+ # protocol buffer message. This string must contain at least
101
+ # one "/" character. The last segment of the URL's path must represent
102
+ # the fully qualified name of the type (as in
103
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
104
+ # (e.g., leading "." is not accepted).
105
+ #
106
+ # In practice, teams usually precompile into the binary all types that they
107
+ # expect it to use in the context of Any. However, for URLs which use the
108
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
109
+ # server that maps type URLs to message definitions as follows:
110
+ #
111
+ # * If no scheme is provided, `https` is assumed.
112
+ # * An HTTP GET on the URL must yield a {Google::Protobuf::Type}
113
+ # value in binary format, or produce an error.
114
+ # * Applications are allowed to cache lookup results based on the
115
+ # URL, or have them precompiled into a binary to avoid any
116
+ # lookup. Therefore, binary compatibility needs to be preserved
117
+ # on changes to types. (Use versioned type names to manage
118
+ # breaking changes.)
119
+ #
120
+ # Note: this functionality is not currently available in the official
121
+ # protobuf release, and it is not used for type URLs beginning with
122
+ # type.googleapis.com.
123
+ #
124
+ # Schemes other than `http`, `https` (or the empty scheme) might be
125
+ # used with implementation specific semantics.
126
+ # @!attribute [rw] value
127
+ # @return [String]
128
+ # Must be a valid serialized protocol buffer of the above specified type.
129
+ class Any; end
130
+ end
131
+ end
@@ -0,0 +1,87 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Rpc
18
+ # The `Status` type defines a logical error model that is suitable for
19
+ # different programming environments, including REST APIs and RPC APIs. It is
20
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
21
+ #
22
+ # * Simple to use and understand for most users
23
+ # * Flexible enough to meet unexpected needs
24
+ #
25
+ # = Overview
26
+ #
27
+ # The `Status` message contains three pieces of data: error code, error
28
+ # message, and error details. The error code should be an enum value of
29
+ # {Google::Rpc::Code}, but it may accept additional error codes
30
+ # if needed. The error message should be a developer-facing English message
31
+ # that helps developers *understand* and *resolve* the error. If a localized
32
+ # user-facing error message is needed, put the localized message in the error
33
+ # details or localize it in the client. The optional error details may contain
34
+ # arbitrary information about the error. There is a predefined set of error
35
+ # detail types in the package `google.rpc` that can be used for common error
36
+ # conditions.
37
+ #
38
+ # = Language mapping
39
+ #
40
+ # The `Status` message is the logical representation of the error model, but it
41
+ # is not necessarily the actual wire format. When the `Status` message is
42
+ # exposed in different client libraries and different wire protocols, it can be
43
+ # mapped differently. For example, it will likely be mapped to some exceptions
44
+ # in Java, but more likely mapped to some error codes in C.
45
+ #
46
+ # = Other uses
47
+ #
48
+ # The error model and the `Status` message can be used in a variety of
49
+ # environments, either with or without APIs, to provide a
50
+ # consistent developer experience across different environments.
51
+ #
52
+ # Example uses of this error model include:
53
+ #
54
+ # * Partial errors. If a service needs to return partial errors to the client,
55
+ # it may embed the `Status` in the normal response to indicate the partial
56
+ # errors.
57
+ #
58
+ # * Workflow errors. A typical workflow has multiple steps. Each step may
59
+ # have a `Status` message for error reporting.
60
+ #
61
+ # * Batch operations. If a client uses batch request and batch response, the
62
+ # `Status` message should be used directly inside batch response, one for
63
+ # each error sub-response.
64
+ #
65
+ # * Asynchronous operations. If an API call embeds asynchronous operation
66
+ # results in its response, the status of those operations should be
67
+ # represented directly using the `Status` message.
68
+ #
69
+ # * Logging. If some API errors are stored in logs, the message `Status` could
70
+ # be used directly after any stripping needed for security/privacy reasons.
71
+ # @!attribute [rw] code
72
+ # @return [Integer]
73
+ # The status code, which should be an enum value of
74
+ # {Google::Rpc::Code}.
75
+ # @!attribute [rw] message
76
+ # @return [String]
77
+ # A developer-facing error message, which should be in English. Any
78
+ # user-facing error message should be localized and sent in the
79
+ # {Google::Rpc::Status#details} field, or localized
80
+ # by the client.
81
+ # @!attribute [rw] details
82
+ # @return [Array<Google::Protobuf::Any>]
83
+ # A list of messages that carry the error details. There is a common set of
84
+ # message types for APIs to use.
85
+ class Status; end
86
+ end
87
+ end
@@ -26,7 +26,7 @@ module Google
26
26
  #
27
27
  # Advice on address input / editing:
28
28
  # * Use an i18n-ready address widget such as
29
- # https://github.com/googlei18n/libaddressinput)
29
+ # https://github.com/google/libaddressinput)
30
30
  # * Users should not be presented with UI elements for input or editing of
31
31
  # fields outside countries where that field is used.
32
32
  #
@@ -20,6 +20,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
20
20
  add_message "google.cloud.talent.v4beta1.JobEvent" do
21
21
  optional :type, :enum, 1, "google.cloud.talent.v4beta1.JobEvent.JobEventType"
22
22
  repeated :jobs, :string, 2
23
+ optional :profile, :string, 3
23
24
  end
24
25
  add_enum "google.cloud.talent.v4beta1.JobEvent.JobEventType" do
25
26
  value :JOB_EVENT_TYPE_UNSPECIFIED, 0
@@ -38,7 +39,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
38
39
  value :HIRED, 13
39
40
  value :SENT_CV, 14
40
41
  value :INTERVIEW_GRANTED, 15
41
- value :NOT_INTERESTED, 16
42
42
  end
43
43
  add_message "google.cloud.talent.v4beta1.ProfileEvent" do
44
44
  optional :type, :enum, 1, "google.cloud.talent.v4beta1.ProfileEvent.ProfileEventType"
@@ -27,6 +27,7 @@ require "google/gax"
27
27
 
28
28
  require "google/cloud/talent/v4beta1/event_service_pb"
29
29
  require "google/cloud/talent/v4beta1/credentials"
30
+ require "google/cloud/talent/version"
30
31
 
31
32
  module Google
32
33
  module Cloud
@@ -102,6 +103,10 @@ module Google
102
103
  # The default timeout, in seconds, for calls made through this client.
103
104
  # @param metadata [Hash]
104
105
  # Default metadata to be sent with each request. This can be overridden on a per call basis.
106
+ # @param service_address [String]
107
+ # Override for the service hostname, or `nil` to leave as the default.
108
+ # @param service_port [Integer]
109
+ # Override for the service port, or `nil` to leave as the default.
105
110
  # @param exception_transformer [Proc]
106
111
  # An optional proc that intercepts any exceptions raised during an API call to inject
107
112
  # custom error handling.
@@ -111,6 +116,8 @@ module Google
111
116
  client_config: {},
112
117
  timeout: DEFAULT_TIMEOUT,
113
118
  metadata: nil,
119
+ service_address: nil,
120
+ service_port: nil,
114
121
  exception_transformer: nil,
115
122
  lib_name: nil,
116
123
  lib_version: ""
@@ -138,7 +145,7 @@ module Google
138
145
  updater_proc = credentials.updater_proc
139
146
  end
140
147
 
141
- package_version = Gem.loaded_specs['google-cloud-talent'].version.version
148
+ package_version = Google::Cloud::Talent::VERSION
142
149
 
143
150
  google_api_client = "gl-ruby/#{RUBY_VERSION}"
144
151
  google_api_client << " #{lib_name}/#{lib_version}" if lib_name
@@ -164,8 +171,8 @@ module Google
164
171
  end
165
172
 
166
173
  # Allow overriding the service path/port in subclasses.
167
- service_path = self.class::SERVICE_ADDRESS
168
- port = self.class::DEFAULT_SERVICE_PORT
174
+ service_path = service_address || self.class::SERVICE_ADDRESS
175
+ port = service_port || self.class::DEFAULT_SERVICE_PORT
169
176
  interceptors = self.class::GRPC_INTERCEPTORS
170
177
  @event_service_stub = Google::Gax::Grpc.create_stub(
171
178
  service_path,
@@ -199,9 +206,7 @@ module Google
199
206
  # about self service tools.
200
207
  #
201
208
  # @param parent [String]
202
- # Required.
203
- #
204
- # Resource name of the tenant under which the event is created.
209
+ # Required. Resource name of the tenant under which the event is created.
205
210
  #
206
211
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
207
212
  # "projects/api-test-project/tenant/foo".
@@ -209,10 +214,8 @@ module Google
209
214
  # Tenant id is optional and a default tenant is created if unspecified, for
210
215
  # example, "projects/api-test-project".
211
216
  # @param client_event [Google::Cloud::Talent::V4beta1::ClientEvent | Hash]
212
- # Required.
213
- #
214
- # Events issued when end user interacts with customer's application that
215
- # uses Cloud Talent Solution.
217
+ # Required. Events issued when end user interacts with customer's application
218
+ # that uses Cloud Talent Solution.
216
219
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::ClientEvent`
217
220
  # can also be provided.
218
221
  # @param options [Google::Gax::CallOptions]
@@ -5,6 +5,7 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
  require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
8
9
  require 'google/cloud/talent/v4beta1/event_pb'
9
10
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
11
  add_message "google.cloud.talent.v4beta1.CreateClientEventRequest" do
@@ -4,6 +4,7 @@
4
4
 
5
5
  require 'google/protobuf'
6
6
 
7
+ require 'google/api/annotations_pb'
7
8
  require 'google/cloud/talent/v4beta1/application_pb'
8
9
  require 'google/cloud/talent/v4beta1/common_pb'
9
10
  require 'google/cloud/talent/v4beta1/job_pb'
@@ -14,7 +15,6 @@ require 'google/protobuf/wrappers_pb'
14
15
  require 'google/type/date_pb'
15
16
  require 'google/type/latlng_pb'
16
17
  require 'google/type/timeofday_pb'
17
- require 'google/api/annotations_pb'
18
18
  Google::Protobuf::DescriptorPool.generated_pool.build do
19
19
  add_message "google.cloud.talent.v4beta1.JobQuery" do
20
20
  optional :query, :string, 1
@@ -45,6 +45,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
45
45
  repeated :application_outcome_notes_filters, :message, 11, "google.cloud.talent.v4beta1.ApplicationOutcomeNotesFilter"
46
46
  repeated :application_job_filters, :message, 13, "google.cloud.talent.v4beta1.ApplicationJobFilter"
47
47
  optional :custom_attribute_filter, :string, 15
48
+ optional :candidate_availability_filter, :message, 16, "google.cloud.talent.v4beta1.CandidateAvailabilityFilter"
48
49
  end
49
50
  add_message "google.cloud.talent.v4beta1.LocationFilter" do
50
51
  optional :address, :string, 1
@@ -139,6 +140,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
139
140
  value :CREATE_TIME, 1
140
141
  value :UPDATE_TIME, 2
141
142
  end
143
+ add_message "google.cloud.talent.v4beta1.CandidateAvailabilityFilter" do
144
+ optional :negated, :bool, 1
145
+ end
142
146
  end
143
147
 
144
148
  module Google
@@ -164,6 +168,7 @@ module Google
164
168
  ApplicationJobFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.ApplicationJobFilter").msgclass
165
169
  TimeFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.TimeFilter").msgclass
166
170
  TimeFilter::TimeField = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.TimeFilter.TimeField").enummodule
171
+ CandidateAvailabilityFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.CandidateAvailabilityFilter").msgclass
167
172
  end
168
173
  end
169
174
  end
@@ -4,8 +4,8 @@
4
4
 
5
5
  require 'google/protobuf'
6
6
 
7
- require 'google/protobuf/wrappers_pb'
8
7
  require 'google/api/annotations_pb'
8
+ require 'google/protobuf/wrappers_pb'
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  add_message "google.cloud.talent.v4beta1.HistogramQuery" do
11
11
  optional :histogram_query, :string, 1
@@ -4,11 +4,11 @@
4
4
 
5
5
  require 'google/protobuf'
6
6
 
7
+ require 'google/api/annotations_pb'
7
8
  require 'google/cloud/talent/v4beta1/common_pb'
8
9
  require 'google/protobuf/timestamp_pb'
9
10
  require 'google/protobuf/wrappers_pb'
10
11
  require 'google/type/postal_address_pb'
11
- require 'google/api/annotations_pb'
12
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
13
13
  add_message "google.cloud.talent.v4beta1.Job" do
14
14
  optional :name, :string, 1
@@ -24,9 +24,12 @@ require "json"
24
24
  require "pathname"
25
25
 
26
26
  require "google/gax"
27
+ require "google/gax/operation"
28
+ require "google/longrunning/operations_client"
27
29
 
28
30
  require "google/cloud/talent/v4beta1/job_service_pb"
29
31
  require "google/cloud/talent/v4beta1/credentials"
32
+ require "google/cloud/talent/version"
30
33
 
31
34
  module Google
32
35
  module Cloud
@@ -75,6 +78,10 @@ module Google
75
78
  "https://www.googleapis.com/auth/jobs"
76
79
  ].freeze
77
80
 
81
+ class OperationsClient < Google::Longrunning::OperationsClient
82
+ self::SERVICE_ADDRESS = JobServiceClient::SERVICE_ADDRESS
83
+ self::GRPC_INTERCEPTORS = JobServiceClient::GRPC_INTERCEPTORS
84
+ end
78
85
 
79
86
  COMPANY_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
80
87
  "projects/{project}/tenants/{tenant}/companies/{company}"
@@ -157,6 +164,10 @@ module Google
157
164
  # The default timeout, in seconds, for calls made through this client.
158
165
  # @param metadata [Hash]
159
166
  # Default metadata to be sent with each request. This can be overridden on a per call basis.
167
+ # @param service_address [String]
168
+ # Override for the service hostname, or `nil` to leave as the default.
169
+ # @param service_port [Integer]
170
+ # Override for the service port, or `nil` to leave as the default.
160
171
  # @param exception_transformer [Proc]
161
172
  # An optional proc that intercepts any exceptions raised during an API call to inject
162
173
  # custom error handling.
@@ -166,6 +177,8 @@ module Google
166
177
  client_config: {},
167
178
  timeout: DEFAULT_TIMEOUT,
168
179
  metadata: nil,
180
+ service_address: nil,
181
+ service_port: nil,
169
182
  exception_transformer: nil,
170
183
  lib_name: nil,
171
184
  lib_version: ""
@@ -177,6 +190,18 @@ module Google
177
190
 
178
191
  credentials ||= Google::Cloud::Talent::V4beta1::Credentials.default
179
192
 
193
+ @operations_client = OperationsClient.new(
194
+ credentials: credentials,
195
+ scopes: scopes,
196
+ client_config: client_config,
197
+ timeout: timeout,
198
+ lib_name: lib_name,
199
+ service_address: service_address,
200
+ service_port: service_port,
201
+ lib_version: lib_version,
202
+ metadata: metadata,
203
+ )
204
+
180
205
  if credentials.is_a?(String) || credentials.is_a?(Hash)
181
206
  updater_proc = Google::Cloud::Talent::V4beta1::Credentials.new(credentials).updater_proc
182
207
  end
@@ -193,7 +218,7 @@ module Google
193
218
  updater_proc = credentials.updater_proc
194
219
  end
195
220
 
196
- package_version = Gem.loaded_specs['google-cloud-talent'].version.version
221
+ package_version = Google::Cloud::Talent::VERSION
197
222
 
198
223
  google_api_client = "gl-ruby/#{RUBY_VERSION}"
199
224
  google_api_client << " #{lib_name}/#{lib_version}" if lib_name
@@ -220,8 +245,8 @@ module Google
220
245
  end
221
246
 
222
247
  # Allow overriding the service path/port in subclasses.
223
- service_path = self.class::SERVICE_ADDRESS
224
- port = self.class::DEFAULT_SERVICE_PORT
248
+ service_path = service_address || self.class::SERVICE_ADDRESS
249
+ port = service_port || self.class::DEFAULT_SERVICE_PORT
225
250
  interceptors = self.class::GRPC_INTERCEPTORS
226
251
  @job_service_stub = Google::Gax::Grpc.create_stub(
227
252
  service_path,
@@ -298,6 +323,22 @@ module Google
298
323
  {'parent' => request.parent}
299
324
  end
300
325
  )
326
+ @batch_create_jobs = Google::Gax.create_api_call(
327
+ @job_service_stub.method(:batch_create_jobs),
328
+ defaults["batch_create_jobs"],
329
+ exception_transformer: exception_transformer,
330
+ params_extractor: proc do |request|
331
+ {'parent' => request.parent}
332
+ end
333
+ )
334
+ @batch_update_jobs = Google::Gax.create_api_call(
335
+ @job_service_stub.method(:batch_update_jobs),
336
+ defaults["batch_update_jobs"],
337
+ exception_transformer: exception_transformer,
338
+ params_extractor: proc do |request|
339
+ {'parent' => request.parent}
340
+ end
341
+ )
301
342
  end
302
343
 
303
344
  # Service calls
@@ -308,9 +349,7 @@ module Google
308
349
  # up to 5 minutes.
309
350
  #
310
351
  # @param parent [String]
311
- # Required.
312
- #
313
- # The resource name of the tenant under which the job is created.
352
+ # Required. The resource name of the tenant under which the job is created.
314
353
  #
315
354
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
316
355
  # "projects/api-test-project/tenant/foo".
@@ -318,9 +357,7 @@ module Google
318
357
  # Tenant id is optional and a default tenant is created if unspecified, for
319
358
  # example, "projects/api-test-project".
320
359
  # @param job [Google::Cloud::Talent::V4beta1::Job | Hash]
321
- # Required.
322
- #
323
- # The Job to be created.
360
+ # Required. The Job to be created.
324
361
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::Job`
325
362
  # can also be provided.
326
363
  # @param options [Google::Gax::CallOptions]
@@ -358,9 +395,7 @@ module Google
358
395
  # within the last 90 days.
359
396
  #
360
397
  # @param name [String]
361
- # Required.
362
- #
363
- # The resource name of the job to retrieve.
398
+ # Required. The resource name of the job to retrieve.
364
399
  #
365
400
  # The format is
366
401
  # "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for
@@ -400,17 +435,17 @@ module Google
400
435
  # seconds, but it may take up to 5 minutes.
401
436
  #
402
437
  # @param job [Google::Cloud::Talent::V4beta1::Job | Hash]
403
- # Required.
404
- #
405
- # The Job to be updated.
438
+ # Required. The Job to be updated.
406
439
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::Job`
407
440
  # can also be provided.
408
441
  # @param update_mask [Google::Protobuf::FieldMask | Hash]
409
442
  # Optional but strongly recommended to be provided for the best service
410
443
  # experience.
411
444
  #
412
- # If {Google::Cloud::Talent::V4beta1::UpdateJobRequest#update_mask update_mask} is provided, only the specified fields in
413
- # {Google::Cloud::Talent::V4beta1::UpdateJobRequest#job job} are updated. Otherwise all the fields are updated.
445
+ # If {Google::Cloud::Talent::V4beta1::UpdateJobRequest#update_mask update_mask}
446
+ # is provided, only the specified fields in
447
+ # {Google::Cloud::Talent::V4beta1::UpdateJobRequest#job job} are updated.
448
+ # Otherwise all the fields are updated.
414
449
  #
415
450
  # A field mask to restrict the fields that are updated. Only
416
451
  # top level fields of {Google::Cloud::Talent::V4beta1::Job Job} are supported.
@@ -452,9 +487,7 @@ module Google
452
487
  # up to 5 minutes.
453
488
  #
454
489
  # @param name [String]
455
- # Required.
456
- #
457
- # The resource name of the job to be deleted.
490
+ # Required. The resource name of the job to be deleted.
458
491
  #
459
492
  # The format is
460
493
  # "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for
@@ -491,9 +524,7 @@ module Google
491
524
  # Lists jobs by filter.
492
525
  #
493
526
  # @param parent [String]
494
- # Required.
495
- #
496
- # The resource name of the tenant under which the job is created.
527
+ # Required. The resource name of the tenant under which the job is created.
497
528
  #
498
529
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
499
530
  # "projects/api-test-project/tenant/foo".
@@ -501,9 +532,7 @@ module Google
501
532
  # Tenant id is optional and the default tenant is used if unspecified, for
502
533
  # example, "projects/api-test-project".
503
534
  # @param filter [String]
504
- # Required.
505
- #
506
- # The filter string specifies the jobs to be enumerated.
535
+ # Required. The filter string specifies the jobs to be enumerated.
507
536
  #
508
537
  # Supported operator: =, AND
509
538
  #
@@ -528,11 +557,10 @@ module Google
528
557
  # performed per-page, this determines the maximum number of
529
558
  # resources in a page.
530
559
  # @param job_view [Google::Cloud::Talent::V4beta1::JobView]
531
- # Optional.
532
- #
533
- # The desired job attributes returned for jobs in the
534
- # search response. Defaults to {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_FULL JobView::JOB_VIEW_FULL} if no value is
535
- # specified.
560
+ # Optional. The desired job attributes returned for jobs in the
561
+ # search response. Defaults to
562
+ # {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_FULL JobView::JOB_VIEW_FULL}
563
+ # if no value is specified.
536
564
  # @param options [Google::Gax::CallOptions]
537
565
  # Overrides the default settings for this call, e.g, timeout,
538
566
  # retries, etc.
@@ -587,9 +615,7 @@ module Google
587
615
  # Deletes a list of {Google::Cloud::Talent::V4beta1::Job Job}s by filter.
588
616
  #
589
617
  # @param parent [String]
590
- # Required.
591
- #
592
- # The resource name of the tenant under which the job is created.
618
+ # Required. The resource name of the tenant under which the job is created.
593
619
  #
594
620
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
595
621
  # "projects/api-test-project/tenant/foo".
@@ -597,9 +623,7 @@ module Google
597
623
  # Tenant id is optional and the default tenant is used if unspecified, for
598
624
  # example, "projects/api-test-project".
599
625
  # @param filter [String]
600
- # Required.
601
- #
602
- # The filter string specifies the jobs to be deleted.
626
+ # Required. The filter string specifies the jobs to be deleted.
603
627
  #
604
628
  # Supported operator: =, AND
605
629
  #
@@ -641,16 +665,16 @@ module Google
641
665
  nil
642
666
  end
643
667
 
644
- # Searches for jobs using the provided {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
668
+ # Searches for jobs using the provided
669
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
645
670
  #
646
- # This call constrains the {Google::Cloud::Talent::V4beta1::Job#visibility visibility} of jobs
647
- # present in the database, and only returns jobs that the caller has
648
- # permission to search against.
671
+ # This call constrains the
672
+ # {Google::Cloud::Talent::V4beta1::Job#visibility visibility} of jobs present in
673
+ # the database, and only returns jobs that the caller has permission to
674
+ # search against.
649
675
  #
650
676
  # @param parent [String]
651
- # Required.
652
- #
653
- # The resource name of the tenant to search within.
677
+ # Required. The resource name of the tenant to search within.
654
678
  #
655
679
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
656
680
  # "projects/api-test-project/tenant/foo".
@@ -658,38 +682,30 @@ module Google
658
682
  # Tenant id is optional and the default tenant is used if unspecified, for
659
683
  # example, "projects/api-test-project".
660
684
  # @param request_metadata [Google::Cloud::Talent::V4beta1::RequestMetadata | Hash]
661
- # Required.
662
- #
663
- # The meta information collected about the job searcher, used to improve the
664
- # search quality of the service.. The identifiers, (such as `user_id`) are
665
- # provided by users, and must be unique and consistent.
685
+ # Required. The meta information collected about the job searcher, used to
686
+ # improve the search quality of the service. The identifiers (such as
687
+ # `user_id`) are provided by users, and must be unique and consistent.
666
688
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::RequestMetadata`
667
689
  # can also be provided.
668
690
  # @param search_mode [Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode]
669
- # Optional.
670
- #
671
- # Mode of a search.
691
+ # Optional. Mode of a search.
672
692
  #
673
- # Defaults to {Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode::JOB_SEARCH}.
693
+ # Defaults to
694
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode::JOB_SEARCH}.
674
695
  # @param job_query [Google::Cloud::Talent::V4beta1::JobQuery | Hash]
675
- # Optional.
676
- #
677
- # Query used to search against jobs, such as keyword, location filters, etc.
696
+ # Optional. Query used to search against jobs, such as keyword, location
697
+ # filters, etc.
678
698
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::JobQuery`
679
699
  # can also be provided.
680
700
  # @param enable_broadening [true, false]
681
- # Optional.
682
- #
683
- # Controls whether to broaden the search when it produces sparse results.
684
- # Broadened queries append results to the end of the matching results
685
- # list.
701
+ # Optional. Controls whether to broaden the search when it produces sparse
702
+ # results. Broadened queries append results to the end of the matching
703
+ # results list.
686
704
  #
687
705
  # Defaults to false.
688
706
  # @param require_precise_result_size [true, false]
689
- # Optional.
690
- #
691
- # Controls if the search job request requires the return of a precise
692
- # count of the first 300 results. Setting this to `true` ensures
707
+ # Optional. Controls if the search job request requires the return of a
708
+ # precise count of the first 300 results. Setting this to `true` ensures
693
709
  # consistency in the number of results per page. Best practice is to set this
694
710
  # value to true if a client allows users to jump directly to a
695
711
  # non-sequential search results page.
@@ -698,9 +714,8 @@ module Google
698
714
  #
699
715
  # Defaults to false.
700
716
  # @param histogram_queries [Array<Google::Cloud::Talent::V4beta1::HistogramQuery | Hash>]
701
- # Optional.
702
- #
703
- # An expression specifies a histogram request against matching jobs.
717
+ # Optional. An expression specifies a histogram request against matching
718
+ # jobs.
704
719
  #
705
720
  # Expression syntax is an aggregation function call with histogram facets and
706
721
  # other options.
@@ -732,19 +747,30 @@ module Google
732
747
  #
733
748
  # Job histogram facets:
734
749
  #
735
- # * company_id: histogram by {Job#distributor_company_id}.
736
- # * company_display_name: histogram by {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}.
737
- # * employment_type: histogram by {Google::Cloud::Talent::V4beta1::Job#employment_types Job#employment_types}, for example,
750
+ # * company_display_name: histogram by
751
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}.
752
+ # * employment_type: histogram by
753
+ # {Google::Cloud::Talent::V4beta1::Job#employment_types Job#employment_types},
754
+ # for example,
738
755
  # "FULL_TIME", "PART_TIME".
739
- # * company_size: histogram by {Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example, "SMALL",
740
- # "MEDIUM", "BIG".
741
- # * publish_time_in_month: histogram by the {Job#publish_time} in months.
756
+ # * company_size: histogram by
757
+ # {Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example,
758
+ # "SMALL", "MEDIUM", "BIG".
759
+ # * publish_time_in_month: histogram by the
760
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
761
+ # in months.
742
762
  # Must specify list of numeric buckets in spec.
743
- # * publish_time_in_year: histogram by the {Job#publish_time} in years.
763
+ # * publish_time_in_year: histogram by the
764
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
765
+ # in years.
744
766
  # Must specify list of numeric buckets in spec.
745
- # * degree_type: histogram by the {Job#degree_type}, for example,
767
+ # * degree_types: histogram by the
768
+ # {Google::Cloud::Talent::V4beta1::Job#degree_types Job#degree_types}, for
769
+ # example,
746
770
  # "Bachelors", "Masters".
747
- # * job_level: histogram by the {Google::Cloud::Talent::V4beta1::Job#job_level Job#job_level}, for example, "Entry
771
+ # * job_level: histogram by the
772
+ # {Google::Cloud::Talent::V4beta1::Job#job_level Job#job_level}, for example,
773
+ # "Entry
748
774
  # Level".
749
775
  # * country: histogram by the country code of jobs, for example, "US", "FR".
750
776
  # * admin1: histogram by the admin1 code of jobs, which is a global
@@ -756,51 +782,59 @@ module Google
756
782
  # * admin1_country: histogram by a combination of the "admin1 code, country",
757
783
  # for example, "CA, US", "IL, US".
758
784
  # * city_coordinate: histogram by the city center's GPS coordinates (latitude
759
- # and longitude), for example, 37.4038522,-122.0987765. Since the coordinates
760
- # of a city center can change, customers may need to refresh them
761
- # periodically.
762
- # * locale: histogram by the {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for example, "en-US",
785
+ # and longitude), for example, 37.4038522,-122.0987765. Since the
786
+ # coordinates of a city center can change, customers may need to refresh
787
+ # them periodically.
788
+ # * locale: histogram by the
789
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for
790
+ # example, "en-US",
763
791
  # "fr-FR".
764
- # * language: histogram by the language subtag of the {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code},
792
+ # * language: histogram by the language subtag of the
793
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code},
765
794
  # for example, "en", "fr".
766
- # * category: histogram by the {Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
795
+ # * category: histogram by the
796
+ # {Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
767
797
  # "COMPUTER_AND_IT", "HEALTHCARE".
768
- # * base_compensation_unit: histogram by the {CompensationUnit} of base
769
- # salary, for example, "WEEKLY", "MONTHLY".
798
+ # * base_compensation_unit: histogram by the
799
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationUnit CompensationInfo::CompensationUnit}
800
+ # of base salary, for example, "WEEKLY", "MONTHLY".
770
801
  # * base_compensation: histogram by the base salary. Must specify list of
771
802
  # numeric buckets to group results by.
772
803
  # * annualized_base_compensation: histogram by the base annualized salary.
773
804
  # Must specify list of numeric buckets to group results by.
774
805
  # * annualized_total_compensation: histogram by the total annualized salary.
775
806
  # Must specify list of numeric buckets to group results by.
776
- # * string_custom_attribute: histogram by string {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
807
+ # * string_custom_attribute: histogram by string
808
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
777
809
  # Values can be accessed via square bracket notations like
778
810
  # string_custom_attribute["key1"].
779
- # * numeric_custom_attribute: histogram by numeric {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
811
+ # * numeric_custom_attribute: histogram by numeric
812
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
780
813
  # Values can be accessed via square bracket notations like
781
814
  # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
782
815
  # group results by.
783
816
  #
784
817
  # Example expressions:
785
- # * count(admin1)
786
- # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
787
- # bucket(100000, MAX)])
788
- # * count(string_custom_attribute["some-string-custom-attribute"])
789
- # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
790
- # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
818
+ #
819
+ # * `count(admin1)`
820
+ # * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
821
+ # bucket(100000, MAX)])`
822
+ # * `count(string_custom_attribute["some-string-custom-attribute"])`
823
+ # * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
824
+ # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])`
791
825
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::HistogramQuery`
792
826
  # can also be provided.
793
827
  # @param job_view [Google::Cloud::Talent::V4beta1::JobView]
794
- # Optional.
795
- #
796
- # The desired job attributes returned for jobs in the
797
- # search response. Defaults to {JobView::SMALL} if no value is specified.
828
+ # Optional. The desired job attributes returned for jobs in the search
829
+ # response. Defaults to
830
+ # {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_SMALL JobView::JOB_VIEW_SMALL}
831
+ # if no value is specified.
798
832
  # @param offset [Integer]
799
- # Optional.
800
- #
801
- # An integer that specifies the current offset (that is, starting result
802
- # location, amongst the jobs deemed by the API as relevant) in search
803
- # results. This field is only considered if {Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is unset.
833
+ # Optional. An integer that specifies the current offset (that is, starting
834
+ # result location, amongst the jobs deemed by the API as relevant) in search
835
+ # results. This field is only considered if
836
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is
837
+ # unset.
804
838
  #
805
839
  # For example, 0 means to return results starting from the first matching
806
840
  # job, and 10 means to return from the 11th job. This can be used for
@@ -813,95 +847,100 @@ module Google
813
847
  # performed per-page, this determines the maximum number of
814
848
  # resources in a page.
815
849
  # @param order_by [String]
816
- # Optional.
817
- #
818
- # The criteria determining how search results are sorted. Default is
819
- # "relevance desc".
850
+ # Optional. The criteria determining how search results are sorted. Default
851
+ # is
852
+ # `"relevance desc"`.
820
853
  #
821
854
  # Supported options are:
822
855
  #
823
- # * "relevance desc": By relevance descending, as determined by the API
856
+ # * `"relevance desc"`: By relevance descending, as determined by the API
824
857
  # algorithms. Relevance thresholding of query results is only available
825
858
  # with this ordering.
826
- # * "posting`_`publish`_`time desc": By {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
859
+ # * `"posting_publish_time desc"`: By
860
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
827
861
  # descending.
828
- # * "posting`_`update`_`time desc": By {Google::Cloud::Talent::V4beta1::Job#posting_update_time Job#posting_update_time}
862
+ # * `"posting_update_time desc"`: By
863
+ # {Google::Cloud::Talent::V4beta1::Job#posting_update_time Job#posting_update_time}
829
864
  # descending.
830
- # * "title": By {Google::Cloud::Talent::V4beta1::Job#title Job#title} ascending.
831
- # * "title desc": By {Google::Cloud::Talent::V4beta1::Job#title Job#title} descending.
832
- # * "annualized`_`base`_`compensation": By job's
833
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range} ascending. Jobs
834
- # whose annualized base compensation is unspecified are put at the end of
835
- # search results.
836
- # * "annualized`_`base`_`compensation desc": By job's
837
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range} descending. Jobs
838
- # whose annualized base compensation is unspecified are put at the end of
839
- # search results.
840
- # * "annualized`_`total`_`compensation": By job's
841
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range} ascending. Jobs
842
- # whose annualized base compensation is unspecified are put at the end of
843
- # search results.
844
- # * "annualized`_`total`_`compensation desc": By job's
845
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range} descending. Jobs
846
- # whose annualized base compensation is unspecified are put at the end of
847
- # search results.
848
- # * "custom`_`ranking desc": By the relevance score adjusted to the
849
- # {SearchJobsRequest#custom_ranking_info#ranking_expression} with weight
850
- # factor assigned by
851
- # {SearchJobsRequest#custom_ranking_info#importance_level} in descending
852
- # order.
853
- # * "location`_`distance": By the distance between the location on jobs and
854
- # locations specified in the
855
- # {SearchJobsRequest#job_query#location_filters}.
856
- # When this order is selected, the
857
- # {SearchJobsRequest#job_query#location_filters} must not be empty. When
858
- # a job has multiple locations, the location closest to one of the locations
859
- # specified in the location filter will be used to calculate location
860
- # distance. Distance is calculated by the distance between two lat/long
861
- # coordinates, with a precision of 10e-4 degrees (11.3 meters).
862
- # Jobs that don't have locations specified will be ranked below jobs having
863
- # locations.
864
- # Diversification strategy is still applied unless explicitly disabled in
865
- # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level SearchJobsRequest#diversification_level}.
865
+ # * `"title"`: By {Google::Cloud::Talent::V4beta1::Job#title Job#title}
866
+ # ascending.
867
+ # * `"title desc"`: By {Google::Cloud::Talent::V4beta1::Job#title Job#title}
868
+ # descending.
869
+ # * `"annualized_base_compensation"`: By job's
870
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
871
+ # ascending. Jobs whose annualized base compensation is unspecified are put
872
+ # at the end of search results.
873
+ # * `"annualized_base_compensation desc"`: By job's
874
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
875
+ # descending. Jobs whose annualized base compensation is unspecified are
876
+ # put at the end of search results.
877
+ # * `"annualized_total_compensation"`: By job's
878
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
879
+ # ascending. Jobs whose annualized base compensation is unspecified are put
880
+ # at the end of search results.
881
+ # * `"annualized_total_compensation desc"`: By job's
882
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
883
+ # descending. Jobs whose annualized base compensation is unspecified are
884
+ # put at the end of search results.
885
+ # * `"custom_ranking desc"`: By the relevance score adjusted to the
886
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression SearchJobsRequest::CustomRankingInfo#ranking_expression}
887
+ # with weight factor assigned by
888
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#importance_level SearchJobsRequest::CustomRankingInfo#importance_level}
889
+ # in descending order.
890
+ # * Location sorting: Use the special syntax to order jobs by distance:<br>
891
+ # `"distance_from('Hawaii')"`: Order by distance from Hawaii.<br>
892
+ # `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.<br>
893
+ # `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
894
+ # multiple locations. See details below.<br>
895
+ # `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
896
+ # multiple locations. See details below.<br>
897
+ # The string can have a maximum of 256 characters. When multiple distance
898
+ # centers are provided, a job that is close to any of the distance centers
899
+ # would have a high rank. When a job has multiple locations, the job
900
+ # location closest to one of the distance centers will be used. Jobs that
901
+ # don't have locations will be ranked at the bottom. Distance is calculated
902
+ # with a precision of 11.3 meters (37.4 feet). Diversification strategy is
903
+ # still applied unless explicitly disabled in
904
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level diversification_level}.
866
905
  # @param diversification_level [Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel]
867
- # Optional.
868
- #
869
- # Controls whether highly similar jobs are returned next to each other in
870
- # the search results. Jobs are identified as highly similar based on
906
+ # Optional. Controls whether highly similar jobs are returned next to each
907
+ # other in the search results. Jobs are identified as highly similar based on
871
908
  # their titles, job categories, and locations. Highly similar results are
872
909
  # clustered so that only one representative job of the cluster is
873
910
  # displayed to the job seeker higher up in the results, with the other jobs
874
911
  # being displayed lower down in the results.
875
912
  #
876
- # Defaults to {Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel::SIMPLE} if no value
877
- # is specified.
913
+ # Defaults to
914
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel::SIMPLE}
915
+ # if no value is specified.
878
916
  # @param custom_ranking_info [Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo | Hash]
879
- # Optional.
880
- #
881
- # Controls over how job documents get ranked on top of existing relevance
882
- # score (determined by API algorithm).
917
+ # Optional. Controls over how job documents get ranked on top of existing
918
+ # relevance score (determined by API algorithm).
883
919
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo`
884
920
  # can also be provided.
885
921
  # @param disable_keyword_match [true, false]
886
- # Optional.
887
- #
888
- # Controls whether to disable exact keyword match on {Job#job_title},
889
- # {Google::Cloud::Talent::V4beta1::Job#description Job#description}, {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}, [Job.locations][0],
890
- # {Google::Cloud::Talent::V4beta1::Job#qualifications Job#qualifications}. When disable keyword match is turned off, a
891
- # keyword match returns jobs that do not match given category filters when
892
- # there are matching keywords. For example, for the query "program manager,"
893
- # a result is returned even if the job posting has the title "software
894
- # developer," which doesn't fall into "program manager" ontology, but does
895
- # have "program manager" appearing in its description.
922
+ # Optional. Controls whether to disable exact keyword match on
923
+ # {Google::Cloud::Talent::V4beta1::Job#title Job#title},
924
+ # {Google::Cloud::Talent::V4beta1::Job#description Job#description},
925
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name},
926
+ # {Google::Cloud::Talent::V4beta1::Job#addresses Job#addresses},
927
+ # {Google::Cloud::Talent::V4beta1::Job#qualifications Job#qualifications}. When
928
+ # disable keyword match is turned off, a keyword match returns jobs that do
929
+ # not match given category filters when there are matching keywords. For
930
+ # example, for the query "program manager," a result is returned even if the
931
+ # job posting has the title "software developer," which doesn't fall into
932
+ # "program manager" ontology, but does have "program manager" appearing in
933
+ # its description.
896
934
  #
897
935
  # For queries like "cloud" that don't contain title or
898
936
  # location specific ontology, jobs with "cloud" keyword matches are returned
899
937
  # regardless of this flag's value.
900
938
  #
901
- # Please use {Company#keyword_searchable_custom_fields} or
902
- # {Company#keyword_searchable_custom_attributes} if company specific
903
- # globally matched custom field/attribute string values is needed. Enabling
904
- # keyword match improves recall of subsequent search requests.
939
+ # Use
940
+ # {Google::Cloud::Talent::V4beta1::Company#keyword_searchable_job_custom_attributes Company#keyword_searchable_job_custom_attributes}
941
+ # if company-specific globally matched custom field/attribute string values
942
+ # are needed. Enabling keyword match improves recall of subsequent search
943
+ # requests.
905
944
  #
906
945
  # Defaults to false.
907
946
  # @param options [Google::Gax::CallOptions]
@@ -975,21 +1014,21 @@ module Google
975
1014
  @search_jobs.call(req, options, &block)
976
1015
  end
977
1016
 
978
- # Searches for jobs using the provided {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
1017
+ # Searches for jobs using the provided
1018
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
979
1019
  #
980
1020
  # This API call is intended for the use case of targeting passive job
981
1021
  # seekers (for example, job seekers who have signed up to receive email
982
1022
  # alerts about potential job opportunities), and has different algorithmic
983
1023
  # adjustments that are targeted to passive job seekers.
984
1024
  #
985
- # This call constrains the {Google::Cloud::Talent::V4beta1::Job#visibility visibility} of jobs
986
- # present in the database, and only returns jobs the caller has
987
- # permission to search against.
1025
+ # This call constrains the
1026
+ # {Google::Cloud::Talent::V4beta1::Job#visibility visibility} of jobs present in
1027
+ # the database, and only returns jobs the caller has permission to search
1028
+ # against.
988
1029
  #
989
1030
  # @param parent [String]
990
- # Required.
991
- #
992
- # The resource name of the tenant to search within.
1031
+ # Required. The resource name of the tenant to search within.
993
1032
  #
994
1033
  # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
995
1034
  # "projects/api-test-project/tenant/foo".
@@ -997,38 +1036,30 @@ module Google
997
1036
  # Tenant id is optional and the default tenant is used if unspecified, for
998
1037
  # example, "projects/api-test-project".
999
1038
  # @param request_metadata [Google::Cloud::Talent::V4beta1::RequestMetadata | Hash]
1000
- # Required.
1001
- #
1002
- # The meta information collected about the job searcher, used to improve the
1003
- # search quality of the service.. The identifiers, (such as `user_id`) are
1004
- # provided by users, and must be unique and consistent.
1039
+ # Required. The meta information collected about the job searcher, used to
1040
+ # improve the search quality of the service. The identifiers (such as
1041
+ # `user_id`) are provided by users, and must be unique and consistent.
1005
1042
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::RequestMetadata`
1006
1043
  # can also be provided.
1007
1044
  # @param search_mode [Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode]
1008
- # Optional.
1009
- #
1010
- # Mode of a search.
1045
+ # Optional. Mode of a search.
1011
1046
  #
1012
- # Defaults to {Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode::JOB_SEARCH}.
1047
+ # Defaults to
1048
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode::JOB_SEARCH}.
1013
1049
  # @param job_query [Google::Cloud::Talent::V4beta1::JobQuery | Hash]
1014
- # Optional.
1015
- #
1016
- # Query used to search against jobs, such as keyword, location filters, etc.
1050
+ # Optional. Query used to search against jobs, such as keyword, location
1051
+ # filters, etc.
1017
1052
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::JobQuery`
1018
1053
  # can also be provided.
1019
1054
  # @param enable_broadening [true, false]
1020
- # Optional.
1021
- #
1022
- # Controls whether to broaden the search when it produces sparse results.
1023
- # Broadened queries append results to the end of the matching results
1024
- # list.
1055
+ # Optional. Controls whether to broaden the search when it produces sparse
1056
+ # results. Broadened queries append results to the end of the matching
1057
+ # results list.
1025
1058
  #
1026
1059
  # Defaults to false.
1027
1060
  # @param require_precise_result_size [true, false]
1028
- # Optional.
1029
- #
1030
- # Controls if the search job request requires the return of a precise
1031
- # count of the first 300 results. Setting this to `true` ensures
1061
+ # Optional. Controls if the search job request requires the return of a
1062
+ # precise count of the first 300 results. Setting this to `true` ensures
1032
1063
  # consistency in the number of results per page. Best practice is to set this
1033
1064
  # value to true if a client allows users to jump directly to a
1034
1065
  # non-sequential search results page.
@@ -1037,9 +1068,8 @@ module Google
1037
1068
  #
1038
1069
  # Defaults to false.
1039
1070
  # @param histogram_queries [Array<Google::Cloud::Talent::V4beta1::HistogramQuery | Hash>]
1040
- # Optional.
1041
- #
1042
- # An expression specifies a histogram request against matching jobs.
1071
+ # Optional. An expression specifies a histogram request against matching
1072
+ # jobs.
1043
1073
  #
1044
1074
  # Expression syntax is an aggregation function call with histogram facets and
1045
1075
  # other options.
@@ -1071,19 +1101,30 @@ module Google
1071
1101
  #
1072
1102
  # Job histogram facets:
1073
1103
  #
1074
- # * company_id: histogram by {Job#distributor_company_id}.
1075
- # * company_display_name: histogram by {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}.
1076
- # * employment_type: histogram by {Google::Cloud::Talent::V4beta1::Job#employment_types Job#employment_types}, for example,
1104
+ # * company_display_name: histogram by
1105
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}.
1106
+ # * employment_type: histogram by
1107
+ # {Google::Cloud::Talent::V4beta1::Job#employment_types Job#employment_types},
1108
+ # for example,
1077
1109
  # "FULL_TIME", "PART_TIME".
1078
- # * company_size: histogram by {Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example, "SMALL",
1079
- # "MEDIUM", "BIG".
1080
- # * publish_time_in_month: histogram by the {Job#publish_time} in months.
1110
+ # * company_size: histogram by
1111
+ # {Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example,
1112
+ # "SMALL", "MEDIUM", "BIG".
1113
+ # * publish_time_in_month: histogram by the
1114
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
1115
+ # in months.
1081
1116
  # Must specify list of numeric buckets in spec.
1082
- # * publish_time_in_year: histogram by the {Job#publish_time} in years.
1117
+ # * publish_time_in_year: histogram by the
1118
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
1119
+ # in years.
1083
1120
  # Must specify list of numeric buckets in spec.
1084
- # * degree_type: histogram by the {Job#degree_type}, for example,
1121
+ # * degree_types: histogram by the
1122
+ # {Google::Cloud::Talent::V4beta1::Job#degree_types Job#degree_types}, for
1123
+ # example,
1085
1124
  # "Bachelors", "Masters".
1086
- # * job_level: histogram by the {Google::Cloud::Talent::V4beta1::Job#job_level Job#job_level}, for example, "Entry
1125
+ # * job_level: histogram by the
1126
+ # {Google::Cloud::Talent::V4beta1::Job#job_level Job#job_level}, for example,
1127
+ # "Entry
1087
1128
  # Level".
1088
1129
  # * country: histogram by the country code of jobs, for example, "US", "FR".
1089
1130
  # * admin1: histogram by the admin1 code of jobs, which is a global
@@ -1095,51 +1136,59 @@ module Google
1095
1136
  # * admin1_country: histogram by a combination of the "admin1 code, country",
1096
1137
  # for example, "CA, US", "IL, US".
1097
1138
  # * city_coordinate: histogram by the city center's GPS coordinates (latitude
1098
- # and longitude), for example, 37.4038522,-122.0987765. Since the coordinates
1099
- # of a city center can change, customers may need to refresh them
1100
- # periodically.
1101
- # * locale: histogram by the {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for example, "en-US",
1139
+ # and longitude), for example, 37.4038522,-122.0987765. Since the
1140
+ # coordinates of a city center can change, customers may need to refresh
1141
+ # them periodically.
1142
+ # * locale: histogram by the
1143
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code}, for
1144
+ # example, "en-US",
1102
1145
  # "fr-FR".
1103
- # * language: histogram by the language subtag of the {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code},
1146
+ # * language: histogram by the language subtag of the
1147
+ # {Google::Cloud::Talent::V4beta1::Job#language_code Job#language_code},
1104
1148
  # for example, "en", "fr".
1105
- # * category: histogram by the {Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
1149
+ # * category: histogram by the
1150
+ # {Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
1106
1151
  # "COMPUTER_AND_IT", "HEALTHCARE".
1107
- # * base_compensation_unit: histogram by the {CompensationUnit} of base
1108
- # salary, for example, "WEEKLY", "MONTHLY".
1152
+ # * base_compensation_unit: histogram by the
1153
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationUnit CompensationInfo::CompensationUnit}
1154
+ # of base salary, for example, "WEEKLY", "MONTHLY".
1109
1155
  # * base_compensation: histogram by the base salary. Must specify list of
1110
1156
  # numeric buckets to group results by.
1111
1157
  # * annualized_base_compensation: histogram by the base annualized salary.
1112
1158
  # Must specify list of numeric buckets to group results by.
1113
1159
  # * annualized_total_compensation: histogram by the total annualized salary.
1114
1160
  # Must specify list of numeric buckets to group results by.
1115
- # * string_custom_attribute: histogram by string {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
1161
+ # * string_custom_attribute: histogram by string
1162
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
1116
1163
  # Values can be accessed via square bracket notations like
1117
1164
  # string_custom_attribute["key1"].
1118
- # * numeric_custom_attribute: histogram by numeric {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
1165
+ # * numeric_custom_attribute: histogram by numeric
1166
+ # {Google::Cloud::Talent::V4beta1::Job#custom_attributes Job#custom_attributes}.
1119
1167
  # Values can be accessed via square bracket notations like
1120
1168
  # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
1121
1169
  # group results by.
1122
1170
  #
1123
1171
  # Example expressions:
1124
- # * count(admin1)
1125
- # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
1126
- # bucket(100000, MAX)])
1127
- # * count(string_custom_attribute["some-string-custom-attribute"])
1128
- # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
1129
- # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
1172
+ #
1173
+ # * `count(admin1)`
1174
+ # * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
1175
+ # bucket(100000, MAX)])`
1176
+ # * `count(string_custom_attribute["some-string-custom-attribute"])`
1177
+ # * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
1178
+ # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])`
1130
1179
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::HistogramQuery`
1131
1180
  # can also be provided.
1132
1181
  # @param job_view [Google::Cloud::Talent::V4beta1::JobView]
1133
- # Optional.
1134
- #
1135
- # The desired job attributes returned for jobs in the
1136
- # search response. Defaults to {JobView::SMALL} if no value is specified.
1182
+ # Optional. The desired job attributes returned for jobs in the search
1183
+ # response. Defaults to
1184
+ # {Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_SMALL JobView::JOB_VIEW_SMALL}
1185
+ # if no value is specified.
1137
1186
  # @param offset [Integer]
1138
- # Optional.
1139
- #
1140
- # An integer that specifies the current offset (that is, starting result
1141
- # location, amongst the jobs deemed by the API as relevant) in search
1142
- # results. This field is only considered if {Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is unset.
1187
+ # Optional. An integer that specifies the current offset (that is, starting
1188
+ # result location, amongst the jobs deemed by the API as relevant) in search
1189
+ # results. This field is only considered if
1190
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is
1191
+ # unset.
1143
1192
  #
1144
1193
  # For example, 0 means to return results starting from the first matching
1145
1194
  # job, and 10 means to return from the 11th job. This can be used for
@@ -1152,95 +1201,100 @@ module Google
1152
1201
  # performed per-page, this determines the maximum number of
1153
1202
  # resources in a page.
1154
1203
  # @param order_by [String]
1155
- # Optional.
1156
- #
1157
- # The criteria determining how search results are sorted. Default is
1158
- # "relevance desc".
1204
+ # Optional. The criteria determining how search results are sorted. Default
1205
+ # is
1206
+ # `"relevance desc"`.
1159
1207
  #
1160
1208
  # Supported options are:
1161
1209
  #
1162
- # * "relevance desc": By relevance descending, as determined by the API
1210
+ # * `"relevance desc"`: By relevance descending, as determined by the API
1163
1211
  # algorithms. Relevance thresholding of query results is only available
1164
1212
  # with this ordering.
1165
- # * "posting`_`publish`_`time desc": By {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
1213
+ # * `"posting_publish_time desc"`: By
1214
+ # {Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job#posting_publish_time}
1166
1215
  # descending.
1167
- # * "posting`_`update`_`time desc": By {Google::Cloud::Talent::V4beta1::Job#posting_update_time Job#posting_update_time}
1216
+ # * `"posting_update_time desc"`: By
1217
+ # {Google::Cloud::Talent::V4beta1::Job#posting_update_time Job#posting_update_time}
1168
1218
  # descending.
1169
- # * "title": By {Google::Cloud::Talent::V4beta1::Job#title Job#title} ascending.
1170
- # * "title desc": By {Google::Cloud::Talent::V4beta1::Job#title Job#title} descending.
1171
- # * "annualized`_`base`_`compensation": By job's
1172
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range} ascending. Jobs
1173
- # whose annualized base compensation is unspecified are put at the end of
1174
- # search results.
1175
- # * "annualized`_`base`_`compensation desc": By job's
1176
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range} descending. Jobs
1177
- # whose annualized base compensation is unspecified are put at the end of
1178
- # search results.
1179
- # * "annualized`_`total`_`compensation": By job's
1180
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range} ascending. Jobs
1181
- # whose annualized base compensation is unspecified are put at the end of
1182
- # search results.
1183
- # * "annualized`_`total`_`compensation desc": By job's
1184
- # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range} descending. Jobs
1185
- # whose annualized base compensation is unspecified are put at the end of
1186
- # search results.
1187
- # * "custom`_`ranking desc": By the relevance score adjusted to the
1188
- # {SearchJobsRequest#custom_ranking_info#ranking_expression} with weight
1189
- # factor assigned by
1190
- # {SearchJobsRequest#custom_ranking_info#importance_level} in descending
1191
- # order.
1192
- # * "location`_`distance": By the distance between the location on jobs and
1193
- # locations specified in the
1194
- # {SearchJobsRequest#job_query#location_filters}.
1195
- # When this order is selected, the
1196
- # {SearchJobsRequest#job_query#location_filters} must not be empty. When
1197
- # a job has multiple locations, the location closest to one of the locations
1198
- # specified in the location filter will be used to calculate location
1199
- # distance. Distance is calculated by the distance between two lat/long
1200
- # coordinates, with a precision of 10e-4 degrees (11.3 meters).
1201
- # Jobs that don't have locations specified will be ranked below jobs having
1202
- # locations.
1203
- # Diversification strategy is still applied unless explicitly disabled in
1204
- # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level SearchJobsRequest#diversification_level}.
1219
+ # * `"title"`: By {Google::Cloud::Talent::V4beta1::Job#title Job#title}
1220
+ # ascending.
1221
+ # * `"title desc"`: By {Google::Cloud::Talent::V4beta1::Job#title Job#title}
1222
+ # descending.
1223
+ # * `"annualized_base_compensation"`: By job's
1224
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
1225
+ # ascending. Jobs whose annualized base compensation is unspecified are put
1226
+ # at the end of search results.
1227
+ # * `"annualized_base_compensation desc"`: By job's
1228
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo#annualized_base_compensation_range}
1229
+ # descending. Jobs whose annualized base compensation is unspecified are
1230
+ # put at the end of search results.
1231
+ # * `"annualized_total_compensation"`: By job's
1232
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
1233
+ # ascending. Jobs whose annualized base compensation is unspecified are put
1234
+ # at the end of search results.
1235
+ # * `"annualized_total_compensation desc"`: By job's
1236
+ # {Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo#annualized_total_compensation_range}
1237
+ # descending. Jobs whose annualized base compensation is unspecified are
1238
+ # put at the end of search results.
1239
+ # * `"custom_ranking desc"`: By the relevance score adjusted to the
1240
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression SearchJobsRequest::CustomRankingInfo#ranking_expression}
1241
+ # with weight factor assigned by
1242
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#importance_level SearchJobsRequest::CustomRankingInfo#importance_level}
1243
+ # in descending order.
1244
+ # * Location sorting: Use the special syntax to order jobs by distance:<br>
1245
+ # `"distance_from('Hawaii')"`: Order by distance from Hawaii.<br>
1246
+ # `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.<br>
1247
+ # `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
1248
+ # multiple locations. See details below.<br>
1249
+ # `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
1250
+ # multiple locations. See details below.<br>
1251
+ # The string can have a maximum of 256 characters. When multiple distance
1252
+ # centers are provided, a job that is close to any of the distance centers
1253
+ # would have a high rank. When a job has multiple locations, the job
1254
+ # location closest to one of the distance centers will be used. Jobs that
1255
+ # don't have locations will be ranked at the bottom. Distance is calculated
1256
+ # with a precision of 11.3 meters (37.4 feet). Diversification strategy is
1257
+ # still applied unless explicitly disabled in
1258
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level diversification_level}.
1205
1259
  # @param diversification_level [Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel]
1206
- # Optional.
1207
- #
1208
- # Controls whether highly similar jobs are returned next to each other in
1209
- # the search results. Jobs are identified as highly similar based on
1260
+ # Optional. Controls whether highly similar jobs are returned next to each
1261
+ # other in the search results. Jobs are identified as highly similar based on
1210
1262
  # their titles, job categories, and locations. Highly similar results are
1211
1263
  # clustered so that only one representative job of the cluster is
1212
1264
  # displayed to the job seeker higher up in the results, with the other jobs
1213
1265
  # being displayed lower down in the results.
1214
1266
  #
1215
- # Defaults to {Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel::SIMPLE} if no value
1216
- # is specified.
1267
+ # Defaults to
1268
+ # {Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel::SIMPLE}
1269
+ # if no value is specified.
1217
1270
  # @param custom_ranking_info [Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo | Hash]
1218
- # Optional.
1219
- #
1220
- # Controls over how job documents get ranked on top of existing relevance
1221
- # score (determined by API algorithm).
1271
+ # Optional. Controls over how job documents get ranked on top of existing
1272
+ # relevance score (determined by API algorithm).
1222
1273
  # A hash of the same form as `Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo`
1223
1274
  # can also be provided.
1224
1275
  # @param disable_keyword_match [true, false]
1225
- # Optional.
1226
- #
1227
- # Controls whether to disable exact keyword match on {Job#job_title},
1228
- # {Google::Cloud::Talent::V4beta1::Job#description Job#description}, {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name}, [Job.locations][0],
1229
- # {Google::Cloud::Talent::V4beta1::Job#qualifications Job#qualifications}. When disable keyword match is turned off, a
1230
- # keyword match returns jobs that do not match given category filters when
1231
- # there are matching keywords. For example, for the query "program manager,"
1232
- # a result is returned even if the job posting has the title "software
1233
- # developer," which doesn't fall into "program manager" ontology, but does
1234
- # have "program manager" appearing in its description.
1276
+ # Optional. Controls whether to disable exact keyword match on
1277
+ # {Google::Cloud::Talent::V4beta1::Job#title Job#title},
1278
+ # {Google::Cloud::Talent::V4beta1::Job#description Job#description},
1279
+ # {Google::Cloud::Talent::V4beta1::Job#company_display_name Job#company_display_name},
1280
+ # {Google::Cloud::Talent::V4beta1::Job#addresses Job#addresses},
1281
+ # {Google::Cloud::Talent::V4beta1::Job#qualifications Job#qualifications}. When
1282
+ # disable keyword match is turned off, a keyword match returns jobs that do
1283
+ # not match given category filters when there are matching keywords. For
1284
+ # example, for the query "program manager," a result is returned even if the
1285
+ # job posting has the title "software developer," which doesn't fall into
1286
+ # "program manager" ontology, but does have "program manager" appearing in
1287
+ # its description.
1235
1288
  #
1236
1289
  # For queries like "cloud" that don't contain title or
1237
1290
  # location specific ontology, jobs with "cloud" keyword matches are returned
1238
1291
  # regardless of this flag's value.
1239
1292
  #
1240
- # Please use {Company#keyword_searchable_custom_fields} or
1241
- # {Company#keyword_searchable_custom_attributes} if company specific
1242
- # globally matched custom field/attribute string values is needed. Enabling
1243
- # keyword match improves recall of subsequent search requests.
1293
+ # Use
1294
+ # {Google::Cloud::Talent::V4beta1::Company#keyword_searchable_job_custom_attributes Company#keyword_searchable_job_custom_attributes}
1295
+ # if company-specific globally matched custom field/attribute string values
1296
+ # are needed. Enabling keyword match improves recall of subsequent search
1297
+ # requests.
1244
1298
  #
1245
1299
  # Defaults to false.
1246
1300
  # @param options [Google::Gax::CallOptions]
@@ -1313,6 +1367,179 @@ module Google
1313
1367
  req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::SearchJobsRequest)
1314
1368
  @search_jobs_for_alert.call(req, options, &block)
1315
1369
  end
1370
+
1371
+ # Begins executing a batch create jobs operation.
1372
+ #
1373
+ # @param parent [String]
1374
+ # Required. The resource name of the tenant under which the job is created.
1375
+ #
1376
+ # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
1377
+ # "projects/api-test-project/tenant/foo".
1378
+ #
1379
+ # Tenant id is optional and a default tenant is created if unspecified, for
1380
+ # example, "projects/api-test-project".
1381
+ # @param jobs [Array<Google::Cloud::Talent::V4beta1::Job | Hash>]
1382
+ # Required. The jobs to be created.
1383
+ # A hash of the same form as `Google::Cloud::Talent::V4beta1::Job`
1384
+ # can also be provided.
1385
+ # @param options [Google::Gax::CallOptions]
1386
+ # Overrides the default settings for this call, e.g, timeout,
1387
+ # retries, etc.
1388
+ # @return [Google::Gax::Operation]
1389
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
1390
+ # @example
1391
+ # require "google/cloud/talent"
1392
+ #
1393
+ # job_client = Google::Cloud::Talent::JobService.new(version: :v4beta1)
1394
+ # formatted_parent = Google::Cloud::Talent::V4beta1::JobServiceClient.tenant_path("[PROJECT]", "[TENANT]")
1395
+ #
1396
+ # # TODO: Initialize `jobs`:
1397
+ # jobs = []
1398
+ #
1399
+ # # Register a callback during the method call.
1400
+ # operation = job_client.batch_create_jobs(formatted_parent, jobs) do |op|
1401
+ # raise op.results.message if op.error?
1402
+ # op_results = op.results
1403
+ # # Process the results.
1404
+ #
1405
+ # metadata = op.metadata
1406
+ # # Process the metadata.
1407
+ # end
1408
+ #
1409
+ # # Or use the return value to register a callback.
1410
+ # operation.on_done do |op|
1411
+ # raise op.results.message if op.error?
1412
+ # op_results = op.results
1413
+ # # Process the results.
1414
+ #
1415
+ # metadata = op.metadata
1416
+ # # Process the metadata.
1417
+ # end
1418
+ #
1419
+ # # Manually reload the operation.
1420
+ # operation.reload!
1421
+ #
1422
+ # # Or block until the operation completes, triggering callbacks on
1423
+ # # completion.
1424
+ # operation.wait_until_done!
1425
+
1426
+ def batch_create_jobs \
1427
+ parent,
1428
+ jobs,
1429
+ options: nil
1430
+ req = {
1431
+ parent: parent,
1432
+ jobs: jobs
1433
+ }.delete_if { |_, v| v.nil? }
1434
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::BatchCreateJobsRequest)
1435
+ operation = Google::Gax::Operation.new(
1436
+ @batch_create_jobs.call(req, options),
1437
+ @operations_client,
1438
+ Google::Cloud::Talent::V4beta1::JobOperationResult,
1439
+ Google::Cloud::Talent::V4beta1::BatchOperationMetadata,
1440
+ call_options: options
1441
+ )
1442
+ operation.on_done { |operation| yield(operation) } if block_given?
1443
+ operation
1444
+ end
1445
+
1446
+ # Begins executing a batch update jobs operation.
1447
+ #
1448
+ # @param parent [String]
1449
+ # Required. The resource name of the tenant under which the job is created.
1450
+ #
1451
+ # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
1452
+ # "projects/api-test-project/tenant/foo".
1453
+ #
1454
+ # Tenant id is optional and the default tenant is used if unspecified, for
1455
+ # example, "projects/api-test-project".
1456
+ # @param jobs [Array<Google::Cloud::Talent::V4beta1::Job | Hash>]
1457
+ # Required. The jobs to be updated.
1458
+ # A hash of the same form as `Google::Cloud::Talent::V4beta1::Job`
1459
+ # can also be provided.
1460
+ # @param update_mask [Google::Protobuf::FieldMask | Hash]
1461
+ # Optional but strongly recommended to be provided for the best service
1462
+ # experience, also increase latency when checking status of batch operation.
1463
+ #
1464
+ # If
1465
+ # {Google::Cloud::Talent::V4beta1::BatchUpdateJobsRequest#update_mask update_mask}
1466
+ # is provided, only the specified fields in
1467
+ # {Google::Cloud::Talent::V4beta1::Job Job} are updated. Otherwise all the
1468
+ # fields are updated.
1469
+ #
1470
+ # A field mask to restrict the fields that are updated. Only
1471
+ # top level fields of {Google::Cloud::Talent::V4beta1::Job Job} are supported.
1472
+ #
1473
+ # If
1474
+ # {Google::Cloud::Talent::V4beta1::BatchUpdateJobsRequest#update_mask update_mask}
1475
+ # is provided, The {Google::Cloud::Talent::V4beta1::Job Job} inside
1476
+ # {JobResult} will only contains fields that is updated, plus the Id of the
1477
+ # Job. Otherwise, {Google::Cloud::Talent::V4beta1::Job Job} will include all
1478
+ # fields, which can yield a very large response.
1479
+ # A hash of the same form as `Google::Protobuf::FieldMask`
1480
+ # can also be provided.
1481
+ # @param options [Google::Gax::CallOptions]
1482
+ # Overrides the default settings for this call, e.g, timeout,
1483
+ # retries, etc.
1484
+ # @return [Google::Gax::Operation]
1485
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
1486
+ # @example
1487
+ # require "google/cloud/talent"
1488
+ #
1489
+ # job_client = Google::Cloud::Talent::JobService.new(version: :v4beta1)
1490
+ # formatted_parent = Google::Cloud::Talent::V4beta1::JobServiceClient.tenant_path("[PROJECT]", "[TENANT]")
1491
+ #
1492
+ # # TODO: Initialize `jobs`:
1493
+ # jobs = []
1494
+ #
1495
+ # # Register a callback during the method call.
1496
+ # operation = job_client.batch_update_jobs(formatted_parent, jobs) do |op|
1497
+ # raise op.results.message if op.error?
1498
+ # op_results = op.results
1499
+ # # Process the results.
1500
+ #
1501
+ # metadata = op.metadata
1502
+ # # Process the metadata.
1503
+ # end
1504
+ #
1505
+ # # Or use the return value to register a callback.
1506
+ # operation.on_done do |op|
1507
+ # raise op.results.message if op.error?
1508
+ # op_results = op.results
1509
+ # # Process the results.
1510
+ #
1511
+ # metadata = op.metadata
1512
+ # # Process the metadata.
1513
+ # end
1514
+ #
1515
+ # # Manually reload the operation.
1516
+ # operation.reload!
1517
+ #
1518
+ # # Or block until the operation completes, triggering callbacks on
1519
+ # # completion.
1520
+ # operation.wait_until_done!
1521
+
1522
+ def batch_update_jobs \
1523
+ parent,
1524
+ jobs,
1525
+ update_mask: nil,
1526
+ options: nil
1527
+ req = {
1528
+ parent: parent,
1529
+ jobs: jobs,
1530
+ update_mask: update_mask
1531
+ }.delete_if { |_, v| v.nil? }
1532
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::BatchUpdateJobsRequest)
1533
+ operation = Google::Gax::Operation.new(
1534
+ @batch_update_jobs.call(req, options),
1535
+ @operations_client,
1536
+ Google::Cloud::Talent::V4beta1::JobOperationResult,
1537
+ Google::Cloud::Talent::V4beta1::BatchOperationMetadata,
1538
+ call_options: options
1539
+ )
1540
+ operation.on_done { |operation| yield(operation) } if block_given?
1541
+ operation
1542
+ end
1316
1543
  end
1317
1544
  end
1318
1545
  end