Package google.cloud.billing.budgets.v1beta1

Index

BudgetService

BudgetService stores Cloud Billing budgets, which define a budget plan and rules to execute as we track spend against that plan.

CreateBudget

rpc CreateBudget(CreateBudgetRequest) returns (Budget)

Creates a new budget. See Quotas and limits for more information on the limits of the number of budgets you can create.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-billing
DeleteBudget

rpc DeleteBudget(DeleteBudgetRequest) returns (Empty)

Deletes a budget. Returns successfully if already deleted.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-billing
GetBudget

rpc GetBudget(GetBudgetRequest) returns (Budget)

Returns a budget.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-billing
ListBudgets

rpc ListBudgets(ListBudgetsRequest) returns (ListBudgetsResponse)

Returns a list of budgets for a billing account.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-billing
UpdateBudget

rpc UpdateBudget(UpdateBudgetRequest) returns (Budget)

Updates a budget and returns the updated budget.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-billing

AllUpdatesRule

AllUpdatesRule defines notifications that are sent on every update to the billing account's spend, regardless of the thresholds defined using threshold rules.

Fields
pubsub_topic

string

Required. The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form projects/{project_id}/topics/{topic_id}. Updates are sent at regular intervals to the topic. The topic needs to be created before the budget is created; see https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications for more details. Caller is expected to have pubsub.topics.setIamPolicy permission on the topic when it's set for a budget, otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud.google.com/pubsub/docs/access-control for more details on Pub/Sub roles and permissions.

schema_version

string

Required. The schema version of the notification. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets#notification_format

Budget

A budget is a plan that describes what you expect to spend on Cloud projects, plus the rules to execute as spend is tracked against that plan, (for example, send an alert when 90% of the target spend is met). Currently all plans are monthly budgets so the usage period(s) tracked are implied (calendar months of usage back-to-back).

Fields
name

string

Output only. Resource name of the budget. The resource name implies the scope of a budget. Values are of the form billingAccounts/{billingAccountId}/budgets/{budgetId}.

display_name

string

User data for display name in UI. Validation: <= 60 chars.

budget_filter

Filter

Optional. Filters that define which resources are used to compute the actual spend against the budget.

amount

BudgetAmount

Required. Budgeted amount.

threshold_rules[]

ThresholdRule

Required. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget.

all_updates_rule

AllUpdatesRule

Optional. Rules to apply to all updates to the actual spend, regardless of the thresholds set in threshold_rules.

etag

string

Optional. Etag to validate that the object is unchanged for a read-modify-write operation. An empty etag will cause an update to overwrite other changes.

BudgetAmount

The budgeted amount for each usage period.

Fields
Union field budget_amount. Specification for what amount to use as the budget. budget_amount can be only one of the following:
specified_amount

Money

A specified amount to use as the budget. currency_code is optional. If specified, it must match the currency of the billing account. The currency_code is provided on output.

last_period_amount

LastPeriodAmount

Use the last period's actual spend as the budget for the present period.

CreateBudgetRequest

Request for CreateBudget

Fields
parent

string

Required. The name of the billing account to create the budget in. Values are of the form billingAccounts/{billingAccountId}.

Authorization requires the following Google IAM permission on the specified resource parent:

  • billing.budgets.create

budget

Budget

Required. Budget to create.

DeleteBudgetRequest

Request for DeleteBudget

Fields
name

string

Required. Name of the budget to delete. Values are of the form billingAccounts/{billingAccountId}/budgets/{budgetId}.

Authorization requires the following Google IAM permission on the specified resource name:

  • billing.budgets.delete

Filter

A filter for a budget, limiting the scope of the cost to calculate.

Fields
projects[]

string

Optional. A set of projects of the form projects/{project_id}, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. Only zero or one project can be specified currently.

credit_types_treatment

CreditTypesTreatment

Optional. If not set, default behavior is INCLUDE_ALL_CREDITS.

services[]

string

Optional. A set of services of the form services/{service_id}, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.

CreditTypesTreatment

Specifies how credits should be treated when determining spend for threshold calculations.

Enums
CREDIT_TYPES_TREATMENT_UNSPECIFIED
INCLUDE_ALL_CREDITS All types of credit are subtracted from the gross cost to determine the spend for threshold calculations.
EXCLUDE_ALL_CREDITS All types of credit are added to the net cost to determine the spend for threshold calculations.

GetBudgetRequest

Request for GetBudget

Fields
name

string

Required. Name of budget to get. Values are of the form billingAccounts/{billingAccountId}/budgets/{budgetId}.

Authorization requires the following Google IAM permission on the specified resource name:

  • billing.budgets.get

LastPeriodAmount

Describes a budget amount targeted to last period's spend. At this time, the amount is automatically 100% of last period's spend; that is, there are no other options yet. Future configuration will be described here (for example, configuring a percentage of last period's spend).

ListBudgetsRequest

Request for ListBudgets

Fields
parent

string

Required. Name of billing account to list budgets under. Values are of the form billingAccounts/{billingAccountId}.

Authorization requires the following Google IAM permission on the specified resource parent:

  • billing.budgets.list

page_size

int32

Optional. The maximum number of budgets to return per page. The default and maximum value are 100.

page_token

string

Optional. The value returned by the last ListBudgetsResponse which indicates that this is a continuation of a prior ListBudgets call, and that the system should return the next page of data.

ListBudgetsResponse

Response for ListBudgets

Fields
budgets[]

Budget

List of the budgets owned by the requested billing account.

next_page_token

string

If not empty, indicates that there may be more budgets that match the request; this value should be passed in a new ListBudgetsRequest.

ThresholdRule

ThresholdRule contains a definition of a threshold which triggers an alert (a notification of a threshold being crossed) to be sent when spend goes above the specified amount. Alerts are automatically e-mailed to users with the Billing Account Administrator role or the Billing Account User role. The thresholds here have no effect on notifications sent to anything configured under Budget.all_updates_rule.

Fields
threshold_percent

double

Required. Send an alert when this threshold is exceeded. This is a 1.0-based percentage, so 0.5 = 50%. Validation: non-negative number.

spend_basis

Basis

Optional. The type of basis used to determine if spend has passed the threshold. Behavior defaults to CURRENT_SPEND if not set.

Basis

The type of basis used to determine if spend has passed the threshold.

Enums
BASIS_UNSPECIFIED Unspecified threshold basis.
CURRENT_SPEND Use current spend as the basis for comparison against the threshold.
FORECASTED_SPEND Use forecasted spend for the period as the basis for comparison against the threshold.

UpdateBudgetRequest

Request for UpdateBudget

Fields
budget

Budget

Required. The updated budget object. The budget to update is specified by the budget name in the budget.

Authorization requires the following Google IAM permission on the specified resource budget:

  • billing.budgets.update

update_mask

FieldMask

Optional. Indicates which fields in the provided budget to update. Read-only fields (such as name) cannot be changed. If this is not provided, then only fields with non-default values from the request are updated. See https://developers.google.com/protocol-buffers/docs/proto3#default for more details about default values.

Apakah halaman ini membantu? Beri tahu kami pendapat Anda:

Kirim masukan tentang...

Cloud Billing
Butuh bantuan? Kunjungi halaman dukungan kami.