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,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to.
39
+ # @!attribute [rw] launch_stage
40
+ # @return [::Google::Api::LaunchStage]
41
+ # Launch stage of this version of the API.
42
+ # @!attribute [rw] rest_numeric_enums
43
+ # @return [::Boolean]
44
+ # When using transport=rest, the client request will encode enums as
45
+ # numbers rather than strings.
46
+ # @!attribute [rw] java_settings
47
+ # @return [::Google::Api::JavaSettings]
48
+ # Settings for legacy Java features, supported in the Service YAML.
49
+ # @!attribute [rw] cpp_settings
50
+ # @return [::Google::Api::CppSettings]
51
+ # Settings for C++ client libraries.
52
+ # @!attribute [rw] php_settings
53
+ # @return [::Google::Api::PhpSettings]
54
+ # Settings for PHP client libraries.
55
+ # @!attribute [rw] python_settings
56
+ # @return [::Google::Api::PythonSettings]
57
+ # Settings for Python client libraries.
58
+ # @!attribute [rw] node_settings
59
+ # @return [::Google::Api::NodeSettings]
60
+ # Settings for Node client libraries.
61
+ # @!attribute [rw] dotnet_settings
62
+ # @return [::Google::Api::DotnetSettings]
63
+ # Settings for .NET client libraries.
64
+ # @!attribute [rw] ruby_settings
65
+ # @return [::Google::Api::RubySettings]
66
+ # Settings for Ruby client libraries.
67
+ # @!attribute [rw] go_settings
68
+ # @return [::Google::Api::GoSettings]
69
+ # Settings for Go client libraries.
70
+ class ClientLibrarySettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # This message configures the settings for publishing [Google Cloud Client
76
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
77
+ # generated from the service config.
78
+ # @!attribute [rw] method_settings
79
+ # @return [::Array<::Google::Api::MethodSettings>]
80
+ # A list of API method settings, e.g. the behavior for methods that use the
81
+ # long-running operation pattern.
82
+ # @!attribute [rw] new_issue_uri
83
+ # @return [::String]
84
+ # Link to a place that API users can report issues. Example:
85
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
86
+ # @!attribute [rw] documentation_uri
87
+ # @return [::String]
88
+ # Link to product home page. Example:
89
+ # https://cloud.google.com/asset-inventory/docs/overview
90
+ # @!attribute [rw] api_short_name
91
+ # @return [::String]
92
+ # Used as a tracking tag when collecting data about the APIs developer
93
+ # relations artifacts like docs, packages delivered to package managers,
94
+ # etc. Example: "speech".
95
+ # @!attribute [rw] github_label
96
+ # @return [::String]
97
+ # GitHub label to apply to issues and pull requests opened for this API.
98
+ # @!attribute [rw] codeowner_github_teams
99
+ # @return [::Array<::String>]
100
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
101
+ # containing source code for the client libraries for this API.
102
+ # @!attribute [rw] doc_tag_prefix
103
+ # @return [::String]
104
+ # A prefix used in sample code when demarking regions to be included in
105
+ # documentation.
106
+ # @!attribute [rw] organization
107
+ # @return [::Google::Api::ClientLibraryOrganization]
108
+ # For whom the client library is being published.
109
+ # @!attribute [rw] library_settings
110
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
111
+ # Client library settings. If the same version string appears multiple
112
+ # times in this list, then the last one wins. Settings from earlier
113
+ # settings with the same version string are discarded.
114
+ class Publishing
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Settings for Java client libraries.
120
+ # @!attribute [rw] library_package
121
+ # @return [::String]
122
+ # The package name to use in Java. Clobbers the java_package option
123
+ # set in the protobuf. This should be used **only** by APIs
124
+ # who have already set the language_settings.java.package_name" field
125
+ # in gapic.yaml. API teams should use the protobuf java_package option
126
+ # where possible.
127
+ #
128
+ # Example of a YAML configuration::
129
+ #
130
+ # publishing:
131
+ # java_settings:
132
+ # library_package: com.google.cloud.pubsub.v1
133
+ # @!attribute [rw] service_class_names
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Configure the Java class name to use instead of the service's for its
136
+ # corresponding generated GAPIC client. Keys are fully-qualified
137
+ # service names as they appear in the protobuf (including the full
138
+ # the language_settings.java.interface_names" field in gapic.yaml. API
139
+ # teams should otherwise use the service name as it appears in the
140
+ # protobuf.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # service_class_names:
147
+ # - google.pubsub.v1.Publisher: TopicAdmin
148
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
149
+ # @!attribute [rw] common
150
+ # @return [::Google::Api::CommonLanguageSettings]
151
+ # Some settings.
152
+ class JavaSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # @!attribute [rw] key
157
+ # @return [::String]
158
+ # @!attribute [rw] value
159
+ # @return [::String]
160
+ class ServiceClassNamesEntry
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
166
+ # Settings for C++ client libraries.
167
+ # @!attribute [rw] common
168
+ # @return [::Google::Api::CommonLanguageSettings]
169
+ # Some settings.
170
+ class CppSettings
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Settings for Php client libraries.
176
+ # @!attribute [rw] common
177
+ # @return [::Google::Api::CommonLanguageSettings]
178
+ # Some settings.
179
+ class PhpSettings
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # Settings for Python client libraries.
185
+ # @!attribute [rw] common
186
+ # @return [::Google::Api::CommonLanguageSettings]
187
+ # Some settings.
188
+ class PythonSettings
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Settings for Node client libraries.
194
+ # @!attribute [rw] common
195
+ # @return [::Google::Api::CommonLanguageSettings]
196
+ # Some settings.
197
+ class NodeSettings
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Settings for Dotnet client libraries.
203
+ # @!attribute [rw] common
204
+ # @return [::Google::Api::CommonLanguageSettings]
205
+ # Some settings.
206
+ class DotnetSettings
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # Settings for Ruby client libraries.
212
+ # @!attribute [rw] common
213
+ # @return [::Google::Api::CommonLanguageSettings]
214
+ # Some settings.
215
+ class RubySettings
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Settings for Go client libraries.
221
+ # @!attribute [rw] common
222
+ # @return [::Google::Api::CommonLanguageSettings]
223
+ # Some settings.
224
+ class GoSettings
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # Describes the generator configuration for a method.
230
+ # @!attribute [rw] selector
231
+ # @return [::String]
232
+ # The fully qualified name of the method, for which the options below apply.
233
+ # This is used to find the method to apply the options.
234
+ # @!attribute [rw] long_running
235
+ # @return [::Google::Api::MethodSettings::LongRunning]
236
+ # Describes settings to use for long-running operations when generating
237
+ # API methods for RPCs. Complements RPCs that use the annotations in
238
+ # google/longrunning/operations.proto.
239
+ #
240
+ # Example of a YAML configuration::
241
+ #
242
+ # publishing:
243
+ # method_behavior:
244
+ # - selector: CreateAdDomain
245
+ # long_running:
246
+ # initial_poll_delay:
247
+ # seconds: 60 # 1 minute
248
+ # poll_delay_multiplier: 1.5
249
+ # max_poll_delay:
250
+ # seconds: 360 # 6 minutes
251
+ # total_poll_timeout:
252
+ # seconds: 54000 # 90 minutes
253
+ class MethodSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describes settings to use when generating API methods that use the
258
+ # long-running operation pattern.
259
+ # All default values below are from those used in the client library
260
+ # generators (e.g.
261
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
262
+ # @!attribute [rw] initial_poll_delay
263
+ # @return [::Google::Protobuf::Duration]
264
+ # Initial delay after which the first poll request will be made.
265
+ # Default value: 5 seconds.
266
+ # @!attribute [rw] poll_delay_multiplier
267
+ # @return [::Float]
268
+ # Multiplier to gradually increase delay between subsequent polls until it
269
+ # reaches max_poll_delay.
270
+ # Default value: 1.5.
271
+ # @!attribute [rw] max_poll_delay
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Maximum time between two subsequent poll requests.
274
+ # Default value: 45 seconds.
275
+ # @!attribute [rw] total_poll_timeout
276
+ # @return [::Google::Protobuf::Duration]
277
+ # Total polling timeout.
278
+ # Default value: 5 minutes.
279
+ class LongRunning
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+
285
+ # The organization for which the client libraries are being published.
286
+ # Affects the url where generated docs are published, etc.
287
+ module ClientLibraryOrganization
288
+ # Not useful.
289
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
290
+
291
+ # Google Cloud Platform Org.
292
+ CLOUD = 1
293
+
294
+ # Ads (Advertising) Org.
295
+ ADS = 2
296
+
297
+ # Photos Org.
298
+ PHOTOS = 3
299
+
300
+ # Street View Org.
301
+ STREET_VIEW = 4
302
+ end
303
+
304
+ # To where should client libraries be published?
305
+ module ClientLibraryDestination
306
+ # Client libraries will neither be generated nor published to package
307
+ # managers.
308
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
309
+
310
+ # Generate the client library in a repo under github.com/googleapis,
311
+ # but don't publish it to package managers.
312
+ GITHUB = 10
313
+
314
+ # Publish the library to package managers like nuget.org and npmjs.com.
315
+ PACKAGE_MANAGER = 20
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -21,28 +21,30 @@ module Google
21
21
  module Cloud
