google-cloud-privileged_access_manager-v1 0.a → 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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/privileged_access_manager/v1/bindings_override.rb +134 -0
  6. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/client.rb +1895 -0
  7. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/credentials.rb +47 -0
  8. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/operations.rb +809 -0
  9. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/paths.rb +206 -0
  10. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/client.rb +1777 -0
  11. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/operations.rb +944 -0
  12. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/service_stub.rb +1109 -0
  13. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest.rb +73 -0
  14. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager.rb +75 -0
  15. data/lib/google/cloud/privileged_access_manager/v1/rest.rb +38 -0
  16. data/lib/google/cloud/privileged_access_manager/v1/version.rb +7 -2
  17. data/lib/google/cloud/privileged_access_manager/v1.rb +45 -0
  18. data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_pb.rb +108 -0
  19. data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_services_pb.rb +121 -0
  20. data/lib/google-cloud-privileged_access_manager-v1.rb +21 -0
  21. data/proto_docs/README.md +4 -0
  22. data/proto_docs/google/api/client.rb +403 -0
  23. data/proto_docs/google/api/field_behavior.rb +85 -0
  24. data/proto_docs/google/api/launch_stage.rb +71 -0
  25. data/proto_docs/google/api/resource.rb +227 -0
  26. data/proto_docs/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager.rb +966 -0
  27. data/proto_docs/google/longrunning/operations.rb +164 -0
  28. data/proto_docs/google/protobuf/any.rb +145 -0
  29. data/proto_docs/google/protobuf/duration.rb +98 -0
  30. data/proto_docs/google/protobuf/empty.rb +34 -0
  31. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  32. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  33. data/proto_docs/google/rpc/status.rb +48 -0
  34. metadata +125 -10
