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
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/billing/v1/cloud_catalog_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Billing
24
+ module V1
25
+ module CloudCatalog
26
+ module Rest
27
+ ##
28
+ # REST service stub for the CloudCatalog service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ numeric_enums: true,
40
+ raise_faraday_errors: false
41
+ end
42
+
43
+ ##
44
+ # Baseline implementation for the list_services REST call
45
+ #
46
+ # @param request_pb [::Google::Cloud::Billing::V1::ListServicesRequest]
47
+ # A request object representing the call parameters. Required.
48
+ # @param options [::Gapic::CallOptions]
49
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
50
+ #
51
+ # @yield [result, operation] Access the result along with the TransportOperation object
52
+ # @yieldparam result [::Google::Cloud::Billing::V1::ListServicesResponse]
53
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
54
+ #
55
+ # @return [::Google::Cloud::Billing::V1::ListServicesResponse]
56
+ # A result object deserialized from the server's reply
57
+ def list_services request_pb, options = nil
58
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
59
+
60
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_services_request request_pb
61
+ query_string_params = if query_string_params.any?
62
+ query_string_params.to_h { |p| p.split("=", 2) }
63
+ else
64
+ {}
65
+ end
66
+
67
+ response = @client_stub.make_http_request(
68
+ verb,
69
+ uri: uri,
70
+ body: body || "",
71
+ params: query_string_params,
72
+ options: options
73
+ )
74
+ operation = ::Gapic::Rest::TransportOperation.new response
75
+ result = ::Google::Cloud::Billing::V1::ListServicesResponse.decode_json response.body, ignore_unknown_fields: true
76
+
77
+ yield result, operation if block_given?
78
+ result
79
+ end
80
+
81
+ ##
82
+ # Baseline implementation for the list_skus REST call
83
+ #
84
+ # @param request_pb [::Google::Cloud::Billing::V1::ListSkusRequest]
85
+ # A request object representing the call parameters. Required.
86
+ # @param options [::Gapic::CallOptions]
87
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
88
+ #
89
+ # @yield [result, operation] Access the result along with the TransportOperation object
90
+ # @yieldparam result [::Google::Cloud::Billing::V1::ListSkusResponse]
91
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
92
+ #
93
+ # @return [::Google::Cloud::Billing::V1::ListSkusResponse]
94
+ # A result object deserialized from the server's reply
95
+ def list_skus request_pb, options = nil
96
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
97
+
98
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_skus_request request_pb
99
+ query_string_params = if query_string_params.any?
100
+ query_string_params.to_h { |p| p.split("=", 2) }
101
+ else
102
+ {}
103
+ end
104
+
105
+ response = @client_stub.make_http_request(
106
+ verb,
107
+ uri: uri,
108
+ body: body || "",
109
+ params: query_string_params,
110
+ options: options
111
+ )
112
+ operation = ::Gapic::Rest::TransportOperation.new response
113
+ result = ::Google::Cloud::Billing::V1::ListSkusResponse.decode_json response.body, ignore_unknown_fields: true
114
+
115
+ yield result, operation if block_given?
116
+ result
117
+ end
118
+
119
+ ##
120
+ # @private
121
+ #
122
+ # GRPC transcoding helper method for the list_services REST call
123
+ #
124
+ # @param request_pb [::Google::Cloud::Billing::V1::ListServicesRequest]
125
+ # A request object representing the call parameters. Required.
126
+ # @return [Array(String, [String, nil], Hash{String => String})]
127
+ # Uri, Body, Query string parameters
128
+ def self.transcode_list_services_request request_pb
129
+ transcoder = Gapic::Rest::GrpcTranscoder.new
130
+ .with_bindings(
131
+ uri_method: :get,
132
+ uri_template: "/v1/services",
133
+ matches: []
134
+ )
135
+ transcoder.transcode request_pb
136
+ end
137
+
138
+ ##
139
+ # @private
140
+ #
141
+ # GRPC transcoding helper method for the list_skus REST call
142
+ #
143
+ # @param request_pb [::Google::Cloud::Billing::V1::ListSkusRequest]
144
+ # A request object representing the call parameters. Required.
145
+ # @return [Array(String, [String, nil], Hash{String => String})]
146
+ # Uri, Body, Query string parameters
147
+ def self.transcode_list_skus_request request_pb
148
+ transcoder = Gapic::Rest::GrpcTranscoder.new
149
+ .with_bindings(
150
+ uri_method: :get,
151
+ uri_template: "/v1/{parent}/skus",
152
+ matches: [
153
+ ["parent", %r{^services/[^/]+/?$}, false]
154
+ ]
155
+ )
156
+ transcoder.transcode request_pb
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
164
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/billing/v1/version"
24
+
25
+ require "google/cloud/billing/v1/cloud_catalog/credentials"
26
+ require "google/cloud/billing/v1/cloud_catalog/paths"
27
+ require "google/cloud/billing/v1/cloud_catalog/rest/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Billing
32
+ module V1
33
+ ##
34
+ # A catalog of Google Cloud Platform services and SKUs.
35
+ # Provides pricing information and metadata on Google Cloud Platform services
36
+ # and SKUs.
37
+ #
38
+ # To load this service and instantiate a REST client:
39
+ #
40
+ # require "google/cloud/billing/v1/cloud_catalog/rest"
41
+ # client = ::Google::Cloud::Billing::V1::CloudCatalog::Rest::Client.new
42
+ #
43
+ module CloudCatalog
44
+ # Client for the REST transport
45
+ module Rest
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
54
+ require "google/cloud/billing/v1/cloud_catalog/rest/helpers" if ::File.file? helper_path
@@ -25,6 +25,7 @@ require "google/cloud/billing/v1/version"
25
25
  require "google/cloud/billing/v1/cloud_catalog/credentials"
