Class Budget.Builder

  • Enclosing class:
    Budget

    public static class Budget.Builder
    extends Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • id

        public Budget.Builder id​(String id)
        The OCID of the budget.
        Parameters:
        id - the value to set
        Returns:
        this builder
      • compartmentId

        public Budget.Builder compartmentId​(String compartmentId)
        The OCID of the compartment.
        Parameters:
        compartmentId - the value to set
        Returns:
        this builder
      • targetCompartmentId

        public Budget.Builder targetCompartmentId​(String targetCompartmentId)
        This is DEPRECATED.

        For backwards compatability, the property is populated when the targetType is “COMPARTMENT”, and targets contain the specific target compartment OCID. For all other scenarios, this property will be left empty.

        Parameters:
        targetCompartmentId - the value to set
        Returns:
        this builder
      • displayName

        public Budget.Builder displayName​(String displayName)
        The display name of the budget.

        Avoid entering confidential information.

        Parameters:
        displayName - the value to set
        Returns:
        this builder
      • description

        public Budget.Builder description​(String description)
        The description of the budget.
        Parameters:
        description - the value to set
        Returns:
        this builder
      • amount

        public Budget.Builder amount​(BigDecimal amount)
        The amount of the budget expressed in the currency of the customer’s rate card.
        Parameters:
        amount - the value to set
        Returns:
        this builder
      • resetPeriod

        public Budget.Builder resetPeriod​(ResetPeriod resetPeriod)
        The reset period for the budget.
        Parameters:
        resetPeriod - the value to set
        Returns:
        this builder
      • budgetProcessingPeriodStartOffset

        public Budget.Builder budgetProcessingPeriodStartOffset​(Integer budgetProcessingPeriodStartOffset)
        The number of days offset from the first day of the month, at which the budget processing period starts.

        In months that have fewer days than this value, processing will begin on the last day of that month. For example, for a value of 12, processing starts every month on the 12th at midnight.

        Parameters:
        budgetProcessingPeriodStartOffset - the value to set
        Returns:
        this builder
      • processingPeriodType

        public Budget.Builder processingPeriodType​(ProcessingPeriodType processingPeriodType)
        The budget processing period type.

        Valid values are INVOICE, MONTH, and SINGLE_USE.

        Parameters:
        processingPeriodType - the value to set
        Returns:
        this builder
      • startDate

        public Budget.Builder startDate​(Date startDate)
        The date when the one-time budget begins.

        For example, 2023-03-23. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time.

        Parameters:
        startDate - the value to set
        Returns:
        this builder
      • endDate

        public Budget.Builder endDate​(Date endDate)
        The time when the one-time budget concludes.

        For example, 2023-03-23. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time.

        Parameters:
        endDate - the value to set
        Returns:
        this builder
      • targetType

        public Budget.Builder targetType​(TargetType targetType)
        The type of target on which the budget is applied.
        Parameters:
        targetType - the value to set
        Returns:
        this builder
      • targets

        public Budget.Builder targets​(List<String> targets)
        The list of targets on which the budget is applied.

        If the targetType is “COMPARTMENT”, the targets contain the list of compartment OCIDs. If the targetType is “TAG”, the targets contain the list of cost tracking tag identifiers in the form of “{tagNamespace}.{tagKey}.{tagValue}”.

        Parameters:
        targets - the value to set
        Returns:
        this builder
      • lifecycleState

        public Budget.Builder lifecycleState​(LifecycleState lifecycleState)
        The current state of the budget.
        Parameters:
        lifecycleState - the value to set
        Returns:
        this builder
      • alertRuleCount

        public Budget.Builder alertRuleCount​(Integer alertRuleCount)
        The total number of alert rules in the budget.
        Parameters:
        alertRuleCount - the value to set
        Returns:
        this builder
      • version

        public Budget.Builder version​(Integer version)
        The version of the budget.

        Starts from 1 and increments by 1.

        Parameters:
        version - the value to set
        Returns:
        this builder
      • actualSpend

        public Budget.Builder actualSpend​(BigDecimal actualSpend)
        The actual spend in currency for the current budget cycle.
        Parameters:
        actualSpend - the value to set
        Returns:
        this builder
      • forecastedSpend

        public Budget.Builder forecastedSpend​(BigDecimal forecastedSpend)
        The forecasted spend in currency by the end of the current budget cycle.
        Parameters:
        forecastedSpend - the value to set
        Returns:
        this builder
      • timeSpendComputed

        public Budget.Builder timeSpendComputed​(Date timeSpendComputed)
        The time that the budget spend was last computed.
        Parameters:
        timeSpendComputed - the value to set
        Returns:
        this builder
      • timeCreated

        public Budget.Builder timeCreated​(Date timeCreated)
        The time that the budget was created.
        Parameters:
        timeCreated - the value to set
        Returns:
        this builder
      • timeUpdated

        public Budget.Builder timeUpdated​(Date timeUpdated)
        The time that the budget was updated.
        Parameters:
        timeUpdated - the value to set
        Returns:
        this builder
      • freeformTags

        public Budget.Builder freeformTags​(Map<String,​String> freeformTags)
        Free-form tags for this resource.

        Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.

        Example: {"Department": "Finance"}

        Parameters:
        freeformTags - the value to set
        Returns:
        this builder
      • definedTags

        public Budget.Builder definedTags​(Map<String,​Map<String,​Object>> definedTags)
        Defined tags for this resource.

        Each key is predefined and scoped to a namespace. For more information, see Resource Tags.

        Example: {"Operations": {"CostCenter": "42"}}

        Parameters:
        definedTags - the value to set
        Returns:
        this builder
      • build

        public Budget build()