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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46c8c8e863a00dc969b206aee09d19eefe77abb07fb7f3d521ed494ea6de97d7
4
- data.tar.gz: 3cd826df958c5b9e3d78cd91ef4a2cd72a22c92d639de0e15c136ae63f925132
3
+ metadata.gz: 9937bcde2327192c4c583249f29aa2c331612968a0347af0bcdaadadfe6ec92b
4
+ data.tar.gz: 7a2553ac2a13359b5a59a33de7692226c36b0dccd38b0f68fabd96bec4b57914
5
5
  SHA512:
6
- metadata.gz: 6ca396abb04037cbfa1d02932ade35a46c0ece19687d8a3bceee8fdc3716a8754b862267cfd27f3d6da1844ff81411b2f29a59d2ea785dfb9dec75c9e8fb7634
7
- data.tar.gz: 3d5d4bfc42016c1896ba373cc7c14ea4f119a5b60cf4afe4e4d1ae81ce443046a0b7374c3ee7946a3d8d1aba103a50658b41a1f01c114ec4db8b3648e82cea43
6
+ metadata.gz: d8ab3a53fbd5276d69ff61958aa95ecd11a4f902a6d3cb9a423b1449e082c676ca563b5f1714b12c0b2dd7e72674e2cf46e8c0fce4ebcea9e97ca97ba5391625
7
+ data.tar.gz: 638ae9353e277a344eddbb672ddd855916108497751944576bfb5afe81a5aa3af0c21eece1c263bf599bc3ed3b93965f59d2c5c0462af9e9e392e686be334b1e
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
- --title=Billing V1 API
2
+ --title="Billing V1 API"
3
3
  --exclude _pb\.rb$
4
4
  --markup markdown
5
5
  --markup-provider redcarpet
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 Developers Console][dev-console].
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 slide-out navigation tray and select **API Manager**. From
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
- You should see a screen like one of the following.
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, and click "Generate
164
- new JSON key":
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://googleapis.dev/ruby/google-cloud-billing-v1/latest)
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
- "name" => request.name
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
- "name" => request.name
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
- "name" => request.name
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
- "name" => request.name
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
- "name" => request.name
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`. This field is only used by Cloud IAM.
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
- "resource" => request.resource
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
- "resource" => request.resource
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
- "resource" => request.resource
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
- "parent" => request.parent
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
@@ -30,7 +30,7 @@ module Google
30
30
  # and SKUs.
31
31
  class Service
32
32
 
33
- include GRPC::GenericService
33
+ include ::GRPC::GenericService
34
34
 
35
35
  self.marshal_class_method = :encode
36
36
  self.unmarshal_class_method = :decode
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Billing
23
23
  module V1
24
- VERSION = "0.7.3"
24
+ VERSION = "0.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -26,6 +26,8 @@ module Google
26
26
  ##
27
27
  # To load this package, including all its services, and instantiate a client:
28
28
  #
29
+ # @example
30
+ #
29
31
  # require "google/cloud/billing/v1"
30
32
  # client = ::Google::Cloud::Billing::V1::CloudBilling::Client.new
31
33
  #
@@ -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
- # name_descriptor: {
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
- # name_descriptor:
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
- # name_descriptor: {
62
- # pattern: "projects/{project}/logs/{log}"
63
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
- # parent_name_extractor: "projects/{project}"
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
- # name_descriptor:
89
- # - pattern: "projects/{project}/logs/{log}"
90
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
- # parent_name_extractor: "projects/{project}"
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`. This field is only used by Cloud IAM.
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 format version to be returned.
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 version 3.
32
- # Policies without any conditional bindings may specify any valid value or
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
- # Defines an Identity and Access Management (IAM) policy. It is used to
24
- # specify access control policies for Cloud Platform resources.
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` to a single `role`. Members can be user accounts, service accounts,
29
- # Google groups, and domains (such as G Suite). A `role` is a named list of
30
- # permissions (defined by IAM or configured by users). A `binding` can
31
- # optionally specify a `condition`, which is a logic expression that further
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
- # **JSON Example**
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": ["user:eve@example.com"],
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 Example**
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 developer's guide](https://cloud.google.com/iam/docs).
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, 1, and 3. Requests specifying an invalid value will be
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
- # Operations affecting conditional bindings must specify version 3. This can
88
- # be either setting a conditional policy, modifying a conditional binding,
89
- # or removing a binding (conditional or unconditional) from the stored
90
- # conditional policy.
91
- # Operations on non-conditional policies may specify any valid value or
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 no etag is provided in the call to `setIamPolicy`, version compliance
95
- # checks against the stored policy is skipped.
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` to a `role`. Optionally may specify a
99
- # `condition` that determines when binding is in effect.
100
- # `bindings` with no members will result in an error.
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 no `etag` is provided in the call to `setIamPolicy`, then the existing
112
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
113
- # 'setIamPolicy' will not fail even if the incoming policy version does not
114
- # meet the requirements for modifying the stored policy.
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` with a `role`.
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 identities requesting access for a Cloud Platform resource.
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
- # NOTE: An unsatisfied condition will not allow user access via current
153
- # binding. Different bindings, including their conditions, are examined
154
- # independently.
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.7.3
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: 2021-08-11 00:00:00.000000000 Z
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: 2.a
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: 2.a
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.2.17
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