class Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Budget
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
The budgeted amount for each usage period. Corresponds to the JSON property `amount` @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1BudgetAmount]
A filter for a budget, limiting the scope of the cost to calculate. Corresponds to the JSON property `budgetFilter` @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Filter]
User data for display name in UI. The name must be less than or equal to 60 characters. 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 causes 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]
NotificationsRule defines notifications that are sent based on budget spend and thresholds. Corresponds to the JSON property `notificationsRule` @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1NotificationsRule]
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::BillingbudgetsV1::GoogleCloudBillingBudgetsV1ThresholdRule>]
Public Class Methods
# File lib/google/apis/billingbudgets_v1/classes.rb, line 75 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/billingbudgets_v1/classes.rb, line 80 def update!(**args) @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) @notifications_rule = args[:notifications_rule] if args.key?(:notifications_rule) @threshold_rules = args[:threshold_rules] if args.key?(:threshold_rules) end