class Azure::Consumption::Mgmt::V2018_01_31::Models::Budget

A budget resource.

Attributes

amount[RW]

@return The total amount of cost to track with the budget

category[RW]

@return [CategoryType] The category of the budget, whether the budget tracks cost or usage. Possible values include: 'Cost', 'Usage'

current_spend[RW]

@return [CurrentSpend] The current amount of cost which is being tracked for a budget.

filters[RW]

@return [Filters] May be used to filter budgets by resource group, resource, or meter.

notifications[RW]

@return [Hash{String => Notification}] Dictionary of notifications associated with the budget. Budget can have up to five notifications.

time_grain[RW]

@return [TimeGrainType] The time covered by a budget. Tracking of the amount will be reset based on the time grain. Possible values include: 'Monthly', 'Quarterly', 'Annually'

time_period[RW]

@return [BudgetTimePeriod] Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain preiod. There are no restrictions on the end date.

Public Class Methods

mapper() click to toggle source

Mapper for Budget class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2018-01-31/generated/azure_mgmt_consumption/models/budget.rb, line 52
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'Budget',
    type: {
      name: 'Composite',
      class_name: 'Budget',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        e_tag: {
          client_side_validation: true,
          required: false,
          serialized_name: 'eTag',
          type: {
            name: 'String'
          }
        },
        category: {
          client_side_validation: true,
          required: true,
          serialized_name: 'properties.category',
          type: {
            name: 'String'
          }
        },
        amount: {
          client_side_validation: true,
          required: true,
          serialized_name: 'properties.amount',
          type: {
            name: 'Number'
          }
        },
        time_grain: {
          client_side_validation: true,
          required: true,
          serialized_name: 'properties.timeGrain',
          type: {
            name: 'String'
          }
        },
        time_period: {
          client_side_validation: true,
          required: true,
          serialized_name: 'properties.timePeriod',
          type: {
            name: 'Composite',
            class_name: 'BudgetTimePeriod'
          }
        },
        filters: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.filters',
          type: {
            name: 'Composite',
            class_name: 'Filters'
          }
        },
        current_spend: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.currentSpend',
          type: {
            name: 'Composite',
            class_name: 'CurrentSpend'
          }
        },
        notifications: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.notifications',
          type: {
            name: 'Dictionary',
            value: {
                client_side_validation: true,
                required: false,
                serialized_name: 'NotificationElementType',
                type: {
                  name: 'Composite',
                  class_name: 'Notification'
                }
            }
          }
        }
      }
    }
  }
end