Class: Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Budget

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/billingbudgets_v1/classes.rb,
generated/google/apis/billingbudgets_v1/representations.rb,
generated/google/apis/billingbudgets_v1/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). Currently all plans are monthly budgets so the usage period(s) tracked are implied (calendar months of usage back-to-back).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudBillingBudgetsV1Budget

Returns a new instance of GoogleCloudBillingBudgetsV1Budget.



74
75
76
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 74

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

Instance Attribute Details

#amountGoogle::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1BudgetAmount

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



36
37
38
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 36

def amount
  @amount
end

#budget_filterGoogle::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Filter

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



41
42
43
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 41

def budget_filter
  @budget_filter
end

#display_nameString

User data for display name in UI. The name must be less than or equal to 60 characters. Corresponds to the JSON property displayName

Returns:

  • (String)


47
48
49
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 47

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)


53
54
55
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 53

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)


60
61
62
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 60

def name
  @name
end

#notifications_ruleGoogle::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1NotificationsRule

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



66
67
68
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 66

def notifications_rule
  @notifications_rule
end

#threshold_rulesArray<Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1ThresholdRule>

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



72
73
74
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 72

def threshold_rules
  @threshold_rules
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



79
80
81
82
83
84
85
86
87
# File 'generated/google/apis/billingbudgets_v1/classes.rb', line 79

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