Class BudgetProperties


  • public final class BudgetProperties
    extends Object
    The properties of the budget.
    • Constructor Detail

      • BudgetProperties

        public BudgetProperties()
    • Method Detail

      • category

        public CategoryType category()
        Get the category property: The category of the budget, whether the budget tracks cost or usage.
        Returns:
        the category value.
      • withCategory

        public BudgetProperties withCategory​(CategoryType category)
        Set the category property: The category of the budget, whether the budget tracks cost or usage.
        Parameters:
        category - the category value to set.
        Returns:
        the BudgetProperties object itself.
      • amount

        public BigDecimal amount()
        Get the amount property: The total amount of cost to track with the budget.
        Returns:
        the amount value.
      • withAmount

        public BudgetProperties withAmount​(BigDecimal amount)
        Set the amount property: The total amount of cost to track with the budget.
        Parameters:
        amount - the amount value to set.
        Returns:
        the BudgetProperties object itself.
      • timeGrain

        public TimeGrainType timeGrain()
        Get the timeGrain property: The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers.
        Returns:
        the timeGrain value.
      • withTimeGrain

        public BudgetProperties withTimeGrain​(TimeGrainType timeGrain)
        Set the timeGrain property: The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers.
        Parameters:
        timeGrain - the timeGrain value to set.
        Returns:
        the BudgetProperties object itself.
      • timePeriod

        public BudgetTimePeriod timePeriod()
        Get the timePeriod property: 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 twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.
        Returns:
        the timePeriod value.
      • withTimePeriod

        public BudgetProperties withTimePeriod​(BudgetTimePeriod timePeriod)
        Set the timePeriod property: 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 twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.
        Parameters:
        timePeriod - the timePeriod value to set.
        Returns:
        the BudgetProperties object itself.
      • filter

        public BudgetFilter filter()
        Get the filter property: May be used to filter budgets by user-specified dimensions and/or tags.
        Returns:
        the filter value.
      • withFilter

        public BudgetProperties withFilter​(BudgetFilter filter)
        Set the filter property: May be used to filter budgets by user-specified dimensions and/or tags.
        Parameters:
        filter - the filter value to set.
        Returns:
        the BudgetProperties object itself.
      • currentSpend

        public CurrentSpend currentSpend()
        Get the currentSpend property: The current amount of cost which is being tracked for a budget.
        Returns:
        the currentSpend value.
      • notifications

        public Map<String,​Notification> notifications()
        Get the notifications property: Dictionary of notifications associated with the budget. Budget can have up to five notifications.
        Returns:
        the notifications value.
      • withNotifications

        public BudgetProperties withNotifications​(Map<String,​Notification> notifications)
        Set the notifications property: Dictionary of notifications associated with the budget. Budget can have up to five notifications.
        Parameters:
        notifications - the notifications value to set.
        Returns:
        the BudgetProperties object itself.
      • forecastSpend

        public ForecastSpend forecastSpend()
        Get the forecastSpend property: The forecasted cost which is being tracked for a budget.
        Returns:
        the forecastSpend value.
      • validate

        public void validate()
        Validates the instance.
        Throws:
        IllegalArgumentException - thrown if the instance is not valid.