google-cloud-billing-budgets 2.4.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e0e0ecda978b3b5cbe07302d93d5ec7bfccb25efa70a232ac7c68bacc06db3c
4
- data.tar.gz: a7de625bbd7015222a65d5e27240fc4f8748d2f477da9e87887eb146b126dacf
3
+ metadata.gz: 2754d2cc9ecdbf33dd48c04619f0ba3b9b331935b37dcca8ea16af00b39a7675
4
+ data.tar.gz: 54bbd41181e7a0a34a808abcdff7a57769613b81caf46604d8c96b4f82788c1c
5
5
  SHA512:
6
- metadata.gz: 8e427b2a426f6428ec8efee79725d6adae8bbbd9ed3040082aad4957b8165676ad75b9acc6ad7c3680297baafa31867fca5d18b4b2cb800bc509be95c5aa6ab8
7
- data.tar.gz: a3fed6c0350807cb28cdafb463cd6826fd00163633eeba09f5da8bb5b2c2fdcec30c5673ffa2da48427efdf296b35bb9833e92dcc7dcc31ef546b754fe4b7f58
6
+ metadata.gz: f476559e8184afdd52d8af236b4d7fc6518b7a435f1b75833a2ba8c6fb21f410a391ce0001895a0760dbb4571733e9023f0b448cb0c2c3bc24201dec9fc3ad00
7
+ data.tar.gz: 2038832a32ad00fe220d6849038c51a025e8e15084c78086e10e9bdfb66678b4dc46d8a546ba81a074f936cd96e161d773eecd6bf14ff959f10e15e813230d4c
data/README.md CHANGED
@@ -16,8 +16,7 @@ for this library, google-cloud-billing-budgets, to see the convenience methods f
16
16
  constructing client objects. Reference documentation for the client objects
17
17
  themselves can be found in the client library documentation for the versioned
18
18
  client gems:
