google-cloud-billing 0.2.0 → 1.0.2

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: 5308627b4b3c0a88df8d248f7323c58461c9efc175df5e71fd87fcdc45ddd3b3
4
- data.tar.gz: 9821f6470e8766192bc5b2b69dc1d098d091b0bce2b6ba727842c74fcb0758b6
3
+ metadata.gz: 0be7b0b5603363b7e91cedf697bd74578f985b69c369848d19474b0deb79cdca
4
+ data.tar.gz: 1272d89453dfbe02613810d1507cf581443389f5eb9abc3c0b68a5663c24b717
5
5
  SHA512:
6
- metadata.gz: df9529f12b3ec24daa02b53e88c98a42ad0bc699eed73b01a8f0dca107ecc55fe58b528861a7e137eb026e204a286cb3a77b961bd979d29795e5a63701829294
7
- data.tar.gz: ce8233e54d88fdc423b4bca1286d2066a0848ca4f28343d41fb9553e208cc4f9b6c5e723013e0e78737704dab84f5076eabe335bde66ff3eee0d80652223f2e1
6
+ metadata.gz: c55349a868cd6c29c49c51520621cc29a0025f7075b3a5d379aac8c041086b26e4702e4b4c1bb66c39505f4a3ed0d179ccad85bcc7a903f9e3221177198ebd92
7
+ data.tar.gz: 5c052fc30567f425c069630db670863fb972adabc91c3d5f5551450e5ec5508b50eebf8fc0331bd41101e9e9bdba4d8648bae88ad83a82dd29719e15d1a27dc1
data/AUTHENTICATION.md CHANGED
@@ -64,7 +64,7 @@ containers where writing files is difficult or not encouraged.
64
64
 
65
65
  The environment variables that google-cloud-billing
66
66
  checks for credentials are configured on the service Credentials class (such as
67
- `Google::Cloud::Billing::V1::CloudBilling::Credentials`):
67
+ `::Google::Cloud::Billing::V1::CloudBilling::Credentials`):
68
68
 
69
69
  1. `BILLING_CREDENTIALS` - Path to JSON file, or JSON contents
70
70
  2. `BILLING_KEYFILE` - Path to JSON file, or JSON contents
data/README.md CHANGED
@@ -6,9 +6,10 @@ Allows developers to manage billing for their Google Cloud Platform projects pro
6
6
 
7
7
  Actual client classes for the various versions of this API are defined in
8
8
  _versioned_ client gems, with names of the form `google-cloud-billing-v*`.
9
- The gem `google-cloud-billing` is a convenience wrapper library that brings the
9
+ The gem `google-cloud-billing` is the main client library that brings the
10
10
  verisoned gems in as dependencies, and provides high-level methods for
11
- constructing clients.
11
+ constructing clients. More information on versioned clients can be found below
12
+ in the section titled *Which client should I use?*.
12
13
 
13
14
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-billing/latest)
14
15
  for this library, google-cloud-billing, to see the convenience methods for
@@ -69,3 +70,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
69
70
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
70
71
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
71
72
  about the Ruby support schedule.
