google-cloud-billing-v1 0.15.1 → 0.17.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.
@@ -34,6 +34,9 @@ module Google
34
34
  # and SKUs.
35
35
  #
36
36
  class Client
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "cloudbilling.$UNIVERSE_DOMAIN$"
39
+
37
40
  include Paths
38
41
 
39
42
  # @private
@@ -98,6 +101,15 @@ module Google
98
101
  @config
99
102
  end
100
103
 
104
+ ##
105
+ # The effective universe domain
106
+ #
107
+ # @return [String]
108
+ #
109
+ def universe_domain
110
+ @cloud_catalog_stub.universe_domain
111
+ end
112
+
101
113
  ##
102
114
  # Create a new CloudCatalog REST client object.
103
115
  #
@@ -125,8 +137,9 @@ module Google
125
137
  credentials = @config.credentials
126
138
  # Use self-signed JWT if the endpoint is unchanged from default,
127
139
  # but only if the default endpoint does not have a region prefix.
128
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
129
- !@config.endpoint.split(".").first.include?("-")
140
+ enable_self_signed_jwt = @config.endpoint.nil? ||
141
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
142
+ !@config.endpoint.split(".").first.include?("-"))
130
143
  credentials ||= Credentials.default scope: @config.scope,
131
144
  enable_self_signed_jwt: enable_self_signed_jwt
132
145
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -136,7 +149,12 @@ module Google
136
149
  @quota_project_id = @config.quota_project
137
150
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
138
151
 
139
- @cloud_catalog_stub = ::Google::Cloud::Billing::V1::CloudCatalog::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
152
+ @cloud_catalog_stub = ::Google::Cloud::Billing::V1::CloudCatalog::Rest::ServiceStub.new(
153
+ endpoint: @config.endpoint,
154
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
155
+ universe_domain: @config.universe_domain,
156
+ credentials: credentials
157
+ )
140
158
  end
141
159
 
142
160
  # Service calls
@@ -366,9 +384,9 @@ module Google
366
384
  # end
367
385
  #
368
386
  # @!attribute [rw] endpoint
369
- # The hostname or hostname:port of the service endpoint.
370
- # Defaults to `"cloudbilling.googleapis.com"`.
371
- # @return [::String]
387
+ # A custom service endpoint, as a hostname or hostname:port. The default is
388
+ # nil, indicating to use the default endpoint in the current universe domain.
389
+ # @return [::String,nil]
372
390
  # @!attribute [rw] credentials
373
391
  # Credentials to send with calls. You may provide any of the following types:
374
392
  # * (`String`) The path to a service account key file in JSON format
@@ -405,13 +423,20 @@ module Google
405
423
  # @!attribute [rw] quota_project
406
424
  # A separate project against which to charge quota.
407
425
  # @return [::String]
426
+ # @!attribute [rw] universe_domain
427
+ # The universe domain within which to make requests. This determines the
428
+ # default endpoint URL. The default value of nil uses the environment
429
+ # universe (usually the default "googleapis.com" universe).
430
+ # @return [::String,nil]
408
431
  #
409
432
  class Configuration
410
433
  extend ::Gapic::Config
411
434
 
435
+ # @private
436
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
412
437
  DEFAULT_ENDPOINT = "cloudbilling.googleapis.com"
413
438
 
414
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
439
+ config_attr :endpoint, nil, ::String, nil
415
440
  config_attr :credentials, nil do |value|
416
441
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
417
442
  allowed.any? { |klass| klass === value }
@@ -423,6 +448,7 @@ module Google
423
448
  config_attr :metadata, nil, ::Hash, nil
424
449
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
425
450
  config_attr :quota_project, nil, ::String, nil
451
+ config_attr :universe_domain, nil, ::String, nil
426
452
 
427
453
  # @private
428
454
  def initialize parent_config = nil
@@ -30,16 +30,28 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, credentials:
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
34
  # These require statements are intentionally placed here to initialize
35
35
  # the REST modules only when it's required.
36
36
  require "gapic/rest"
37
37
 
38
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
39
42
  numeric_enums: true,
40
43
  raise_faraday_errors: false
41
44
  end
42
45
 
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
43
55
  ##
44
56
  # Baseline implementation for the list_services REST call
45
57
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Billing
23
23
  module V1
24
- VERSION = "0.15.1"
24
+ VERSION = "0.17.0"
25
25
  end
26
26
  end
27
27
  end
@@ -21,6 +21,7 @@ module Google
21
21
  module Api
22
22
  # Required information for every language.
23
23
  # @!attribute [rw] reference_docs_uri
24
+ # @deprecated This field is deprecated and may be removed in the next major version update.
24
25
  # @return [::String]
25
26
  # Link to automatically generated reference documentation. Example:
26
27
  # https://cloud.google.com/nodejs/docs/reference/asset/latest
