Class: Google::Apis::CloudbillingV1::CloudbillingService
- Inherits:
-
Google::Apis::Core::BaseService
- Object
- Google::Apis::Core::BaseService
- Google::Apis::CloudbillingV1::CloudbillingService
- Defined in:
- lib/google/apis/cloudbilling_v1/service.rb
Overview
Cloud Billing API
Allows developers to manage billing for their Google Cloud Platform projects programmatically.
Instance Attribute Summary collapse
-
#key ⇒ String
API key.
-
#quota_user ⇒ String
Available to use for quota purposes for server-side applications.
Instance Method Summary collapse
-
#create_billing_account(billing_account_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
This method creates billing subaccounts.
-
#get_billing_account(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
Gets information about a billing account.
-
#get_billing_account_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::Policy
Gets the access control policy for a billing account.
-
#get_project_billing_info(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ProjectBillingInfo
Gets the billing information for a project.
-
#initialize ⇒ CloudbillingService
constructor
A new instance of CloudbillingService.
-
#list_billing_account_projects(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse
Lists the projects associated with a billing account.
-
#list_billing_accounts(filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListBillingAccountsResponse
Lists the billing accounts that the current authenticated user has permission to view.
-
#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) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListSkusResponse
Lists all publicly available SKUs for a given cloud service.
-
#list_services(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListServicesResponse
Lists all public cloud services.
-
#patch_billing_account(name, billing_account_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
Updates a billing account's fields.
-
#set_billing_account_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::Policy
Sets the access control policy for a billing account.
-
#test_billing_account_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::TestIamPermissionsResponse
Tests the access control policy for a billing account.
-
#update_project_billing_info(name, project_billing_info_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ProjectBillingInfo
Sets or updates the billing account associated with a project.
Constructor Details
#initialize ⇒ CloudbillingService
Returns a new instance of CloudbillingService.
46 47 48 49 50 51 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 46 def initialize super('https://cloudbilling.googleapis.com/', '', client_name: 'google-apis-cloudbilling_v1', client_version: Google::Apis::CloudbillingV1::GEM_VERSION) @batch_path = 'batch' end |
Instance Attribute Details
#key ⇒ String
Returns API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
39 40 41 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 39 def key @key end |
#quota_user ⇒ String
Returns Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
44 45 46 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 44 def quota_user @quota_user end |
Instance Method Details
#create_billing_account(billing_account_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
This method creates billing subaccounts. Google Cloud resellers should use the Channel
Services APIs, accounts.customers.create and accounts.customers.
entitlements.create. When creating a subaccount, the
current authenticated user must have the billing.accounts.update IAM
permission on the parent account, which is typically given to billing account
administrators.
This method will return an error if the parent account has not been
provisioned as a reseller account.
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 82 def create_billing_account(billing_account_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/billingAccounts', ) command.request_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation command.request_object = billing_account_object command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation command.response_class = Google::Apis::CloudbillingV1::BillingAccount command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#get_billing_account(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
Gets information about a billing account. The current authenticated user must be a viewer of the billing account.
116 117 118 119 120 121 122 123 124 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 116 def get_billing_account(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}', ) command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation command.response_class = Google::Apis::CloudbillingV1::BillingAccount command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#get_billing_account_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::Policy
Gets the access control policy for a billing account. The caller must have the
billing.accounts.getIamPolicy permission on the account, which is often
given to billing account viewers.
158 159 160 161 162 163 164 165 166 167 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 158 def get_billing_account_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', ) command.response_representation = Google::Apis::CloudbillingV1::Policy::Representation command.response_class = Google::Apis::CloudbillingV1::Policy command.params['resource'] = resource unless resource.nil? command.query['options.requestedPolicyVersion'] = unless .nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#get_project_billing_info(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ProjectBillingInfo
Gets the billing information for a project. The current authenticated user must have permission to view the project.
392 393 394 395 396 397 398 399 400 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 392 def get_project_billing_info(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}/billingInfo', ) command.response_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation command.response_class = Google::Apis::CloudbillingV1::ProjectBillingInfo command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#list_billing_account_projects(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse
Lists the projects associated with a billing account. The current
authenticated user must have the billing.resourceAssociations.list IAM
permission, which is often given to billing account viewers.
357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 357 def list_billing_account_projects(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}/projects', ) command.response_representation = Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse::Representation command.response_class = Google::Apis::CloudbillingV1::ListProjectBillingInfoResponse command.params['name'] = name unless name.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#list_billing_accounts(filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListBillingAccountsResponse
Lists the billing accounts that the current authenticated user has permission to view.
200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 200 def list_billing_accounts(filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/billingAccounts', ) command.response_representation = Google::Apis::CloudbillingV1::ListBillingAccountsResponse::Representation command.response_class = Google::Apis::CloudbillingV1::ListBillingAccountsResponse command.query['filter'] = filter unless filter.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#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) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListSkusResponse
Lists all publicly available SKUs for a given cloud service.
535 536 537 538 539 540 541 542 543 544 545 546 547 548 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 535 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) command = make_simple_command(:get, 'v1/{+parent}/skus', ) command.response_representation = Google::Apis::CloudbillingV1::ListSkusResponse::Representation command.response_class = Google::Apis::CloudbillingV1::ListSkusResponse command.params['parent'] = parent unless parent.nil? command.query['currencyCode'] = currency_code unless currency_code.nil? command.query['endTime'] = end_time unless end_time.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['startTime'] = start_time unless start_time.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#list_services(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ListServicesResponse
Lists all public cloud services.
482 483 484 485 486 487 488 489 490 491 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 482 def list_services(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/services', ) command.response_representation = Google::Apis::CloudbillingV1::ListServicesResponse::Representation command.response_class = Google::Apis::CloudbillingV1::ListServicesResponse command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#patch_billing_account(name, billing_account_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::BillingAccount
Updates a billing account's fields. Currently the only field that can be
edited is display_name. The current authenticated user must have the
billing.accounts.update IAM permission, which is typically given to the
administrator of
the billing account.
240 241 242 243 244 245 246 247 248 249 250 251 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 240 def patch_billing_account(name, billing_account_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'v1/{+name}', ) command.request_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation command.request_object = billing_account_object command.response_representation = Google::Apis::CloudbillingV1::BillingAccount::Representation command.response_class = Google::Apis::CloudbillingV1::BillingAccount command.params['name'] = name unless name.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#set_billing_account_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::Policy
Sets the access control policy for a billing account. Replaces any existing
policy. The caller must have the billing.accounts.setIamPolicy permission on
the account, which is often given to billing account administrators.
278 279 280 281 282 283 284 285 286 287 288 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 278 def set_billing_account_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', ) command.request_representation = Google::Apis::CloudbillingV1::SetIamPolicyRequest::Representation command.request_object = set_iam_policy_request_object command.response_representation = Google::Apis::CloudbillingV1::Policy::Representation command.response_class = Google::Apis::CloudbillingV1::Policy command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#test_billing_account_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::TestIamPermissionsResponse
Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource.
314 315 316 317 318 319 320 321 322 323 324 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 314 def (resource, = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', ) command.request_representation = Google::Apis::CloudbillingV1::TestIamPermissionsRequest::Representation command.request_object = command.response_representation = Google::Apis::CloudbillingV1::TestIamPermissionsResponse::Representation command.response_class = Google::Apis::CloudbillingV1::TestIamPermissionsResponse command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#update_project_billing_info(name, project_billing_info_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudbillingV1::ProjectBillingInfo
Sets or updates the billing account associated with a project. You specify the
new billing account by setting the billing_account_name in the
ProjectBillingInfo resource to the resource name of a billing account.
Associating a project with an open billing account enables billing on the
project and allows charges for resource usage. If the project already had a
billing account, this method changes the billing account used for resource
usage charges. Note: Incurred charges that have not yet been reported in the
transaction history of the Google Cloud Console might be billed to the new
billing account, even if the charge occurred before the new billing account
was assigned to the project. The current authenticated user must have
ownership privileges for both the project and the billing account. You can disable billing on the
project by setting the billing_account_name field to empty. This action
disassociates the current billing account from the project. Any billable
activity of your in-use services will stop, and your application could stop
functioning as expected. Any unbilled charges to date will be billed to the
previously associated account. The current authenticated user must be either
an owner of the project or an owner of the billing account for the project.
Note that associating a project with a closed billing account will have much
the same effect as disabling billing on the project: any paid resources used
by the project will be shut down. Thus, unless you wish to disable billing,
you should always call this method with the name of an open billing account.
446 447 448 449 450 451 452 453 454 455 456 |
# File 'lib/google/apis/cloudbilling_v1/service.rb', line 446 def update_project_billing_info(name, project_billing_info_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:put, 'v1/{+name}/billingInfo', ) command.request_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation command.request_object = project_billing_info_object command.response_representation = Google::Apis::CloudbillingV1::ProjectBillingInfo::Representation command.response_class = Google::Apis::CloudbillingV1::ProjectBillingInfo command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |