FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec

Consistency Review: Standardize column specifications for correction charges

Closed this issue · 1 comments

Documents:

Description

Review and align how we specify Corrections across the specification. Address nullability and value ranges of metric columns.

1. Nullability

In the case of CommitmentDiscountQuantity, we specified the following:

… CommitmentDiscountQuantity MAY be negative if ChargeClass is "Correction"….

Meanwhile, for other columns (e.g., costs, quantities, units), we allowed null values for Corrections. For instance:

… It MUST NOT be null when ChargeClass is not "Correction"…

2. Value ranges of metric columns

While we were explicit in CommitmentDiscountQuantity about expecting positive values and allowing negative values for Corrections, we didn’t explicitly address negative values in other metric columns. (We assumed it was understood that quantities and costs can only be negative in the case of Correction charges and must be non-negative for non-Correction charges.)
Briefly discuss whether this should be applied consistently across the specification.

Proposed Approach

Standardize the specifications, i.e. allow nulls in the case of corrections for all columns except cost metrics, and explicitly define value ranges for all metrics, for the following columns:

  • PricingUnit
  • ConsumedUnit
  • CommitmentDiscountUnit
  • PricingQuantity
  • ConsumedQuantity
  • CommitmentDiscountQuantity
  • ListCost
  • ContractedCost
  • ListUnitPrice
  • ContractedUnitPrice

GitHub Issue or Reference

Issue #542

Context

No response

Data Submission for Discussion

No response

Action items from TF-1 call on Sep 24:

  • [TF1-#547 ] Irena, @ijurica : Prepare a PR addressing corrections in metric columns, including standardizing null value handling, and submit it for review within 30 hours.
  • [TF1-#547 ] Chris, @cnharris10 & Alex, @ahullah: Assist Irena in reviewing the proposed PR before the next members’ meeting.