19
- [google-cloud-billing-budgets-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-billing-budgets-v1/latest),
20
- [google-cloud-billing-budgets-v1beta1](https://cloud.google.com/ruby/docs/reference/google-cloud-billing-budgets-v1beta1/latest).
19
+ [google-cloud-billing-budgets-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-billing-budgets-v1/latest).
21
20
 
22
21
  See also the [Product Documentation](https://cloud.google.com/billing/docs/how-to/budget-api-overview)
23
22
  for more usage information.
@@ -35,9 +34,39 @@ In order to use this library, you first need to go through the following steps:
35
34
  1. [Enable the API.](https://console.cloud.google.com/apis/library/billingbudgets.googleapis.com)
36
35
  1. {file:AUTHENTICATION.md Set up authentication.}
37
36
 
37
+ ## Debug Logging
38
+
39
+ This library comes with opt-in Debug Logging that can help you troubleshoot
40
+ your application's integration with the API. When logging is activated, key
41
+ events such as requests and responses, along with data payloads and metadata
42
+ such as headers and client configuration, are logged to the standard error
43
+ stream.
44
+
45
+ **WARNING:** Client Library Debug Logging includes your data payloads in
46
+ plaintext, which could include sensitive data such as PII for yourself or your
47
+ customers, private keys, or other security data that could be compromising if
48
+ leaked. Always practice good data hygiene with your application logs, and follow
49
+ the principle of least access. Google also recommends that Client Library Debug
50
+ Logging be enabled only temporarily during active debugging, and not used
51
+ permanently in production.
52
+
53
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
54
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
55
+ list of client library gem names. This will select the default logging behavior,
56
+ which writes logs to the standard error stream. On a local workstation, this may
57
+ result in logs appearing on the console. When running on a Google Cloud hosting
58
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
59
+ results in logs appearing alongside your application logs in the
60
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
61
+
62
+ Debug logging also requires that the versioned clients for this service be
63
+ sufficiently recent, released after about Dec 10, 2024. If logging is not
64
+ working, try updating the versioned clients in your bundle or installed gems:
65
+ [google-cloud-billing-budgets-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-billing-budgets-v1/latest).
66
+
38
67
  ## Supported Ruby Versions
39
68
 
40
- This library is supported on Ruby 2.7+.
69
+ This library is supported on Ruby 3.0+.
41
70
 
42
71
  Google provides official support for Ruby versions that are actively supported
43
72
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Billing
23
23
  module Budgets
24
- VERSION = "2.4.1"
24
+ VERSION = "3.0.0"
25
25
  end
26
26
  end
27
27
  end
@@ -59,6 +59,11 @@ module Google
59
59
  # You can also specify a different transport by passing `:rest` or `:grpc` in
60
60
  # the `transport` parameter.
61
61
  #
62
+ # Raises an exception if the currently installed versioned client gem for the
63
+ # given API version does not support the given transport of the BudgetService service.
64
+ # You can determine whether the method will succeed by calling
65
+ # {Google::Cloud::Billing::Budgets.budget_service_available?}.
66
+ #
62
67
  # ## About BudgetService
63
68
  #
64
69
  # BudgetService stores Cloud Billing budgets, which define a
@@ -81,6 +86,37 @@ module Google
81
86
  service_module.const_get(:Client).new(&block)
82
87
  end
83
88
 
89
+ ##
90
+ # Determines whether the BudgetService service is supported by the current client.
91
+ # If true, you can retrieve a client object by calling {Google::Cloud::Billing::Budgets.budget_service}.
92
+ # If false, that method will raise an exception. This could happen if the given
93
+ # API version does not exist or does not support the BudgetService service,
94
+ # or if the versioned client gem needs an update to support the BudgetService service.
95
+ #
96
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
97
+ # Defaults to `:v1`.
98
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
99
+ # @return [boolean] Whether the service is available.
100
+ #
101
+ def self.budget_service_available? version: :v1, transport: :grpc
102
+ require "google/cloud/billing/budgets/#{version.to_s.downcase}"
103
+ package_name = Google::Cloud::Billing::Budgets
104
+ .constants
105
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
106
+ .first
107
+ return false unless package_name
108
+ service_module = Google::Cloud::Billing::Budgets.const_get package_name
109
+ return false unless service_module.const_defined? :BudgetService
110
+ service_module = service_module.const_get :BudgetService
111
+ if transport == :rest
112
+ return false unless service_module.const_defined? :Rest
113
+ service_module = service_module.const_get :Rest
114
+ end
115
+ service_module.const_defined? :Client
116
+ rescue ::LoadError
117
+ false
118
+ end
119
+
84
120
  ##
85
121
  # Configure the google-cloud-billing-budgets library.
86
122
  #
metadata CHANGED
@@ -1,55 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-billing-budgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-09 00:00:00.000000000 Z
10
+ date: 2025-02-13 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: google-cloud-billing-budgets-v1
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0.7'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 2.a
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '0.7'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 2.a
33
- - !ruby/object:Gem::Dependency
34
- name: google-cloud-billing-budgets-v1beta1
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '0.11'
40
- - - "<"
16
+ - - "~>"
41
17
  - !ruby/object:Gem::Version
42
- version: 2.a
18
+ version: '1.2'
43
19
  type: :runtime
44
20
  prerelease: false
45
21
  version_requirements: !ruby/object:Gem::Requirement
46
22
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '0.11'
50
- - - "<"
23
+ - - "~>"
51
24
  - !ruby/object:Gem::Version
52
- version: 2.a
25
+ version: '1.2'
53
26
  - !ruby/object:Gem::Dependency
54
27
  name: google-cloud-core
55
28
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +55,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
82
55
  licenses:
83
56
  - Apache-2.0
84
57
  metadata: {}
85
- post_install_message:
86
58
  rdoc_options: []
87
59
  require_paths:
88
60
  - lib
@@ -90,15 +62,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
62
  requirements:
91
63
  - - ">="
92
64
  - !ruby/object:Gem::Version
93
- version: '2.7'
65
+ version: '3.0'
94
66
  required_rubygems_version: !ruby/object:Gem::Requirement
95
67
  requirements:
96
68
  - - ">="
97
69
  - !ruby/object:Gem::Version
98
70
  version: '0'
99
71
  requirements: []
100
- rubygems_version: 3.5.6
101
- signing_key:
72
+ rubygems_version: 3.6.3
102
73
  specification_version: 4
103
74
  summary: API Client library for the Billing Budgets API
104
75
  test_files: []