@@ -304,6 +305,19 @@ module Google
304
305
  # seconds: 360 # 6 minutes
305
306
  # total_poll_timeout:
306
307
  # seconds: 54000 # 90 minutes
308
+ # @!attribute [rw] auto_populated_fields
309
+ # @return [::Array<::String>]
310
+ # List of top-level fields of the request message, that should be
311
+ # automatically populated by the client libraries based on their
312
+ # (google.api.field_info).format. Currently supported format: UUID4.
313
+ #
314
+ # Example of a YAML configuration:
315
+ #
316
+ # publishing:
317
+ # method_settings:
318
+ # - selector: google.example.v1.ExampleService.CreateExample
319
+ # auto_populated_fields:
320
+ # - request_id
307
321
  class MethodSettings
308
322
  include ::Google::Protobuf::MessageExts
309
323
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -47,6 +47,16 @@ module Google
47
47
  # will be the resource name of the parent billing account that it is being
48
48
  # resold through.
49
49
  # Otherwise this will be empty.
50
+ # @!attribute [r] parent
51
+ # @return [::String]
52
+ # Output only. The billing account's parent resource identifier.
53
+ # Use the `MoveBillingAccount` method to update the account's parent resource
54
+ # if it is a organization.
55
+ # Format:
56
+ # - `organizations/{organization_id}`, for example,
57
+ # `organizations/12345678`
58
+ # - `billingAccounts/{billing_account_id}`, for example,
59
+ # `billingAccounts/012345-567890-ABCDEF`
50
60
  class BillingAccount
51
61
  include ::Google::Protobuf::MessageExts
52
62
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -107,8 +117,17 @@ module Google
107
117
  # This only supports filtering for
108
118
  # [subaccounts](https://cloud.google.com/billing/docs/concepts) under a
109
119
  # single provided parent billing account.
110
- # (e.g. "master_billing_account=billingAccounts/012345-678901-ABCDEF").
120
+ # (for example,
121
+ # `master_billing_account=billingAccounts/012345-678901-ABCDEF`).
111
122
  # Boolean algebra and other fields are not currently supported.
123
+ # @!attribute [rw] parent
124
+ # @return [::String]
125
+ # Optional. The parent resource to list billing accounts from.
126
+ # Format:
127
+ # - `organizations/{organization_id}`, for example,
128
+ # `organizations/12345678`
129
+ # - `billingAccounts/{billing_account_id}`, for example,
130
+ # `billingAccounts/012345-567890-ABCDEF`
112
131
  class ListBillingAccountsRequest
113
132
  include ::Google::Protobuf::MessageExts
114
133
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -135,6 +154,14 @@ module Google
135
154
  # Currently CreateBillingAccount only supports subaccount creation, so
136
155
  # any created billing accounts must be under a provided parent billing
137
156
  # account.
157
+ # @!attribute [rw] parent
158
+ # @return [::String]
159
+ # Optional. The parent to create a billing account from.
160
+ # Format:
161
+ # - `organizations/{organization_id}`, for example,
162
+ # `organizations/12345678`
163
+ # - `billingAccounts/{billing_account_id}`, for example,
164
+ # `billingAccounts/012345-567890-ABCDEF`
138
165
  class CreateBillingAccountRequest
139
166
  include ::Google::Protobuf::MessageExts
140
167
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -217,6 +244,23 @@ module Google
217
244
  include ::Google::Protobuf::MessageExts
218
245
  extend ::Google::Protobuf::MessageExts::ClassMethods
219
246
  end
247
+
248
+ # Request message for `MoveBillingAccount` RPC.
249
+ # @!attribute [rw] name
250
+ # @return [::String]
251
+ # Required. The resource name of the billing account to move.
252
+ # Must be of the form `billingAccounts/{billing_account_id}`.
253
+ # The specified billing account cannot be a subaccount, since a subaccount
254
+ # always belongs to the same organization as its parent account.
255
+ # @!attribute [rw] destination_parent
256
+ # @return [::String]
257
+ # Required. The resource name of the Organization to reparent
258
+ # the billing account under.
259
+ # Must be of the form `organizations/{organization_id}`.
260
+ class MoveBillingAccountRequest
261
+ include ::Google::Protobuf::MessageExts
262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
263
+ end
220
264
  end
221
265
  end
222
266
  end
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.15.1
4
+ version: 0.17.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: 2023-09-26 00:00:00.000000000 Z
11
+ date: 2024-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.0
19
+ version: 0.21.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.20.0
29
+ version: 0.21.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -239,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
239
  - !ruby/object:Gem::Version
240
240
  version: '0'
241
241
  requirements: []
242
- rubygems_version: 3.4.19
242
+ rubygems_version: 3.5.3
243
243
  signing_key:
244
244
  specification_version: 4
245
245
  summary: Allows developers to manage billing for their Google Cloud Platform projects