google-cloud-billing-v1 0.7.3 → 0.8.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.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/AUTHENTICATION.md +7 -25
- data/README.md +1 -1
- data/lib/google/cloud/billing/v1/cloud_billing/client.rb +210 -26
- data/lib/google/cloud/billing/v1/cloud_billing_pb.rb +2 -2
- data/lib/google/cloud/billing/v1/cloud_billing_services_pb.rb +1 -1
- data/lib/google/cloud/billing/v1/cloud_catalog/client.rb +47 -3
- data/lib/google/cloud/billing/v1/cloud_catalog_pb.rb +2 -2
- data/lib/google/cloud/billing/v1/cloud_catalog_services_pb.rb +1 -1
- data/lib/google/cloud/billing/v1/version.rb +1 -1
- data/lib/google/cloud/billing/v1.rb +2 -0
- data/proto_docs/google/api/resource.rb +10 -71
- data/proto_docs/google/iam/v1/iam_policy.rb +8 -1
- data/proto_docs/google/iam/v1/options.rb +14 -4
- data/proto_docs/google/iam/v1/policy.rb +208 -38
- metadata +7 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9937bcde2327192c4c583249f29aa2c331612968a0347af0bcdaadadfe6ec92b
|
4
|
+
data.tar.gz: 7a2553ac2a13359b5a59a33de7692226c36b0dccd38b0f68fabd96bec4b57914
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8ab3a53fbd5276d69ff61958aa95ecd11a4f902a6d3cb9a423b1449e082c676ca563b5f1714b12c0b2dd7e72674e2cf46e8c0fce4ebcea9e97ca97ba5391625
|
7
|
+
data.tar.gz: 638ae9353e277a344eddbb672ddd855916108497751944576bfb5afe81a5aa3af0c21eece1c263bf599bc3ed3b93965f59d2c5c0462af9e9e392e686be334b1e
|
data/.yardopts
CHANGED
data/AUTHENTICATION.md
CHANGED
@@ -120,15 +120,6 @@ To configure your system for this, simply:
|
|
120
120
|
**NOTE:** This is _not_ recommended for running in production. The Cloud SDK
|
121
121
|
*should* only be used during development.
|
122
122
|
|
123
|
-
[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
|
124
|
-
[dev-console]: https://console.cloud.google.com/project
|
125
|
-
|
126
|
-
[enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
|
127
|
-
|
128
|
-
[create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
|
129
|
-
[create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
|
130
|
-
[reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
|
131
|
-
|
132
123
|
## Creating a Service Account
|
133
124
|
|
134
125
|
Google Cloud requires **Service Account Credentials** to
|
@@ -139,31 +130,22 @@ If you are not running this client within
|
|
139
130
|
[Google Cloud Platform environments](#google-cloud-platform-environments), you
|
140
131
|
need a Google Developers service account.
|
141
132
|
|
142
|
-
1. Visit the [Google
|
133
|
+
1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
|
143
134
|
2. Create a new project or click on an existing project.
|
144
|
-
3. Activate the
|
135
|
+
3. Activate the menu in the upper left and select **APIs & Services**. From
|
145
136
|
here, you will enable the APIs that your application requires.
|
146
137
|
|
147
|
-
![Enable the APIs that your application requires][enable-apis]
|
148
|
-
|
149
138
|
*Note: You may need to enable billing in order to use these services.*
|
150
139
|
|
151
140
|
4. Select **Credentials** from the side navigation.
|
152
141
|
|
153
|
-
|
154
|
-
|
155
|
-
![Create a new service account][create-new-service-account]
|
156
|
-
|
157
|
-
![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
|
158
|
-
|
159
|
-
Find the "Add credentials" drop down and select "Service account" to be
|
160
|
-
guided through downloading a new JSON key file.
|
142
|
+
Find the "Create credentials" drop down near the top of the page, and select
|
143
|
+
"Service account" to be guided through downloading a new JSON key file.
|
161
144
|
|
162
145
|
If you want to re-use an existing service account, you can easily generate a
|
163
|
-
new key file. Just select the account you wish to re-use,
|
164
|
-
|
165
|
-
|
166
|
-
![Re-use an existing service account][reuse-service-account]
|
146
|
+
new key file. Just select the account you wish to re-use, click the pencil
|
147
|
+
tool on the right side to edit the service account, select the **Keys** tab,
|
148
|
+
and then select **Add Key**.
|
167
149
|
|
168
150
|
The key file you download will be used by this library to authenticate API
|
169
151
|
requests and should be stored in a secure location.
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ request = ::Google::Cloud::Billing::V1::GetBillingAccountRequest.new # (request
|
|
37
37
|
response = client.get_billing_account request
|
38
38
|
```
|
39
39
|
|
40
|
-
View the [Client Library Documentation](https://
|
40
|
+
View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-billing-v1/latest)
|
41
41
|
for class and method documentation.
|
42
42
|
|
43
43
|
See also the [Product Documentation](https://cloud.google.com/billing)
|
@@ -223,6 +223,21 @@ module Google
|
|
223
223
|
#
|
224
224
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
225
225
|
#
|
226
|
+
# @example Basic example
|
227
|
+
# require "google/cloud/billing/v1"
|
228
|
+
#
|
229
|
+
# # Create a client object. The client can be reused for multiple calls.
|
230
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
231
|
+
#
|
232
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
233
|
+
# request = Google::Cloud::Billing::V1::GetBillingAccountRequest.new
|
234
|
+
#
|
235
|
+
# # Call the get_billing_account method.
|
236
|
+
# result = client.get_billing_account request
|
237
|
+
#
|
238
|
+
# # The returned object is of type Google::Cloud::Billing::V1::BillingAccount.
|
239
|
+
# p result
|
240
|
+
#
|
226
241
|
def get_billing_account request, options = nil
|
227
242
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
228
243
|
|
@@ -240,9 +255,11 @@ module Google
|
|
240
255
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
241
256
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
242
257
|
|
243
|
-
header_params = {
|
244
|
-
|
245
|
-
|
258
|
+
header_params = {}
|
259
|
+
if request.name
|
260
|
+
header_params["name"] = request.name
|
261
|
+
end
|
262
|
+
|
246
263
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
247
264
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
248
265
|
|
@@ -305,6 +322,27 @@ module Google
|
|
305
322
|
#
|
306
323
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
307
324
|
#
|
325
|
+
# @example Basic example
|
326
|
+
# require "google/cloud/billing/v1"
|
327
|
+
#
|
328
|
+
# # Create a client object. The client can be reused for multiple calls.
|
329
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
330
|
+
#
|
331
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
332
|
+
# request = Google::Cloud::Billing::V1::ListBillingAccountsRequest.new
|
333
|
+
#
|
334
|
+
# # Call the list_billing_accounts method.
|
335
|
+
# result = client.list_billing_accounts request
|
336
|
+
#
|
337
|
+
# # The returned object is of type Gapic::PagedEnumerable. You can
|
338
|
+
# # iterate over all elements by calling #each, and the enumerable
|
339
|
+
# # will lazily make API calls to fetch subsequent pages. Other
|
340
|
+
# # methods are also available for managing paging directly.
|
341
|
+
# result.each do |response|
|
342
|
+
# # Each element is of type ::Google::Cloud::Billing::V1::BillingAccount.
|
343
|
+
# p response
|
344
|
+
# end
|
345
|
+
#
|
308
346
|
def list_billing_accounts request, options = nil
|
309
347
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
310
348
|
|
@@ -378,6 +416,21 @@ module Google
|
|
378
416
|
#
|
379
417
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
380
418
|
#
|
419
|
+
# @example Basic example
|
420
|
+
# require "google/cloud/billing/v1"
|
421
|
+
#
|
422
|
+
# # Create a client object. The client can be reused for multiple calls.
|
423
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
424
|
+
#
|
425
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
426
|
+
# request = Google::Cloud::Billing::V1::UpdateBillingAccountRequest.new
|
427
|
+
#
|
428
|
+
# # Call the update_billing_account method.
|
429
|
+
# result = client.update_billing_account request
|
430
|
+
#
|
431
|
+
# # The returned object is of type Google::Cloud::Billing::V1::BillingAccount.
|
432
|
+
# p result
|
433
|
+
#
|
381
434
|
def update_billing_account request, options = nil
|
382
435
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
383
436
|
|
@@ -395,9 +448,11 @@ module Google
|
|
395
448
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
396
449
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
397
450
|
|
398
|
-
header_params = {
|
399
|
-
|
400
|
-
|
451
|
+
header_params = {}
|
452
|
+
if request.name
|
453
|
+
header_params["name"] = request.name
|
454
|
+
end
|
455
|
+
|
401
456
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
402
457
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
403
458
|
|
@@ -458,6 +513,21 @@ module Google
|
|
458
513
|
#
|
459
514
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
460
515
|
#
|
516
|
+
# @example Basic example
|
517
|
+
# require "google/cloud/billing/v1"
|
518
|
+
#
|
519
|
+
# # Create a client object. The client can be reused for multiple calls.
|
520
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
521
|
+
#
|
522
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
523
|
+
# request = Google::Cloud::Billing::V1::CreateBillingAccountRequest.new
|
524
|
+
#
|
525
|
+
# # Call the create_billing_account method.
|
526
|
+
# result = client.create_billing_account request
|
527
|
+
#
|
528
|
+
# # The returned object is of type Google::Cloud::Billing::V1::BillingAccount.
|
529
|
+
# p result
|
530
|
+
#
|
461
531
|
def create_billing_account request, options = nil
|
462
532
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
463
533
|
|
@@ -531,6 +601,27 @@ module Google
|
|
531
601
|
#
|
532
602
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
533
603
|
#
|
604
|
+
# @example Basic example
|
605
|
+
# require "google/cloud/billing/v1"
|
606
|
+
#
|
607
|
+
# # Create a client object. The client can be reused for multiple calls.
|
608
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
609
|
+
#
|
610
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
611
|
+
# request = Google::Cloud::Billing::V1::ListProjectBillingInfoRequest.new
|
612
|
+
#
|
613
|
+
# # Call the list_project_billing_info method.
|
614
|
+
# result = client.list_project_billing_info request
|
615
|
+
#
|
616
|
+
# # The returned object is of type Gapic::PagedEnumerable. You can
|
617
|
+
# # iterate over all elements by calling #each, and the enumerable
|
618
|
+
# # will lazily make API calls to fetch subsequent pages. Other
|
619
|
+
# # methods are also available for managing paging directly.
|
620
|
+
# result.each do |response|
|
621
|
+
# # Each element is of type ::Google::Cloud::Billing::V1::ProjectBillingInfo.
|
622
|
+
# p response
|
623
|
+
# end
|
624
|
+
#
|
534
625
|
def list_project_billing_info request, options = nil
|
535
626
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
536
627
|
|
@@ -548,9 +639,11 @@ module Google
|
|
548
639
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
549
640
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
550
641
|
|
551
|
-
header_params = {
|
552
|
-
|
553
|
-
|
642
|
+
header_params = {}
|
643
|
+
if request.name
|
644
|
+
header_params["name"] = request.name
|
645
|
+
end
|
646
|
+
|
554
647
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
555
648
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
556
649
|
|
@@ -604,6 +697,21 @@ module Google
|
|
604
697
|
#
|
605
698
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
606
699
|
#
|
700
|
+
# @example Basic example
|
701
|
+
# require "google/cloud/billing/v1"
|
702
|
+
#
|
703
|
+
# # Create a client object. The client can be reused for multiple calls.
|
704
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
705
|
+
#
|
706
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
707
|
+
# request = Google::Cloud::Billing::V1::GetProjectBillingInfoRequest.new
|
708
|
+
#
|
709
|
+
# # Call the get_project_billing_info method.
|
710
|
+
# result = client.get_project_billing_info request
|
711
|
+
#
|
712
|
+
# # The returned object is of type Google::Cloud::Billing::V1::ProjectBillingInfo.
|
713
|
+
# p result
|
714
|
+
#
|
607
715
|
def get_project_billing_info request, options = nil
|
608
716
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
609
717
|
|
@@ -621,9 +729,11 @@ module Google
|
|
621
729
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
622
730
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
623
731
|
|
624
|
-
header_params = {
|
625
|
-
|
626
|
-
|
732
|
+
header_params = {}
|
733
|
+
if request.name
|
734
|
+
header_params["name"] = request.name
|
735
|
+
end
|
736
|
+
|
627
737
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
628
738
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
629
739
|
|
@@ -706,6 +816,21 @@ module Google
|
|
706
816
|
#
|
707
817
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
708
818
|
#
|
819
|
+
# @example Basic example
|
820
|
+
# require "google/cloud/billing/v1"
|
821
|
+
#
|
822
|
+
# # Create a client object. The client can be reused for multiple calls.
|
823
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
824
|
+
#
|
825
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
826
|
+
# request = Google::Cloud::Billing::V1::UpdateProjectBillingInfoRequest.new
|
827
|
+
#
|
828
|
+
# # Call the update_project_billing_info method.
|
829
|
+
# result = client.update_project_billing_info request
|
830
|
+
#
|
831
|
+
# # The returned object is of type Google::Cloud::Billing::V1::ProjectBillingInfo.
|
832
|
+
# p result
|
833
|
+
#
|
709
834
|
def update_project_billing_info request, options = nil
|
710
835
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
711
836
|
|
@@ -723,9 +848,11 @@ module Google
|
|
723
848
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
724
849
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
725
850
|
|
726
|
-
header_params = {
|
727
|
-
|
728
|
-
|
851
|
+
header_params = {}
|
852
|
+
if request.name
|
853
|
+
header_params["name"] = request.name
|
854
|
+
end
|
855
|
+
|
729
856
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
730
857
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
731
858
|
|
@@ -771,7 +898,7 @@ module Google
|
|
771
898
|
# See the operation documentation for the appropriate value for this field.
|
772
899
|
# @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
|
773
900
|
# OPTIONAL: A `GetPolicyOptions` object for specifying options to
|
774
|
-
# `GetIamPolicy`.
|
901
|
+
# `GetIamPolicy`.
|
775
902
|
#
|
776
903
|
# @yield [response, operation] Access the result along with the RPC operation
|
777
904
|
# @yieldparam response [::Google::Iam::V1::Policy]
|
@@ -781,6 +908,21 @@ module Google
|
|
781
908
|
#
|
782
909
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
783
910
|
#
|
911
|
+
# @example Basic example
|
912
|
+
# require "google/cloud/billing/v1"
|
913
|
+
#
|
914
|
+
# # Create a client object. The client can be reused for multiple calls.
|
915
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
916
|
+
#
|
917
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
918
|
+
# request = Google::Iam::V1::GetIamPolicyRequest.new
|
919
|
+
#
|
920
|
+
# # Call the get_iam_policy method.
|
921
|
+
# result = client.get_iam_policy request
|
922
|
+
#
|
923
|
+
# # The returned object is of type Google::Iam::V1::Policy.
|
924
|
+
# p result
|
925
|
+
#
|
784
926
|
def get_iam_policy request, options = nil
|
785
927
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
786
928
|
|
@@ -798,9 +940,11 @@ module Google
|
|
798
940
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
799
941
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
800
942
|
|
801
|
-
header_params = {
|
802
|
-
|
803
|
-
|
943
|
+
header_params = {}
|
944
|
+
if request.resource
|
945
|
+
header_params["resource"] = request.resource
|
946
|
+
end
|
947
|
+
|
804
948
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
805
949
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
806
950
|
|
@@ -837,7 +981,7 @@ module Google
|
|
837
981
|
# @param options [::Gapic::CallOptions, ::Hash]
|
838
982
|
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
839
983
|
#
|
840
|
-
# @overload set_iam_policy(resource: nil, policy: nil)
|
984
|
+
# @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
|
841
985
|
# Pass arguments to `set_iam_policy` via keyword arguments. Note that at
|
842
986
|
# least one keyword argument is required. To specify no parameters, or to keep all
|
843
987
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
@@ -850,6 +994,12 @@ module Google
|
|
850
994
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
851
995
|
# valid policy but certain Cloud Platform services (such as Projects)
|
852
996
|
# might reject them.
|
997
|
+
# @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
|
998
|
+
# OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
999
|
+
# the fields in the mask will be modified. If no mask is provided, the
|
1000
|
+
# following default mask is used:
|
1001
|
+
#
|
1002
|
+
# `paths: "bindings, etag"`
|
853
1003
|
#
|
854
1004
|
# @yield [response, operation] Access the result along with the RPC operation
|
855
1005
|
# @yieldparam response [::Google::Iam::V1::Policy]
|
@@ -859,6 +1009,21 @@ module Google
|
|
859
1009
|
#
|
860
1010
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
861
1011
|
#
|
1012
|
+
# @example Basic example
|
1013
|
+
# require "google/cloud/billing/v1"
|
1014
|
+
#
|
1015
|
+
# # Create a client object. The client can be reused for multiple calls.
|
1016
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
1017
|
+
#
|
1018
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
1019
|
+
# request = Google::Iam::V1::SetIamPolicyRequest.new
|
1020
|
+
#
|
1021
|
+
# # Call the set_iam_policy method.
|
1022
|
+
# result = client.set_iam_policy request
|
1023
|
+
#
|
1024
|
+
# # The returned object is of type Google::Iam::V1::Policy.
|
1025
|
+
# p result
|
1026
|
+
#
|
862
1027
|
def set_iam_policy request, options = nil
|
863
1028
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
864
1029
|
|
@@ -876,9 +1041,11 @@ module Google
|
|
876
1041
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
877
1042
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
878
1043
|
|
879
|
-
header_params = {
|
880
|
-
|
881
|
-
|
1044
|
+
header_params = {}
|
1045
|
+
if request.resource
|
1046
|
+
header_params["resource"] = request.resource
|
1047
|
+
end
|
1048
|
+
|
882
1049
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
883
1050
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
884
1051
|
|
@@ -935,6 +1102,21 @@ module Google
|
|
935
1102
|
#
|
936
1103
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
937
1104
|
#
|
1105
|
+
# @example Basic example
|
1106
|
+
# require "google/cloud/billing/v1"
|
1107
|
+
#
|
1108
|
+
# # Create a client object. The client can be reused for multiple calls.
|
1109
|
+
# client = Google::Cloud::Billing::V1::CloudBilling::Client.new
|
1110
|
+
#
|
1111
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
1112
|
+
# request = Google::Iam::V1::TestIamPermissionsRequest.new
|
1113
|
+
#
|
1114
|
+
# # Call the test_iam_permissions method.
|
1115
|
+
# result = client.test_iam_permissions request
|
1116
|
+
#
|
1117
|
+
# # The returned object is of type Google::Iam::V1::TestIamPermissionsResponse.
|
1118
|
+
# p result
|
1119
|
+
#
|
938
1120
|
def test_iam_permissions request, options = nil
|
939
1121
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
940
1122
|
|
@@ -952,9 +1134,11 @@ module Google
|
|
952
1134
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
953
1135
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
954
1136
|
|
955
|
-
header_params = {
|
956
|
-
|
957
|
-
|
1137
|
+
header_params = {}
|
1138
|
+
if request.resource
|
1139
|
+
header_params["resource"] = request.resource
|
1140
|
+
end
|
1141
|
+
|
958
1142
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
959
1143
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
960
1144
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# source: google/cloud/billing/v1/cloud_billing.proto
|
3
3
|
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
4
|
require 'google/api/annotations_pb'
|
7
5
|
require 'google/api/client_pb'
|
8
6
|
require 'google/api/field_behavior_pb'
|
@@ -10,6 +8,8 @@ require 'google/api/resource_pb'
|
|
10
8
|
require 'google/iam/v1/iam_policy_pb'
|
11
9
|
require 'google/iam/v1/policy_pb'
|
12
10
|
require 'google/protobuf/field_mask_pb'
|
11
|
+
require 'google/protobuf'
|
12
|
+
|
13
13
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
14
14
|
add_file("google/cloud/billing/v1/cloud_billing.proto", :syntax => :proto3) do
|
15
15
|
add_message "google.cloud.billing.v1.BillingAccount" do
|
@@ -28,7 +28,7 @@ module Google
|
|
28
28
|
# Retrieves GCP Console billing accounts and associates them with projects.
|
29
29
|
class Service
|
30
30
|
|
31
|
-
include GRPC::GenericService
|
31
|
+
include ::GRPC::GenericService
|
32
32
|
|
33
33
|
self.marshal_class_method = :encode
|
34
34
|
self.unmarshal_class_method = :decode
|
@@ -183,6 +183,27 @@ module Google
|
|
183
183
|
#
|
184
184
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
185
185
|
#
|
186
|
+
# @example Basic example
|
187
|
+
# require "google/cloud/billing/v1"
|
188
|
+
#
|
189
|
+
# # Create a client object. The client can be reused for multiple calls.
|
190
|
+
# client = Google::Cloud::Billing::V1::CloudCatalog::Client.new
|
191
|
+
#
|
192
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
193
|
+
# request = Google::Cloud::Billing::V1::ListServicesRequest.new
|
194
|
+
#
|
195
|
+
# # Call the list_services method.
|
196
|
+
# result = client.list_services request
|
197
|
+
#
|
198
|
+
# # The returned object is of type Gapic::PagedEnumerable. You can
|
199
|
+
# # iterate over all elements by calling #each, and the enumerable
|
200
|
+
# # will lazily make API calls to fetch subsequent pages. Other
|
201
|
+
# # methods are also available for managing paging directly.
|
202
|
+
# result.each do |response|
|
203
|
+
# # Each element is of type ::Google::Cloud::Billing::V1::Service.
|
204
|
+
# p response
|
205
|
+
# end
|
206
|
+
#
|
186
207
|
def list_services request, options = nil
|
187
208
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
188
209
|
|
@@ -271,6 +292,27 @@ module Google
|
|
271
292
|
#
|
272
293
|
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
273
294
|
#
|
295
|
+
# @example Basic example
|
296
|
+
# require "google/cloud/billing/v1"
|
297
|
+
#
|
298
|
+
# # Create a client object. The client can be reused for multiple calls.
|
299
|
+
# client = Google::Cloud::Billing::V1::CloudCatalog::Client.new
|
300
|
+
#
|
301
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
302
|
+
# request = Google::Cloud::Billing::V1::ListSkusRequest.new
|
303
|
+
#
|
304
|
+
# # Call the list_skus method.
|
305
|
+
# result = client.list_skus request
|
306
|
+
#
|
307
|
+
# # The returned object is of type Gapic::PagedEnumerable. You can
|
308
|
+
# # iterate over all elements by calling #each, and the enumerable
|
309
|
+
# # will lazily make API calls to fetch subsequent pages. Other
|
310
|
+
# # methods are also available for managing paging directly.
|
311
|
+
# result.each do |response|
|
312
|
+
# # Each element is of type ::Google::Cloud::Billing::V1::Sku.
|
313
|
+
# p response
|
314
|
+
# end
|
315
|
+
#
|
274
316
|
def list_skus request, options = nil
|
275
317
|
raise ::ArgumentError, "request must be provided" if request.nil?
|
276
318
|
|
@@ -288,9 +330,11 @@ module Google
|
|
288
330
|
gapic_version: ::Google::Cloud::Billing::V1::VERSION
|
289
331
|
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
290
332
|
|
291
|
-
header_params = {
|
292
|
-
|
293
|
-
|
333
|
+
header_params = {}
|
334
|
+
if request.parent
|
335
|
+
header_params["parent"] = request.parent
|
336
|
+
end
|
337
|
+
|
294
338
|
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
295
339
|
metadata[:"x-goog-request-params"] ||= request_params_header
|
296
340
|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# source: google/cloud/billing/v1/cloud_catalog.proto
|
3
3
|
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
4
|
require 'google/api/annotations_pb'
|
7
5
|
require 'google/api/client_pb'
|
8
6
|
require 'google/api/field_behavior_pb'
|
9
7
|
require 'google/api/resource_pb'
|
10
8
|
require 'google/protobuf/timestamp_pb'
|
11
9
|
require 'google/type/money_pb'
|
10
|
+
require 'google/protobuf'
|
11
|
+
|
12
12
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
13
13
|
add_file("google/cloud/billing/v1/cloud_catalog.proto", :syntax => :proto3) do
|
14
14
|
add_message "google.cloud.billing.v1.Service" do
|
@@ -33,11 +33,7 @@ module Google
|
|
33
33
|
# // For Kubernetes resources, the format is {api group}/{kind}.
|
34
34
|
# option (google.api.resource) = {
|
35
35
|
# type: "pubsub.googleapis.com/Topic"
|
36
|
-
#
|
37
|
-
# pattern: "projects/{project}/topics/{topic}"
|
38
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
39
|
-
# parent_name_extractor: "projects/{project}"
|
40
|
-
# }
|
36
|
+
# pattern: "projects/{project}/topics/{topic}"
|
41
37
|
# };
|
42
38
|
# }
|
43
39
|
#
|
@@ -45,10 +41,7 @@ module Google
|
|
45
41
|
#
|
46
42
|
# resources:
|
47
43
|
# - type: "pubsub.googleapis.com/Topic"
|
48
|
-
#
|
49
|
-
# - pattern: "projects/{project}/topics/{topic}"
|
50
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
-
# parent_name_extractor: "projects/{project}"
|
44
|
+
# pattern: "projects/{project}/topics/{topic}"
|
52
45
|
#
|
53
46
|
# Sometimes, resources have multiple patterns, typically because they can
|
54
47
|
# live under multiple parents.
|
@@ -58,26 +51,10 @@ module Google
|
|
58
51
|
# message LogEntry {
|
59
52
|
# option (google.api.resource) = {
|
60
53
|
# type: "logging.googleapis.com/LogEntry"
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
#
|
65
|
-
# }
|
66
|
-
# name_descriptor: {
|
67
|
-
# pattern: "folders/{folder}/logs/{log}"
|
68
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
69
|
-
# parent_name_extractor: "folders/{folder}"
|
70
|
-
# }
|
71
|
-
# name_descriptor: {
|
72
|
-
# pattern: "organizations/{organization}/logs/{log}"
|
73
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
74
|
-
# parent_name_extractor: "organizations/{organization}"
|
75
|
-
# }
|
76
|
-
# name_descriptor: {
|
77
|
-
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
78
|
-
# parent_type: "billing.googleapis.com/BillingAccount"
|
79
|
-
# parent_name_extractor: "billingAccounts/{billing_account}"
|
80
|
-
# }
|
54
|
+
# pattern: "projects/{project}/logs/{log}"
|
55
|
+
# pattern: "folders/{folder}/logs/{log}"
|
56
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
57
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
81
58
|
# };
|
82
59
|
# }
|
83
60
|
#
|
@@ -85,48 +62,10 @@ module Google
|
|
85
62
|
#
|
86
63
|
# resources:
|
87
64
|
# - type: 'logging.googleapis.com/LogEntry'
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
# - pattern: "folders/{folder}/logs/{log}"
|
93
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
94
|
-
# parent_name_extractor: "folders/{folder}"
|
95
|
-
# - pattern: "organizations/{organization}/logs/{log}"
|
96
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
97
|
-
# parent_name_extractor: "organizations/{organization}"
|
98
|
-
# - pattern: "billingAccounts/{billing_account}/logs/{log}"
|
99
|
-
# parent_type: "billing.googleapis.com/BillingAccount"
|
100
|
-
# parent_name_extractor: "billingAccounts/{billing_account}"
|
101
|
-
#
|
102
|
-
# For flexible resources, the resource name doesn't contain parent names, but
|
103
|
-
# the resource itself has parents for policy evaluation.
|
104
|
-
#
|
105
|
-
# Example:
|
106
|
-
#
|
107
|
-
# message Shelf {
|
108
|
-
# option (google.api.resource) = {
|
109
|
-
# type: "library.googleapis.com/Shelf"
|
110
|
-
# name_descriptor: {
|
111
|
-
# pattern: "shelves/{shelf}"
|
112
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
113
|
-
# }
|
114
|
-
# name_descriptor: {
|
115
|
-
# pattern: "shelves/{shelf}"
|
116
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
117
|
-
# }
|
118
|
-
# };
|
119
|
-
# }
|
120
|
-
#
|
121
|
-
# The ResourceDescriptor Yaml config will look like:
|
122
|
-
#
|
123
|
-
# resources:
|
124
|
-
# - type: 'library.googleapis.com/Shelf'
|
125
|
-
# name_descriptor:
|
126
|
-
# - pattern: "shelves/{shelf}"
|
127
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
128
|
-
# - pattern: "shelves/{shelf}"
|
129
|
-
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
65
|
+
# pattern: "projects/{project}/logs/{log}"
|
66
|
+
# pattern: "folders/{folder}/logs/{log}"
|
67
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
68
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
130
69
|
# @!attribute [rw] type
|
131
70
|
# @return [::String]
|
132
71
|
# The resource type. It must be in the format of
|
@@ -31,6 +31,13 @@ module Google
|
|
31
31
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
32
32
|
# valid policy but certain Cloud Platform services (such as Projects)
|
33
33
|
# might reject them.
|
34
|
+
# @!attribute [rw] update_mask
|
35
|
+
# @return [::Google::Protobuf::FieldMask]
|
36
|
+
# OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
37
|
+
# the fields in the mask will be modified. If no mask is provided, the
|
38
|
+
# following default mask is used:
|
39
|
+
#
|
40
|
+
# `paths: "bindings, etag"`
|
34
41
|
class SetIamPolicyRequest
|
35
42
|
include ::Google::Protobuf::MessageExts
|
36
43
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -44,7 +51,7 @@ module Google
|
|
44
51
|
# @!attribute [rw] options
|
45
52
|
# @return [::Google::Iam::V1::GetPolicyOptions]
|
46
53
|
# OPTIONAL: A `GetPolicyOptions` object for specifying options to
|
47
|
-
# `GetIamPolicy`.
|
54
|
+
# `GetIamPolicy`.
|
48
55
|
class GetIamPolicyRequest
|
49
56
|
include ::Google::Protobuf::MessageExts
|
50
57
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -23,14 +23,24 @@ module Google
|
|
23
23
|
# Encapsulates settings provided to GetIamPolicy.
|
24
24
|
# @!attribute [rw] requested_policy_version
|
25
25
|
# @return [::Integer]
|
26
|
-
# Optional. The policy
|
26
|
+
# Optional. The maximum policy version that will be used to format the
|
27
|
+
# policy.
|
27
28
|
#
|
28
29
|
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
29
30
|
# rejected.
|
30
31
|
#
|
31
|
-
# Requests for policies with any conditional bindings must specify
|
32
|
-
# Policies
|
33
|
-
# leave the field unset.
|
32
|
+
# Requests for policies with any conditional role bindings must specify
|
33
|
+
# version 3. Policies with no conditional role bindings may specify any valid
|
34
|
+
# value or leave the field unset.
|
35
|
+
#
|
36
|
+
# The policy in the response might use the policy version that you specified,
|
37
|
+
# or it might use a lower policy version. For example, if you specify version
|
38
|
+
# 3, but the policy has no conditional role bindings, the response uses
|
39
|
+
# version 1.
|
40
|
+
#
|
41
|
+
# To learn which resources support conditions in their IAM policies, see the
|
42
|
+
# [IAM
|
43
|
+
# documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
34
44
|
class GetPolicyOptions
|
35
45
|
include ::Google::Protobuf::MessageExts
|
36
46
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -20,19 +20,24 @@
|
|
20
20
|
module Google
|
21
21
|
module Iam
|
22
22
|
module V1
|
23
|
-
#
|
24
|
-
#
|
23
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
24
|
+
# controls for Google Cloud resources.
|
25
25
|
#
|
26
26
|
#
|
27
27
|
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
|
28
|
-
# `members
|
29
|
-
# Google groups, and domains (such as G Suite). A
|
30
|
-
#
|
31
|
-
#
|
32
|
-
# constrains the role binding based on attributes about the request and/or
|
33
|
-
# target resource.
|
28
|
+
# `members`, or principals, to a single `role`. Principals can be user
|
29
|
+
# accounts, service accounts, Google groups, and domains (such as G Suite). A
|
30
|
+
# `role` is a named list of permissions; each `role` can be an IAM predefined
|
31
|
+
# role or a user-created custom role.
|
34
32
|
#
|
35
|
-
#
|
33
|
+
# For some types of Google Cloud resources, a `binding` can also specify a
|
34
|
+
# `condition`, which is a logical expression that allows access to a resource
|
35
|
+
# only if the expression evaluates to `true`. A condition can add constraints
|
36
|
+
# based on attributes of the request, the resource, or both. To learn which
|
37
|
+
# resources support conditions in their IAM policies, see the
|
38
|
+
# [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
39
|
+
#
|
40
|
+
# **JSON example:**
|
36
41
|
#
|
37
42
|
# {
|
38
43
|
# "bindings": [
|
@@ -47,18 +52,21 @@ module Google
|
|
47
52
|
# },
|
48
53
|
# {
|
49
54
|
# "role": "roles/resourcemanager.organizationViewer",
|
50
|
-
# "members": [
|
55
|
+
# "members": [
|
56
|
+
# "user:eve@example.com"
|
57
|
+
# ],
|
51
58
|
# "condition": {
|
52
59
|
# "title": "expirable access",
|
53
60
|
# "description": "Does not grant access after Sep 2020",
|
54
|
-
# "expression": "request.time <
|
55
|
-
# timestamp('2020-10-01T00:00:00.000Z')",
|
61
|
+
# "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
|
56
62
|
# }
|
57
63
|
# }
|
58
|
-
# ]
|
64
|
+
# ],
|
65
|
+
# "etag": "BwWWja0YfJA=",
|
66
|
+
# "version": 3
|
59
67
|
# }
|
60
68
|
#
|
61
|
-
# **YAML
|
69
|
+
# **YAML example:**
|
62
70
|
#
|
63
71
|
# bindings:
|
64
72
|
# - members:
|
@@ -74,30 +82,52 @@ module Google
|
|
74
82
|
# title: expirable access
|
75
83
|
# description: Does not grant access after Sep 2020
|
76
84
|
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
|
85
|
+
# etag: BwWWja0YfJA=
|
86
|
+
# version: 3
|
77
87
|
#
|
78
88
|
# For a description of IAM and its features, see the
|
79
|
-
# [IAM
|
89
|
+
# [IAM documentation](https://cloud.google.com/iam/docs/).
|
80
90
|
# @!attribute [rw] version
|
81
91
|
# @return [::Integer]
|
82
92
|
# Specifies the format of the policy.
|
83
93
|
#
|
84
|
-
# Valid values are 0
|
85
|
-
# rejected.
|
94
|
+
# Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
|
95
|
+
# are rejected.
|
96
|
+
#
|
97
|
+
# Any operation that affects conditional role bindings must specify version
|
98
|
+
# `3`. This requirement applies to the following operations:
|
86
99
|
#
|
87
|
-
#
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
# leave the field unset.
|
100
|
+
# * Getting a policy that includes a conditional role binding
|
101
|
+
# * Adding a conditional role binding to a policy
|
102
|
+
# * Changing a conditional role binding in a policy
|
103
|
+
# * Removing any role binding, with or without a condition, from a policy
|
104
|
+
# that includes conditions
|
93
105
|
#
|
94
|
-
# If
|
95
|
-
#
|
106
|
+
# **Important:** If you use IAM Conditions, you must include the `etag` field
|
107
|
+
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows
|
108
|
+
# you to overwrite a version `3` policy with a version `1` policy, and all of
|
109
|
+
# the conditions in the version `3` policy are lost.
|
110
|
+
#
|
111
|
+
# If a policy does not include any conditions, operations on that policy may
|
112
|
+
# specify any valid version or leave the field unset.
|
113
|
+
#
|
114
|
+
# To learn which resources support conditions in their IAM policies, see the
|
115
|
+
# [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
96
116
|
# @!attribute [rw] bindings
|
97
117
|
# @return [::Array<::Google::Iam::V1::Binding>]
|
98
|
-
# Associates a list of `members
|
99
|
-
# `condition` that determines when
|
100
|
-
# `bindings`
|
118
|
+
# Associates a list of `members`, or principals, with a `role`. Optionally,
|
119
|
+
# may specify a `condition` that determines how and when the `bindings` are
|
120
|
+
# applied. Each of the `bindings` must contain at least one principal.
|
121
|
+
#
|
122
|
+
# The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
|
123
|
+
# of these principals can be Google groups. Each occurrence of a principal
|
124
|
+
# counts towards these limits. For example, if the `bindings` grant 50
|
125
|
+
# different roles to `user:alice@example.com`, and not to any other
|
126
|
+
# principal, then you can add another 1,450 principals to the `bindings` in
|
127
|
+
# the `Policy`.
|
128
|
+
# @!attribute [rw] audit_configs
|
129
|
+
# @return [::Array<::Google::Iam::V1::AuditConfig>]
|
130
|
+
# Specifies cloud audit logging configuration for this policy.
|
101
131
|
# @!attribute [rw] etag
|
102
132
|
# @return [::String]
|
103
133
|
# `etag` is used for optimistic concurrency control as a way to help
|
@@ -108,23 +138,23 @@ module Google
|
|
108
138
|
# systems are expected to put that etag in the request to `setIamPolicy` to
|
109
139
|
# ensure that their change will be applied to the same version of the policy.
|
110
140
|
#
|
111
|
-
# If
|
112
|
-
#
|
113
|
-
#
|
114
|
-
#
|
141
|
+
# **Important:** If you use IAM Conditions, you must include the `etag` field
|
142
|
+
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows
|
143
|
+
# you to overwrite a version `3` policy with a version `1` policy, and all of
|
144
|
+
# the conditions in the version `3` policy are lost.
|
115
145
|
class Policy
|
116
146
|
include ::Google::Protobuf::MessageExts
|
117
147
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
118
148
|
end
|
119
149
|
|
120
|
-
# Associates `members
|
150
|
+
# Associates `members`, or principals, with a `role`.
|
121
151
|
# @!attribute [rw] role
|
122
152
|
# @return [::String]
|
123
|
-
# Role that is assigned to `members
|
153
|
+
# Role that is assigned to the list of `members`, or principals.
|
124
154
|
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
125
155
|
# @!attribute [rw] members
|
126
156
|
# @return [::Array<::String>]
|
127
|
-
# Specifies the
|
157
|
+
# Specifies the principals requesting access for a Cloud Platform resource.
|
128
158
|
# `members` can have the following values:
|
129
159
|
#
|
130
160
|
# * `allUsers`: A special identifier that represents anyone who is
|
@@ -143,20 +173,160 @@ module Google
|
|
143
173
|
# * `group:{emailid}`: An email address that represents a Google group.
|
144
174
|
# For example, `admins@example.com`.
|
145
175
|
#
|
176
|
+
# * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
|
177
|
+
# identifier) representing a user that has been recently deleted. For
|
178
|
+
# example, `alice@example.com?uid=123456789012345678901`. If the user is
|
179
|
+
# recovered, this value reverts to `user:{emailid}` and the recovered user
|
180
|
+
# retains the role in the binding.
|
181
|
+
#
|
182
|
+
# * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
|
183
|
+
# unique identifier) representing a service account that has been recently
|
184
|
+
# deleted. For example,
|
185
|
+
# `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
|
186
|
+
# If the service account is undeleted, this value reverts to
|
187
|
+
# `serviceAccount:{emailid}` and the undeleted service account retains the
|
188
|
+
# role in the binding.
|
189
|
+
#
|
190
|
+
# * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
|
191
|
+
# identifier) representing a Google group that has been recently
|
192
|
+
# deleted. For example, `admins@example.com?uid=123456789012345678901`. If
|
193
|
+
# the group is recovered, this value reverts to `group:{emailid}` and the
|
194
|
+
# recovered group retains the role in the binding.
|
195
|
+
#
|
146
196
|
#
|
147
197
|
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
|
148
198
|
# users of that domain. For example, `google.com` or `example.com`.
|
149
199
|
# @!attribute [rw] condition
|
150
200
|
# @return [::Google::Type::Expr]
|
151
201
|
# The condition that is associated with this binding.
|
152
|
-
#
|
153
|
-
#
|
154
|
-
#
|
202
|
+
#
|
203
|
+
# If the condition evaluates to `true`, then this binding applies to the
|
204
|
+
# current request.
|
205
|
+
#
|
206
|
+
# If the condition evaluates to `false`, then this binding does not apply to
|
207
|
+
# the current request. However, a different role binding might grant the same
|
208
|
+
# role to one or more of the principals in this binding.
|
209
|
+
#
|
210
|
+
# To learn which resources support conditions in their IAM policies, see the
|
211
|
+
# [IAM
|
212
|
+
# documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
155
213
|
class Binding
|
156
214
|
include ::Google::Protobuf::MessageExts
|
157
215
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
158
216
|
end
|
159
217
|
|
218
|
+
# Specifies the audit configuration for a service.
|
219
|
+
# The configuration determines which permission types are logged, and what
|
220
|
+
# identities, if any, are exempted from logging.
|
221
|
+
# An AuditConfig must have one or more AuditLogConfigs.
|
222
|
+
#
|
223
|
+
# If there are AuditConfigs for both `allServices` and a specific service,
|
224
|
+
# the union of the two AuditConfigs is used for that service: the log_types
|
225
|
+
# specified in each AuditConfig are enabled, and the exempted_members in each
|
226
|
+
# AuditLogConfig are exempted.
|
227
|
+
#
|
228
|
+
# Example Policy with multiple AuditConfigs:
|
229
|
+
#
|
230
|
+
# {
|
231
|
+
# "audit_configs": [
|
232
|
+
# {
|
233
|
+
# "service": "allServices",
|
234
|
+
# "audit_log_configs": [
|
235
|
+
# {
|
236
|
+
# "log_type": "DATA_READ",
|
237
|
+
# "exempted_members": [
|
238
|
+
# "user:jose@example.com"
|
239
|
+
# ]
|
240
|
+
# },
|
241
|
+
# {
|
242
|
+
# "log_type": "DATA_WRITE"
|
243
|
+
# },
|
244
|
+
# {
|
245
|
+
# "log_type": "ADMIN_READ"
|
246
|
+
# }
|
247
|
+
# ]
|
248
|
+
# },
|
249
|
+
# {
|
250
|
+
# "service": "sampleservice.googleapis.com",
|
251
|
+
# "audit_log_configs": [
|
252
|
+
# {
|
253
|
+
# "log_type": "DATA_READ"
|
254
|
+
# },
|
255
|
+
# {
|
256
|
+
# "log_type": "DATA_WRITE",
|
257
|
+
# "exempted_members": [
|
258
|
+
# "user:aliya@example.com"
|
259
|
+
# ]
|
260
|
+
# }
|
261
|
+
# ]
|
262
|
+
# }
|
263
|
+
# ]
|
264
|
+
# }
|
265
|
+
#
|
266
|
+
# For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
|
267
|
+
# logging. It also exempts jose@example.com from DATA_READ logging, and
|
268
|
+
# aliya@example.com from DATA_WRITE logging.
|
269
|
+
# @!attribute [rw] service
|
270
|
+
# @return [::String]
|
271
|
+
# Specifies a service that will be enabled for audit logging.
|
272
|
+
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
273
|
+
# `allServices` is a special value that covers all services.
|
274
|
+
# @!attribute [rw] audit_log_configs
|
275
|
+
# @return [::Array<::Google::Iam::V1::AuditLogConfig>]
|
276
|
+
# The configuration for logging of each type of permission.
|
277
|
+
class AuditConfig
|
278
|
+
include ::Google::Protobuf::MessageExts
|
279
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
280
|
+
end
|
281
|
+
|
282
|
+
# Provides the configuration for logging a type of permissions.
|
283
|
+
# Example:
|
284
|
+
#
|
285
|
+
# {
|
286
|
+
# "audit_log_configs": [
|
287
|
+
# {
|
288
|
+
# "log_type": "DATA_READ",
|
289
|
+
# "exempted_members": [
|
290
|
+
# "user:jose@example.com"
|
291
|
+
# ]
|
292
|
+
# },
|
293
|
+
# {
|
294
|
+
# "log_type": "DATA_WRITE"
|
295
|
+
# }
|
296
|
+
# ]
|
297
|
+
# }
|
298
|
+
#
|
299
|
+
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
|
300
|
+
# jose@example.com from DATA_READ logging.
|
301
|
+
# @!attribute [rw] log_type
|
302
|
+
# @return [::Google::Iam::V1::AuditLogConfig::LogType]
|
303
|
+
# The log type that this config enables.
|
304
|
+
# @!attribute [rw] exempted_members
|
305
|
+
# @return [::Array<::String>]
|
306
|
+
# Specifies the identities that do not cause logging for this type of
|
307
|
+
# permission.
|
308
|
+
# Follows the same format of {::Google::Iam::V1::Binding#members Binding.members}.
|
309
|
+
class AuditLogConfig
|
310
|
+
include ::Google::Protobuf::MessageExts
|
311
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
312
|
+
|
313
|
+
# The list of valid permission types for which logging can be configured.
|
314
|
+
# Admin writes are always logged, and are not configurable.
|
315
|
+
module LogType
|
316
|
+
# Default case. Should never be this.
|
317
|
+
LOG_TYPE_UNSPECIFIED = 0
|
318
|
+
|
319
|
+
# Admin reads. Example: CloudIAM getIamPolicy
|
320
|
+
ADMIN_READ = 1
|
321
|
+
|
322
|
+
# Data writes. Example: CloudSQL Users create
|
323
|
+
DATA_WRITE = 2
|
324
|
+
|
325
|
+
# Data reads. Example: CloudSQL Users list
|
326
|
+
DATA_READ = 3
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
160
330
|
# The difference delta between two policies.
|
161
331
|
# @!attribute [rw] binding_deltas
|
162
332
|
# @return [::Array<::Google::Iam::V1::BindingDelta>]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-billing-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -48,22 +48,16 @@ dependencies:
|
|
48
48
|
name: grpc-google-iam-v1
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.6.10
|
54
|
-
- - "<"
|
51
|
+
- - "~>"
|
55
52
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
53
|
+
version: '1.1'
|
57
54
|
type: :runtime
|
58
55
|
prerelease: false
|
59
56
|
version_requirements: !ruby/object:Gem::Requirement
|
60
57
|
requirements:
|
61
|
-
- - "
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 0.6.10
|
64
|
-
- - "<"
|
58
|
+
- - "~>"
|
65
59
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
60
|
+
version: '1.1'
|
67
61
|
- !ruby/object:Gem::Dependency
|
68
62
|
name: google-style
|
69
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
229
|
- !ruby/object:Gem::Version
|
236
230
|
version: '0'
|
237
231
|
requirements: []
|
238
|
-
rubygems_version: 3.
|
232
|
+
rubygems_version: 3.3.5
|
239
233
|
signing_key:
|
240
234
|
specification_version: 4
|
241
235
|
summary: API Client library for the Billing V1 API
|