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
AllUpdatesRule defines notifications that are sent based on budget spend and thresholds. Corresponds to the JSON property `allUpdatesRule` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1AllUpdatesRule]
The budgeted amount for each usage period. Corresponds to the JSON property `amount` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1BudgetAmount]
A filter for a budget, limiting the scope of the cost to calculate. Corresponds to the JSON property `budgetFilter` @return [Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Filter]
User data for display name in UI. Validation: <= 60 chars. Corresponds to the JSON property `displayName` @return [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. Corresponds to the JSON property `etag` @return [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“. Corresponds to the JSON property `name` @return [String]
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
# File lib/google/apis/billingbudgets_v1beta1/classes.rb, line 133 def initialize(**args) update!(**args) end
Public Instance Methods
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