22
22
  module Billing
23
23
  module V1
24
- # A billing account in [GCP Console](https://console.cloud.google.com/).
25
- # You can assign a billing account to one or more projects.
26
- # @!attribute [rw] name
24
+ # A billing account in the
25
+ # [Google Cloud Console](https://console.cloud.google.com/). You can assign a
26
+ # billing account to one or more projects.
27
+ # @!attribute [r] name
27
28
  # @return [::String]
28
- # The resource name of the billing account. The resource name has the form
29
- # `billingAccounts/{billing_account_id}`. For example,
29
+ # Output only. The resource name of the billing account. The resource name
30
+ # has the form `billingAccounts/{billing_account_id}`. For example,
30
31
  # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
31
32
  # billing account `012345-567890-ABCDEF`.
32
33
  # @!attribute [r] open
33
34
  # @return [::Boolean]
34
- # Output only. True if the billing account is open, and will therefore be charged for any
35
- # usage on associated projects. False if the billing account is closed, and
36
- # therefore projects associated with it will be unable to use paid services.
35
+ # Output only. True if the billing account is open, and will therefore be
36
+ # charged for any usage on associated projects. False if the billing account
37
+ # is closed, and therefore projects associated with it will be unable to use
38
+ # paid services.
37
39
  # @!attribute [rw] display_name
