class Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget

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). The budget time period is configurable, with options such as month (default), quarter, year, or custom time period.

Attributes

all_updates_rule[RW]

AllUpdatesRule defines notifications that are sent based on budget spend and thresholds. Corresponds to the JSON property `allUpdatesRule` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1AllUpdatesRule]

amount[RW]

The budgeted amount for each usage period. Corresponds to the JSON property `amount` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1BudgetAmount]

budget_filter[RW]

A filter for a budget, limiting the scope of the cost to calculate. Corresponds to the JSON property `budgetFilter` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Filter]

display_name[RW]

User data for display name in UI. Validation: <= 60 chars. Corresponds to the JSON property `displayName` @return [String]

etag[RW]

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. Corresponds to the JSON property `etag` @return [String]

name[RW]

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“. Corresponds to the JSON property `name` @return [String]

threshold_rules[RW]

Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget. Optional for ` pubsubTopic` notifications. Required if using email notifications. Corresponds to the JSON property `thresholdRules` @return [Array<Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1ThresholdRule>]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/billingbudgets_v1beta1/classes.rb, line 133
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/billingbudgets_v1beta1/classes.rb, line 138
def update!(**args)
  @all_updates_rule = args[:all_updates_rule] if args.key?(:all_updates_rule)
  @amount = args[:amount] if args.key?(:amount)
  @budget_filter = args[:budget_filter] if args.key?(:budget_filter)
  @display_name = args[:display_name] if args.key?(:display_name)
  @etag = args[:etag] if args.key?(:etag)
  @name = args[:name] if args.key?(:name)
  @threshold_rules = args[:threshold_rules] if args.key?(:threshold_rules)
end