google-apis-cloudbilling_v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google-apis-cloudbilling_v1.rb +15 -0
- data/lib/google/apis/cloudbilling_v1.rb +43 -0
- data/lib/google/apis/cloudbilling_v1/classes.rb +1002 -0
- data/lib/google/apis/cloudbilling_v1/gem_version.rb +28 -0
- data/lib/google/apis/cloudbilling_v1/representations.rb +391 -0
- data/lib/google/apis/cloudbilling_v1/service.rb +555 -0
- metadata +76 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Apis
|
17
|
+
module CloudbillingV1
|
18
|
+
# Version of the google-apis-cloudbilling_v1 gem
|
19
|
+
GEM_VERSION = "0.1.0"
|
20
|
+
|
21
|
+
# Version of the code generator used to generate this client
|
22
|
+
GENERATOR_VERSION = "0.1.1"
|
23
|
+
|
24
|
+
# Revision of the discovery document this client was generated from
|
25
|
+
REVISION = "20201017"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,391 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module CloudbillingV1
|
24
|
+
|
25
|
+
class AggregationInfo
|
26
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
27
|
+
|
28
|
+
include Google::Apis::Core::JsonObjectSupport
|
29
|
+
end
|
30
|
+
|
31
|
+
class AuditConfig
|
32
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
33
|
+
|
34
|
+
include Google::Apis::Core::JsonObjectSupport
|
35
|
+
end
|
36
|
+
|
37
|
+
class AuditLogConfig
|
38
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
39
|
+
|
40
|
+
include Google::Apis::Core::JsonObjectSupport
|
41
|
+
end
|
42
|
+
|
43
|
+
class BillingAccount
|
44
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
45
|
+
|
46
|
+
include Google::Apis::Core::JsonObjectSupport
|
47
|
+
end
|
48
|
+
|
49
|
+
class Binding
|
50
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
51
|
+
|
52
|
+
include Google::Apis::Core::JsonObjectSupport
|
53
|
+
end
|
54
|
+
|
55
|
+
class Category
|
56
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
57
|
+
|
58
|
+
include Google::Apis::Core::JsonObjectSupport
|
59
|
+
end
|
60
|
+
|
61
|
+
class Expr
|
62
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
63
|
+
|
64
|
+
include Google::Apis::Core::JsonObjectSupport
|
65
|
+
end
|
66
|
+
|
67
|
+
class GeoTaxonomy
|
68
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
69
|
+
|
70
|
+
include Google::Apis::Core::JsonObjectSupport
|
71
|
+
end
|
72
|
+
|
73
|
+
class ListBillingAccountsResponse
|
74
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
75
|
+
|
76
|
+
include Google::Apis::Core::JsonObjectSupport
|
77
|
+
end
|
78
|
+
|
79
|
+
class ListProjectBillingInfoResponse
|
80
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
81
|
+
|
82
|
+
include Google::Apis::Core::JsonObjectSupport
|
83
|
+
end
|
84
|
+
|
85
|
+
class ListServicesResponse
|
86
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
87
|
+
|
88
|
+
include Google::Apis::Core::JsonObjectSupport
|
89
|
+
end
|
90
|
+
|
91
|
+
class ListSkusResponse
|
92
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
93
|
+
|
94
|
+
include Google::Apis::Core::JsonObjectSupport
|
95
|
+
end
|
96
|
+
|
97
|
+
class Money
|
98
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
99
|
+
|
100
|
+
include Google::Apis::Core::JsonObjectSupport
|
101
|
+
end
|
102
|
+
|
103
|
+
class Policy
|
104
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
105
|
+
|
106
|
+
include Google::Apis::Core::JsonObjectSupport
|
107
|
+
end
|
108
|
+
|
109
|
+
class PricingExpression
|
110
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
111
|
+
|
112
|
+
include Google::Apis::Core::JsonObjectSupport
|
113
|
+
end
|
114
|
+
|
115
|
+
class PricingInfo
|
116
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
117
|
+
|
118
|
+
include Google::Apis::Core::JsonObjectSupport
|
119
|
+
end
|
120
|
+
|
121
|
+
class ProjectBillingInfo
|
122
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
123
|
+
|
124
|
+
include Google::Apis::Core::JsonObjectSupport
|
125
|
+
end
|
126
|
+
|
127
|
+
class Service
|
128
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
129
|
+
|
130
|
+
include Google::Apis::Core::JsonObjectSupport
|
131
|
+
end
|
132
|
+
|
133
|
+
class SetIamPolicyRequest
|
134
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
135
|
+
|
136
|
+
include Google::Apis::Core::JsonObjectSupport
|
137
|
+
end
|
138
|
+
|
139
|
+
class Sku
|
140
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
141
|
+
|
142
|
+
include Google::Apis::Core::JsonObjectSupport
|
143
|
+
end
|
144
|
+
|
145
|
+
class TestIamPermissionsRequest
|
146
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
147
|
+
|
148
|
+
include Google::Apis::Core::JsonObjectSupport
|
149
|
+
end
|
150
|
+
|
151
|
+
class TestIamPermissionsResponse
|
152
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
153
|
+
|
154
|
+
include Google::Apis::Core::JsonObjectSupport
|
155
|
+
end
|
156
|
+
|
157
|
+
class TierRate
|
158
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
159
|
+
|
160
|
+
include Google::Apis::Core::JsonObjectSupport
|
161
|
+
end
|
162
|
+
|
163
|
+
class AggregationInfo
|
164
|
+
# @private
|
165
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
166
|
+
property :aggregation_count, as: 'aggregationCount'
|
167
|
+
property :aggregation_interval, as: 'aggregationInterval'
|
168
|
+
property :aggregation_level, as: 'aggregationLevel'
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
class AuditConfig
|
173
|
+
# @private
|
174
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
175
|
+
collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::CloudbillingV1::AuditLogConfig, decorator: Google::Apis::CloudbillingV1::AuditLogConfig::Representation
|
176
|
+
|
177
|
+
property :service, as: 'service'
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
class AuditLogConfig
|
182
|
+
# @private
|
183
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
184
|
+
collection :exempted_members, as: 'exemptedMembers'
|
185
|
+
property :log_type, as: 'logType'
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
class BillingAccount
|
190
|
+
# @private
|
191
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
192
|
+
property :display_name, as: 'displayName'
|
193
|
+
property :master_billing_account, as: 'masterBillingAccount'
|
194
|
+
property :name, as: 'name'
|
195
|
+
property :open, as: 'open'
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
class Binding
|
200
|
+
# @private
|
201
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
202
|
+
property :condition, as: 'condition', class: Google::Apis::CloudbillingV1::Expr, decorator: Google::Apis::CloudbillingV1::Expr::Representation
|
203
|
+
|
204
|
+
collection :members, as: 'members'
|
205
|
+
property :role, as: 'role'
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
class Category
|
210
|
+
# @private
|
211
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
212
|
+
property :resource_family, as: 'resourceFamily'
|
213
|
+
property :resource_group, as: 'resourceGroup'
|
214
|
+
property :service_display_name, as: 'serviceDisplayName'
|
215
|
+
property :usage_type, as: 'usageType'
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
class Expr
|
220
|
+
# @private
|
221
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
222
|
+
property :description, as: 'description'
|
223
|
+
property :expression, as: 'expression'
|
224
|
+
property :location, as: 'location'
|
225
|
+
property :title, as: 'title'
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
class GeoTaxonomy
|
230
|
+
# @private
|
231
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
232
|
+
collection :regions, as: 'regions'
|
233
|
+
property :type, as: 'type'
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
class ListBillingAccountsResponse
|
238
|
+
# @private
|
239
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
240
|
+
collection :billing_accounts, as: 'billingAccounts', class: Google::Apis::CloudbillingV1::BillingAccount, decorator: Google::Apis::CloudbillingV1::BillingAccount::Representation
|
241
|
+
|
242
|
+
property :next_page_token, as: 'nextPageToken'
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
class ListProjectBillingInfoResponse
|
247
|
+
# @private
|
248
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
249
|
+
property :next_page_token, as: 'nextPageToken'
|
250
|
+
collection :project_billing_info, as: 'projectBillingInfo', class: Google::Apis::CloudbillingV1::ProjectBillingInfo, decorator: Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation
|
251
|
+
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
class ListServicesResponse
|
256
|
+
# @private
|
257
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
258
|
+
property :next_page_token, as: 'nextPageToken'
|
259
|
+
collection :services, as: 'services', class: Google::Apis::CloudbillingV1::Service, decorator: Google::Apis::CloudbillingV1::Service::Representation
|
260
|
+
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
class ListSkusResponse
|
265
|
+
# @private
|
266
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
267
|
+
property :next_page_token, as: 'nextPageToken'
|
268
|
+
collection :skus, as: 'skus', class: Google::Apis::CloudbillingV1::Sku, decorator: Google::Apis::CloudbillingV1::Sku::Representation
|
269
|
+
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
class Money
|
274
|
+
# @private
|
275
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
276
|
+
property :currency_code, as: 'currencyCode'
|
277
|
+
property :nanos, as: 'nanos'
|
278
|
+
property :units, :numeric_string => true, as: 'units'
|
279
|
+
end
|
280
|
+
end
|
281
|
+
|
282
|
+
class Policy
|
283
|
+
# @private
|
284
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
285
|
+
collection :audit_configs, as: 'auditConfigs', class: Google::Apis::CloudbillingV1::AuditConfig, decorator: Google::Apis::CloudbillingV1::AuditConfig::Representation
|
286
|
+
|
287
|
+
collection :bindings, as: 'bindings', class: Google::Apis::CloudbillingV1::Binding, decorator: Google::Apis::CloudbillingV1::Binding::Representation
|
288
|
+
|
289
|
+
property :etag, :base64 => true, as: 'etag'
|
290
|
+
property :version, as: 'version'
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
class PricingExpression
|
295
|
+
# @private
|
296
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
297
|
+
property :base_unit, as: 'baseUnit'
|
298
|
+
property :base_unit_conversion_factor, as: 'baseUnitConversionFactor'
|
299
|
+
property :base_unit_description, as: 'baseUnitDescription'
|
300
|
+
property :display_quantity, as: 'displayQuantity'
|
301
|
+
collection :tiered_rates, as: 'tieredRates', class: Google::Apis::CloudbillingV1::TierRate, decorator: Google::Apis::CloudbillingV1::TierRate::Representation
|
302
|
+
|
303
|
+
property :usage_unit, as: 'usageUnit'
|
304
|
+
property :usage_unit_description, as: 'usageUnitDescription'
|
305
|
+
end
|
306
|
+
end
|
307
|
+
|
308
|
+
class PricingInfo
|
309
|
+
# @private
|
310
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
311
|
+
property :aggregation_info, as: 'aggregationInfo', class: Google::Apis::CloudbillingV1::AggregationInfo, decorator: Google::Apis::CloudbillingV1::AggregationInfo::Representation
|
312
|
+
|
313
|
+
property :currency_conversion_rate, as: 'currencyConversionRate'
|
314
|
+
property :effective_time, as: 'effectiveTime'
|
315
|
+
property :pricing_expression, as: 'pricingExpression', class: Google::Apis::CloudbillingV1::PricingExpression, decorator: Google::Apis::CloudbillingV1::PricingExpression::Representation
|
316
|
+
|
317
|
+
property :summary, as: 'summary'
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
class ProjectBillingInfo
|
322
|
+
# @private
|
323
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
324
|
+
property :billing_account_name, as: 'billingAccountName'
|
325
|
+
property :billing_enabled, as: 'billingEnabled'
|
326
|
+
property :name, as: 'name'
|
327
|
+
property :project_id, as: 'projectId'
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
class Service
|
332
|
+
# @private
|
333
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
334
|
+
property :business_entity_name, as: 'businessEntityName'
|
335
|
+
property :display_name, as: 'displayName'
|
336
|
+
property :name, as: 'name'
|
337
|
+
property :service_id, as: 'serviceId'
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
class SetIamPolicyRequest
|
342
|
+
# @private
|
343
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
344
|
+
property :policy, as: 'policy', class: Google::Apis::CloudbillingV1::Policy, decorator: Google::Apis::CloudbillingV1::Policy::Representation
|
345
|
+
|
346
|
+
property :update_mask, as: 'updateMask'
|
347
|
+
end
|
348
|
+
end
|
349
|
+
|
350
|
+
class Sku
|
351
|
+
# @private
|
352
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
353
|
+
property :category, as: 'category', class: Google::Apis::CloudbillingV1::Category, decorator: Google::Apis::CloudbillingV1::Category::Representation
|
354
|
+
|
355
|
+
property :description, as: 'description'
|
356
|
+
property :geo_taxonomy, as: 'geoTaxonomy', class: Google::Apis::CloudbillingV1::GeoTaxonomy, decorator: Google::Apis::CloudbillingV1::GeoTaxonomy::Representation
|
357
|
+
|
358
|
+
property :name, as: 'name'
|
359
|
+
collection :pricing_info, as: 'pricingInfo', class: Google::Apis::CloudbillingV1::PricingInfo, decorator: Google::Apis::CloudbillingV1::PricingInfo::Representation
|
360
|
+
|
361
|
+
property :service_provider_name, as: 'serviceProviderName'
|
362
|
+
collection :service_regions, as: 'serviceRegions'
|
363
|
+
property :sku_id, as: 'skuId'
|
364
|
+
end
|
365
|
+
end
|
366
|
+
|
367
|
+
class TestIamPermissionsRequest
|
368
|
+
# @private
|
369
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
370
|
+
collection :permissions, as: 'permissions'
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
374
|
+
class TestIamPermissionsResponse
|
375
|
+
# @private
|
376
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
377
|
+
collection :permissions, as: 'permissions'
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
class TierRate
|
382
|
+
# @private
|
383
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
384
|
+
property :start_usage_amount, as: 'startUsageAmount'
|
385
|
+
property :unit_price, as: 'unitPrice', class: Google::Apis::CloudbillingV1::Money, decorator: Google::Apis::CloudbillingV1::Money::Representation
|
386
|
+
|
387
|
+
end
|
388
|
+
end
|
389
|
+
end
|
390
|
+
end
|
391
|
+
end
|
@@ -0,0 +1,555 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'google/apis/core/base_service'
|
16
|
+
require 'google/apis/core/json_representation'
|
17
|
+
require 'google/apis/core/hashable'
|
18
|
+
require 'google/apis/errors'
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Apis
|
22
|
+
module CloudbillingV1
|
23
|
+
# Cloud Billing API
|
24
|
+
#
|
25
|
+
# Allows developers to manage billing for their Google Cloud Platform projects
|
26
|
+
# programmatically.
|
27
|
+
#
|
28
|
+
# @example
|
29
|
+
# require 'google/apis/cloudbilling_v1'
|
30
|
+
#
|
31
|
+
# Cloudbilling = Google::Apis::CloudbillingV1 # Alias the module
|
32
|
+
# service = Cloudbilling::CloudbillingService.new
|
33
|
+
#
|
34
|
+
# @see https://cloud.google.com/billing/
|
35
|
+
class CloudbillingService < Google::Apis::Core::BaseService
|
36
|
+
# @return [String]
|
37
|
+
# API key. Your API key identifies your project and provides you with API access,
|
38
|
+
# quota, and reports. Required unless you provide an OAuth 2.0 token.
|
39
|
+
attr_accessor :key
|
40
|
+
|
41
|
+
# @return [String]
|
42
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
43
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
44
|
+
attr_accessor :quota_user
|
45
|
+
|
46
|
+
def initialize
|
47
|
+
super('https://cloudbilling.googleapis.com/', '',
|
48
|
+
client_name: 'google-apis-cloudbilling_v1',
|
49
|
+
client_version: Google::Apis::CloudbillingV1::GEM_VERSION)
|
50
|
+
@batch_path = 'batch'
|
51
|
+
end
|
52
|
+
|
53
|
+
# Creates a billing account. This method can only be used to create [billing
|
54
|
+
# subaccounts](https://cloud.google.com/billing/docs/concepts) by Google Cloud
|
55
|
+
# resellers. When creating a subaccount, the current authenticated user must
|
56
|
+
# have the `billing.accounts.update` IAM permission on the master account, which
|
57
|
+
# is typically given to billing account [administrators](https://cloud.google.
|
58
|
+
# com/billing/docs/how-to/billing-access). This method will return an error if
|
59
|
+
# the master account has not been provisioned as a reseller account.
|
60
|
+
# @param [Google::Apis::CloudbillingV1::BillingAccount] billing_account_object
|
61
|
+
# @param [String] fields
|
62
|
+
# Selector specifying which fields to include in a partial response.
|
63
|
+
# @param [String] quota_user
|
64
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
65
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
66
|
+
# @param [Google::Apis::RequestOptions] options
|
67
|
+
# Request-specific options
|
68
|
+
#
|
69
|
+
# @yield [result, err] Result & error if block supplied
|
70
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::BillingAccount] parsed result object
|
71
|
+
# @yieldparam err [StandardError] error object if request failed
|
72
|
+
#
|
73
|
+
# @return [Google::Apis::CloudbillingV1::BillingAccount]
|
74
|
+
#
|
75
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
76
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
77
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
78
|
+
def create_billing_account(billing_account_object = nil, fields: nil, quota_user: nil, options: nil, &block)
|
79
|
+
command = make_simple_command(:post, 'v1/billingAccounts', options)
|
80
|
+
command.request_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation
|
81
|
+
command.request_object = billing_account_object
|
82
|
+
command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation
|
83
|
+
command.response_class = Google::Apis::CloudbillingV1::BillingAccount
|
84
|
+
command.query['fields'] = fields unless fields.nil?
|
85
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
86
|
+
execute_or_queue_command(command, &block)
|
87
|
+
end
|
88
|
+
|
89
|
+
# Gets information about a billing account. The current authenticated user must
|
90
|
+
# be a [viewer of the billing account](https://cloud.google.com/billing/docs/how-
|
91
|
+
# to/billing-access).
|
92
|
+
# @param [String] name
|
93
|
+
# Required. The resource name of the billing account to retrieve. For example, `
|
94
|
+
# billingAccounts/012345-567890-ABCDEF`.
|
95
|
+
# @param [String] fields
|
96
|
+
# Selector specifying which fields to include in a partial response.
|
97
|
+
# @param [String] quota_user
|
98
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
99
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
100
|
+
# @param [Google::Apis::RequestOptions] options
|
101
|
+
# Request-specific options
|
102
|
+
#
|
103
|
+
# @yield [result, err] Result & error if block supplied
|
104
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::BillingAccount] parsed result object
|
105
|
+
# @yieldparam err [StandardError] error object if request failed
|
106
|
+
#
|
107
|
+
# @return [Google::Apis::CloudbillingV1::BillingAccount]
|
108
|
+
#
|
109
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
110
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
111
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
112
|
+
def get_billing_account(name, fields: nil, quota_user: nil, options: nil, &block)
|
113
|
+
command = make_simple_command(:get, 'v1/{+name}', options)
|
114
|
+
command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation
|
115
|
+
command.response_class = Google::Apis::CloudbillingV1::BillingAccount
|
116
|
+
command.params['name'] = name unless name.nil?
|
117
|
+
command.query['fields'] = fields unless fields.nil?
|
118
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
119
|
+
execute_or_queue_command(command, &block)
|
120
|
+
end
|
121
|
+
|
122
|
+
# Gets the access control policy for a billing account. The caller must have the
|
123
|
+
# `billing.accounts.getIamPolicy` permission on the account, which is often
|
124
|
+
# given to billing account [viewers](https://cloud.google.com/billing/docs/how-
|
125
|
+
# to/billing-access).
|
126
|
+
# @param [String] resource
|
127
|
+
# REQUIRED: The resource for which the policy is being requested. See the
|
128
|
+
# operation documentation for the appropriate value for this field.
|
129
|
+
# @param [Fixnum] options_requested_policy_version
|
130
|
+
# Optional. The policy format version to be returned. Valid values are 0, 1, and
|
131
|
+
# 3. Requests specifying an invalid value will be rejected. Requests for
|
132
|
+
# policies with any conditional bindings must specify version 3. Policies
|
133
|
+
# without any conditional bindings may specify any valid value or leave the
|
134
|
+
# field unset. To learn which resources support conditions in their IAM policies,
|
135
|
+
# see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
|
136
|
+
# resource-policies).
|
137
|
+
# @param [String] fields
|
138
|
+
# Selector specifying which fields to include in a partial response.
|
139
|
+
# @param [String] quota_user
|
140
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
141
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
142
|
+
# @param [Google::Apis::RequestOptions] options
|
143
|
+
# Request-specific options
|
144
|
+
#
|
145
|
+
# @yield [result, err] Result & error if block supplied
|
146
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::Policy] parsed result object
|
147
|
+
# @yieldparam err [StandardError] error object if request failed
|
148
|
+
#
|
149
|
+
# @return [Google::Apis::CloudbillingV1::Policy]
|
150
|
+
#
|
151
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
152
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
153
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
154
|
+
def get_billing_account_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
|
155
|
+
command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
|
156
|
+
command.response_representation = Google::Apis::CloudbillingV1::Policy::Representation
|
157
|
+
command.response_class = Google::Apis::CloudbillingV1::Policy
|
158
|
+
command.params['resource'] = resource unless resource.nil?
|
159
|
+
command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
|
160
|
+
command.query['fields'] = fields unless fields.nil?
|
161
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
162
|
+
execute_or_queue_command(command, &block)
|
163
|
+
end
|
164
|
+
|
165
|
+
# Lists the billing accounts that the current authenticated user has permission
|
166
|
+
# to [view](https://cloud.google.com/billing/docs/how-to/billing-access).
|
167
|
+
# @param [String] filter
|
168
|
+
# Options for how to filter the returned billing accounts. Currently this only
|
169
|
+
# supports filtering for [subaccounts](https://cloud.google.com/billing/docs/
|
170
|
+
# concepts) under a single provided reseller billing account. (e.g. "
|
171
|
+
# master_billing_account=billingAccounts/012345-678901-ABCDEF"). Boolean algebra
|
172
|
+
# and other fields are not currently supported.
|
173
|
+
# @param [Fixnum] page_size
|
174
|
+
# Requested page size. The maximum page size is 100; this is also the default.
|
175
|
+
# @param [String] page_token
|
176
|
+
# A token identifying a page of results to return. This should be a `
|
177
|
+
# next_page_token` value returned from a previous `ListBillingAccounts` call. If
|
178
|
+
# unspecified, the first page of results is returned.
|
179
|
+
# @param [String] fields
|
180
|
+
# Selector specifying which fields to include in a partial response.
|
181
|
+
# @param [String] quota_user
|
182
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
183
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
184
|
+
# @param [Google::Apis::RequestOptions] options
|
185
|
+
# Request-specific options
|
186
|
+
#
|
187
|
+
# @yield [result, err] Result & error if block supplied
|
188
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ListBillingAccountsResponse] parsed result object
|
189
|
+
# @yieldparam err [StandardError] error object if request failed
|
190
|
+
#
|
191
|
+
# @return [Google::Apis::CloudbillingV1::ListBillingAccountsResponse]
|
192
|
+
#
|
193
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
194
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
195
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
196
|
+
def list_billing_accounts(filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
|
197
|
+
command = make_simple_command(:get, 'v1/billingAccounts', options)
|
198
|
+
command.response_representation = Google::Apis::CloudbillingV1::ListBillingAccountsResponse::Representation
|
199
|
+
command.response_class = Google::Apis::CloudbillingV1::ListBillingAccountsResponse
|
200
|
+
command.query['filter'] = filter unless filter.nil?
|
201
|
+
command.query['pageSize'] = page_size unless page_size.nil?
|
202
|
+
command.query['pageToken'] = page_token unless page_token.nil?
|
203
|
+
command.query['fields'] = fields unless fields.nil?
|
204
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
205
|
+
execute_or_queue_command(command, &block)
|
206
|
+
end
|
207
|
+
|
208
|
+
# Updates a billing account's fields. Currently the only field that can be
|
209
|
+
# edited is `display_name`. The current authenticated user must have the `
|
210
|
+
# billing.accounts.update` IAM permission, which is typically given to the [
|
211
|
+
# administrator](https://cloud.google.com/billing/docs/how-to/billing-access) of
|
212
|
+
# the billing account.
|
213
|
+
# @param [String] name
|
214
|
+
# Required. The name of the billing account resource to be updated.
|
215
|
+
# @param [Google::Apis::CloudbillingV1::BillingAccount] billing_account_object
|
216
|
+
# @param [String] update_mask
|
217
|
+
# The update mask applied to the resource. Only "display_name" is currently
|
218
|
+
# supported.
|
219
|
+
# @param [String] fields
|
220
|
+
# Selector specifying which fields to include in a partial response.
|
221
|
+
# @param [String] quota_user
|
222
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
223
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
224
|
+
# @param [Google::Apis::RequestOptions] options
|
225
|
+
# Request-specific options
|
226
|
+
#
|
227
|
+
# @yield [result, err] Result & error if block supplied
|
228
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::BillingAccount] parsed result object
|
229
|
+
# @yieldparam err [StandardError] error object if request failed
|
230
|
+
#
|
231
|
+
# @return [Google::Apis::CloudbillingV1::BillingAccount]
|
232
|
+
#
|
233
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
234
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
235
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
236
|
+
def patch_billing_account(name, billing_account_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
|
237
|
+
command = make_simple_command(:patch, 'v1/{+name}', options)
|
238
|
+
command.request_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation
|
239
|
+
command.request_object = billing_account_object
|
240
|
+
command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation
|
241
|
+
command.response_class = Google::Apis::CloudbillingV1::BillingAccount
|
242
|
+
command.params['name'] = name unless name.nil?
|
243
|
+
command.query['updateMask'] = update_mask unless update_mask.nil?
|
244
|
+
command.query['fields'] = fields unless fields.nil?
|
245
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
246
|
+
execute_or_queue_command(command, &block)
|
247
|
+
end
|
248
|
+
|
249
|
+
# Sets the access control policy for a billing account. Replaces any existing
|
250
|
+
# policy. The caller must have the `billing.accounts.setIamPolicy` permission on
|
251
|
+
# the account, which is often given to billing account [administrators](https://
|
252
|
+
# cloud.google.com/billing/docs/how-to/billing-access).
|
253
|
+
# @param [String] resource
|
254
|
+
# REQUIRED: The resource for which the policy is being specified. See the
|
255
|
+
# operation documentation for the appropriate value for this field.
|
256
|
+
# @param [Google::Apis::CloudbillingV1::SetIamPolicyRequest] set_iam_policy_request_object
|
257
|
+
# @param [String] fields
|
258
|
+
# Selector specifying which fields to include in a partial response.
|
259
|
+
# @param [String] quota_user
|
260
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
261
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
262
|
+
# @param [Google::Apis::RequestOptions] options
|
263
|
+
# Request-specific options
|
264
|
+
#
|
265
|
+
# @yield [result, err] Result & error if block supplied
|
266
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::Policy] parsed result object
|
267
|
+
# @yieldparam err [StandardError] error object if request failed
|
268
|
+
#
|
269
|
+
# @return [Google::Apis::CloudbillingV1::Policy]
|
270
|
+
#
|
271
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
272
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
273
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
274
|
+
def set_billing_account_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
|
275
|
+
command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
|
276
|
+
command.request_representation = Google::Apis::CloudbillingV1::SetIamPolicyRequest::Representation
|
277
|
+
command.request_object = set_iam_policy_request_object
|
278
|
+
command.response_representation = Google::Apis::CloudbillingV1::Policy::Representation
|
279
|
+
command.response_class = Google::Apis::CloudbillingV1::Policy
|
280
|
+
command.params['resource'] = resource unless resource.nil?
|
281
|
+
command.query['fields'] = fields unless fields.nil?
|
282
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
283
|
+
execute_or_queue_command(command, &block)
|
284
|
+
end
|
285
|
+
|
286
|
+
# Tests the access control policy for a billing account. This method takes the
|
287
|
+
# resource and a set of permissions as input and returns the subset of the input
|
288
|
+
# permissions that the caller is allowed for that resource.
|
289
|
+
# @param [String] resource
|
290
|
+
# REQUIRED: The resource for which the policy detail is being requested. See the
|
291
|
+
# operation documentation for the appropriate value for this field.
|
292
|
+
# @param [Google::Apis::CloudbillingV1::TestIamPermissionsRequest] test_iam_permissions_request_object
|
293
|
+
# @param [String] fields
|
294
|
+
# Selector specifying which fields to include in a partial response.
|
295
|
+
# @param [String] quota_user
|
296
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
297
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
298
|
+
# @param [Google::Apis::RequestOptions] options
|
299
|
+
# Request-specific options
|
300
|
+
#
|
301
|
+
# @yield [result, err] Result & error if block supplied
|
302
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::TestIamPermissionsResponse] parsed result object
|
303
|
+
# @yieldparam err [StandardError] error object if request failed
|
304
|
+
#
|
305
|
+
# @return [Google::Apis::CloudbillingV1::TestIamPermissionsResponse]
|
306
|
+
#
|
307
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
308
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
309
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
310
|
+
def test_billing_account_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
|
311
|
+
command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
|
312
|
+
command.request_representation = Google::Apis::CloudbillingV1::TestIamPermissionsRequest::Representation
|
313
|
+
command.request_object = test_iam_permissions_request_object
|
314
|
+
command.response_representation = Google::Apis::CloudbillingV1::TestIamPermissionsResponse::Representation
|
315
|
+
command.response_class = Google::Apis::CloudbillingV1::TestIamPermissionsResponse
|
316
|
+
command.params['resource'] = resource unless resource.nil?
|
317
|
+
command.query['fields'] = fields unless fields.nil?
|
318
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
319
|
+
execute_or_queue_command(command, &block)
|
320
|
+
end
|
321
|
+
|
322
|
+
# Lists the projects associated with a billing account. The current
|
323
|
+
# authenticated user must have the `billing.resourceAssociations.list` IAM
|
324
|
+
# permission, which is often given to billing account [viewers](https://cloud.
|
325
|
+
# google.com/billing/docs/how-to/billing-access).
|
326
|
+
# @param [String] name
|
327
|
+
# Required. The resource name of the billing account associated with the
|
328
|
+
# projects that you want to list. For example, `billingAccounts/012345-567890-
|
329
|
+
# ABCDEF`.
|
330
|
+
# @param [Fixnum] page_size
|
331
|
+
# Requested page size. The maximum page size is 100; this is also the default.
|
332
|
+
# @param [String] page_token
|
333
|
+
# A token identifying a page of results to be returned. This should be a `
|
334
|
+
# next_page_token` value returned from a previous `ListProjectBillingInfo` call.
|
335
|
+
# If unspecified, the first page of results is returned.
|
336
|
+
# @param [String] fields
|
337
|
+
# Selector specifying which fields to include in a partial response.
|
338
|
+
# @param [String] quota_user
|
339
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
340
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
341
|
+
# @param [Google::Apis::RequestOptions] options
|
342
|
+
# Request-specific options
|
343
|
+
#
|
344
|
+
# @yield [result, err] Result & error if block supplied
|
345
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse] parsed result object
|
346
|
+
# @yieldparam err [StandardError] error object if request failed
|
347
|
+
#
|
348
|
+
# @return [Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse]
|
349
|
+
#
|
350
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
351
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
352
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
353
|
+
def list_billing_account_projects(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
|
354
|
+
command = make_simple_command(:get, 'v1/{+name}/projects', options)
|
355
|
+
command.response_representation = Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse::Representation
|
356
|
+
command.response_class = Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse
|
357
|
+
command.params['name'] = name unless name.nil?
|
358
|
+
command.query['pageSize'] = page_size unless page_size.nil?
|
359
|
+
command.query['pageToken'] = page_token unless page_token.nil?
|
360
|
+
command.query['fields'] = fields unless fields.nil?
|
361
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
362
|
+
execute_or_queue_command(command, &block)
|
363
|
+
end
|
364
|
+
|
365
|
+
# Gets the billing information for a project. The current authenticated user
|
366
|
+
# must have [permission to view the project](https://cloud.google.com/docs/
|
367
|
+
# permissions-overview#h.bgs0oxofvnoo ).
|
368
|
+
# @param [String] name
|
369
|
+
# Required. The resource name of the project for which billing information is
|
370
|
+
# retrieved. For example, `projects/tokyo-rain-123`.
|
371
|
+
# @param [String] fields
|
372
|
+
# Selector specifying which fields to include in a partial response.
|
373
|
+
# @param [String] quota_user
|
374
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
375
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
376
|
+
# @param [Google::Apis::RequestOptions] options
|
377
|
+
# Request-specific options
|
378
|
+
#
|
379
|
+
# @yield [result, err] Result & error if block supplied
|
380
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ProjectBillingInfo] parsed result object
|
381
|
+
# @yieldparam err [StandardError] error object if request failed
|
382
|
+
#
|
383
|
+
# @return [Google::Apis::CloudbillingV1::ProjectBillingInfo]
|
384
|
+
#
|
385
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
386
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
387
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
388
|
+
def get_project_billing_info(name, fields: nil, quota_user: nil, options: nil, &block)
|
389
|
+
command = make_simple_command(:get, 'v1/{+name}/billingInfo', options)
|
390
|
+
command.response_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation
|
391
|
+
command.response_class = Google::Apis::CloudbillingV1::ProjectBillingInfo
|
392
|
+
command.params['name'] = name unless name.nil?
|
393
|
+
command.query['fields'] = fields unless fields.nil?
|
394
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
395
|
+
execute_or_queue_command(command, &block)
|
396
|
+
end
|
397
|
+
|
398
|
+
# Sets or updates the billing account associated with a project. You specify the
|
399
|
+
# new billing account by setting the `billing_account_name` in the `
|
400
|
+
# ProjectBillingInfo` resource to the resource name of a billing account.
|
401
|
+
# Associating a project with an open billing account enables billing on the
|
402
|
+
# project and allows charges for resource usage. If the project already had a
|
403
|
+
# billing account, this method changes the billing account used for resource
|
404
|
+
# usage charges. *Note:* Incurred charges that have not yet been reported in the
|
405
|
+
# transaction history of the Google Cloud Console might be billed to the new
|
406
|
+
# billing account, even if the charge occurred before the new billing account
|
407
|
+
# was assigned to the project. The current authenticated user must have
|
408
|
+
# ownership privileges for both the [project](https://cloud.google.com/docs/
|
409
|
+
# permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.
|
410
|
+
# google.com/billing/docs/how-to/billing-access). You can disable billing on the
|
411
|
+
# project by setting the `billing_account_name` field to empty. This action
|
412
|
+
# disassociates the current billing account from the project. Any billable
|
413
|
+
# activity of your in-use services will stop, and your application could stop
|
414
|
+
# functioning as expected. Any unbilled charges to date will be billed to the
|
415
|
+
# previously associated account. The current authenticated user must be either
|
416
|
+
# an owner of the project or an owner of the billing account for the project.
|
417
|
+
# Note that associating a project with a *closed* billing account will have much
|
418
|
+
# the same effect as disabling billing on the project: any paid resources used
|
419
|
+
# by the project will be shut down. Thus, unless you wish to disable billing,
|
420
|
+
# you should always call this method with the name of an *open* billing account.
|
421
|
+
# @param [String] name
|
422
|
+
# Required. The resource name of the project associated with the billing
|
423
|
+
# information that you want to update. For example, `projects/tokyo-rain-123`.
|
424
|
+
# @param [Google::Apis::CloudbillingV1::ProjectBillingInfo] project_billing_info_object
|
425
|
+
# @param [String] fields
|
426
|
+
# Selector specifying which fields to include in a partial response.
|
427
|
+
# @param [String] quota_user
|
428
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
429
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
430
|
+
# @param [Google::Apis::RequestOptions] options
|
431
|
+
# Request-specific options
|
432
|
+
#
|
433
|
+
# @yield [result, err] Result & error if block supplied
|
434
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ProjectBillingInfo] parsed result object
|
435
|
+
# @yieldparam err [StandardError] error object if request failed
|
436
|
+
#
|
437
|
+
# @return [Google::Apis::CloudbillingV1::ProjectBillingInfo]
|
438
|
+
#
|
439
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
440
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
441
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
442
|
+
def update_project_billing_info(name, project_billing_info_object = nil, fields: nil, quota_user: nil, options: nil, &block)
|
443
|
+
command = make_simple_command(:put, 'v1/{+name}/billingInfo', options)
|
444
|
+
command.request_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation
|
445
|
+
command.request_object = project_billing_info_object
|
446
|
+
command.response_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation
|
447
|
+
command.response_class = Google::Apis::CloudbillingV1::ProjectBillingInfo
|
448
|
+
command.params['name'] = name unless name.nil?
|
449
|
+
command.query['fields'] = fields unless fields.nil?
|
450
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
451
|
+
execute_or_queue_command(command, &block)
|
452
|
+
end
|
453
|
+
|
454
|
+
# Lists all public cloud services.
|
455
|
+
# @param [Fixnum] page_size
|
456
|
+
# Requested page size. Defaults to 5000.
|
457
|
+
# @param [String] page_token
|
458
|
+
# A token identifying a page of results to return. This should be a `
|
459
|
+
# next_page_token` value returned from a previous `ListServices` call. If
|
460
|
+
# unspecified, the first page of results is returned.
|
461
|
+
# @param [String] fields
|
462
|
+
# Selector specifying which fields to include in a partial response.
|
463
|
+
# @param [String] quota_user
|
464
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
465
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
466
|
+
# @param [Google::Apis::RequestOptions] options
|
467
|
+
# Request-specific options
|
468
|
+
#
|
469
|
+
# @yield [result, err] Result & error if block supplied
|
470
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ListServicesResponse] parsed result object
|
471
|
+
# @yieldparam err [StandardError] error object if request failed
|
472
|
+
#
|
473
|
+
# @return [Google::Apis::CloudbillingV1::ListServicesResponse]
|
474
|
+
#
|
475
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
476
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
477
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
478
|
+
def list_services(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
|
479
|
+
command = make_simple_command(:get, 'v1/services', options)
|
480
|
+
command.response_representation = Google::Apis::CloudbillingV1::ListServicesResponse::Representation
|
481
|
+
command.response_class = Google::Apis::CloudbillingV1::ListServicesResponse
|
482
|
+
command.query['pageSize'] = page_size unless page_size.nil?
|
483
|
+
command.query['pageToken'] = page_token unless page_token.nil?
|
484
|
+
command.query['fields'] = fields unless fields.nil?
|
485
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
486
|
+
execute_or_queue_command(command, &block)
|
487
|
+
end
|
488
|
+
|
489
|
+
# Lists all publicly available SKUs for a given cloud service.
|
490
|
+
# @param [String] parent
|
491
|
+
# Required. The name of the service. Example: "services/DA34-426B-A397"
|
492
|
+
# @param [String] currency_code
|
493
|
+
# The ISO 4217 currency code for the pricing info in the response proto. Will
|
494
|
+
# use the conversion rate as of start_time. Optional. If not specified USD will
|
495
|
+
# be used.
|
496
|
+
# @param [String] end_time
|
497
|
+
# Optional exclusive end time of the time range for which the pricing versions
|
498
|
+
# will be returned. Timestamps in the future are not allowed. The time range has
|
499
|
+
# to be within a single calendar month in America/Los_Angeles timezone. Time
|
500
|
+
# range as a whole is optional. If not specified, the latest pricing will be
|
501
|
+
# returned (up to 12 hours old at most).
|
502
|
+
# @param [Fixnum] page_size
|
503
|
+
# Requested page size. Defaults to 5000.
|
504
|
+
# @param [String] page_token
|
505
|
+
# A token identifying a page of results to return. This should be a `
|
506
|
+
# next_page_token` value returned from a previous `ListSkus` call. If
|
507
|
+
# unspecified, the first page of results is returned.
|
508
|
+
# @param [String] start_time
|
509
|
+
# Optional inclusive start time of the time range for which the pricing versions
|
510
|
+
# will be returned. Timestamps in the future are not allowed. The time range has
|
511
|
+
# to be within a single calendar month in America/Los_Angeles timezone. Time
|
512
|
+
# range as a whole is optional. If not specified, the latest pricing will be
|
513
|
+
# returned (up to 12 hours old at most).
|
514
|
+
# @param [String] fields
|
515
|
+
# Selector specifying which fields to include in a partial response.
|
516
|
+
# @param [String] quota_user
|
517
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
518
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
519
|
+
# @param [Google::Apis::RequestOptions] options
|
520
|
+
# Request-specific options
|
521
|
+
#
|
522
|
+
# @yield [result, err] Result & error if block supplied
|
523
|
+
# @yieldparam result [Google::Apis::CloudbillingV1::ListSkusResponse] parsed result object
|
524
|
+
# @yieldparam err [StandardError] error object if request failed
|
525
|
+
#
|
526
|
+
# @return [Google::Apis::CloudbillingV1::ListSkusResponse]
|
527
|
+
#
|
528
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
529
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
530
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
531
|
+
def list_service_skus(parent, currency_code: nil, end_time: nil, page_size: nil, page_token: nil, start_time: nil, fields: nil, quota_user: nil, options: nil, &block)
|
532
|
+
command = make_simple_command(:get, 'v1/{+parent}/skus', options)
|
533
|
+
command.response_representation = Google::Apis::CloudbillingV1::ListSkusResponse::Representation
|
534
|
+
command.response_class = Google::Apis::CloudbillingV1::ListSkusResponse
|
535
|
+
command.params['parent'] = parent unless parent.nil?
|
536
|
+
command.query['currencyCode'] = currency_code unless currency_code.nil?
|
537
|
+
command.query['endTime'] = end_time unless end_time.nil?
|
538
|
+
command.query['pageSize'] = page_size unless page_size.nil?
|
539
|
+
command.query['pageToken'] = page_token unless page_token.nil?
|
540
|
+
command.query['startTime'] = start_time unless start_time.nil?
|
541
|
+
command.query['fields'] = fields unless fields.nil?
|
542
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
543
|
+
execute_or_queue_command(command, &block)
|
544
|
+
end
|
545
|
+
|
546
|
+
protected
|
547
|
+
|
548
|
+
def apply_command_defaults(command)
|
549
|
+
command.query['key'] = key unless key.nil?
|
550
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
551
|
+
end
|
552
|
+
end
|
553
|
+
end
|
554
|
+
end
|
555
|
+
end
|