google-cloud-billing-v1 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/README.md +2 -2
  4. data/lib/google/cloud/billing/v1/cloud_billing/client.rb +37 -31
  5. data/lib/google/cloud/billing/v1/cloud_billing/credentials.rb +2 -0
  6. data/lib/google/cloud/billing/v1/cloud_billing/rest/client.rb +1143 -0
  7. data/lib/google/cloud/billing/v1/cloud_billing/rest/service_stub.rb +639 -0
  8. data/lib/google/cloud/billing/v1/cloud_billing/rest.rb +53 -0
  9. data/lib/google/cloud/billing/v1/cloud_billing.rb +9 -2
  10. data/lib/google/cloud/billing/v1/cloud_billing_services_pb.rb +19 -13
  11. data/lib/google/cloud/billing/v1/cloud_catalog/client.rb +8 -12
  12. data/lib/google/cloud/billing/v1/cloud_catalog/credentials.rb +2 -0
  13. data/lib/google/cloud/billing/v1/cloud_catalog/rest/client.rb +450 -0
  14. data/lib/google/cloud/billing/v1/cloud_catalog/rest/service_stub.rb +164 -0
  15. data/lib/google/cloud/billing/v1/cloud_catalog/rest.rb +54 -0
  16. data/lib/google/cloud/billing/v1/cloud_catalog.rb +7 -1
  17. data/lib/google/cloud/billing/v1/cloud_catalog_pb.rb +15 -2
  18. data/lib/google/cloud/billing/v1/cloud_catalog_services_pb.rb +1 -2
  19. data/lib/google/cloud/billing/v1/rest.rb +38 -0
  20. data/lib/google/cloud/billing/v1/version.rb +1 -1
  21. data/lib/google/cloud/billing/v1.rb +7 -2
  22. data/proto_docs/google/api/client.rb +318 -0
  23. data/proto_docs/google/api/launch_stage.rb +71 -0
  24. data/proto_docs/google/cloud/billing/v1/cloud_billing.rb +26 -21
  25. data/proto_docs/google/cloud/billing/v1/cloud_catalog.rb +48 -15
  26. data/proto_docs/google/protobuf/duration.rb +98 -0
  27. metadata +19 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 856c3ca9b9647e26eba95fc0d8f99b750380342f8304c3203e8b6d684cb18e8a
4
- data.tar.gz: d8c0a830ca6e37e97365452a6dff04da711604e90a72f75263a2ce0763181fea
3
+ metadata.gz: 8af908c3f6293aa7458e5ffaff9cf50e53d60397c67179946cd57ed54df9d7d8
4
+ data.tar.gz: bab2cf3bf6aec0c15bab4204d020f359a659a1b4b19e12cca07c0a8fefb1f646
5
5
  SHA512:
6
- metadata.gz: cf656ef864cfd5f6dab20f0fc31b4c0114bcc84b4a75f0af602927b546567b165da0056508fd2e61484c196b4477a7816dd11a72b96ee9c3cdbc61271c7b9f5c
7
- data.tar.gz: 1a44b28bbe34b8716744c664343ff41c7e6cb6dee9436e532c3c3e65d99c7f65a6722bd539859ac9aa097cafbcee3fccdaf670637dfa15f0d12d092490265239
6
+ metadata.gz: 772e1df0b42de029c3a04e36d5c45badf62f88379c0781938b482891b78c1fab678e056e70e93c9d46ebf97155e64192c048c6a62a70673ba1d11a4556e476c1
7
+ data.tar.gz: 9958ebb1b3676ffaac5a5411c33ea060230238cb804e1102a9e876f8b8abe3a9ae9da3d2545e3f11c941f27cc9abf51512d3c0c5c102966083f69ea8b2ae845e
data/AUTHENTICATION.md CHANGED
@@ -114,7 +114,7 @@ credentials are discovered.
114
114
  To configure your system for this, simply:
115
115
 
116
116
  1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
117
- 2. Authenticate using OAuth 2.0 `$ gcloud auth login`
117
+ 2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
118
118
  3. Write code as if already authenticated.
119
119
 
120
120
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ruby Client for the Billing V1 API
2
2
 
3
- API Client library for the Billing V1 API
3
+ Allows developers to manage billing for their Google Cloud Platform projects programmatically.
4
4
 
5
5
  Allows developers to manage billing for their Google Cloud Platform projects programmatically.
6
6
 
@@ -46,7 +46,7 @@ for general usage information.
46
46
  ## Enabling Logging
47
47
 
48
48
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as shown below,
49
+ The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
50
  or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
51
51
  that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
52
  and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
@@ -27,7 +27,8 @@ module Google
27
27
  ##
28
28
  # Client for the CloudBilling service.
29
29
  #
30
- # Retrieves GCP Console billing accounts and associates them with projects.
30
+ # Retrieves the Google Cloud Console billing accounts and associates them with
31
+ # projects.
31
32
  #
32
33
  class Client
33
34
  include Paths
@@ -212,8 +213,8 @@ module Google
212
213
  # the default parameter values, pass an empty Hash as a request object (see above).
213
214
  #
214
215
  # @param name [::String]
215
- # Required. The resource name of the billing account to retrieve. For example,
216
- # `billingAccounts/012345-567890-ABCDEF`.
216
+ # Required. The resource name of the billing account to retrieve. For
217
+ # example, `billingAccounts/012345-567890-ABCDEF`.
217
218
  #
218
219
  # @yield [response, operation] Access the result along with the RPC operation
219
220
  # @yieldparam response [::Google::Cloud::Billing::V1::BillingAccount]
@@ -334,13 +335,11 @@ module Google
334
335
  # # Call the list_billing_accounts method.
