google-cloud-billing-v1 0.10.0 → 0.12.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.
@@ -0,0 +1,639 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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/billing/v1/cloud_billing_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Billing
24
+ module V1
25
+ module CloudBilling
26
+ module Rest
27
+ ##
28
+ # REST service stub for the CloudBilling service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ numeric_enums: true,
40
+ raise_faraday_errors: false
41
+ end
42
+
43
+ ##
44
+ # Baseline implementation for the get_billing_account REST call
45
+ #
46
+ # @param request_pb [::Google::Cloud::Billing::V1::GetBillingAccountRequest]
47
+ # A request object representing the call parameters. Required.
48
+ # @param options [::Gapic::CallOptions]
49
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
50
+ #
51
+ # @yield [result, operation] Access the result along with the TransportOperation object
52
+ # @yieldparam result [::Google::Cloud::Billing::V1::BillingAccount]
53
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
54
+ #
55
+ # @return [::Google::Cloud::Billing::V1::BillingAccount]
56
+ # A result object deserialized from the server's reply
57
+ def get_billing_account request_pb, options = nil
58
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
59
+
60
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_billing_account_request request_pb
61
+ query_string_params = if query_string_params.any?
62
+ query_string_params.to_h { |p| p.split "=", 2 }
63
+ else
64
+ {}
65
+ end
66
+
67
+ response = @client_stub.make_http_request(
68
+ verb,
69
+ uri: uri,
70
+ body: body || "",
71
+ params: query_string_params,
72
+ options: options
73
+ )
74
+ operation = ::Gapic::Rest::TransportOperation.new response
75
+ result = ::Google::Cloud::Billing::V1::BillingAccount.decode_json response.body, ignore_unknown_fields: true
76
+
77
+ yield result, operation if block_given?
78
+ result
79
+ end
80
+
81
+ ##
82
+ # Baseline implementation for the list_billing_accounts REST call
83
+ #
84
+ # @param request_pb [::Google::Cloud::Billing::V1::ListBillingAccountsRequest]
85
+ # A request object representing the call parameters. Required.
86
+ # @param options [::Gapic::CallOptions]
87
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
88
+ #
89
+ # @yield [result, operation] Access the result along with the TransportOperation object
90
+ # @yieldparam result [::Google::Cloud::Billing::V1::ListBillingAccountsResponse]
91
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
92
+ #
93
+ # @return [::Google::Cloud::Billing::V1::ListBillingAccountsResponse]
94
+ # A result object deserialized from the server's reply
95
+ def list_billing_accounts request_pb, options = nil
96
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
97
+
98
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_billing_accounts_request request_pb
99
+ query_string_params = if query_string_params.any?
100
+ query_string_params.to_h { |p| p.split "=", 2 }
101
+ else
102
+ {}
103
+ end
104
+
105
+ response = @client_stub.make_http_request(
106
+ verb,
107
+ uri: uri,
108
+ body: body || "",
109
+ params: query_string_params,
110
+ options: options
111
+ )
112
+ operation = ::Gapic::Rest::TransportOperation.new response
113
+ result = ::Google::Cloud::Billing::V1::ListBillingAccountsResponse.decode_json response.body, ignore_unknown_fields: true
114
+
115
+ yield result, operation if block_given?
116
+ result
117
+ end
118
+
119
+ ##
120
+ # Baseline implementation for the update_billing_account REST call
121
+ #
122
+ # @param request_pb [::Google::Cloud::Billing::V1::UpdateBillingAccountRequest]
123
+ # A request object representing the call parameters. Required.
124
+ # @param options [::Gapic::CallOptions]
125
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
126
+ #
127
+ # @yield [result, operation] Access the result along with the TransportOperation object
128
+ # @yieldparam result [::Google::Cloud::Billing::V1::BillingAccount]
129
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
130
+ #
131
+ # @return [::Google::Cloud::Billing::V1::BillingAccount]
132
+ # A result object deserialized from the server's reply
133
+ def update_billing_account request_pb, options = nil
134
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
135
+
136
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_billing_account_request request_pb
137
+ query_string_params = if query_string_params.any?
138
+ query_string_params.to_h { |p| p.split "=", 2 }
139
+ else
140
+ {}
141
+ end
142
+
143
+ response = @client_stub.make_http_request(
144
+ verb,
145
+ uri: uri,
146
+ body: body || "",
147
+ params: query_string_params,
148
+ options: options
149
+ )
150
+ operation = ::Gapic::Rest::TransportOperation.new response
151
+ result = ::Google::Cloud::Billing::V1::BillingAccount.decode_json response.body, ignore_unknown_fields: true
152
+
153
+ yield result, operation if block_given?
154
+ result
155
+ end
156
+
157
+ ##
158
+ # Baseline implementation for the create_billing_account REST call
159
+ #
160
+ # @param request_pb [::Google::Cloud::Billing::V1::CreateBillingAccountRequest]
161
+ # A request object representing the call parameters. Required.
162
+ # @param options [::Gapic::CallOptions]
163
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
164
+ #
165
+ # @yield [result, operation] Access the result along with the TransportOperation object
166
+ # @yieldparam result [::Google::Cloud::Billing::V1::BillingAccount]
167
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
168
+ #
169
+ # @return [::Google::Cloud::Billing::V1::BillingAccount]
170
+ # A result object deserialized from the server's reply
171
+ def create_billing_account request_pb, options = nil
172
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
173
+
174
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_billing_account_request request_pb
175
+ query_string_params = if query_string_params.any?
176
+ query_string_params.to_h { |p| p.split "=", 2 }
177
+ else
178
+ {}
179
+ end
180
+
181
+ response = @client_stub.make_http_request(
182
+ verb,
183
+ uri: uri,
184
+ body: body || "",
185
+ params: query_string_params,
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Cloud::Billing::V1::BillingAccount.decode_json response.body, ignore_unknown_fields: true
190
+
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+
195
+ ##
196
+ # Baseline implementation for the list_project_billing_info REST call
197
+ #
198
+ # @param request_pb [::Google::Cloud::Billing::V1::ListProjectBillingInfoRequest]
199
+ # A request object representing the call parameters. Required.
200
+ # @param options [::Gapic::CallOptions]
201
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
202
+ #
203
+ # @yield [result, operation] Access the result along with the TransportOperation object
204
+ # @yieldparam result [::Google::Cloud::Billing::V1::ListProjectBillingInfoResponse]
205
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
206
+ #
207
+ # @return [::Google::Cloud::Billing::V1::ListProjectBillingInfoResponse]
208
+ # A result object deserialized from the server's reply
209
+ def list_project_billing_info request_pb, options = nil
210
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
211
+
212
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_project_billing_info_request request_pb
213
+ query_string_params = if query_string_params.any?
214
+ query_string_params.to_h { |p| p.split "=", 2 }
215
+ else
216
+ {}
217
+ end
218
+
219
+ response = @client_stub.make_http_request(
220
+ verb,
221
+ uri: uri,
222
+ body: body || "",
223
+ params: query_string_params,
224
+ options: options
225
+ )
226
+ operation = ::Gapic::Rest::TransportOperation.new response
227
+ result = ::Google::Cloud::Billing::V1::ListProjectBillingInfoResponse.decode_json response.body, ignore_unknown_fields: true
228
+
229
+ yield result, operation if block_given?
230
+ result
231
+ end
232
+
233
+ ##
234
+ # Baseline implementation for the get_project_billing_info REST call
235
+ #
236
+ # @param request_pb [::Google::Cloud::Billing::V1::GetProjectBillingInfoRequest]
237
+ # A request object representing the call parameters. Required.
238
+ # @param options [::Gapic::CallOptions]
239
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
240
+ #
241
+ # @yield [result, operation] Access the result along with the TransportOperation object
242
+ # @yieldparam result [::Google::Cloud::Billing::V1::ProjectBillingInfo]
243
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
244
+ #
245
+ # @return [::Google::Cloud::Billing::V1::ProjectBillingInfo]
246
+ # A result object deserialized from the server's reply
247
+ def get_project_billing_info request_pb, options = nil
248
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
249
+
250
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_project_billing_info_request request_pb
251
+ query_string_params = if query_string_params.any?
252
+ query_string_params.to_h { |p| p.split "=", 2 }
253
+ else
254
+ {}
255
+ end
256
+
257
+ response = @client_stub.make_http_request(
258
+ verb,
259
+ uri: uri,
260
+ body: body || "",
261
+ params: query_string_params,
262
+ options: options
263
+ )
264
+ operation = ::Gapic::Rest::TransportOperation.new response
265
+ result = ::Google::Cloud::Billing::V1::ProjectBillingInfo.decode_json response.body, ignore_unknown_fields: true
266
+
267
+ yield result, operation if block_given?
268
+ result
269
+ end
270
+
271
+ ##
272
+ # Baseline implementation for the update_project_billing_info REST call
273
+ #
274
+ # @param request_pb [::Google::Cloud::Billing::V1::UpdateProjectBillingInfoRequest]
275
+ # A request object representing the call parameters. Required.
276
+ # @param options [::Gapic::CallOptions]
277
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
278
+ #
279
+ # @yield [result, operation] Access the result along with the TransportOperation object
280
+ # @yieldparam result [::Google::Cloud::Billing::V1::ProjectBillingInfo]
281
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
282
+ #
283
+ # @return [::Google::Cloud::Billing::V1::ProjectBillingInfo]
284
+ # A result object deserialized from the server's reply
285
+ def update_project_billing_info request_pb, options = nil
286
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
287
+
288
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_project_billing_info_request request_pb
289
+ query_string_params = if query_string_params.any?
290
+ query_string_params.to_h { |p| p.split "=", 2 }
291
+ else
292
+ {}
293
+ end
294
+
295
+ response = @client_stub.make_http_request(
296
+ verb,
297
+ uri: uri,
298
+ body: body || "",
299
+ params: query_string_params,
300
+ options: options
301
+ )
302
+ operation = ::Gapic::Rest::TransportOperation.new response
303
+ result = ::Google::Cloud::Billing::V1::ProjectBillingInfo.decode_json response.body, ignore_unknown_fields: true
304
+
305
+ yield result, operation if block_given?
306
+ result
307
+ end
308
+
309
+ ##
310
+ # Baseline implementation for the get_iam_policy REST call
311
+ #
312
+ # @param request_pb [::Google::Iam::V1::GetIamPolicyRequest]
313
+ # A request object representing the call parameters. Required.
314
+ # @param options [::Gapic::CallOptions]
315
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
316
+ #
317
+ # @yield [result, operation] Access the result along with the TransportOperation object
318
+ # @yieldparam result [::Google::Iam::V1::Policy]
319
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
320
+ #
321
+ # @return [::Google::Iam::V1::Policy]
322
+ # A result object deserialized from the server's reply
323
+ def get_iam_policy request_pb, options = nil
324
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
325
+
326
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_iam_policy_request request_pb
327
+ query_string_params = if query_string_params.any?
328
+ query_string_params.to_h { |p| p.split "=", 2 }
329
+ else
330
+ {}
331
+ end
332
+
333
+ response = @client_stub.make_http_request(
334
+ verb,
335
+ uri: uri,
336
+ body: body || "",
337
+ params: query_string_params,
338
+ options: options
339
+ )
340
+ operation = ::Gapic::Rest::TransportOperation.new response
341
+ result = ::Google::Iam::V1::Policy.decode_json response.body, ignore_unknown_fields: true
342
+
343
+ yield result, operation if block_given?
344
+ result
345
+ end
346
+
347
+ ##
348
+ # Baseline implementation for the set_iam_policy REST call
349
+ #
350
+ # @param request_pb [::Google::Iam::V1::SetIamPolicyRequest]
351
+ # A request object representing the call parameters. Required.
352
+ # @param options [::Gapic::CallOptions]
353
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
354
+ #
355
+ # @yield [result, operation] Access the result along with the TransportOperation object
356
+ # @yieldparam result [::Google::Iam::V1::Policy]
357
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
358
+ #
359
+ # @return [::Google::Iam::V1::Policy]
360
+ # A result object deserialized from the server's reply
361
+ def set_iam_policy request_pb, options = nil
362
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
363
+
364
+ verb, uri, query_string_params, body = ServiceStub.transcode_set_iam_policy_request request_pb
365
+ query_string_params = if query_string_params.any?
366
+ query_string_params.to_h { |p| p.split "=", 2 }
367
+ else
368
+ {}
369
+ end
370
+
371
+ response = @client_stub.make_http_request(
372
+ verb,
373
+ uri: uri,
374
+ body: body || "",
375
+ params: query_string_params,
376
+ options: options
377
+ )
378
+ operation = ::Gapic::Rest::TransportOperation.new response
379
+ result = ::Google::Iam::V1::Policy.decode_json response.body, ignore_unknown_fields: true
380
+
381
+ yield result, operation if block_given?
382
+ result
383
+ end
384
+
385
+ ##
386
+ # Baseline implementation for the test_iam_permissions REST call
387
+ #
388
+ # @param request_pb [::Google::Iam::V1::TestIamPermissionsRequest]
389
+ # A request object representing the call parameters. Required.
390
+ # @param options [::Gapic::CallOptions]
391
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
392
+ #
393
+ # @yield [result, operation] Access the result along with the TransportOperation object
394
+ # @yieldparam result [::Google::Iam::V1::TestIamPermissionsResponse]
395
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
396
+ #
397
+ # @return [::Google::Iam::V1::TestIamPermissionsResponse]
398
+ # A result object deserialized from the server's reply
399
+ def test_iam_permissions request_pb, options = nil
400
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
401
+
402
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
403
+ query_string_params = if query_string_params.any?
404
+ query_string_params.to_h { |p| p.split "=", 2 }
405
+ else
406
+ {}
407
+ end
408
+
409
+ response = @client_stub.make_http_request(
410
+ verb,
411
+ uri: uri,
412
+ body: body || "",
413
+ params: query_string_params,
414
+ options: options
415
+ )
416
+ operation = ::Gapic::Rest::TransportOperation.new response
417
+ result = ::Google::Iam::V1::TestIamPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
418
+
419
+ yield result, operation if block_given?
420
+ result
421
+ end
422
+
423
+ ##
424
+ # @private
425
+ #
426
+ # GRPC transcoding helper method for the get_billing_account REST call
427
+ #
428
+ # @param request_pb [::Google::Cloud::Billing::V1::GetBillingAccountRequest]
429
+ # A request object representing the call parameters. Required.
430
+ # @return [Array(String, [String, nil], Hash{String => String})]
431
+ # Uri, Body, Query string parameters
432
+ def self.transcode_get_billing_account_request request_pb
433
+ transcoder = Gapic::Rest::GrpcTranscoder.new
434
+ .with_bindings(
435
+ uri_method: :get,
436
+ uri_template: "/v1/{name}",
437
+ matches: [
438
+ ["name", %r{^billingAccounts/[^/]+/?$}, false]
439
+ ]
440
+ )
441
+ transcoder.transcode request_pb
442
+ end
443
+
444
+ ##
445
+ # @private
446
+ #
447
+ # GRPC transcoding helper method for the list_billing_accounts REST call
448
+ #
449
+ # @param request_pb [::Google::Cloud::Billing::V1::ListBillingAccountsRequest]
450
+ # A request object representing the call parameters. Required.
451
+ # @return [Array(String, [String, nil], Hash{String => String})]
452
+ # Uri, Body, Query string parameters
453
+ def self.transcode_list_billing_accounts_request request_pb
454
+ transcoder = Gapic::Rest::GrpcTranscoder.new
455
+ .with_bindings(
456
+ uri_method: :get,
457
+ uri_template: "/v1/billingAccounts",
458
+ matches: []
459
+ )
460
+ transcoder.transcode request_pb
461
+ end
462
+
463
+ ##
464
+ # @private
465
+ #
466
+ # GRPC transcoding helper method for the update_billing_account REST call
467
+ #
468
+ # @param request_pb [::Google::Cloud::Billing::V1::UpdateBillingAccountRequest]
469
+ # A request object representing the call parameters. Required.
470
+ # @return [Array(String, [String, nil], Hash{String => String})]
471
+ # Uri, Body, Query string parameters
472
+ def self.transcode_update_billing_account_request request_pb
473
+ transcoder = Gapic::Rest::GrpcTranscoder.new
474
+ .with_bindings(
475
+ uri_method: :patch,
476
+ uri_template: "/v1/{name}",
477
+ body: "account",
478
+ matches: [
479
+ ["name", %r{^billingAccounts/[^/]+/?$}, false]
480
+ ]
481
+ )
482
+ transcoder.transcode request_pb
483
+ end
484
+
485
+ ##
486
+ # @private
487
+ #
488
+ # GRPC transcoding helper method for the create_billing_account REST call
489
+ #
490
+ # @param request_pb [::Google::Cloud::Billing::V1::CreateBillingAccountRequest]
491
+ # A request object representing the call parameters. Required.
492
+ # @return [Array(String, [String, nil], Hash{String => String})]
493
+ # Uri, Body, Query string parameters
494
+ def self.transcode_create_billing_account_request request_pb
495
+ transcoder = Gapic::Rest::GrpcTranscoder.new
496
+ .with_bindings(
497
+ uri_method: :post,
498
+ uri_template: "/v1/billingAccounts",
499
+ body: "billing_account",
500
+ matches: []
501
+ )
502
+ transcoder.transcode request_pb
503
+ end
504
+
505
+ ##
506
+ # @private
507
+ #
508
+ # GRPC transcoding helper method for the list_project_billing_info REST call
509
+ #
510
+ # @param request_pb [::Google::Cloud::Billing::V1::ListProjectBillingInfoRequest]
511
+ # A request object representing the call parameters. Required.
512
+ # @return [Array(String, [String, nil], Hash{String => String})]
513
+ # Uri, Body, Query string parameters
514
+ def self.transcode_list_project_billing_info_request request_pb
515
+ transcoder = Gapic::Rest::GrpcTranscoder.new
516
+ .with_bindings(
517
+ uri_method: :get,
518
+ uri_template: "/v1/{name}/projects",
519
+ matches: [
520
+ ["name", %r{^billingAccounts/[^/]+/?$}, false]
521
+ ]
522
+ )
523
+ transcoder.transcode request_pb
524
+ end
525
+
526
+ ##
527
+ # @private
528
+ #
529
+ # GRPC transcoding helper method for the get_project_billing_info REST call
530
+ #
531
+ # @param request_pb [::Google::Cloud::Billing::V1::GetProjectBillingInfoRequest]
532
+ # A request object representing the call parameters. Required.
533
+ # @return [Array(String, [String, nil], Hash{String => String})]
534
+ # Uri, Body, Query string parameters
535
+ def self.transcode_get_project_billing_info_request request_pb
536
+ transcoder = Gapic::Rest::GrpcTranscoder.new
537
+ .with_bindings(
538
+ uri_method: :get,
539
+ uri_template: "/v1/{name}/billingInfo",
540
+ matches: [
541
+ ["name", %r{^projects/[^/]+/?$}, false]
542
+ ]
543
+ )
544
+ transcoder.transcode request_pb
545
+ end
546
+
547
+ ##
548
+ # @private
549
+ #
550
+ # GRPC transcoding helper method for the update_project_billing_info REST call
551
+ #
552
+ # @param request_pb [::Google::Cloud::Billing::V1::UpdateProjectBillingInfoRequest]
553
+ # A request object representing the call parameters. Required.
554
+ # @return [Array(String, [String, nil], Hash{String => String})]
555
+ # Uri, Body, Query string parameters
556
+ def self.transcode_update_project_billing_info_request request_pb
557
+ transcoder = Gapic::Rest::GrpcTranscoder.new
558
+ .with_bindings(
559
+ uri_method: :put,
560
+ uri_template: "/v1/{name}/billingInfo",
561
+ body: "project_billing_info",
562
+ matches: [
563
+ ["name", %r{^projects/[^/]+/?$}, false]
564
+ ]
565
+ )
566
+ transcoder.transcode request_pb
567
+ end
568
+
569
+ ##
570
+ # @private
571
+ #
572
+ # GRPC transcoding helper method for the get_iam_policy REST call
573
+ #
574
+ # @param request_pb [::Google::Iam::V1::GetIamPolicyRequest]
575
+ # A request object representing the call parameters. Required.
576
+ # @return [Array(String, [String, nil], Hash{String => String})]
577
+ # Uri, Body, Query string parameters
578
+ def self.transcode_get_iam_policy_request request_pb
579
+ transcoder = Gapic::Rest::GrpcTranscoder.new
580
+ .with_bindings(
581
+ uri_method: :get,
582
+ uri_template: "/v1/{resource}:getIamPolicy",
583
+ matches: [
584
+ ["resource", %r{^billingAccounts/[^/]+/?$}, false]
585
+ ]
586
+ )
587
+ transcoder.transcode request_pb
588
+ end
589
+
590
+ ##
591
+ # @private
592
+ #
593
+ # GRPC transcoding helper method for the set_iam_policy REST call
594
+ #
595
+ # @param request_pb [::Google::Iam::V1::SetIamPolicyRequest]
596
+ # A request object representing the call parameters. Required.
597
+ # @return [Array(String, [String, nil], Hash{String => String})]
598
+ # Uri, Body, Query string parameters
599
+ def self.transcode_set_iam_policy_request request_pb
600
+ transcoder = Gapic::Rest::GrpcTranscoder.new
601
+ .with_bindings(
602
+ uri_method: :post,
603
+ uri_template: "/v1/{resource}:setIamPolicy",
604
+ body: "*",
605
+ matches: [
606
+ ["resource", %r{^billingAccounts/[^/]+/?$}, false]
607
+ ]
608
+ )
609
+ transcoder.transcode request_pb
610
+ end
611
+
612
+ ##
613
+ # @private
614
+ #
615
+ # GRPC transcoding helper method for the test_iam_permissions REST call
616
+ #
617
+ # @param request_pb [::Google::Iam::V1::TestIamPermissionsRequest]
618
+ # A request object representing the call parameters. Required.
619
+ # @return [Array(String, [String, nil], Hash{String => String})]
620
+ # Uri, Body, Query string parameters
621
+ def self.transcode_test_iam_permissions_request request_pb
622
+ transcoder = Gapic::Rest::GrpcTranscoder.new
623
+ .with_bindings(
624
+ uri_method: :post,
625
+ uri_template: "/v1/{resource}:testIamPermissions",
626
+ body: "*",
627
+ matches: [
628
+ ["resource", %r{^billingAccounts/[^/]+/?$}, false]
629
+ ]
630
+ )
631
+ transcoder.transcode request_pb
632
+ end
633
+ end
634
+ end
635
+ end
636
+ end
637
+ end
638
+ end
639
+ end