26
26
  require "google/cloud/billing/v1/cloud_catalog/paths"
27
27
  require "google/cloud/billing/v1/cloud_catalog/client"
28
+ require "google/cloud/billing/v1/cloud_catalog/rest"
28
29
 
29
30
  module Google
30
31
  module Cloud
@@ -35,11 +36,16 @@ module Google
35
36
  # Provides pricing information and metadata on Google Cloud Platform services
36
37
  # and SKUs.
37
38
  #
38
- # To load this service and instantiate a client:
39
+ # @example Load this service and instantiate a gRPC client
39
40
  #
40
41
  # require "google/cloud/billing/v1/cloud_catalog"
41
42
  # client = ::Google::Cloud::Billing::V1::CloudCatalog::Client.new
42
43
  #
44
+ # @example Load this service and instantiate a REST client
45
+ #
46
+ # require "google/cloud/billing/v1/cloud_catalog/rest"
47
+ # client = ::Google::Cloud::Billing::V1::CloudCatalog::Rest::Client.new
48
+ #
43
49
  module CloudCatalog
44
50
  end
45
51
  end
@@ -26,6 +26,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
26
  repeated :service_regions, :string, 5
27
27
  repeated :pricing_info, :message, 6, "google.cloud.billing.v1.PricingInfo"
28
28
  optional :service_provider_name, :string, 7
29
+ optional :geo_taxonomy, :message, 8, "google.cloud.billing.v1.GeoTaxonomy"
29
30
  end
30
31
  add_message "google.cloud.billing.v1.Category" do
31
32
  optional :service_display_name, :string, 1
@@ -42,12 +43,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
42
43
  end
43
44
  add_message "google.cloud.billing.v1.PricingExpression" do
44
45
  optional :usage_unit, :string, 1
46
+ optional :display_quantity, :double, 2
47
+ repeated :tiered_rates, :message, 3, "google.cloud.billing.v1.PricingExpression.TierRate"
45
48
  optional :usage_unit_description, :string, 4
46
49
  optional :base_unit, :string, 5