38
40
  # @return [::String]
39
41
  # The display name given to the billing account, such as `My Billing
40
- # Account`. This name is displayed in the GCP Console.
42
+ # Account`. This name is displayed in the Google Cloud Console.
41
43
  # @!attribute [rw] master_billing_account
42
44
  # @return [::String]
43
45
  # If this account is a
44
46
  # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
45
- # will be the resource name of the master billing account that it is being
47
+ # will be the resource name of the parent billing account that it is being
46
48
  # resold through.
47
49
  # Otherwise this will be empty.
48
50
  class BillingAccount
@@ -50,9 +52,9 @@ module Google
50
52
  extend ::Google::Protobuf::MessageExts::ClassMethods
51
53
  end
52
54
 
53
- # Encapsulation of billing information for a GCP Console project. A project
54
- # has at most one associated billing account at a time (but a billing account
55
- # can be assigned to multiple projects).
55
+ # Encapsulation of billing information for a Google Cloud Console project. A
56
+ # project has at most one associated billing account at a time (but a billing
57
+ # account can be assigned to multiple projects).
56
58
  # @!attribute [rw] name
57
59
  # @return [::String]
58
60
  # The resource name for the `ProjectBillingInfo`; has the form
@@ -82,8 +84,8 @@ module Google
82
84
  # Request message for `GetBillingAccount`.
83
85
  # @!attribute [rw] name
84
86
  # @return [::String]
85
- # Required. The resource name of the billing account to retrieve. For example,
86
- # `billingAccounts/012345-567890-ABCDEF`.
87
+ # Required. The resource name of the billing account to retrieve. For
88
+ # example, `billingAccounts/012345-567890-ABCDEF`.
87
89
  class GetBillingAccountRequest
88
90
  include ::Google::Protobuf::MessageExts
89
91
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -131,7 +133,7 @@ module Google
131
133
  # @return [::Google::Cloud::Billing::V1::BillingAccount]
132
134
  # Required. The billing account resource to create.
133
135
  # Currently CreateBillingAccount only supports subaccount creation, so
134
- # any created billing accounts must be under a provided master billing
136
+ # any created billing accounts must be under a provided parent billing
135
137
  # account.
136
138
  class CreateBillingAccountRequest
137
139
  include ::Google::Protobuf::MessageExts
@@ -144,7 +146,8 @@ module Google
144
146
  # Required. The name of the billing account resource to be updated.
145
147
  # @!attribute [rw] account
