google-cloud-talent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +9 -0
  3. data/LICENSE +201 -0
  4. data/README.md +69 -0
  5. data/lib/google/cloud/talent.rb +456 -0
  6. data/lib/google/cloud/talent/v4beta1.rb +484 -0
  7. data/lib/google/cloud/talent/v4beta1/batch_pb.rb +21 -0
  8. data/lib/google/cloud/talent/v4beta1/common_pb.rb +264 -0
  9. data/lib/google/cloud/talent/v4beta1/company_pb.rb +39 -0
  10. data/lib/google/cloud/talent/v4beta1/company_service_client.rb +479 -0
  11. data/lib/google/cloud/talent/v4beta1/company_service_client_config.json +51 -0
  12. data/lib/google/cloud/talent/v4beta1/company_service_pb.rb +53 -0
  13. data/lib/google/cloud/talent/v4beta1/company_service_services_pb.rb +56 -0
  14. data/lib/google/cloud/talent/v4beta1/completion_client.rb +303 -0
  15. data/lib/google/cloud/talent/v4beta1/completion_client_config.json +31 -0
  16. data/lib/google/cloud/talent/v4beta1/completion_service_pb.rb +53 -0
  17. data/lib/google/cloud/talent/v4beta1/completion_service_services_pb.rb +48 -0
  18. data/lib/google/cloud/talent/v4beta1/credentials.rb +42 -0
  19. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/common.rb +890 -0
  20. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company.rb +125 -0
  21. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/company_service.rb +130 -0
  22. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/completion_service.rb +153 -0
  23. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event.rb +252 -0
  24. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/event_service.rb +34 -0
  25. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/filters.rb +853 -0
  26. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/histogram.rb +56 -0
  27. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job.rb +409 -0
  28. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/job_service.rb +732 -0
  29. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile.rb +1125 -0
  30. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/profile_service.rb +392 -0
  31. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/resume_service.rb +98 -0
  32. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant.rb +68 -0
  33. data/lib/google/cloud/talent/v4beta1/doc/google/cloud/talent/v4beta1/tenant_service.rb +119 -0
  34. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/duration.rb +91 -0
  35. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/empty.rb +29 -0
  36. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/field_mask.rb +230 -0
  37. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/timestamp.rb +109 -0
  38. data/lib/google/cloud/talent/v4beta1/doc/google/protobuf/wrappers.rb +34 -0
  39. data/lib/google/cloud/talent/v4beta1/doc/google/type/date.rb +39 -0
  40. data/lib/google/cloud/talent/v4beta1/doc/google/type/latlng.rb +65 -0
  41. data/lib/google/cloud/talent/v4beta1/doc/google/type/money.rb +36 -0
  42. data/lib/google/cloud/talent/v4beta1/doc/google/type/postal_address.rb +126 -0
  43. data/lib/google/cloud/talent/v4beta1/doc/google/type/timeofday.rb +38 -0
  44. data/lib/google/cloud/talent/v4beta1/event_pb.rb +75 -0
  45. data/lib/google/cloud/talent/v4beta1/event_service_client.rb +239 -0
  46. data/lib/google/cloud/talent/v4beta1/event_service_client_config.json +31 -0
  47. data/lib/google/cloud/talent/v4beta1/event_service_pb.rb +24 -0
  48. data/lib/google/cloud/talent/v4beta1/event_service_services_pb.rb +53 -0
  49. data/lib/google/cloud/talent/v4beta1/filters_pb.rb +182 -0
  50. data/lib/google/cloud/talent/v4beta1/helpers.rb +90 -0
  51. data/lib/google/cloud/talent/v4beta1/histogram_pb.rb +28 -0
  52. data/lib/google/cloud/talent/v4beta1/job_pb.rb +69 -0
  53. data/lib/google/cloud/talent/v4beta1/job_service_client.rb +1295 -0
  54. data/lib/google/cloud/talent/v4beta1/job_service_client_config.json +66 -0
  55. data/lib/google/cloud/talent/v4beta1/job_service_pb.rb +142 -0
  56. data/lib/google/cloud/talent/v4beta1/job_service_services_pb.rb +88 -0
  57. data/lib/google/cloud/talent/v4beta1/profile_pb.rb +249 -0
  58. data/lib/google/cloud/talent/v4beta1/profile_service_client.rb +757 -0
  59. data/lib/google/cloud/talent/v4beta1/profile_service_client_config.json +56 -0
  60. data/lib/google/cloud/talent/v4beta1/profile_service_pb.rb +81 -0
  61. data/lib/google/cloud/talent/v4beta1/profile_service_services_pb.rb +65 -0
  62. data/lib/google/cloud/talent/v4beta1/resume_service_client.rb +296 -0
  63. data/lib/google/cloud/talent/v4beta1/resume_service_client_config.json +31 -0
  64. data/lib/google/cloud/talent/v4beta1/resume_service_pb.rb +37 -0
  65. data/lib/google/cloud/talent/v4beta1/resume_service_services_pb.rb +75 -0
  66. data/lib/google/cloud/talent/v4beta1/tenant_pb.rb +31 -0
  67. data/lib/google/cloud/talent/v4beta1/tenant_service_client.rb +466 -0
  68. data/lib/google/cloud/talent/v4beta1/tenant_service_client_config.json +51 -0
  69. data/lib/google/cloud/talent/v4beta1/tenant_service_pb.rb +52 -0
  70. data/lib/google/cloud/talent/v4beta1/tenant_service_services_pb.rb +55 -0
  71. metadata +197 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "interfaces": {
3
+ "google.cloud.talent.v4beta1.ResumeService": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 20000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 20000,
19
+ "total_timeout_millis": 600000
20
+ }
21
+ },
22
+ "methods": {
23
+ "ParseResume": {
24
+ "timeout_millis": 30000,
25
+ "retry_codes_name": "non_idempotent",
26
+ "retry_params_name": "default"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,37 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/talent/v4beta1/resume_service.proto
3
+
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/cloud/talent/v4beta1/profile_pb'
9
+ Google::Protobuf::DescriptorPool.generated_pool.build do
10
+ add_message "google.cloud.talent.v4beta1.ParseResumeRequest" do
11
+ optional :parent, :string, 1
12
+ optional :resume, :bytes, 2
13
+ optional :region_code, :string, 3
14
+ optional :language_code, :string, 4
15
+ optional :options, :message, 5, "google.cloud.talent.v4beta1.ParseResumeOptions"
16
+ end
17
+ add_message "google.cloud.talent.v4beta1.ParseResumeOptions" do
18
+ optional :enable_ocr, :bool, 1
19
+ optional :enable_full_skill_detection, :bool, 2
20
+ end
21
+ add_message "google.cloud.talent.v4beta1.ParseResumeResponse" do
22
+ optional :profile, :message, 1, "google.cloud.talent.v4beta1.Profile"
23
+ optional :raw_text, :string, 2
24
+ end
25
+ end
26
+
27
+ module Google
28
+ module Cloud
29
+ module Talent
30
+ module V4beta1
31
+ ParseResumeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.ParseResumeRequest").msgclass
32
+ ParseResumeOptions = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.ParseResumeOptions").msgclass
33
+ ParseResumeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.ParseResumeResponse").msgclass
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,75 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/talent/v4beta1/resume_service.proto for package 'google.cloud.talent.v4beta1'
3
+ # Original file comments:
4
+ # Copyright 2019 Google LLC.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ #
19
+
20
+
21
+ require 'grpc'
22
+ require 'google/cloud/talent/v4beta1/resume_service_pb'
23
+
24
+ module Google
25
+ module Cloud
26
+ module Talent
27
+ module V4beta1
28
+ module ResumeService
29
+ # A service that handles resume parsing.
30
+ class Service
31
+
32
+ include GRPC::GenericService
33
+
34
+ self.marshal_class_method = :encode
35
+ self.unmarshal_class_method = :decode
36
+ self.service_name = 'google.cloud.talent.v4beta1.ResumeService'
37
+
38
+ # Parses a resume into a [Profile][google.cloud.talent.v4beta1.Profile]. The
39
+ # API attempts to fill out the following profile fields if present within the
40
+ # resume:
41
+ #
42
+ # * personNames
43
+ # * addresses
44
+ # * emailAddress
45
+ # * phoneNumbers
46
+ # * personalUris
47
+ # * employmentRecords
48
+ # * educationRecords
49
+ # * skills
50
+ #
51
+ # Note that some attributes in these fields may not be populated if they're
52
+ # not present within the resume or unrecognizable by the resume parser.
53
+ #
54
+ # This API does not save the resume or profile. To create a profile from this
55
+ # resume, clients need to call the CreateProfile method again with the
56
+ # profile returned.
57
+ #
58
+ # The following list of formats are supported:
59
+ #
60
+ # * PDF
61
+ # * TXT
62
+ # * DOC
63
+ # * RTF
64
+ # * DOCX
65
+ # * PNG (only when [ParseResumeRequest.enable_ocr][] is set to `true`,
66
+ # otherwise an error is thrown)
67
+ rpc :ParseResume, ParseResumeRequest, ParseResumeResponse
68
+ end
69
+
70
+ Stub = Service.rpc_stub_class
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,31 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/talent/v4beta1/tenant.proto
3
+
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/cloud/talent/v4beta1/common_pb'
9
+ Google::Protobuf::DescriptorPool.generated_pool.build do
10
+ add_message "google.cloud.talent.v4beta1.Tenant" do
11
+ optional :name, :string, 1
12
+ optional :external_id, :string, 2
13
+ optional :usage_type, :enum, 3, "google.cloud.talent.v4beta1.Tenant.DataUsageType"
14
+ end
15
+ add_enum "google.cloud.talent.v4beta1.Tenant.DataUsageType" do
16
+ value :DATA_USAGE_TYPE_UNSPECIFIED, 0
17
+ value :AGGREGATED, 1
18
+ value :ISOLATED, 2
19
+ end
20
+ end
21
+
22
+ module Google
23
+ module Cloud
24
+ module Talent
25
+ module V4beta1
26
+ Tenant = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.Tenant").msgclass
27
+ Tenant::DataUsageType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.talent.v4beta1.Tenant.DataUsageType").enummodule
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,466 @@
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
+ # EDITING INSTRUCTIONS
16
+ # This file was generated from the file
17
+ # https://github.com/googleapis/googleapis/blob/master/google/cloud/talent/v4beta1/tenant_service.proto,
18
+ # and updates to that file get reflected here through a refresh process.
19
+ # For the short term, the refresh process will only be runnable by Google
20
+ # engineers.
21
+
22
+
23
+ require "json"
24
+ require "pathname"
25
+
26
+ require "google/gax"
27
+
28
+ require "google/cloud/talent/v4beta1/tenant_service_pb"
29
+ require "google/cloud/talent/v4beta1/credentials"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Talent
34
+ module V4beta1
35
+ # A service that handles tenant management, including CRUD and enumeration.
36
+ #
37
+ # @!attribute [r] tenant_service_stub
38
+ # @return [Google::Cloud::Talent::V4beta1::TenantService::Stub]
39
+ class TenantServiceClient
40
+ # @private
41
+ attr_reader :tenant_service_stub
42
+
43
+ # The default address of the service.
44
+ SERVICE_ADDRESS = "jobs.googleapis.com".freeze
45
+
46
+ # The default port of the service.
47
+ DEFAULT_SERVICE_PORT = 443
48
+
49
+ # The default set of gRPC interceptors.
50
+ GRPC_INTERCEPTORS = []
51
+
52
+ DEFAULT_TIMEOUT = 30
53
+
54
+ PAGE_DESCRIPTORS = {
55
+ "list_tenants" => Google::Gax::PageDescriptor.new(
56
+ "page_token",
57
+ "next_page_token",
58
+ "tenants")
59
+ }.freeze
60
+
61
+ private_constant :PAGE_DESCRIPTORS
62
+
63
+ # The scopes needed to make gRPC calls to all of the methods defined in
64
+ # this service.
65
+ ALL_SCOPES = [
66
+ "https://www.googleapis.com/auth/cloud-platform",
67
+ "https://www.googleapis.com/auth/jobs"
68
+ ].freeze
69
+
70
+
71
+ PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
72
+ "projects/{project}"
73
+ )
74
+
75
+ private_constant :PROJECT_PATH_TEMPLATE
76
+
77
+ TENANT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
78
+ "projects/{project}/tenants/{tenant}"
79
+ )
80
+
81
+ private_constant :TENANT_PATH_TEMPLATE
82
+
83
+ # Returns a fully-qualified project resource name string.
84
+ # @param project [String]
85
+ # @return [String]
86
+ def self.project_path project
87
+ PROJECT_PATH_TEMPLATE.render(
88
+ :"project" => project
89
+ )
90
+ end
91
+
92
+ # Returns a fully-qualified tenant resource name string.
93
+ # @param project [String]
94
+ # @param tenant [String]
95
+ # @return [String]
96
+ def self.tenant_path project, tenant
97
+ TENANT_PATH_TEMPLATE.render(
98
+ :"project" => project,
99
+ :"tenant" => tenant
100
+ )
101
+ end
102
+
103
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
104
+ # Provides the means for authenticating requests made by the client. This parameter can
105
+ # be many types.
106
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
107
+ # authenticating requests made by this client.
108
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
109
+ # credentials for this client.
110
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
111
+ # credentials for this client.
112
+ # A `GRPC::Core::Channel` will be used to make calls through.
113
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
114
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
115
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
116
+ # metadata for requests, generally, to give OAuth credentials.
117
+ # @param scopes [Array<String>]
118
+ # The OAuth scopes for this service. This parameter is ignored if
119
+ # an updater_proc is supplied.
120
+ # @param client_config [Hash]
121
+ # A Hash for call options for each method. See
122
+ # Google::Gax#construct_settings for the structure of
123
+ # this data. Falls back to the default config if not specified
124
+ # or the specified config is missing data points.
125
+ # @param timeout [Numeric]
126
+ # The default timeout, in seconds, for calls made through this client.
127
+ # @param metadata [Hash]
128
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
129
+ # @param exception_transformer [Proc]
130
+ # An optional proc that intercepts any exceptions raised during an API call to inject
131
+ # custom error handling.
132
+ def initialize \
133
+ credentials: nil,
134
+ scopes: ALL_SCOPES,
135
+ client_config: {},
136
+ timeout: DEFAULT_TIMEOUT,
137
+ metadata: nil,
138
+ exception_transformer: nil,
139
+ lib_name: nil,
140
+ lib_version: ""
141
+ # These require statements are intentionally placed here to initialize
142
+ # the gRPC module only when it's required.
143
+ # See https://github.com/googleapis/toolkit/issues/446
144
+ require "google/gax/grpc"
145
+ require "google/cloud/talent/v4beta1/tenant_service_services_pb"
146
+
147
+ credentials ||= Google::Cloud::Talent::V4beta1::Credentials.default
148
+
149
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
150
+ updater_proc = Google::Cloud::Talent::V4beta1::Credentials.new(credentials).updater_proc
151
+ end
152
+ if credentials.is_a?(GRPC::Core::Channel)
153
+ channel = credentials
154
+ end
155
+ if credentials.is_a?(GRPC::Core::ChannelCredentials)
156
+ chan_creds = credentials
157
+ end
158
+ if credentials.is_a?(Proc)
159
+ updater_proc = credentials
160
+ end
161
+ if credentials.is_a?(Google::Auth::Credentials)
162
+ updater_proc = credentials.updater_proc
163
+ end
164
+
165
+ package_version = Gem.loaded_specs['google-cloud-talent'].version.version
166
+
167
+ google_api_client = "gl-ruby/#{RUBY_VERSION}"
168
+ google_api_client << " #{lib_name}/#{lib_version}" if lib_name
169
+ google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}"
170
+ google_api_client << " grpc/#{GRPC::VERSION}"
171
+ google_api_client.freeze
172
+
173
+ headers = { :"x-goog-api-client" => google_api_client }
174
+ headers.merge!(metadata) unless metadata.nil?
175
+ client_config_file = Pathname.new(__dir__).join(
176
+ "tenant_service_client_config.json"
177
+ )
178
+ defaults = client_config_file.open do |f|
179
+ Google::Gax.construct_settings(
180
+ "google.cloud.talent.v4beta1.TenantService",
181
+ JSON.parse(f.read),
182
+ client_config,
183
+ Google::Gax::Grpc::STATUS_CODE_NAMES,
184
+ timeout,
185
+ page_descriptors: PAGE_DESCRIPTORS,
186
+ errors: Google::Gax::Grpc::API_ERRORS,
187
+ metadata: headers
188
+ )
189
+ end
190
+
191
+ # Allow overriding the service path/port in subclasses.
192
+ service_path = self.class::SERVICE_ADDRESS
193
+ port = self.class::DEFAULT_SERVICE_PORT
194
+ interceptors = self.class::GRPC_INTERCEPTORS
195
+ @tenant_service_stub = Google::Gax::Grpc.create_stub(
196
+ service_path,
197
+ port,
198
+ chan_creds: chan_creds,
199
+ channel: channel,
200
+ updater_proc: updater_proc,
201
+ scopes: scopes,
202
+ interceptors: interceptors,
203
+ &Google::Cloud::Talent::V4beta1::TenantService::Stub.method(:new)
204
+ )
205
+
206
+ @create_tenant = Google::Gax.create_api_call(
207
+ @tenant_service_stub.method(:create_tenant),
208
+ defaults["create_tenant"],
209
+ exception_transformer: exception_transformer
210
+ )
211
+ @get_tenant = Google::Gax.create_api_call(
212
+ @tenant_service_stub.method(:get_tenant),
213
+ defaults["get_tenant"],
214
+ exception_transformer: exception_transformer
215
+ )
216
+ @update_tenant = Google::Gax.create_api_call(
217
+ @tenant_service_stub.method(:update_tenant),
218
+ defaults["update_tenant"],
219
+ exception_transformer: exception_transformer
220
+ )
221
+ @delete_tenant = Google::Gax.create_api_call(
222
+ @tenant_service_stub.method(:delete_tenant),
223
+ defaults["delete_tenant"],
224
+ exception_transformer: exception_transformer
225
+ )
226
+ @list_tenants = Google::Gax.create_api_call(
227
+ @tenant_service_stub.method(:list_tenants),
228
+ defaults["list_tenants"],
229
+ exception_transformer: exception_transformer
230
+ )
231
+ end
232
+
233
+ # Service calls
234
+
235
+ # Creates a new tenant entity.
236
+ #
237
+ # @param parent [String]
238
+ # Required.
239
+ #
240
+ # Resource name of the project under which the tenant is created.
241
+ #
242
+ # The format is "projects/{project_id}", for example,
243
+ # "projects/api-test-project".
244
+ # @param tenant [Google::Cloud::Talent::V4beta1::Tenant | Hash]
245
+ # Required.
246
+ #
247
+ # The tenant to be created.
248
+ # A hash of the same form as `Google::Cloud::Talent::V4beta1::Tenant`
249
+ # can also be provided.
250
+ # @param options [Google::Gax::CallOptions]
251
+ # Overrides the default settings for this call, e.g, timeout,
252
+ # retries, etc.
253
+ # @yield [result, operation] Access the result along with the RPC operation
254
+ # @yieldparam result [Google::Cloud::Talent::V4beta1::Tenant]
255
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
256
+ # @return [Google::Cloud::Talent::V4beta1::Tenant]
257
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
258
+ # @example
259
+ # require "google/cloud/talent"
260
+ #
261
+ # tenant_service_client = Google::Cloud::Talent::TenantService.new(version: :v4beta1)
262
+ # formatted_parent = Google::Cloud::Talent::V4beta1::TenantServiceClient.project_path("[PROJECT]")
263
+ #
264
+ # # TODO: Initialize `tenant`:
265
+ # tenant = {}
266
+ # response = tenant_service_client.create_tenant(formatted_parent, tenant)
267
+
268
+ def create_tenant \
269
+ parent,
270
+ tenant,
271
+ options: nil,
272
+ &block
273
+ req = {
274
+ parent: parent,
275
+ tenant: tenant
276
+ }.delete_if { |_, v| v.nil? }
277
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::CreateTenantRequest)
278
+ @create_tenant.call(req, options, &block)
279
+ end
280
+
281
+ # Retrieves specified tenant.
282
+ #
283
+ # @param name [String]
284
+ # Required.
285
+ #
286
+ # The resource name of the tenant to be retrieved.
287
+ #
288
+ # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
289
+ # "projects/api-test-project/tenants/foo".
290
+ # @param options [Google::Gax::CallOptions]
291
+ # Overrides the default settings for this call, e.g, timeout,
292
+ # retries, etc.
293
+ # @yield [result, operation] Access the result along with the RPC operation
294
+ # @yieldparam result [Google::Cloud::Talent::V4beta1::Tenant]
295
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
296
+ # @return [Google::Cloud::Talent::V4beta1::Tenant]
297
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
298
+ # @example
299
+ # require "google/cloud/talent"
300
+ #
301
+ # tenant_service_client = Google::Cloud::Talent::TenantService.new(version: :v4beta1)
302
+ # formatted_name = Google::Cloud::Talent::V4beta1::TenantServiceClient.tenant_path("[PROJECT]", "[TENANT]")
303
+ # response = tenant_service_client.get_tenant(formatted_name)
304
+
305
+ def get_tenant \
306
+ name,
307
+ options: nil,
308
+ &block
309
+ req = {
310
+ name: name
311
+ }.delete_if { |_, v| v.nil? }
312
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::GetTenantRequest)
313
+ @get_tenant.call(req, options, &block)
314
+ end
315
+
316
+ # Updates specified tenant.
317
+ #
318
+ # @param tenant [Google::Cloud::Talent::V4beta1::Tenant | Hash]
319
+ # Required.
320
+ #
321
+ # The tenant resource to replace the current resource in the system.
322
+ # A hash of the same form as `Google::Cloud::Talent::V4beta1::Tenant`
323
+ # can also be provided.
324
+ # @param update_mask [Google::Protobuf::FieldMask | Hash]
325
+ # Optional but strongly recommended for the best service
326
+ # experience.
327
+ #
328
+ # If
329
+ # {Google::Cloud::Talent::V4beta1::UpdateTenantRequest#update_mask update_mask}
330
+ # is provided, only the specified fields in
331
+ # {Google::Cloud::Talent::V4beta1::UpdateTenantRequest#tenant tenant} are
332
+ # updated. Otherwise all the fields are updated.
333
+ #
334
+ # A field mask to specify the tenant fields to be updated. Only
335
+ # top level fields of {Google::Cloud::Talent::V4beta1::Tenant Tenant} are
336
+ # supported.
337
+ # A hash of the same form as `Google::Protobuf::FieldMask`
338
+ # can also be provided.
339
+ # @param options [Google::Gax::CallOptions]
340
+ # Overrides the default settings for this call, e.g, timeout,
341
+ # retries, etc.
342
+ # @yield [result, operation] Access the result along with the RPC operation
343
+ # @yieldparam result [Google::Cloud::Talent::V4beta1::Tenant]
344
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
345
+ # @return [Google::Cloud::Talent::V4beta1::Tenant]
346
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
347
+ # @example
348
+ # require "google/cloud/talent"
349
+ #
350
+ # tenant_service_client = Google::Cloud::Talent::TenantService.new(version: :v4beta1)
351
+ #
352
+ # # TODO: Initialize `tenant`:
353
+ # tenant = {}
354
+ # response = tenant_service_client.update_tenant(tenant)
355
+
356
+ def update_tenant \
357
+ tenant,
358
+ update_mask: nil,
359
+ options: nil,
360
+ &block
361
+ req = {
362
+ tenant: tenant,
363
+ update_mask: update_mask
364
+ }.delete_if { |_, v| v.nil? }
365
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::UpdateTenantRequest)
366
+ @update_tenant.call(req, options, &block)
367
+ end
368
+
369
+ # Deletes specified tenant.
370
+ #
371
+ # @param name [String]
372
+ # Required.
373
+ #
374
+ # The resource name of the tenant to be deleted.
375
+ #
376
+ # The format is "projects/{project_id}/tenants/{tenant_id}", for example,
377
+ # "projects/api-test-project/tenants/foo".
378
+ # @param options [Google::Gax::CallOptions]
379
+ # Overrides the default settings for this call, e.g, timeout,
380
+ # retries, etc.
381
+ # @yield [result, operation] Access the result along with the RPC operation
382
+ # @yieldparam result []
383
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
384
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
385
+ # @example
386
+ # require "google/cloud/talent"
387
+ #
388
+ # tenant_service_client = Google::Cloud::Talent::TenantService.new(version: :v4beta1)
389
+ # formatted_name = Google::Cloud::Talent::V4beta1::TenantServiceClient.tenant_path("[PROJECT]", "[TENANT]")
390
+ # tenant_service_client.delete_tenant(formatted_name)
391
+
392
+ def delete_tenant \
393
+ name,
394
+ options: nil,
395
+ &block
396
+ req = {
397
+ name: name
398
+ }.delete_if { |_, v| v.nil? }
399
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::DeleteTenantRequest)
400
+ @delete_tenant.call(req, options, &block)
401
+ nil
402
+ end
403
+
404
+ # Lists all tenants associated with the project.
405
+ #
406
+ # @param parent [String]
407
+ # Required.
408
+ #
409
+ # Resource name of the project under which the tenant is created.
410
+ #
411
+ # The format is "projects/{project_id}", for example,
412
+ # "projects/api-test-project".
413
+ # @param page_size [Integer]
414
+ # The maximum number of resources contained in the underlying API
415
+ # response. If page streaming is performed per-resource, this
416
+ # parameter does not affect the return value. If page streaming is
417
+ # performed per-page, this determines the maximum number of
418
+ # resources in a page.
419
+ # @param options [Google::Gax::CallOptions]
420
+ # Overrides the default settings for this call, e.g, timeout,
421
+ # retries, etc.
422
+ # @yield [result, operation] Access the result along with the RPC operation
423
+ # @yieldparam result [Google::Gax::PagedEnumerable<Google::Cloud::Talent::V4beta1::Tenant>]
424
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
425
+ # @return [Google::Gax::PagedEnumerable<Google::Cloud::Talent::V4beta1::Tenant>]
426
+ # An enumerable of Google::Cloud::Talent::V4beta1::Tenant instances.
427
+ # See Google::Gax::PagedEnumerable documentation for other
428
+ # operations such as per-page iteration or access to the response
429
+ # object.
430
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
431
+ # @example
432
+ # require "google/cloud/talent"
433
+ #
434
+ # tenant_service_client = Google::Cloud::Talent::TenantService.new(version: :v4beta1)
435
+ # formatted_parent = Google::Cloud::Talent::V4beta1::TenantServiceClient.project_path("[PROJECT]")
436
+ #
437
+ # # Iterate over all results.
438
+ # tenant_service_client.list_tenants(formatted_parent).each do |element|
439
+ # # Process element.
440
+ # end
441
+ #
442
+ # # Or iterate over results one page at a time.
443
+ # tenant_service_client.list_tenants(formatted_parent).each_page do |page|
444
+ # # Process each page at a time.
445
+ # page.each do |element|
446
+ # # Process element.
447
+ # end
448
+ # end
449
+
450
+ def list_tenants \
451
+ parent,
452
+ page_size: nil,
453
+ options: nil,
454
+ &block
455
+ req = {
456
+ parent: parent,
457
+ page_size: page_size
458
+ }.delete_if { |_, v| v.nil? }
459
+ req = Google::Gax::to_proto(req, Google::Cloud::Talent::V4beta1::ListTenantsRequest)
460
+ @list_tenants.call(req, options, &block)
461
+ end
462
+ end
463
+ end
464
+ end
465
+ end
466
+ end