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

The Unifying Specification for Cloud Billing Data
https://focus.finops.org
Other
183 stars 39 forks source link

Consistency Review: Standardize column specifications for correction charges #547

Closed ijurica closed 1 month ago

ijurica commented 1 month ago

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:

GitHub Issue or Reference

Issue #542

Context

No response

Data Submission for Discussion

No response

jpradocueva commented 1 month ago

Action items from TF-1 call on Sep 24:

jpradocueva commented 2 weeks ago

Comments from Members' call on Oct 31:

Analysis: Simple editorial adjustments to normative statements, aimed at improving readability. Agreements: Irena will reintroduce this as part of ongoing editorial work and close #547 once a backup is made.