73
+
74
+ ## Which client should I use?
75
+
76
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
77
+ client library with a name such as `google-cloud-billing`,
78
+ and lower-level _versioned_ client libraries with names such as
79
+ `google-cloud-billing-v1`.
80
+ _In most cases, you should install the main client._
81
+
82
+ ### What's the difference between the main client and a versioned client?
83
+
84
+ A _versioned client_ provides a basic set of data types and client classes for
85
+ a _single version_ of a specific service. (That is, for a service with multiple
86
+ versions, there might be a separate versioned client for each service version.)
87
+ Most versioned clients are written and maintained by a code generator.
88
+
89
+ The _main client_ is designed to provide you with the _recommended_ client
90
+ interfaces for the service. There will be only one main client for any given
91
+ service, even a service with multiple versions. The main client includes
92
+ factory methods for constructing the client objects we recommend for most
93
+ users. In some cases, those will be classes provided by an underlying versioned
94
+ client; in other cases, they will be handwritten higher-level client objects
95
+ with additional capabilities, convenience methods, or best practices built in.
96
+ Generally, the main client will default to a recommended service version,
97
+ although in some cases you can override this if you need to talk to a specific
98
+ service version.
99
+
100
+ ### Why would I want to use the main client?
101
+
102
+ We recommend that most users install the main client gem for a service. You can
103
+ identify this gem as the one _without_ a version in its name, e.g.
104
+ `google-cloud-billing`.
105
+ The main client is recommended because it will embody the best practices for
106
+ accessing the service, and may also provide more convenient interfaces or
107
+ tighter integration into frameworks and third-party libraries. In addition, the
108
+ documentation and samples published by Google will generally demonstrate use of
109
+ the main client.
110
+
111
+ ### Why would I want to use a versioned client?
112
+
113
+ You can use a versioned client if you are content with a possibly lower-level
114
+ class interface, you explicitly want to avoid features provided by the main
115
+ client, or you want to access a specific service version not be covered by the
116
+ main client. You can identify versioned client gems because the service version
117
+ is part of the name, e.g. `google-cloud-billing-v1`.
118
+
119
+ ### What about the google-apis-<name> clients?
120
+
121
+ Client library gems with names that begin with `google-apis-` are based on an
122
+ older code generation technology. They talk to a REST/JSON backend (whereas
123
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
124
+ not offer the same performance, features, and ease of use provided by more
125
+ modern clients.
126
+
127
+ The `google-apis-` clients have wide coverage across Google services, so you
128
+ might need to use one if there is no modern client available for the service.
129
+ However, if a modern client is available, we generally recommend it over the
130
+ older `google-apis-` clients.
@@ -16,4 +16,4 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
- require "google/cloud/billing"
19
+ require "google/cloud/billing" unless defined? Google::Cloud::Billing::VERSION
@@ -16,21 +16,29 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
+ # Require this file early so that the version constant gets defined before
20
+ # requiring "google/cloud". This is because google-cloud-core will load the
21
+ # entrypoint (gem name) file, which in turn re-requires this file (hence
22
+ # causing a require cycle) unless the version constant is already defined.
19
23
  require "google/cloud/billing/version"
24
+
20
25
  require "googleauth"
21
26
  gem "google-cloud-core"
22
- require "google/cloud" unless defined? Google::Cloud.new
27
+ require "google/cloud" unless defined? ::Google::Cloud.new
23
28
  require "google/cloud/config"
24
29
 
25
30
  # Set the default configuration
26
- Google::Cloud.configure.add_config! :billing do |config|
27
- config.add_field! :credentials, nil, match: [String, Hash, Google::Auth::Credentials]
28
- config.add_field! :lib_name, nil, match: String
29
- config.add_field! :lib_version, nil, match: String
30
- config.add_field! :interceptors, nil, match: Array
31
- config.add_field! :timeout, nil, match: Numeric
32
- config.add_field! :metadata, nil, match: Hash
33
- config.add_field! :retry_policy, nil, match: [Hash, Proc]
31
+ ::Google::Cloud.configure.add_config! :billing do |config|
32
+ config.add_field! :endpoint, "cloudbilling.googleapis.com", match: ::String
33
+ config.add_field! :credentials, nil, match: [::String, ::Hash, ::Google::Auth::Credentials]
34
+ config.add_field! :scope, nil, match: [::Array, ::String]
35
+ config.add_field! :lib_name, nil, match: ::String
36
+ config.add_field! :lib_version, nil, match: ::String
37
+ config.add_field! :interceptors, nil, match: ::Array
38
+ config.add_field! :timeout, nil, match: ::Numeric
39
+ config.add_field! :metadata, nil, match: ::Hash
40
+ config.add_field! :retry_policy, nil, match: [::Hash, ::Proc]
41
+ config.add_field! :quota_project, nil, match: ::String
34
42
  end
35
43
 
36
44
  module Google
@@ -51,7 +59,7 @@ module Google
51
59
  #
52
60
  # Retrieves GCP Console billing accounts and associates them with projects.
53
61
  #
54
- # @param version [String, Symbol] The API version to connect to. Optional.
62
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
55
63
  # Defaults to `:v1`.
56
64
  # @return [CloudBilling::Client] A client object for the specified version.
57
65
  #
@@ -83,7 +91,7 @@ module Google
83
91
  # Provides pricing information and metadata on Google Cloud Platform services
84
92
  # and SKUs.
85
93
  #
86
- # @param version [String, Symbol] The API version to connect to. Optional.
94
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
87
95
  # Defaults to `:v1`.
88
96
  # @return [CloudCatalog::Client] A client object for the specified version.
89
97
  #
@@ -112,8 +120,8 @@ module Google
112
120
  # The library version as recorded in instrumentation and logging.
113
121
  # * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
114
122
  # An array of interceptors that are run before calls are executed.
115
- # * `timeout` (*type:* `Integer`) -
116
- # Default timeout in milliseconds.
123
+ # * `timeout` (*type:* `Numeric`) -
124
+ # Default timeout in seconds.
117
125
  # * `metadata` (*type:* `Hash{Symbol=>String}`) -
118
126
  # Additional gRPC headers to be sent with the call.
119
127
  # * `retry_policy` (*type:* `Hash`) -
@@ -124,13 +132,16 @@ module Google
124
132
  # * `:retry_codes` (*type:* `Array<String>`) -
125
133
  # The error codes that should trigger a retry.
126
134
  #
127
- # @return [Google::Cloud::Config] The default configuration used by this library
135
+ # @return [::Google::Cloud::Config] The default configuration used by this library
128
136
  #
129
137
  def self.configure
130
- yield Google::Cloud.configure.billing if block_given?
138
+ yield ::Google::Cloud.configure.billing if block_given?
131
139
 
132
- Google::Cloud.configure.billing
140
+ ::Google::Cloud.configure.billing
133
141
  end
134
142
  end
135
143
  end
136
144
  end
145
+
146
+ helper_path = ::File.join __dir__, "billing", "helpers.rb"
147
+ require "google/cloud/billing/helpers" if ::File.file? helper_path
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Billing
19
- VERSION = "0.2.0".freeze
19
+ VERSION = "1.0.2".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-billing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-13 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: google-cloud-core
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.5'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.5'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: google-cloud-billing-v1
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -39,19 +25,19 @@ dependencies:
39
25
  - !ruby/object:Gem::Version
40
26
  version: '0.1'
41
27
  - !ruby/object:Gem::Dependency
42
- name: autotest-suffix
28
+ name: google-cloud-core
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '1.1'
48
- type: :development
33
+ version: '1.5'
34
+ type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '1.1'
40
+ version: '1.5'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: google-style
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +58,56 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '5.10'
61
+ version: '5.14'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '5.10'
68
+ version: '5.14'
83
69
  - !ruby/object:Gem::Dependency
84
- name: minitest-autotest
70
+ name: minitest-focus
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '1.0'
75
+ version: '1.1'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '1.0'
82
+ version: '1.1'
97
83
  - !ruby/object:Gem::Dependency
98
- name: minitest-focus
84
+ name: minitest-rg
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '1.1'
89
+ version: '5.2'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '1.1'
96
+ version: '5.2'
111
97
  - !ruby/object:Gem::Dependency
112
- name: minitest-rg
98
+ name: rake
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - "~>"
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
- version: '5.2'
103
+ version: '12.0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - "~>"
108
+ - - ">="
123
109
  - !ruby/object:Gem::Version
124
- version: '5.2'
110
+ version: '12.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: redcarpet
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
183
  - !ruby/object:Gem::Version
198
184
  version: '0'
199
185
  requirements: []
200
- rubygems_version: 3.0.6
186
+ rubygems_version: 3.2.6
201
187
  signing_key:
202
188
  specification_version: 4
203
189
  summary: API Client library for the Billing API