Class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/billingbudgets_v1beta1/classes.rb,
lib/google/apis/billingbudgets_v1beta1/representations.rb,
lib/google/apis/billingbudgets_v1beta1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudBillingBudgetsV1beta1Budget

Returns a new instance of GoogleCloudBillingBudgetsV1beta1Budget.



132
133
134
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 132

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#all_updates_ruleGoogle::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1AllUpdatesRule

AllUpdatesRule defines notifications that are sent based on budget spend and thresholds. Corresponds to the JSON property allUpdatesRule



96
97
98
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 96

def all_updates_rule
  @all_updates_rule
end

#amountGoogle::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1BudgetAmount

The budgeted amount for each usage period. Corresponds to the JSON property amount



101
102
103
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 101

def amount
  @amount
end

#budget_filterGoogle::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Filter

A filter for a budget, limiting the scope of the cost to calculate. Corresponds to the JSON property budgetFilter



106
107
108
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 106

def budget_filter
  @budget_filter
end

#display_nameString

User data for display name in UI. Validation: <= 60 chars. Corresponds to the JSON property displayName

Returns:

  • (String)


111
112
113
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 111

def display_name
  @display_name
end

#etagString

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

Returns:

  • (String)


117
118
119
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 117

def etag
  @etag
end

#nameString

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 propertyname`

Returns:

  • (String)


124
125
126
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 124

def name
  @name
end

#threshold_rulesArray<Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1ThresholdRule>

Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget. Corresponds to the JSON property thresholdRules



130
131
132
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 130

def threshold_rules
  @threshold_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



137
138
139
140
141
142
143
144
145
# File 'lib/google/apis/billingbudgets_v1beta1/classes.rb', line 137

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