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.



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

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. Optional for pubsubTopic notifications. Required if using email notifications. Corresponds to the JSON property thresholdRules



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

def threshold_rules
  @threshold_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



138
139
140
141
142
143
144
145
146
# 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