146
148
  # @return [::Google::Cloud::Billing::V1::BillingAccount]
147
- # Required. The billing account resource to replace the resource on the server.
149
+ # Required. The billing account resource to replace the resource on the
150
+ # server.
148
151
  # @!attribute [rw] update_mask
149
152
  # @return [::Google::Protobuf::FieldMask]
150
153
  # The update mask applied to the resource.
@@ -157,8 +160,9 @@ module Google
157
160
  # Request message for `ListProjectBillingInfo`.
158
161
  # @!attribute [rw] name
159
162
  # @return [::String]
160
- # Required. The resource name of the billing account associated with the projects that
161
- # you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
163
+ # Required. The resource name of the billing account associated with the
164
+ # projects that you want to list. For example,
165
+ # `billingAccounts/012345-567890-ABCDEF`.
162
166
  # @!attribute [rw] page_size
163
167
  # @return [::Integer]
164
168
  # Requested page size. The maximum page size is 100; this is also the
@@ -201,8 +205,9 @@ module Google
201
205
  # Request message for `UpdateProjectBillingInfo`.
202
206
  # @!attribute [rw] name
203
207
  # @return [::String]
204
- # Required. The resource name of the project associated with the billing information
205
- # that you want to update. For example, `projects/tokyo-rain-123`.
208
+ # Required. The resource name of the project associated with the billing
209
+ # information that you want to update. For example,
210
+ # `projects/tokyo-rain-123`.
206
211
  # @!attribute [rw] project_billing_info
207
212
  # @return [::Google::Cloud::Billing::V1::ProjectBillingInfo]
208
213
  # The new billing information for the project. Read-only fields are ignored;
@@ -70,6 +70,9 @@ module Google
70
70
  # @return [::String]
71
71
  # Identifies the service provider.
72
72
  # This is 'Google' for first party services in Google Cloud Platform.
73
+ # @!attribute [rw] geo_taxonomy
74
+ # @return [::Google::Cloud::Billing::V1::GeoTaxonomy]
75
+ # The geographic taxonomy for this sku.
73
76
  class Sku
74
77
  include ::Google::Protobuf::MessageExts
75
78
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -142,6 +145,21 @@ module Google
142
145
  # @return [::String]
143
146
  # The short hand for unit of usage this pricing is specified in.
144
147
  # Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
148
+ # @!attribute [rw] display_quantity
149
+ # @return [::Float]
150
+ # The recommended quantity of units for displaying pricing info. When
151
+ # displaying pricing info it is recommended to display:
152
+ # (unit_price * display_quantity) per display_quantity usage_unit.
153
+ # This field does not affect the pricing formula and is for display purposes
154
+ # only.
155
+ # Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
156
+ # the display_quantity is "1000" then the recommended way of displaying the
157
+ # pricing info is "0.10 USD per 1000 GB"
158
+ # @!attribute [rw] tiered_rates
159
+ # @return [::Array<::Google::Cloud::Billing::V1::PricingExpression::TierRate>]
160
+ # The list of tiered rates for this pricing. The total cost is computed by
161
+ # applying each of the tiered rates on usage. This repeated list is sorted
162
+ # by ascending order of start_usage_amount.
145
163
  # @!attribute [rw] usage_unit_description
146
164
  # @return [::String]
147
165
  # The unit of usage in human readable form.
@@ -161,21 +179,6 @@ module Google
161
179
  # unit_price / base_unit_conversion_factor = price per base_unit.
162
180
  # start_usage_amount * base_unit_conversion_factor = start_usage_amount in
163
181
  # base_unit.
164
- # @!attribute [rw] display_quantity
165
- # @return [::Float]
166
- # The recommended quantity of units for displaying pricing info. When
167
- # displaying pricing info it is recommended to display:
168
- # (unit_price * display_quantity) per display_quantity usage_unit.
169
- # This field does not affect the pricing formula and is for display purposes
170
- # only.
171
- # Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
172
- # the display_quantity is "1000" then the recommended way of displaying the
173
- # pricing info is "0.10 USD per 1000 GB"
174
- # @!attribute [rw] tiered_rates
175
- # @return [::Array<::Google::Cloud::Billing::V1::PricingExpression::TierRate>]
176
- # The list of tiered rates for this pricing. The total cost is computed by
177
- # applying each of the tiered rates on usage. This repeated list is sorted
178
- # by ascending order of start_usage_amount.
179
182
  class PricingExpression