@@ -0,0 +1,1895 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_pb"
21
+ require "google/cloud/location"
22
+
23
+ module Google
24
+ module Cloud
25
+ module PrivilegedAccessManager
26
+ module V1
27
+ module PrivilegedAccessManager
28
+ ##
29
+ # Client for the PrivilegedAccessManager service.
30
+ #
31
+ # This API allows customers to manage temporary, request based privileged
32
+ # access to their resources.
33
+ #
34
+ # It defines the following resource model:
35
+ #
36
+ # * A collection of `Entitlement` resources. An entitlement allows configuring
37
+ # (among other things):
38
+ #
39
+ # * Some kind of privileged access that users can request.
40
+ # * A set of users called _requesters_ who can request this access.
41
+ # * A maximum duration for which the access can be requested.
42
+ # * An optional approval workflow which must be satisfied before access is
43
+ # granted.
44
+ #
45
+ # * A collection of `Grant` resources. A grant is a request by a requester to
46
+ # get the privileged access specified in an entitlement for some duration.
47
+ #
48
+ # After the approval workflow as specified in the entitlement is satisfied,
49
+ # the specified access is given to the requester. The access is automatically
50
+ # taken back after the requested duration is over.
51
+ #
52
+ class Client
53
+ # @private
54
+ API_VERSION = ""
55
+
56
+ # @private
57
+ DEFAULT_ENDPOINT_TEMPLATE = "privilegedaccessmanager.$UNIVERSE_DOMAIN$"
58
+
59
+ include Paths
60
+
61
+ # @private
62
+ attr_reader :privileged_access_manager_stub
63
+
64
+ ##
65
+ # Configure the PrivilegedAccessManager Client class.
66
+ #
67
+ # See {::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client::Configuration}
68
+ # for a description of the configuration fields.
69
+ #
70
+ # @example
71
+ #
72
+ # # Modify the configuration for all PrivilegedAccessManager clients
73
+ # ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.configure do |config|
74
+ # config.timeout = 10.0
75
+ # end
76
+ #
77
+ # @yield [config] Configure the Client client.
78
+ # @yieldparam config [Client::Configuration]
79
+ #
80
+ # @return [Client::Configuration]
81
+ #
82
+ def self.configure
83
+ @configure ||= begin
84
+ namespace = ["Google", "Cloud", "PrivilegedAccessManager", "V1"]
85
+ parent_config = while namespace.any?
86
+ parent_name = namespace.join "::"
87
+ parent_const = const_get parent_name
88
+ break parent_const.configure if parent_const.respond_to? :configure
89
+ namespace.pop
90
+ end
91
+ default_config = Client::Configuration.new parent_config
92
+
93
+ default_config
94
+ end
95
+ yield @configure if block_given?
96
+ @configure
97
+ end
98
+
99
+ ##
100
+ # Configure the PrivilegedAccessManager Client instance.
101
+ #
102
+ # The configuration is set to the derived mode, meaning that values can be changed,
103
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
104
+ # should be made on {Client.configure}.
105
+ #
106
+ # See {::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client::Configuration}
107
+ # for a description of the configuration fields.
108
+ #
109
+ # @yield [config] Configure the Client client.
110
+ # @yieldparam config [Client::Configuration]
111
+ #
112
+ # @return [Client::Configuration]
113
+ #
114
+ def configure
115
+ yield @config if block_given?
116
+ @config
117
+ end
118
+
119
+ ##
120
+ # The effective universe domain
121
+ #
122
+ # @return [String]
123
+ #
124
+ def universe_domain
125
+ @privileged_access_manager_stub.universe_domain
126
+ end
127
+
128
+ ##
129
+ # Create a new PrivilegedAccessManager client object.
130
+ #
131
+ # @example
132
+ #
133
+ # # Create a client using the default configuration
134
+ # client = ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
135
+ #
136
+ # # Create a client using a custom configuration
137
+ # client = ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new do |config|
138
+ # config.timeout = 10.0
139
+ # end
140
+ #
141
+ # @yield [config] Configure the PrivilegedAccessManager client.
142
+ # @yieldparam config [Client::Configuration]
143
+ #
144
+ def initialize
145
+ # These require statements are intentionally placed here to initialize
146
+ # the gRPC module only when it's required.
147
+ # See https://github.com/googleapis/toolkit/issues/446
148
+ require "gapic/grpc"
149
+ require "google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_services_pb"
150
+
151
+ # Create the configuration object
152
+ @config = Configuration.new Client.configure
153
+
154
+ # Yield the configuration if needed
155
+ yield @config if block_given?
156
+
157
+ # Create credentials
158
+ credentials = @config.credentials
159
+ # Use self-signed JWT if the endpoint is unchanged from default,
160
+ # but only if the default endpoint does not have a region prefix.
161
+ enable_self_signed_jwt = @config.endpoint.nil? ||
162
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
163
+ !@config.endpoint.split(".").first.include?("-"))
164
+ credentials ||= Credentials.default scope: @config.scope,
165
+ enable_self_signed_jwt: enable_self_signed_jwt
166
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
167
+ credentials = Credentials.new credentials, scope: @config.scope
168
+ end
169
+ @quota_project_id = @config.quota_project
170
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
171
+
172
+ @operations_client = Operations.new do |config|
173
+ config.credentials = credentials
174
+ config.quota_project = @quota_project_id
175
+ config.endpoint = @config.endpoint
176
+ config.universe_domain = @config.universe_domain
177
+ end
178
+
179
+ @privileged_access_manager_stub = ::Gapic::ServiceStub.new(
180
+ ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Stub,
181
+ credentials: credentials,
182
+ endpoint: @config.endpoint,
183
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
184
+ universe_domain: @config.universe_domain,
185
+ channel_args: @config.channel_args,
186
+ interceptors: @config.interceptors,
187
+ channel_pool_config: @config.channel_pool
188
+ )
189
+
190
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
191
+ config.credentials = credentials
192
+ config.quota_project = @quota_project_id
193
+ config.endpoint = @privileged_access_manager_stub.endpoint
194
+ config.universe_domain = @privileged_access_manager_stub.universe_domain
195
+ end
196
+ end
197
+
198
+ ##
199
+ # Get the associated client for long-running operations.
200
+ #
201
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Operations]
202
+ #
203
+ attr_reader :operations_client
204
+
205
+ ##
206
+ # Get the associated client for mix-in of the Locations.
207
+ #
208
+ # @return [Google::Cloud::Location::Locations::Client]
209
+ #
210
+ attr_reader :location_client
211
+
212
+ # Service calls
213
+
214
+ ##
215
+ # CheckOnboardingStatus reports the onboarding status for a
216
+ # project/folder/organization. Any findings reported by this API need to be
217
+ # fixed before PAM can be used on the resource.
218
+ #
219
+ # @overload check_onboarding_status(request, options = nil)
220
+ # Pass arguments to `check_onboarding_status` via a request object, either of type
221
+ # {::Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusRequest} or an equivalent Hash.
222
+ #
223
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusRequest, ::Hash]
224
+ # A request object representing the call parameters. Required. To specify no
225
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
226
+ # @param options [::Gapic::CallOptions, ::Hash]
227
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
228
+ #
229
+ # @overload check_onboarding_status(parent: nil)
230
+ # Pass arguments to `check_onboarding_status` via keyword arguments. Note that at
231
+ # least one keyword argument is required. To specify no parameters, or to keep all
232
+ # the default parameter values, pass an empty Hash as a request object (see above).
233
+ #
234
+ # @param parent [::String]
235
+ # Required. The resource for which the onboarding status should be checked.
236
+ # Should be in one of the following formats:
237
+ #
238
+ # * `projects/{project-number|project-id}/locations/{region}`
239
+ # * `folders/{folder-number}/locations/{region}`
240
+ # * `organizations/{organization-number}/locations/{region}`
241
+ #
242
+ # @yield [response, operation] Access the result along with the RPC operation
243
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusResponse]
244
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
245
+ #
246
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusResponse]
247
+ #
248
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
249
+ #
250
+ # @example Basic example
251
+ # require "google/cloud/privileged_access_manager/v1"
252
+ #
253
+ # # Create a client object. The client can be reused for multiple calls.
254
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
255
+ #
256
+ # # Create a request. To set request fields, pass in keyword arguments.
257
+ # request = Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusRequest.new
258
+ #
259
+ # # Call the check_onboarding_status method.
260
+ # result = client.check_onboarding_status request
261
+ #
262
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusResponse.
263
+ # p result
264
+ #
265
+ def check_onboarding_status request, options = nil
266
+ raise ::ArgumentError, "request must be provided" if request.nil?
267
+
268
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::CheckOnboardingStatusRequest
269
+
270
+ # Converts hash and nil to an options object
271
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
272
+
273
+ # Customize the options with defaults
274
+ metadata = @config.rpcs.check_onboarding_status.metadata.to_h
275
+
276
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
277
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
278
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
279
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
280
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
281
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
282
+
283
+ header_params = {}
284
+ if request.parent
285
+ header_params["parent"] = request.parent
286
+ end
287
+
288
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
289
+ metadata[:"x-goog-request-params"] ||= request_params_header
290
+
291
+ options.apply_defaults timeout: @config.rpcs.check_onboarding_status.timeout,
292
+ metadata: metadata,
293
+ retry_policy: @config.rpcs.check_onboarding_status.retry_policy
294
+
295
+ options.apply_defaults timeout: @config.timeout,
296
+ metadata: @config.metadata,
297
+ retry_policy: @config.retry_policy
298
+
299
+ @privileged_access_manager_stub.call_rpc :check_onboarding_status, request, options: options do |response, operation|
300
+ yield response, operation if block_given?
301
+ return response
302
+ end
303
+ rescue ::GRPC::BadStatus => e
304
+ raise ::Google::Cloud::Error.from_error(e)
305
+ end
306
+
307
+ ##
308
+ # Lists entitlements in a given project/folder/organization and location.
309
+ #
310
+ # @overload list_entitlements(request, options = nil)
311
+ # Pass arguments to `list_entitlements` via a request object, either of type
312
+ # {::Google::Cloud::PrivilegedAccessManager::V1::ListEntitlementsRequest} or an equivalent Hash.
313
+ #
314
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::ListEntitlementsRequest, ::Hash]
315
+ # A request object representing the call parameters. Required. To specify no
316
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
317
+ # @param options [::Gapic::CallOptions, ::Hash]
318
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
319
+ #
320
+ # @overload list_entitlements(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
321
+ # Pass arguments to `list_entitlements` via keyword arguments. Note that at
322
+ # least one keyword argument is required. To specify no parameters, or to keep all
323
+ # the default parameter values, pass an empty Hash as a request object (see above).
324
+ #
325
+ # @param parent [::String]
326
+ # Required. The parent which owns the entitlement resources.
327
+ # @param page_size [::Integer]
328
+ # Optional. Requested page size. Server may return fewer items than
329
+ # requested. If unspecified, the server picks an appropriate default.
330
+ # @param page_token [::String]
331
+ # Optional. A token identifying a page of results the server should return.
332
+ # @param filter [::String]
333
+ # Optional. Filtering results.
334
+ # @param order_by [::String]
335
+ # Optional. Hint for how to order the results.
336
+ #
337
+ # @yield [response, operation] Access the result along with the RPC operation
338
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Entitlement>]
339
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
340
+ #
341
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Entitlement>]
342
+ #
343
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
344
+ #
345
+ # @example Basic example
346
+ # require "google/cloud/privileged_access_manager/v1"
347
+ #
348
+ # # Create a client object. The client can be reused for multiple calls.
349
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
350
+ #
351
+ # # Create a request. To set request fields, pass in keyword arguments.
352
+ # request = Google::Cloud::PrivilegedAccessManager::V1::ListEntitlementsRequest.new
353
+ #
354
+ # # Call the list_entitlements method.
355
+ # result = client.list_entitlements request
356
+ #
357
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
358
+ # # over elements, and API calls will be issued to fetch pages as needed.
359
+ # result.each do |item|
360
+ # # Each element is of type ::Google::Cloud::PrivilegedAccessManager::V1::Entitlement.
361
+ # p item
362
+ # end
363
+ #
364
+ def list_entitlements request, options = nil
365
+ raise ::ArgumentError, "request must be provided" if request.nil?
366
+
367
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::ListEntitlementsRequest
368
+
369
+ # Converts hash and nil to an options object
370
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
371
+
372
+ # Customize the options with defaults
373
+ metadata = @config.rpcs.list_entitlements.metadata.to_h
374
+
375
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
376
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
377
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
378
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
379
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
380
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
381
+
382
+ header_params = {}
383
+ if request.parent
384
+ header_params["parent"] = request.parent
385
+ end
386
+
387
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
388
+ metadata[:"x-goog-request-params"] ||= request_params_header
389
+
390
+ options.apply_defaults timeout: @config.rpcs.list_entitlements.timeout,
391
+ metadata: metadata,
392
+ retry_policy: @config.rpcs.list_entitlements.retry_policy
393
+
394
+ options.apply_defaults timeout: @config.timeout,
395
+ metadata: @config.metadata,
396
+ retry_policy: @config.retry_policy
397
+
398
+ @privileged_access_manager_stub.call_rpc :list_entitlements, request, options: options do |response, operation|
399
+ response = ::Gapic::PagedEnumerable.new @privileged_access_manager_stub, :list_entitlements, request, response, operation, options
400
+ yield response, operation if block_given?
401
+ return response
402
+ end
403
+ rescue ::GRPC::BadStatus => e
404
+ raise ::Google::Cloud::Error.from_error(e)
405
+ end
406
+
407
+ ##
408
+ # `SearchEntitlements` returns entitlements on which the caller has the
409
+ # specified access.
410
+ #
411
+ # @overload search_entitlements(request, options = nil)
412
+ # Pass arguments to `search_entitlements` via a request object, either of type
413
+ # {::Google::Cloud::PrivilegedAccessManager::V1::SearchEntitlementsRequest} or an equivalent Hash.
414
+ #
415
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::SearchEntitlementsRequest, ::Hash]
416
+ # A request object representing the call parameters. Required. To specify no
417
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
418
+ # @param options [::Gapic::CallOptions, ::Hash]
419
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
420
+ #
421
+ # @overload search_entitlements(parent: nil, caller_access_type: nil, filter: nil, page_size: nil, page_token: nil)
422
+ # Pass arguments to `search_entitlements` via keyword arguments. Note that at
423
+ # least one keyword argument is required. To specify no parameters, or to keep all
424
+ # the default parameter values, pass an empty Hash as a request object (see above).
425
+ #
426
+ # @param parent [::String]
427
+ # Required. The parent which owns the entitlement resources.
428
+ # @param caller_access_type [::Google::Cloud::PrivilegedAccessManager::V1::SearchEntitlementsRequest::CallerAccessType]
429
+ # Required. Only entitlements where the calling user has this access are
430
+ # returned.
431
+ # @param filter [::String]
432
+ # Optional. Only entitlements matching this filter are returned in the
433
+ # response.
434
+ # @param page_size [::Integer]
435
+ # Optional. Requested page size. The server may return fewer items than
436
+ # requested. If unspecified, the server picks an appropriate default.
437
+ # @param page_token [::String]
438
+ # Optional. A token identifying a page of results the server should return.
439
+ #
440
+ # @yield [response, operation] Access the result along with the RPC operation
441
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Entitlement>]
442
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
443
+ #
444
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Entitlement>]
445
+ #
446
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
447
+ #
448
+ # @example Basic example
449
+ # require "google/cloud/privileged_access_manager/v1"
450
+ #
451
+ # # Create a client object. The client can be reused for multiple calls.
452
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
453
+ #
454
+ # # Create a request. To set request fields, pass in keyword arguments.
455
+ # request = Google::Cloud::PrivilegedAccessManager::V1::SearchEntitlementsRequest.new
456
+ #
457
+ # # Call the search_entitlements method.
458
+ # result = client.search_entitlements request
459
+ #
460
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
461
+ # # over elements, and API calls will be issued to fetch pages as needed.
462
+ # result.each do |item|
463
+ # # Each element is of type ::Google::Cloud::PrivilegedAccessManager::V1::Entitlement.
464
+ # p item
465
+ # end
466
+ #
467
+ def search_entitlements request, options = nil
468
+ raise ::ArgumentError, "request must be provided" if request.nil?
469
+
470
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::SearchEntitlementsRequest
471
+
472
+ # Converts hash and nil to an options object
473
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
474
+
475
+ # Customize the options with defaults
476
+ metadata = @config.rpcs.search_entitlements.metadata.to_h
477
+
478
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
479
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
480
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
481
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
482
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
483
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
484
+
485
+ header_params = {}
486
+ if request.parent
487
+ header_params["parent"] = request.parent
488
+ end
489
+
490
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
491
+ metadata[:"x-goog-request-params"] ||= request_params_header
492
+
493
+ options.apply_defaults timeout: @config.rpcs.search_entitlements.timeout,
494
+ metadata: metadata,
495
+ retry_policy: @config.rpcs.search_entitlements.retry_policy
496
+
497
+ options.apply_defaults timeout: @config.timeout,
498
+ metadata: @config.metadata,
499
+ retry_policy: @config.retry_policy
500
+
501
+ @privileged_access_manager_stub.call_rpc :search_entitlements, request, options: options do |response, operation|
502
+ response = ::Gapic::PagedEnumerable.new @privileged_access_manager_stub, :search_entitlements, request, response, operation, options
503
+ yield response, operation if block_given?
504
+ return response
505
+ end
506
+ rescue ::GRPC::BadStatus => e
507
+ raise ::Google::Cloud::Error.from_error(e)
508
+ end
509
+
510
+ ##
511
+ # Gets details of a single entitlement.
512
+ #
513
+ # @overload get_entitlement(request, options = nil)
514
+ # Pass arguments to `get_entitlement` via a request object, either of type
515
+ # {::Google::Cloud::PrivilegedAccessManager::V1::GetEntitlementRequest} or an equivalent Hash.
516
+ #
517
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::GetEntitlementRequest, ::Hash]
518
+ # A request object representing the call parameters. Required. To specify no
519
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
520
+ # @param options [::Gapic::CallOptions, ::Hash]
521
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
522
+ #
523
+ # @overload get_entitlement(name: nil)
524
+ # Pass arguments to `get_entitlement` via keyword arguments. Note that at
525
+ # least one keyword argument is required. To specify no parameters, or to keep all
526
+ # the default parameter values, pass an empty Hash as a request object (see above).
527
+ #
528
+ # @param name [::String]
529
+ # Required. Name of the resource.
530
+ #
531
+ # @yield [response, operation] Access the result along with the RPC operation
532
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::Entitlement]
533
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
534
+ #
535
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::Entitlement]
536
+ #
537
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
538
+ #
539
+ # @example Basic example
540
+ # require "google/cloud/privileged_access_manager/v1"
541
+ #
542
+ # # Create a client object. The client can be reused for multiple calls.
543
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
544
+ #
545
+ # # Create a request. To set request fields, pass in keyword arguments.
546
+ # request = Google::Cloud::PrivilegedAccessManager::V1::GetEntitlementRequest.new
547
+ #
548
+ # # Call the get_entitlement method.
549
+ # result = client.get_entitlement request
550
+ #
551
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::Entitlement.
552
+ # p result
553
+ #
554
+ def get_entitlement request, options = nil
555
+ raise ::ArgumentError, "request must be provided" if request.nil?
556
+
557
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::GetEntitlementRequest
558
+
559
+ # Converts hash and nil to an options object
560
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
561
+
562
+ # Customize the options with defaults
563
+ metadata = @config.rpcs.get_entitlement.metadata.to_h
564
+
565
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
566
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
567
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
568
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
569
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
570
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
571
+
572
+ header_params = {}
573
+ if request.name
574
+ header_params["name"] = request.name
575
+ end
576
+
577
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
578
+ metadata[:"x-goog-request-params"] ||= request_params_header
579
+
580
+ options.apply_defaults timeout: @config.rpcs.get_entitlement.timeout,
581
+ metadata: metadata,
582
+ retry_policy: @config.rpcs.get_entitlement.retry_policy
583
+
584
+ options.apply_defaults timeout: @config.timeout,
585
+ metadata: @config.metadata,
586
+ retry_policy: @config.retry_policy
587
+
588
+ @privileged_access_manager_stub.call_rpc :get_entitlement, request, options: options do |response, operation|
589
+ yield response, operation if block_given?
590
+ return response
591
+ end
592
+ rescue ::GRPC::BadStatus => e
593
+ raise ::Google::Cloud::Error.from_error(e)
594
+ end
595
+
596
+ ##
597
+ # Creates a new entitlement in a given project/folder/organization and
598
+ # location.
599
+ #
600
+ # @overload create_entitlement(request, options = nil)
601
+ # Pass arguments to `create_entitlement` via a request object, either of type
602
+ # {::Google::Cloud::PrivilegedAccessManager::V1::CreateEntitlementRequest} or an equivalent Hash.
603
+ #
604
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::CreateEntitlementRequest, ::Hash]
605
+ # A request object representing the call parameters. Required. To specify no
606
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
607
+ # @param options [::Gapic::CallOptions, ::Hash]
608
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
609
+ #
610
+ # @overload create_entitlement(parent: nil, entitlement_id: nil, entitlement: nil, request_id: nil)
611
+ # Pass arguments to `create_entitlement` via keyword arguments. Note that at
612
+ # least one keyword argument is required. To specify no parameters, or to keep all
613
+ # the default parameter values, pass an empty Hash as a request object (see above).
614
+ #
615
+ # @param parent [::String]
616
+ # Required. Name of the parent resource for the entitlement.
617
+ # Possible formats:
618
+ #
619
+ # * `organizations/{organization-number}/locations/{region}`
620
+ # * `folders/{folder-number}/locations/{region}`
621
+ # * `projects/{project-id|project-number}/locations/{region}`
622
+ # @param entitlement_id [::String]
623
+ # Required. The ID to use for this entitlement. This becomes the last part of
624
+ # the resource name.
625
+ #
626
+ # This value should be 4-63 characters in length, and valid characters are
627
+ # "[a-z]", "[0-9]", and "-". The first character should be from [a-z].
628
+ #
629
+ # This value should be unique among all other entitlements under the
630
+ # specified `parent`.
631
+ # @param entitlement [::Google::Cloud::PrivilegedAccessManager::V1::Entitlement, ::Hash]
632
+ # Required. The resource being created
633
+ # @param request_id [::String]
634
+ # Optional. An optional request ID to identify requests. Specify a unique
635
+ # request ID so that if you must retry your request, the server knows to
636
+ # ignore the request if it has already been completed. The server guarantees
637
+ # this for at least 60 minutes after the first request.
638
+ #
639
+ # For example, consider a situation where you make an initial request and the
640
+ # request times out. If you make the request again with the same request
641
+ # ID, the server can check if original operation with the same request ID
642
+ # was received, and if so, ignores the second request and returns the
643
+ # previous operation's response. This prevents clients from accidentally
644
+ # creating duplicate commitments.
645
+ #
646
+ # The request ID must be a valid UUID with the exception that zero UUID is
647
+ # not supported (00000000-0000-0000-0000-000000000000).
648
+ #
649
+ # @yield [response, operation] Access the result along with the RPC operation
650
+ # @yieldparam response [::Gapic::Operation]
651
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
652
+ #
653
+ # @return [::Gapic::Operation]
654
+ #
655
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
656
+ #
657
+ # @example Basic example
658
+ # require "google/cloud/privileged_access_manager/v1"
659
+ #
660
+ # # Create a client object. The client can be reused for multiple calls.
661
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
662
+ #
663
+ # # Create a request. To set request fields, pass in keyword arguments.
664
+ # request = Google::Cloud::PrivilegedAccessManager::V1::CreateEntitlementRequest.new
665
+ #
666
+ # # Call the create_entitlement method.
667
+ # result = client.create_entitlement request
668
+ #
669
+ # # The returned object is of type Gapic::Operation. You can use it to
670
+ # # check the status of an operation, cancel it, or wait for results.
671
+ # # Here is how to wait for a response.
672
+ # result.wait_until_done! timeout: 60
673
+ # if result.response?
674
+ # p result.response
675
+ # else
676
+ # puts "No response received."
677
+ # end
678
+ #
679
+ def create_entitlement request, options = nil
680
+ raise ::ArgumentError, "request must be provided" if request.nil?
681
+
682
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::CreateEntitlementRequest
683
+
684
+ # Converts hash and nil to an options object
685
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
686
+
687
+ # Customize the options with defaults
688
+ metadata = @config.rpcs.create_entitlement.metadata.to_h
689
+
690
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
691
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
692
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
693
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
694
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
695
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
696
+
697
+ header_params = {}
698
+ if request.parent
699
+ header_params["parent"] = request.parent
700
+ end
701
+
702
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
703
+ metadata[:"x-goog-request-params"] ||= request_params_header
704
+
705
+ options.apply_defaults timeout: @config.rpcs.create_entitlement.timeout,
706
+ metadata: metadata,
707
+ retry_policy: @config.rpcs.create_entitlement.retry_policy
708
+
709
+ options.apply_defaults timeout: @config.timeout,
710
+ metadata: @config.metadata,
711
+ retry_policy: @config.retry_policy
712
+
713
+ @privileged_access_manager_stub.call_rpc :create_entitlement, request, options: options do |response, operation|
714
+ response = ::Gapic::Operation.new response, @operations_client, options: options
715
+ yield response, operation if block_given?
716
+ return response
717
+ end
718
+ rescue ::GRPC::BadStatus => e
719
+ raise ::Google::Cloud::Error.from_error(e)
720
+ end
721
+
722
+ ##
723
+ # Deletes a single entitlement. This method can only be called when there
724
+ # are no in-progress (ACTIVE/ACTIVATING/REVOKING) grants under the
725
+ # entitlement.
726
+ #
727
+ # @overload delete_entitlement(request, options = nil)
728
+ # Pass arguments to `delete_entitlement` via a request object, either of type
729
+ # {::Google::Cloud::PrivilegedAccessManager::V1::DeleteEntitlementRequest} or an equivalent Hash.
730
+ #
731
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::DeleteEntitlementRequest, ::Hash]
732
+ # A request object representing the call parameters. Required. To specify no
733
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
734
+ # @param options [::Gapic::CallOptions, ::Hash]
735
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
736
+ #
737
+ # @overload delete_entitlement(name: nil, request_id: nil, force: nil)
738
+ # Pass arguments to `delete_entitlement` via keyword arguments. Note that at
739
+ # least one keyword argument is required. To specify no parameters, or to keep all
740
+ # the default parameter values, pass an empty Hash as a request object (see above).
741
+ #
742
+ # @param name [::String]
743
+ # Required. Name of the resource.
744
+ # @param request_id [::String]
745
+ # Optional. An optional request ID to identify requests. Specify a unique
746
+ # request ID so that if you must retry your request, the server knows to
747
+ # ignore the request if it has already been completed. The server guarantees
748
+ # this for at least 60 minutes after the first request.
749
+ #
750
+ # For example, consider a situation where you make an initial request and the
751
+ # request times out. If you make the request again with the same request
752
+ # ID, the server can check if original operation with the same request ID
753
+ # was received, and if so, ignores the second request. This prevents
754
+ # clients from accidentally creating duplicate commitments.
755
+ #
756
+ # The request ID must be a valid UUID with the exception that zero UUID is
757
+ # not supported (00000000-0000-0000-0000-000000000000).
758
+ # @param force [::Boolean]
759
+ # Optional. If set to true, any child grant under this entitlement is also
760
+ # deleted. (Otherwise, the request only works if the entitlement has no child
761
+ # grant.)
762
+ #
763
+ # @yield [response, operation] Access the result along with the RPC operation
764
+ # @yieldparam response [::Gapic::Operation]
765
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
766
+ #
767
+ # @return [::Gapic::Operation]
768
+ #
769
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
770
+ #
771
+ # @example Basic example
772
+ # require "google/cloud/privileged_access_manager/v1"
773
+ #
774
+ # # Create a client object. The client can be reused for multiple calls.
775
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
776
+ #
777
+ # # Create a request. To set request fields, pass in keyword arguments.
778
+ # request = Google::Cloud::PrivilegedAccessManager::V1::DeleteEntitlementRequest.new
779
+ #
780
+ # # Call the delete_entitlement method.
781
+ # result = client.delete_entitlement request
782
+ #
783
+ # # The returned object is of type Gapic::Operation. You can use it to
784
+ # # check the status of an operation, cancel it, or wait for results.
785
+ # # Here is how to wait for a response.
786
+ # result.wait_until_done! timeout: 60
787
+ # if result.response?
788
+ # p result.response
789
+ # else
790
+ # puts "No response received."
791
+ # end
792
+ #
793
+ def delete_entitlement request, options = nil
794
+ raise ::ArgumentError, "request must be provided" if request.nil?
795
+
796
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::DeleteEntitlementRequest
797
+
798
+ # Converts hash and nil to an options object
799
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
800
+
801
+ # Customize the options with defaults
802
+ metadata = @config.rpcs.delete_entitlement.metadata.to_h
803
+
804
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
805
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
806
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
807
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
808
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
809
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
810
+
811
+ header_params = {}
812
+ if request.name
813
+ header_params["name"] = request.name
814
+ end
815
+
816
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
817
+ metadata[:"x-goog-request-params"] ||= request_params_header
818
+
819
+ options.apply_defaults timeout: @config.rpcs.delete_entitlement.timeout,
820
+ metadata: metadata,
821
+ retry_policy: @config.rpcs.delete_entitlement.retry_policy
822
+
823
+ options.apply_defaults timeout: @config.timeout,
824
+ metadata: @config.metadata,
825
+ retry_policy: @config.retry_policy
826
+
827
+ @privileged_access_manager_stub.call_rpc :delete_entitlement, request, options: options do |response, operation|
828
+ response = ::Gapic::Operation.new response, @operations_client, options: options
829
+ yield response, operation if block_given?
830
+ return response
831
+ end
832
+ rescue ::GRPC::BadStatus => e
833
+ raise ::Google::Cloud::Error.from_error(e)
834
+ end
835
+
836
+ ##
837
+ # Updates the entitlement specified in the request. Updated fields in the
838
+ # entitlement need to be specified in an update mask. The changes made to an
839
+ # entitlement are applicable only on future grants of the entitlement.
840
+ # However, if new approvers are added or existing approvers are removed from
841
+ # the approval workflow, the changes are effective on existing grants.
842
+ #
843
+ # The following fields are not supported for updates:
844
+ #
845
+ # * All immutable fields
846
+ # * Entitlement name
847
+ # * Resource name
848
+ # * Resource type
849
+ # * Adding an approval workflow in an entitlement which previously had no
850
+ # approval workflow.
851
+ # * Deleting the approval workflow from an entitlement.
852
+ # * Adding or deleting a step in the approval workflow (only one step is
853
+ # supported)
854
+ #
855
+ # Note that updates are allowed on the list of approvers in an approval
856
+ # workflow step.
857
+ #
858
+ # @overload update_entitlement(request, options = nil)
859
+ # Pass arguments to `update_entitlement` via a request object, either of type
860
+ # {::Google::Cloud::PrivilegedAccessManager::V1::UpdateEntitlementRequest} or an equivalent Hash.
861
+ #
862
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::UpdateEntitlementRequest, ::Hash]
863
+ # A request object representing the call parameters. Required. To specify no
864
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
865
+ # @param options [::Gapic::CallOptions, ::Hash]
866
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
867
+ #
868
+ # @overload update_entitlement(entitlement: nil, update_mask: nil)
869
+ # Pass arguments to `update_entitlement` via keyword arguments. Note that at
870
+ # least one keyword argument is required. To specify no parameters, or to keep all
871
+ # the default parameter values, pass an empty Hash as a request object (see above).
872
+ #
873
+ # @param entitlement [::Google::Cloud::PrivilegedAccessManager::V1::Entitlement, ::Hash]
874
+ # Required. The entitlement resource that is updated.
875
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
876
+ # Required. The list of fields to update. A field is overwritten if, and only
877
+ # if, it is in the mask. Any immutable fields set in the mask are ignored by
878
+ # the server. Repeated fields and map fields are only allowed in the last
879
+ # position of a `paths` string and overwrite the existing values. Hence an
880
+ # update to a repeated field or a map should contain the entire list of
881
+ # values. The fields specified in the update_mask are relative to the
882
+ # resource and not to the request.
883
+ # (e.g. `MaxRequestDuration`; *not* `entitlement.MaxRequestDuration`)
884
+ # A value of '*' for this field refers to full replacement of the resource.
885
+ #
886
+ # @yield [response, operation] Access the result along with the RPC operation
887
+ # @yieldparam response [::Gapic::Operation]
888
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
889
+ #
890
+ # @return [::Gapic::Operation]
891
+ #
892
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
893
+ #
894
+ # @example Basic example
895
+ # require "google/cloud/privileged_access_manager/v1"
896
+ #
897
+ # # Create a client object. The client can be reused for multiple calls.
898
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
899
+ #
900
+ # # Create a request. To set request fields, pass in keyword arguments.
901
+ # request = Google::Cloud::PrivilegedAccessManager::V1::UpdateEntitlementRequest.new
902
+ #
903
+ # # Call the update_entitlement method.
904
+ # result = client.update_entitlement request
905
+ #
906
+ # # The returned object is of type Gapic::Operation. You can use it to
907
+ # # check the status of an operation, cancel it, or wait for results.
908
+ # # Here is how to wait for a response.
909
+ # result.wait_until_done! timeout: 60
910
+ # if result.response?
911
+ # p result.response
912
+ # else
913
+ # puts "No response received."
914
+ # end
915
+ #
916
+ def update_entitlement request, options = nil
917
+ raise ::ArgumentError, "request must be provided" if request.nil?
918
+
919
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::UpdateEntitlementRequest
920
+
921
+ # Converts hash and nil to an options object
922
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
923
+
924
+ # Customize the options with defaults
925
+ metadata = @config.rpcs.update_entitlement.metadata.to_h
926
+
927
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
928
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
929
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
930
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
931
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
932
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
933
+
934
+ header_params = {}
935
+ if request.entitlement&.name
936
+ header_params["entitlement.name"] = request.entitlement.name
937
+ end
938
+
939
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
940
+ metadata[:"x-goog-request-params"] ||= request_params_header
941
+
942
+ options.apply_defaults timeout: @config.rpcs.update_entitlement.timeout,
943
+ metadata: metadata,
944
+ retry_policy: @config.rpcs.update_entitlement.retry_policy
945
+
946
+ options.apply_defaults timeout: @config.timeout,
947
+ metadata: @config.metadata,
948
+ retry_policy: @config.retry_policy
949
+
950
+ @privileged_access_manager_stub.call_rpc :update_entitlement, request, options: options do |response, operation|
951
+ response = ::Gapic::Operation.new response, @operations_client, options: options
952
+ yield response, operation if block_given?
953
+ return response
954
+ end
955
+ rescue ::GRPC::BadStatus => e
956
+ raise ::Google::Cloud::Error.from_error(e)
957
+ end
958
+
959
+ ##
960
+ # Lists grants for a given entitlement.
961
+ #
962
+ # @overload list_grants(request, options = nil)
963
+ # Pass arguments to `list_grants` via a request object, either of type
964
+ # {::Google::Cloud::PrivilegedAccessManager::V1::ListGrantsRequest} or an equivalent Hash.
965
+ #
966
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::ListGrantsRequest, ::Hash]
967
+ # A request object representing the call parameters. Required. To specify no
968
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
969
+ # @param options [::Gapic::CallOptions, ::Hash]
970
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
971
+ #
972
+ # @overload list_grants(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
973
+ # Pass arguments to `list_grants` via keyword arguments. Note that at
974
+ # least one keyword argument is required. To specify no parameters, or to keep all
975
+ # the default parameter values, pass an empty Hash as a request object (see above).
976
+ #
977
+ # @param parent [::String]
978
+ # Required. The parent resource which owns the grants.
979
+ # @param page_size [::Integer]
980
+ # Optional. Requested page size. The server may return fewer items than
981
+ # requested. If unspecified, the server picks an appropriate default.
982
+ # @param page_token [::String]
983
+ # Optional. A token identifying a page of results the server should return.
984
+ # @param filter [::String]
985
+ # Optional. Filtering results.
986
+ # @param order_by [::String]
987
+ # Optional. Hint for how to order the results
988
+ #
989
+ # @yield [response, operation] Access the result along with the RPC operation
990
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Grant>]
991
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
992
+ #
993
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Grant>]
994
+ #
995
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
996
+ #
997
+ # @example Basic example
998
+ # require "google/cloud/privileged_access_manager/v1"
999
+ #
1000
+ # # Create a client object. The client can be reused for multiple calls.
1001
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1002
+ #
1003
+ # # Create a request. To set request fields, pass in keyword arguments.
1004
+ # request = Google::Cloud::PrivilegedAccessManager::V1::ListGrantsRequest.new
1005
+ #
1006
+ # # Call the list_grants method.
1007
+ # result = client.list_grants request
1008
+ #
1009
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1010
+ # # over elements, and API calls will be issued to fetch pages as needed.
1011
+ # result.each do |item|
1012
+ # # Each element is of type ::Google::Cloud::PrivilegedAccessManager::V1::Grant.
1013
+ # p item
1014
+ # end
1015
+ #
1016
+ def list_grants request, options = nil
1017
+ raise ::ArgumentError, "request must be provided" if request.nil?
1018
+
1019
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::ListGrantsRequest
1020
+
1021
+ # Converts hash and nil to an options object
1022
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1023
+
1024
+ # Customize the options with defaults
1025
+ metadata = @config.rpcs.list_grants.metadata.to_h
1026
+
1027
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1028
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1029
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1030
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1031
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1032
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1033
+
1034
+ header_params = {}
1035
+ if request.parent
1036
+ header_params["parent"] = request.parent
1037
+ end
1038
+
1039
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1040
+ metadata[:"x-goog-request-params"] ||= request_params_header
1041
+
1042
+ options.apply_defaults timeout: @config.rpcs.list_grants.timeout,
1043
+ metadata: metadata,
1044
+ retry_policy: @config.rpcs.list_grants.retry_policy
1045
+
1046
+ options.apply_defaults timeout: @config.timeout,
1047
+ metadata: @config.metadata,
1048
+ retry_policy: @config.retry_policy
1049
+
1050
+ @privileged_access_manager_stub.call_rpc :list_grants, request, options: options do |response, operation|
1051
+ response = ::Gapic::PagedEnumerable.new @privileged_access_manager_stub, :list_grants, request, response, operation, options
1052
+ yield response, operation if block_given?
1053
+ return response
1054
+ end
1055
+ rescue ::GRPC::BadStatus => e
1056
+ raise ::Google::Cloud::Error.from_error(e)
1057
+ end
1058
+
1059
+ ##
1060
+ # `SearchGrants` returns grants that are related to the calling user in the
1061
+ # specified way.
1062
+ #
1063
+ # @overload search_grants(request, options = nil)
1064
+ # Pass arguments to `search_grants` via a request object, either of type
1065
+ # {::Google::Cloud::PrivilegedAccessManager::V1::SearchGrantsRequest} or an equivalent Hash.
1066
+ #
1067
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::SearchGrantsRequest, ::Hash]
1068
+ # A request object representing the call parameters. Required. To specify no
1069
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1070
+ # @param options [::Gapic::CallOptions, ::Hash]
1071
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1072
+ #
1073
+ # @overload search_grants(parent: nil, caller_relationship: nil, filter: nil, page_size: nil, page_token: nil)
1074
+ # Pass arguments to `search_grants` via keyword arguments. Note that at
1075
+ # least one keyword argument is required. To specify no parameters, or to keep all
1076
+ # the default parameter values, pass an empty Hash as a request object (see above).
1077
+ #
1078
+ # @param parent [::String]
1079
+ # Required. The parent which owns the grant resources.
1080
+ # @param caller_relationship [::Google::Cloud::PrivilegedAccessManager::V1::SearchGrantsRequest::CallerRelationshipType]
1081
+ # Required. Only grants which the caller is related to by this relationship
1082
+ # are returned in the response.
1083
+ # @param filter [::String]
1084
+ # Optional. Only grants matching this filter are returned in the response.
1085
+ # @param page_size [::Integer]
1086
+ # Optional. Requested page size. The server may return fewer items than
1087
+ # requested. If unspecified, server picks an appropriate default.
1088
+ # @param page_token [::String]
1089
+ # Optional. A token identifying a page of results the server should return.
1090
+ #
1091
+ # @yield [response, operation] Access the result along with the RPC operation
1092
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Grant>]
1093
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1094
+ #
1095
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::PrivilegedAccessManager::V1::Grant>]
1096
+ #
1097
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1098
+ #
1099
+ # @example Basic example
1100
+ # require "google/cloud/privileged_access_manager/v1"
1101
+ #
1102
+ # # Create a client object. The client can be reused for multiple calls.
1103
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1104
+ #
1105
+ # # Create a request. To set request fields, pass in keyword arguments.
1106
+ # request = Google::Cloud::PrivilegedAccessManager::V1::SearchGrantsRequest.new
1107
+ #
1108
+ # # Call the search_grants method.
1109
+ # result = client.search_grants request
1110
+ #
1111
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1112
+ # # over elements, and API calls will be issued to fetch pages as needed.
1113
+ # result.each do |item|
1114
+ # # Each element is of type ::Google::Cloud::PrivilegedAccessManager::V1::Grant.
1115
+ # p item
1116
+ # end
1117
+ #
1118
+ def search_grants request, options = nil
1119
+ raise ::ArgumentError, "request must be provided" if request.nil?
1120
+
1121
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::SearchGrantsRequest
1122
+
1123
+ # Converts hash and nil to an options object
1124
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1125
+
1126
+ # Customize the options with defaults
1127
+ metadata = @config.rpcs.search_grants.metadata.to_h
1128
+
1129
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1130
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1131
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1132
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1133
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1134
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1135
+
1136
+ header_params = {}
1137
+ if request.parent
1138
+ header_params["parent"] = request.parent
1139
+ end
1140
+
1141
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1142
+ metadata[:"x-goog-request-params"] ||= request_params_header
1143
+
1144
+ options.apply_defaults timeout: @config.rpcs.search_grants.timeout,
1145
+ metadata: metadata,
1146
+ retry_policy: @config.rpcs.search_grants.retry_policy
1147
+
1148
+ options.apply_defaults timeout: @config.timeout,
1149
+ metadata: @config.metadata,
1150
+ retry_policy: @config.retry_policy
1151
+
1152
+ @privileged_access_manager_stub.call_rpc :search_grants, request, options: options do |response, operation|
1153
+ response = ::Gapic::PagedEnumerable.new @privileged_access_manager_stub, :search_grants, request, response, operation, options
1154
+ yield response, operation if block_given?
1155
+ return response
1156
+ end
1157
+ rescue ::GRPC::BadStatus => e
1158
+ raise ::Google::Cloud::Error.from_error(e)
1159
+ end
1160
+
1161
+ ##
1162
+ # Get details of a single grant.
1163
+ #
1164
+ # @overload get_grant(request, options = nil)
1165
+ # Pass arguments to `get_grant` via a request object, either of type
1166
+ # {::Google::Cloud::PrivilegedAccessManager::V1::GetGrantRequest} or an equivalent Hash.
1167
+ #
1168
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::GetGrantRequest, ::Hash]
1169
+ # A request object representing the call parameters. Required. To specify no
1170
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1171
+ # @param options [::Gapic::CallOptions, ::Hash]
1172
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1173
+ #
1174
+ # @overload get_grant(name: nil)
1175
+ # Pass arguments to `get_grant` via keyword arguments. Note that at
1176
+ # least one keyword argument is required. To specify no parameters, or to keep all
1177
+ # the default parameter values, pass an empty Hash as a request object (see above).
1178
+ #
1179
+ # @param name [::String]
1180
+ # Required. Name of the resource.
1181
+ #
1182
+ # @yield [response, operation] Access the result along with the RPC operation
1183
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1184
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1185
+ #
1186
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1187
+ #
1188
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1189
+ #
1190
+ # @example Basic example
1191
+ # require "google/cloud/privileged_access_manager/v1"
1192
+ #
1193
+ # # Create a client object. The client can be reused for multiple calls.
1194
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1195
+ #
1196
+ # # Create a request. To set request fields, pass in keyword arguments.
1197
+ # request = Google::Cloud::PrivilegedAccessManager::V1::GetGrantRequest.new
1198
+ #
1199
+ # # Call the get_grant method.
1200
+ # result = client.get_grant request
1201
+ #
1202
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::Grant.
1203
+ # p result
1204
+ #
1205
+ def get_grant request, options = nil
1206
+ raise ::ArgumentError, "request must be provided" if request.nil?
1207
+
1208
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::GetGrantRequest
1209
+
1210
+ # Converts hash and nil to an options object
1211
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1212
+
1213
+ # Customize the options with defaults
1214
+ metadata = @config.rpcs.get_grant.metadata.to_h
1215
+
1216
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1217
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1218
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1219
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1220
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1221
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1222
+
1223
+ header_params = {}
1224
+ if request.name
1225
+ header_params["name"] = request.name
1226
+ end
1227
+
1228
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1229
+ metadata[:"x-goog-request-params"] ||= request_params_header
1230
+
1231
+ options.apply_defaults timeout: @config.rpcs.get_grant.timeout,
1232
+ metadata: metadata,
1233
+ retry_policy: @config.rpcs.get_grant.retry_policy
1234
+
1235
+ options.apply_defaults timeout: @config.timeout,
1236
+ metadata: @config.metadata,
1237
+ retry_policy: @config.retry_policy
1238
+
1239
+ @privileged_access_manager_stub.call_rpc :get_grant, request, options: options do |response, operation|
1240
+ yield response, operation if block_given?
1241
+ return response
1242
+ end
1243
+ rescue ::GRPC::BadStatus => e
1244
+ raise ::Google::Cloud::Error.from_error(e)
1245
+ end
1246
+
1247
+ ##
1248
+ # Creates a new grant in a given project and location.
1249
+ #
1250
+ # @overload create_grant(request, options = nil)
1251
+ # Pass arguments to `create_grant` via a request object, either of type
1252
+ # {::Google::Cloud::PrivilegedAccessManager::V1::CreateGrantRequest} or an equivalent Hash.
1253
+ #
1254
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::CreateGrantRequest, ::Hash]
1255
+ # A request object representing the call parameters. Required. To specify no
1256
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1257
+ # @param options [::Gapic::CallOptions, ::Hash]
1258
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1259
+ #
1260
+ # @overload create_grant(parent: nil, grant: nil, request_id: nil)
1261
+ # Pass arguments to `create_grant` via keyword arguments. Note that at
1262
+ # least one keyword argument is required. To specify no parameters, or to keep all
1263
+ # the default parameter values, pass an empty Hash as a request object (see above).
1264
+ #
1265
+ # @param parent [::String]
1266
+ # Required. Name of the parent entitlement for which this grant is being
1267
+ # requested.
1268
+ # @param grant [::Google::Cloud::PrivilegedAccessManager::V1::Grant, ::Hash]
1269
+ # Required. The resource being created.
1270
+ # @param request_id [::String]
1271
+ # Optional. An optional request ID to identify requests. Specify a unique
1272
+ # request ID so that if you must retry your request, the server knows to
1273
+ # ignore the request if it has already been completed. The server guarantees
1274
+ # this for at least 60 minutes after the first request.
1275
+ #
1276
+ # For example, consider a situation where you make an initial request and the
1277
+ # request times out. If you make the request again with the same request
1278
+ # ID, the server can check if original operation with the same request ID
1279
+ # was received, and if so, ignores the second request. This prevents
1280
+ # clients from accidentally creating duplicate commitments.
1281
+ #
1282
+ # The request ID must be a valid UUID with the exception that zero UUID is
1283
+ # not supported (00000000-0000-0000-0000-000000000000).
1284
+ #
1285
+ # @yield [response, operation] Access the result along with the RPC operation
1286
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1287
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1288
+ #
1289
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1290
+ #
1291
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1292
+ #
1293
+ # @example Basic example
1294
+ # require "google/cloud/privileged_access_manager/v1"
1295
+ #
1296
+ # # Create a client object. The client can be reused for multiple calls.
1297
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1298
+ #
1299
+ # # Create a request. To set request fields, pass in keyword arguments.
1300
+ # request = Google::Cloud::PrivilegedAccessManager::V1::CreateGrantRequest.new
1301
+ #
1302
+ # # Call the create_grant method.
1303
+ # result = client.create_grant request
1304
+ #
1305
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::Grant.
1306
+ # p result
1307
+ #
1308
+ def create_grant request, options = nil
1309
+ raise ::ArgumentError, "request must be provided" if request.nil?
1310
+
1311
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::CreateGrantRequest
1312
+
1313
+ # Converts hash and nil to an options object
1314
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1315
+
1316
+ # Customize the options with defaults
1317
+ metadata = @config.rpcs.create_grant.metadata.to_h
1318
+
1319
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1320
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1321
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1322
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1323
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1324
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1325
+
1326
+ header_params = {}
1327
+ if request.parent
1328
+ header_params["parent"] = request.parent
1329
+ end
1330
+
1331
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1332
+ metadata[:"x-goog-request-params"] ||= request_params_header
1333
+
1334
+ options.apply_defaults timeout: @config.rpcs.create_grant.timeout,
1335
+ metadata: metadata,
1336
+ retry_policy: @config.rpcs.create_grant.retry_policy
1337
+
1338
+ options.apply_defaults timeout: @config.timeout,
1339
+ metadata: @config.metadata,
1340
+ retry_policy: @config.retry_policy
1341
+
1342
+ @privileged_access_manager_stub.call_rpc :create_grant, request, options: options do |response, operation|
1343
+ yield response, operation if block_given?
1344
+ return response
1345
+ end
1346
+ rescue ::GRPC::BadStatus => e
1347
+ raise ::Google::Cloud::Error.from_error(e)
1348
+ end
1349
+
1350
+ ##
1351
+ # `ApproveGrant` is used to approve a grant. This method can only be called
1352
+ # on a grant when it's in the `APPROVAL_AWAITED` state. This operation can't
1353
+ # be undone.
1354
+ #
1355
+ # @overload approve_grant(request, options = nil)
1356
+ # Pass arguments to `approve_grant` via a request object, either of type
1357
+ # {::Google::Cloud::PrivilegedAccessManager::V1::ApproveGrantRequest} or an equivalent Hash.
1358
+ #
1359
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::ApproveGrantRequest, ::Hash]
1360
+ # A request object representing the call parameters. Required. To specify no
1361
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1362
+ # @param options [::Gapic::CallOptions, ::Hash]
1363
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1364
+ #
1365
+ # @overload approve_grant(name: nil, reason: nil)
1366
+ # Pass arguments to `approve_grant` via keyword arguments. Note that at
1367
+ # least one keyword argument is required. To specify no parameters, or to keep all
1368
+ # the default parameter values, pass an empty Hash as a request object (see above).
1369
+ #
1370
+ # @param name [::String]
1371
+ # Required. Name of the grant resource which is being approved.
1372
+ # @param reason [::String]
1373
+ # Optional. The reason for approving this grant. This is required if the
1374
+ # `require_approver_justification` field of the `ManualApprovals` workflow
1375
+ # used in this grant is true.
1376
+ #
1377
+ # @yield [response, operation] Access the result along with the RPC operation
1378
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1379
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1380
+ #
1381
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1382
+ #
1383
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1384
+ #
1385
+ # @example Basic example
1386
+ # require "google/cloud/privileged_access_manager/v1"
1387
+ #
1388
+ # # Create a client object. The client can be reused for multiple calls.
1389
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1390
+ #
1391
+ # # Create a request. To set request fields, pass in keyword arguments.
1392
+ # request = Google::Cloud::PrivilegedAccessManager::V1::ApproveGrantRequest.new
1393
+ #
1394
+ # # Call the approve_grant method.
1395
+ # result = client.approve_grant request
1396
+ #
1397
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::Grant.
1398
+ # p result
1399
+ #
1400
+ def approve_grant request, options = nil
1401
+ raise ::ArgumentError, "request must be provided" if request.nil?
1402
+
1403
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::ApproveGrantRequest
1404
+
1405
+ # Converts hash and nil to an options object
1406
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1407
+
1408
+ # Customize the options with defaults
1409
+ metadata = @config.rpcs.approve_grant.metadata.to_h
1410
+
1411
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1412
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1413
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1414
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1415
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1416
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1417
+
1418
+ header_params = {}
1419
+ if request.name
1420
+ header_params["name"] = request.name
1421
+ end
1422
+
1423
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1424
+ metadata[:"x-goog-request-params"] ||= request_params_header
1425
+
1426
+ options.apply_defaults timeout: @config.rpcs.approve_grant.timeout,
1427
+ metadata: metadata,
1428
+ retry_policy: @config.rpcs.approve_grant.retry_policy
1429
+
1430
+ options.apply_defaults timeout: @config.timeout,
1431
+ metadata: @config.metadata,
1432
+ retry_policy: @config.retry_policy
1433
+
1434
+ @privileged_access_manager_stub.call_rpc :approve_grant, request, options: options do |response, operation|
1435
+ yield response, operation if block_given?
1436
+ return response
1437
+ end
1438
+ rescue ::GRPC::BadStatus => e
1439
+ raise ::Google::Cloud::Error.from_error(e)
1440
+ end
1441
+
1442
+ ##
1443
+ # `DenyGrant` is used to deny a grant. This method can only be called on a
1444
+ # grant when it's in the `APPROVAL_AWAITED` state. This operation can't be
1445
+ # undone.
1446
+ #
1447
+ # @overload deny_grant(request, options = nil)
1448
+ # Pass arguments to `deny_grant` via a request object, either of type
1449
+ # {::Google::Cloud::PrivilegedAccessManager::V1::DenyGrantRequest} or an equivalent Hash.
1450
+ #
1451
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::DenyGrantRequest, ::Hash]
1452
+ # A request object representing the call parameters. Required. To specify no
1453
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1454
+ # @param options [::Gapic::CallOptions, ::Hash]
1455
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1456
+ #
1457
+ # @overload deny_grant(name: nil, reason: nil)
1458
+ # Pass arguments to `deny_grant` via keyword arguments. Note that at
1459
+ # least one keyword argument is required. To specify no parameters, or to keep all
1460
+ # the default parameter values, pass an empty Hash as a request object (see above).
1461
+ #
1462
+ # @param name [::String]
1463
+ # Required. Name of the grant resource which is being denied.
1464
+ # @param reason [::String]
1465
+ # Optional. The reason for denying this grant. This is required if
1466
+ # `require_approver_justification` field of the `ManualApprovals` workflow
1467
+ # used in this grant is true.
1468
+ #
1469
+ # @yield [response, operation] Access the result along with the RPC operation
1470
+ # @yieldparam response [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1471
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1472
+ #
1473
+ # @return [::Google::Cloud::PrivilegedAccessManager::V1::Grant]
1474
+ #
1475
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1476
+ #
1477
+ # @example Basic example
1478
+ # require "google/cloud/privileged_access_manager/v1"
1479
+ #
1480
+ # # Create a client object. The client can be reused for multiple calls.
1481
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1482
+ #
1483
+ # # Create a request. To set request fields, pass in keyword arguments.
1484
+ # request = Google::Cloud::PrivilegedAccessManager::V1::DenyGrantRequest.new
1485
+ #
1486
+ # # Call the deny_grant method.
1487
+ # result = client.deny_grant request
1488
+ #
1489
+ # # The returned object is of type Google::Cloud::PrivilegedAccessManager::V1::Grant.
1490
+ # p result
1491
+ #
1492
+ def deny_grant request, options = nil
1493
+ raise ::ArgumentError, "request must be provided" if request.nil?
1494
+
1495
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::DenyGrantRequest
1496
+
1497
+ # Converts hash and nil to an options object
1498
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1499
+
1500
+ # Customize the options with defaults
1501
+ metadata = @config.rpcs.deny_grant.metadata.to_h
1502
+
1503
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1504
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1505
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1506
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1507
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1508
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1509
+
1510
+ header_params = {}
1511
+ if request.name
1512
+ header_params["name"] = request.name
1513
+ end
1514
+
1515
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1516
+ metadata[:"x-goog-request-params"] ||= request_params_header
1517
+
1518
+ options.apply_defaults timeout: @config.rpcs.deny_grant.timeout,
1519
+ metadata: metadata,
1520
+ retry_policy: @config.rpcs.deny_grant.retry_policy
1521
+
1522
+ options.apply_defaults timeout: @config.timeout,
1523
+ metadata: @config.metadata,
1524
+ retry_policy: @config.retry_policy
1525
+
1526
+ @privileged_access_manager_stub.call_rpc :deny_grant, request, options: options do |response, operation|
1527
+ yield response, operation if block_given?
1528
+ return response
1529
+ end
1530
+ rescue ::GRPC::BadStatus => e
1531
+ raise ::Google::Cloud::Error.from_error(e)
1532
+ end
1533
+
1534
+ ##
1535
+ # `RevokeGrant` is used to immediately revoke access for a grant. This method
1536
+ # can be called when the grant is in a non-terminal state.
1537
+ #
1538
+ # @overload revoke_grant(request, options = nil)
1539
+ # Pass arguments to `revoke_grant` via a request object, either of type
1540
+ # {::Google::Cloud::PrivilegedAccessManager::V1::RevokeGrantRequest} or an equivalent Hash.
1541
+ #
1542
+ # @param request [::Google::Cloud::PrivilegedAccessManager::V1::RevokeGrantRequest, ::Hash]
1543
+ # A request object representing the call parameters. Required. To specify no
1544
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1545
+ # @param options [::Gapic::CallOptions, ::Hash]
1546
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1547
+ #
1548
+ # @overload revoke_grant(name: nil, reason: nil)
1549
+ # Pass arguments to `revoke_grant` via keyword arguments. Note that at
1550
+ # least one keyword argument is required. To specify no parameters, or to keep all
1551
+ # the default parameter values, pass an empty Hash as a request object (see above).
1552
+ #
1553
+ # @param name [::String]
1554
+ # Required. Name of the grant resource which is being revoked.
1555
+ # @param reason [::String]
1556
+ # Optional. The reason for revoking this grant.
1557
+ #
1558
+ # @yield [response, operation] Access the result along with the RPC operation
1559
+ # @yieldparam response [::Gapic::Operation]
1560
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1561
+ #
1562
+ # @return [::Gapic::Operation]
1563
+ #
1564
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1565
+ #
1566
+ # @example Basic example
1567
+ # require "google/cloud/privileged_access_manager/v1"
1568
+ #
1569
+ # # Create a client object. The client can be reused for multiple calls.
1570
+ # client = Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new
1571
+ #
1572
+ # # Create a request. To set request fields, pass in keyword arguments.
1573
+ # request = Google::Cloud::PrivilegedAccessManager::V1::RevokeGrantRequest.new
1574
+ #
1575
+ # # Call the revoke_grant method.
1576
+ # result = client.revoke_grant request
1577
+ #
1578
+ # # The returned object is of type Gapic::Operation. You can use it to
1579
+ # # check the status of an operation, cancel it, or wait for results.
1580
+ # # Here is how to wait for a response.
1581
+ # result.wait_until_done! timeout: 60
1582
+ # if result.response?
1583
+ # p result.response
1584
+ # else
1585
+ # puts "No response received."
1586
+ # end
1587
+ #
1588
+ def revoke_grant request, options = nil
1589
+ raise ::ArgumentError, "request must be provided" if request.nil?
1590
+
1591
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::PrivilegedAccessManager::V1::RevokeGrantRequest
1592
+
1593
+ # Converts hash and nil to an options object
1594
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1595
+
1596
+ # Customize the options with defaults
1597
+ metadata = @config.rpcs.revoke_grant.metadata.to_h
1598
+
1599
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1600
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1601
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1602
+ gapic_version: ::Google::Cloud::PrivilegedAccessManager::V1::VERSION
1603
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1604
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1605
+
1606
+ header_params = {}
1607
+ if request.name
1608
+ header_params["name"] = request.name
1609
+ end
1610
+
1611
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1612
+ metadata[:"x-goog-request-params"] ||= request_params_header
1613
+
1614
+ options.apply_defaults timeout: @config.rpcs.revoke_grant.timeout,
1615
+ metadata: metadata,
1616
+ retry_policy: @config.rpcs.revoke_grant.retry_policy
1617
+
1618
+ options.apply_defaults timeout: @config.timeout,
1619
+ metadata: @config.metadata,
1620
+ retry_policy: @config.retry_policy
1621
+
1622
+ @privileged_access_manager_stub.call_rpc :revoke_grant, request, options: options do |response, operation|
1623
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1624
+ yield response, operation if block_given?
1625
+ return response
1626
+ end
1627
+ rescue ::GRPC::BadStatus => e
1628
+ raise ::Google::Cloud::Error.from_error(e)
1629
+ end
1630
+
1631
+ ##
1632
+ # Configuration class for the PrivilegedAccessManager API.
1633
+ #
1634
+ # This class represents the configuration for PrivilegedAccessManager,
1635
+ # providing control over timeouts, retry behavior, logging, transport
1636
+ # parameters, and other low-level controls. Certain parameters can also be
1637
+ # applied individually to specific RPCs. See
1638
+ # {::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client::Configuration::Rpcs}
1639
+ # for a list of RPCs that can be configured independently.
1640
+ #
1641
+ # Configuration can be applied globally to all clients, or to a single client
1642
+ # on construction.
1643
+ #
1644
+ # @example
1645
+ #
1646
+ # # Modify the global config, setting the timeout for
1647
+ # # check_onboarding_status to 20 seconds,
1648
+ # # and all remaining timeouts to 10 seconds.
1649
+ # ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.configure do |config|
1650
+ # config.timeout = 10.0
1651
+ # config.rpcs.check_onboarding_status.timeout = 20.0
1652
+ # end
1653
+ #
1654
+ # # Apply the above configuration only to a new client.
1655
+ # client = ::Google::Cloud::PrivilegedAccessManager::V1::PrivilegedAccessManager::Client.new do |config|
1656
+ # config.timeout = 10.0
1657
+ # config.rpcs.check_onboarding_status.timeout = 20.0
1658
+ # end
1659
+ #
1660
+ # @!attribute [rw] endpoint
1661
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1662
+ # nil, indicating to use the default endpoint in the current universe domain.
1663
+ # @return [::String,nil]
1664
+ # @!attribute [rw] credentials
1665
+ # Credentials to send with calls. You may provide any of the following types:
1666
+ # * (`String`) The path to a service account key file in JSON format
1667
+ # * (`Hash`) A service account key as a Hash
1668
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1669
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
1670
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1671
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1672
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1673
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1674
+ # * (`nil`) indicating no credentials
1675
+ # @return [::Object]
1676
+ # @!attribute [rw] scope
1677
+ # The OAuth scopes
1678
+ # @return [::Array<::String>]
1679
+ # @!attribute [rw] lib_name
1680
+ # The library name as recorded in instrumentation and logging
1681
+ # @return [::String]
1682
+ # @!attribute [rw] lib_version
1683
+ # The library version as recorded in instrumentation and logging
1684
+ # @return [::String]
1685
+ # @!attribute [rw] channel_args
1686
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1687
+ # `GRPC::Core::Channel` object is provided as the credential.
1688
+ # @return [::Hash]
1689
+ # @!attribute [rw] interceptors
1690
+ # An array of interceptors that are run before calls are executed.
1691
+ # @return [::Array<::GRPC::ClientInterceptor>]
1692
+ # @!attribute [rw] timeout
1693
+ # The call timeout in seconds.
1694
+ # @return [::Numeric]
1695
+ # @!attribute [rw] metadata
1696
+ # Additional gRPC headers to be sent with the call.
1697
+ # @return [::Hash{::Symbol=>::String}]
1698
+ # @!attribute [rw] retry_policy
1699
+ # The retry policy. The value is a hash with the following keys:
1700
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1701
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1702
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1703
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1704
+ # trigger a retry.
1705
+ # @return [::Hash]
1706
+ # @!attribute [rw] quota_project
1707
+ # A separate project against which to charge quota.
1708
+ # @return [::String]
1709
+ # @!attribute [rw] universe_domain
1710
+ # The universe domain within which to make requests. This determines the
1711
+ # default endpoint URL. The default value of nil uses the environment
1712
+ # universe (usually the default "googleapis.com" universe).
1713
+ # @return [::String,nil]
1714
+ #
1715
+ class Configuration
1716
+ extend ::Gapic::Config
1717
+
1718
+ # @private
1719
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1720
+ DEFAULT_ENDPOINT = "privilegedaccessmanager.googleapis.com"
1721
+
1722
+ config_attr :endpoint, nil, ::String, nil
1723
+ config_attr :credentials, nil do |value|
1724
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1725
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1726
+ allowed.any? { |klass| klass === value }
1727
+ end
1728
+ config_attr :scope, nil, ::String, ::Array, nil
1729
+ config_attr :lib_name, nil, ::String, nil
1730
+ config_attr :lib_version, nil, ::String, nil
1731
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1732
+ config_attr :interceptors, nil, ::Array, nil
1733
+ config_attr :timeout, nil, ::Numeric, nil
1734
+ config_attr :metadata, nil, ::Hash, nil
1735
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1736
+ config_attr :quota_project, nil, ::String, nil
1737
+ config_attr :universe_domain, nil, ::String, nil
1738
+
1739
+ # @private
1740
+ def initialize parent_config = nil
1741
+ @parent_config = parent_config unless parent_config.nil?
1742
+
1743
+ yield self if block_given?
1744
+ end
1745
+
1746
+ ##
1747
+ # Configurations for individual RPCs
1748
+ # @return [Rpcs]
1749
+ #
1750
+ def rpcs
1751
+ @rpcs ||= begin
1752
+ parent_rpcs = nil
1753
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1754
+ Rpcs.new parent_rpcs
1755
+ end
1756
+ end
1757
+
1758
+ ##
1759
+ # Configuration for the channel pool
1760
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1761
+ #
1762
+ def channel_pool
1763
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1764
+ end
1765
+
1766
+ ##
1767
+ # Configuration RPC class for the PrivilegedAccessManager API.
1768
+ #
1769
+ # Includes fields providing the configuration for each RPC in this service.
1770
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1771
+ # the following configuration fields:
1772
+ #
1773
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1774
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1775
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1776
+ # include the following keys:
1777
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1778
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1779
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1780
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1781
+ # trigger a retry.
1782
+ #
1783
+ class Rpcs
1784
+ ##
1785
+ # RPC-specific configuration for `check_onboarding_status`
1786
+ # @return [::Gapic::Config::Method]
1787
+ #
1788
+ attr_reader :check_onboarding_status
1789
+ ##
1790
+ # RPC-specific configuration for `list_entitlements`
1791
+ # @return [::Gapic::Config::Method]
1792
+ #
1793
+ attr_reader :list_entitlements
1794
+ ##
1795
+ # RPC-specific configuration for `search_entitlements`
1796
+ # @return [::Gapic::Config::Method]
1797
+ #
1798
+ attr_reader :search_entitlements
1799
+ ##
1800
+ # RPC-specific configuration for `get_entitlement`
1801
+ # @return [::Gapic::Config::Method]
1802
+ #
1803
+ attr_reader :get_entitlement
1804
+ ##
1805
+ # RPC-specific configuration for `create_entitlement`
1806
+ # @return [::Gapic::Config::Method]
1807
+ #
1808
+ attr_reader :create_entitlement
1809
+ ##
1810
+ # RPC-specific configuration for `delete_entitlement`
1811
+ # @return [::Gapic::Config::Method]
1812
+ #
1813
+ attr_reader :delete_entitlement
1814
+ ##
1815
+ # RPC-specific configuration for `update_entitlement`
1816
+ # @return [::Gapic::Config::Method]
1817
+ #
1818
+ attr_reader :update_entitlement
1819
+ ##
1820
+ # RPC-specific configuration for `list_grants`
1821
+ # @return [::Gapic::Config::Method]
1822
+ #
1823
+ attr_reader :list_grants
1824
+ ##
1825
+ # RPC-specific configuration for `search_grants`
1826
+ # @return [::Gapic::Config::Method]
1827
+ #
1828
+ attr_reader :search_grants
1829
+ ##
1830
+ # RPC-specific configuration for `get_grant`
1831
+ # @return [::Gapic::Config::Method]
1832
+ #
1833
+ attr_reader :get_grant
1834
+ ##
1835
+ # RPC-specific configuration for `create_grant`
1836
+ # @return [::Gapic::Config::Method]
1837
+ #
1838
+ attr_reader :create_grant
1839
+ ##
1840
+ # RPC-specific configuration for `approve_grant`
1841
+ # @return [::Gapic::Config::Method]
1842
+ #
1843
+ attr_reader :approve_grant
1844
+ ##
1845
+ # RPC-specific configuration for `deny_grant`
1846
+ # @return [::Gapic::Config::Method]
1847
+ #
1848
+ attr_reader :deny_grant
1849
+ ##
1850
+ # RPC-specific configuration for `revoke_grant`
1851
+ # @return [::Gapic::Config::Method]
1852
+ #
1853
+ attr_reader :revoke_grant
1854
+
1855
+ # @private
1856
+ def initialize parent_rpcs = nil
1857
+ check_onboarding_status_config = parent_rpcs.check_onboarding_status if parent_rpcs.respond_to? :check_onboarding_status
1858
+ @check_onboarding_status = ::Gapic::Config::Method.new check_onboarding_status_config
1859
+ list_entitlements_config = parent_rpcs.list_entitlements if parent_rpcs.respond_to? :list_entitlements
1860
+ @list_entitlements = ::Gapic::Config::Method.new list_entitlements_config
1861
+ search_entitlements_config = parent_rpcs.search_entitlements if parent_rpcs.respond_to? :search_entitlements
1862
+ @search_entitlements = ::Gapic::Config::Method.new search_entitlements_config
1863
+ get_entitlement_config = parent_rpcs.get_entitlement if parent_rpcs.respond_to? :get_entitlement
1864
+ @get_entitlement = ::Gapic::Config::Method.new get_entitlement_config
1865
+ create_entitlement_config = parent_rpcs.create_entitlement if parent_rpcs.respond_to? :create_entitlement
1866
+ @create_entitlement = ::Gapic::Config::Method.new create_entitlement_config
1867
+ delete_entitlement_config = parent_rpcs.delete_entitlement if parent_rpcs.respond_to? :delete_entitlement
1868
+ @delete_entitlement = ::Gapic::Config::Method.new delete_entitlement_config
1869
+ update_entitlement_config = parent_rpcs.update_entitlement if parent_rpcs.respond_to? :update_entitlement
1870
+ @update_entitlement = ::Gapic::Config::Method.new update_entitlement_config
1871
+ list_grants_config = parent_rpcs.list_grants if parent_rpcs.respond_to? :list_grants
1872
+ @list_grants = ::Gapic::Config::Method.new list_grants_config
1873
+ search_grants_config = parent_rpcs.search_grants if parent_rpcs.respond_to? :search_grants
1874
+ @search_grants = ::Gapic::Config::Method.new search_grants_config
1875
+ get_grant_config = parent_rpcs.get_grant if parent_rpcs.respond_to? :get_grant
1876
+ @get_grant = ::Gapic::Config::Method.new get_grant_config
1877
+ create_grant_config = parent_rpcs.create_grant if parent_rpcs.respond_to? :create_grant
1878
+ @create_grant = ::Gapic::Config::Method.new create_grant_config
1879
+ approve_grant_config = parent_rpcs.approve_grant if parent_rpcs.respond_to? :approve_grant
1880
+ @approve_grant = ::Gapic::Config::Method.new approve_grant_config
1881
+ deny_grant_config = parent_rpcs.deny_grant if parent_rpcs.respond_to? :deny_grant
1882
+ @deny_grant = ::Gapic::Config::Method.new deny_grant_config
1883
+ revoke_grant_config = parent_rpcs.revoke_grant if parent_rpcs.respond_to? :revoke_grant
1884
+ @revoke_grant = ::Gapic::Config::Method.new revoke_grant_config
1885
+
1886
+ yield self if block_given?
1887
+ end
1888
+ end
1889
+ end
1890
+ end
1891
+ end
1892
+ end
1893
+ end
1894
+ end
1895
+ end