Class: Google::Apis::CloudbillingV1::CloudbillingService
- Inherits:
-
Google::Apis::Core::BaseService
- Object
- Google::Apis::Core::BaseService
- Google::Apis::CloudbillingV1::CloudbillingService
- Defined in:
- generated/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
Creates a billing account.
-
#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 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 46 def initialize super('https://cloudbilling.googleapis.com/', '') @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 'generated/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 'generated/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
Creates a billing account. This method can only be used to create billing
subaccounts by Google Cloud
resellers. When creating a subaccount, the current authenticated user must
have the billing.accounts.update
IAM permission on the master account, which
is typically given to billing account administrators. This method will return an error if
the master account has not been provisioned as a reseller account.
76 77 78 79 80 81 82 83 84 85 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 76 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.
110 111 112 113 114 115 116 117 118 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 110 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.
152 153 154 155 156 157 158 159 160 161 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 152 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.
386 387 388 389 390 391 392 393 394 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 386 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.
351 352 353 354 355 356 357 358 359 360 361 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 351 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.
194 195 196 197 198 199 200 201 202 203 204 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 194 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.
529 530 531 532 533 534 535 536 537 538 539 540 541 542 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 529 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.
476 477 478 479 480 481 482 483 484 485 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 476 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.
234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 234 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.
272 273 274 275 276 277 278 279 280 281 282 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 272 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.
308 309 310 311 312 313 314 315 316 317 318 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 308 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.
440 441 442 443 444 445 446 447 448 449 450 |
# File 'generated/google/apis/cloudbilling_v1/service.rb', line 440 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 |