180
183
  include ::Google::Protobuf::MessageExts
181
184
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -233,6 +236,36 @@ module Google
233
236
  end
234
237
  end
235
238
 
239
+ # Encapsulates the geographic taxonomy data for a sku.
240
+ # @!attribute [rw] type
241
+ # @return [::Google::Cloud::Billing::V1::GeoTaxonomy::Type]
242
+ # The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.
243
+ # @!attribute [rw] regions
244
+ # @return [::Array<::String>]
245
+ # The list of regions associated with a sku. Empty for Global skus, which are
246
+ # associated with all Google Cloud regions.
247
+ class GeoTaxonomy
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+
251
+ # The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.
252
+ module Type
253
+ # The type is not specified.
254
+ TYPE_UNSPECIFIED = 0
255
+
256
+ # The sku is global in nature, e.g. a license sku. Global skus are
257
+ # available in all regions, and so have an empty region list.
258
+ GLOBAL = 1
259
+
260
+ # The sku is available in a specific region, e.g. "us-west2".
261
+ REGIONAL = 2
262
+
263
+ # The sku is associated with multiple regions, e.g. "us-west2" and
264
+ # "us-east1".
265
+ MULTI_REGIONAL = 3
266
+ end
267
+ end
268
+
236
269
  # Request message for `ListServices`.
237
270
  # @!attribute [rw] page_size
238
271
  # @return [::Integer]
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+
20
+ module Google
21
+ module Protobuf
22
+ # A Duration represents a signed, fixed-length span of time represented
23
+ # as a count of seconds and fractions of seconds at nanosecond
24
+ # resolution. It is independent of any calendar and concepts like "day"
25
+ # or "month". It is related to Timestamp in that the difference between
26
+ # two Timestamp values is a Duration and it can be added or subtracted
27
+ # from a Timestamp. Range is approximately +-10,000 years.
28
+ #
29
+ # # Examples
30
+ #
31
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
32
+ #
33
+ # Timestamp start = ...;
34
+ # Timestamp end = ...;
35
+ # Duration duration = ...;
36
+ #
37
+ # duration.seconds = end.seconds - start.seconds;
38
+ # duration.nanos = end.nanos - start.nanos;
39
+ #
40
+ # if (duration.seconds < 0 && duration.nanos > 0) {
41
+ # duration.seconds += 1;
42
+ # duration.nanos -= 1000000000;
43
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
+ # duration.seconds -= 1;
45
+ # duration.nanos += 1000000000;
46
+ # }
47
+ #
48
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
+ #
50
+ # Timestamp start = ...;
51
+ # Duration duration = ...;
52
+ # Timestamp end = ...;
53
+ #
54
+ # end.seconds = start.seconds + duration.seconds;
55
+ # end.nanos = start.nanos + duration.nanos;
56
+ #
57
+ # if (end.nanos < 0) {
58
+ # end.seconds -= 1;
59
+ # end.nanos += 1000000000;
60
+ # } else if (end.nanos >= 1000000000) {
61
+ # end.seconds += 1;
62
+ # end.nanos -= 1000000000;
63
+ # }
64
+ #
65
+ # Example 3: Compute Duration from datetime.timedelta in Python.
66
+ #
67
+ # td = datetime.timedelta(days=3, minutes=10)
68
+ # duration = Duration()
69
+ # duration.FromTimedelta(td)
70
+ #
71
+ # # JSON Mapping
72
+ #
73
+ # In JSON format, the Duration type is encoded as a string rather than an
74
+ # object, where the string ends in the suffix "s" (indicating seconds) and
75
+ # is preceded by the number of seconds, with nanoseconds expressed as
76
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
+ # microsecond should be expressed in JSON format as "3.000001s".
80
+ # @!attribute [rw] seconds
81
+ # @return [::Integer]
82
+ # Signed seconds of the span of time. Must be from -315,576,000,000
83
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
+ # @!attribute [rw] nanos
86
+ # @return [::Integer]
87
+ # Signed fractions of a second at nanosecond resolution of the span
88
+ # of time. Durations less than one second are represented with a 0
89
+ # `seconds` field and a positive or negative `nanos` field. For durations
90
+ # of one second or more, a non-zero value for the `nanos` field must be
91
+ # of the same sign as the `seconds` field. Must be from -999,999,999
92
+ # to +999,999,999 inclusive.
93
+ class Duration
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+ end
98
+ end