335
336
  # result = client.list_billing_accounts request
336
337
  #
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|
338
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
339
+ # # over elements, and API calls will be issued to fetch pages as needed.
340
+ # result.each do |item|
342
341
  # # Each element is of type ::Google::Cloud::Billing::V1::BillingAccount.
343
- # p response
342
+ # p item
344
343
  # end
345
344
  #
346
345
  def list_billing_accounts request, options = nil
@@ -403,7 +402,8 @@ module Google
403
402
  # @param name [::String]
404
403
  # Required. The name of the billing account resource to be updated.
405
404
  # @param account [::Google::Cloud::Billing::V1::BillingAccount, ::Hash]
406
- # Required. The billing account resource to replace the resource on the server.
405
+ # Required. The billing account resource to replace the resource on the
406
+ # server.
407
407
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
408
408
  # The update mask applied to the resource.
409
409
  # Only "display_name" is currently supported.
@@ -473,15 +473,20 @@ module Google
473
473
  end
474
474
 
475
475
  ##
476
- # Creates a billing account.
477
- # This method can only be used to create
478
- # [billing subaccounts](https://cloud.google.com/billing/docs/concepts)
479
- # by GCP resellers.
476
+ # This method creates [billing
477
+ # subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts).
478
+ #
479
+ # Google Cloud resellers should use the
480
+ # Channel Services APIs,
481
+ # [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create)
482
+ # and
483
+ # [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create).
484
+ #
480
485
  # When creating a subaccount, the current authenticated user must have the
481
- # `billing.accounts.update` IAM permission on the master account, which is
486
+ # `billing.accounts.update` IAM permission on the parent account, which is
482
487
  # typically given to billing account
483
488
  # [administrators](https://cloud.google.com/billing/docs/how-to/billing-access).
484
- # This method will return an error if the master account has not been
489
+ # This method will return an error if the parent account has not been
485
490
  # provisioned as a reseller account.
486
491
  #
487
492
  # @overload create_billing_account(request, options = nil)
@@ -502,7 +507,7 @@ module Google
502
507
  # @param billing_account [::Google::Cloud::Billing::V1::BillingAccount, ::Hash]
503
508
  # Required. The billing account resource to create.
504
509
  # Currently CreateBillingAccount only supports subaccount creation, so
505
- # any created billing accounts must be under a provided master billing
510
+ # any created billing accounts must be under a provided parent billing
506
511
  # account.
507
512
  #
508
513
  # @yield [response, operation] Access the result along with the RPC operation
@@ -583,8 +588,9 @@ module Google
583
588
  # the default parameter values, pass an empty Hash as a request object (see above).
584
589
  #
585
590
  # @param name [::String]
586
- # Required. The resource name of the billing account associated with the projects that
587
- # you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
591
+ # Required. The resource name of the billing account associated with the
592
+ # projects that you want to list. For example,
593
+ # `billingAccounts/012345-567890-ABCDEF`.
588
594
  # @param page_size [::Integer]
589
595
  # Requested page size. The maximum page size is 100; this is also the
590
596
  # default.
@@ -613,13 +619,11 @@ module Google
613
619
  # # Call the list_project_billing_info method.
614
620
  # result = client.list_project_billing_info request
615
621
  #
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|
622
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
623
+ # # over elements, and API calls will be issued to fetch pages as needed.
624
+ # result.each do |item|
621
625
  # # Each element is of type ::Google::Cloud::Billing::V1::ProjectBillingInfo.
622
- # p response
626
+ # p item
623
627
  # end
624
628
  #
625
629
  def list_project_billing_info request, options = nil
@@ -666,9 +670,10 @@ module Google
666
670
 
667
671
  ##
668
672
  # Gets the billing information for a project. The current authenticated user
669
- # must have [permission to view the
670
- # project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
671
- # ).
673
+ # must have the `resourcemanager.projects.get` permission for the project,
674
+ # which can be granted by assigning the [Project
675
+ # Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles)
676
+ # role.
672
677
  #
673
678
  # @overload get_project_billing_info(request, options = nil)
674
679
  # Pass arguments to `get_project_billing_info` via a request object, either of type
@@ -763,7 +768,7 @@ module Google
763
768
  # usage charges.
764
769
  #
765
770
  # *Note:* Incurred charges that have not yet been reported in the transaction
766
- # history of the GCP Console might be billed to the new billing
771
+ # history of the Google Cloud Console might be billed to the new billing
767
772
  # account, even if the charge occurred before the new billing account was
768
773
  # assigned to the project.
769
774
  #
@@ -802,8 +807,9 @@ module Google
802
807
  # the default parameter values, pass an empty Hash as a request object (see above).
803
808
  #
804
809
  # @param name [::String]
805
- # Required. The resource name of the project associated with the billing information
806
- # that you want to update. For example, `projects/tokyo-rain-123`.
810
+ # Required. The resource name of the project associated with the billing
811
+ # information that you want to update. For example,
812
+ # `projects/tokyo-rain-123`.
807
813
  # @param project_billing_info [::Google::Cloud::Billing::V1::ProjectBillingInfo, ::Hash]
808
814
  # The new billing information for the project. Read-only fields are ignored;
809
815
  # thus, you can leave empty all fields except `billing_account_name`.
@@ -26,6 +26,8 @@ module Google
26
26
  # Credentials for the CloudBilling API.
27
27
  class Credentials < ::Google::Auth::Credentials
28
28
  self.scope = [
29
+ "https://www.googleapis.com/auth/cloud-billing",
30
+ "https://www.googleapis.com/auth/cloud-billing.readonly",
29
31
  "https://www.googleapis.com/auth/cloud-platform"
30
32
  ]
31
33
  self.env_vars = [