47
50
  optional :base_unit_description, :string, 6
48
51
  optional :base_unit_conversion_factor, :double, 7
49
- optional :display_quantity, :double, 2
50
- repeated :tiered_rates, :message, 3, "google.cloud.billing.v1.PricingExpression.TierRate"
51
52
  end
52
53
  add_message "google.cloud.billing.v1.PricingExpression.TierRate" do
53
54
  optional :start_usage_amount, :double, 1
@@ -68,6 +69,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
68
69
  value :DAILY, 1
69
70
  value :MONTHLY, 2
70
71
  end
72
+ add_message "google.cloud.billing.v1.GeoTaxonomy" do
73
+ optional :type, :enum, 1, "google.cloud.billing.v1.GeoTaxonomy.Type"
74
+ repeated :regions, :string, 2
75
+ end
76
+ add_enum "google.cloud.billing.v1.GeoTaxonomy.Type" do
77
+ value :TYPE_UNSPECIFIED, 0
78
+ value :GLOBAL, 1
79
+ value :REGIONAL, 2
80
+ value :MULTI_REGIONAL, 3
81
+ end
71
82
  add_message "google.cloud.billing.v1.ListServicesRequest" do
72
83
  optional :page_size, :int32, 1
73
84
  optional :page_token, :string, 2
@@ -104,6 +115,8 @@ module Google
104
115
  AggregationInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.AggregationInfo").msgclass
105
116
  AggregationInfo::AggregationLevel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.AggregationInfo.AggregationLevel").enummodule
106
117
  AggregationInfo::AggregationInterval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.AggregationInfo.AggregationInterval").enummodule
118
+ GeoTaxonomy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.GeoTaxonomy").msgclass
119
+ GeoTaxonomy::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.GeoTaxonomy.Type").enummodule
107
120
  ListServicesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.ListServicesRequest").msgclass
108
121
  ListServicesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.ListServicesResponse").msgclass
109
122
  ListSkusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.billing.v1.ListSkusRequest").msgclass
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/cloud/billing/v1/cloud_catalog.proto for package 'google.cloud.billing.v1'
3
3
  # Original file comments:
4
- # Copyright 2019 Google LLC.
4
+ # Copyright 2022 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- #
19
18
 
20
19
  require 'grpc'
21
20
  require 'google/cloud/billing/v1/cloud_catalog_pb'
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/billing/v1/cloud_billing/rest"
20
+ require "google/cloud/billing/v1/cloud_catalog/rest"
21
+ require "google/cloud/billing/v1/version"
22
+
23
+ module Google
24
+ module Cloud
25
+ module Billing
26
+ ##
27
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
28
+ #
29
+ # @example
30
+ #
31
+ # require "google/cloud/billing/v1/rest"
32
+ # client = ::Google::Cloud::Billing::V1::CloudBilling::Rest::Client.new
33
+ #
34
+ module V1
35
+ end
36
+ end
37
+ end
38
+ end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Billing
23
23
  module V1
24
- VERSION = "0.9.0"
24
+ VERSION = "0.11.0"
25
25
  end
26
26
  end
27
27
  end
@@ -24,13 +24,18 @@ module Google
24
24
  module Cloud
25
25
  module Billing
26
26
  ##
27
- # To load this package, including all its services, and instantiate a client:
27
+ # API client module.
28
28
  #
29
- # @example
29
+ # @example Load this package, including all its services, and instantiate a gRPC client
30
30
  #
31
31
  # require "google/cloud/billing/v1"
32
32
  # client = ::Google::Cloud::Billing::V1::CloudBilling::Client.new
33
33
  #
34
+ # @example Load this package, including all its services, and instantiate a REST client
35
+ #
36
+ # require "google/cloud/billing/v1"
37
+ # client = ::Google::Cloud::Billing::V1::CloudBilling::Rest::Client.new
38
+ #
34
39
  module V1
35
40
  end
36
41
  end