google-cloud-talent 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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