google-cloud-billing-v1 0.9.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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