-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FOCUS #557: Preview - Refinement of FOCUS Columns Normative Requirements #664
base: working_draft
Are you sure you want to change the base?
Changes from 8 commits
812e80e
9f6ee2c
440de4a
fb273d1
287a6fa
6f4c08e
2de3c14
0ce1c00
600825e
1b6ee5d
0d2501e
e202cbb
16160b1
77677cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -2,6 +2,16 @@ | |||
|
||||
An [*availability zone*](#glossary:availability-zone) is a provider-assigned identifier for a physically separated and isolated area within a Region that provides high availability and fault tolerance. Availability Zone is commonly used for scenarios like analyzing cross-zone data transfer usage and the corresponding cost based on where [*resources*](#glossary:resource) are deployed. | ||||
|
||||
--- | ||||
The AvailabilityZone column adheres to the following requirements: | ||||
|
||||
* AvailabilityZone is RECOMMENDED to be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset) when the provider supports deploying resources or services within an *availability zone*. | ||||
* If present, the column adheres to the following additional requirements: | ||||
* AvailabilityZone MUST be of type String. | ||||
* AvailabilityZone MUST conform to [String Handling](#stringhandling) requirements. | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Discussed in Dec 10 TF1. Propose postponing adding such requirements until lower-hanging fruit of consistency is collected. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I must have missed something. Why is linking attributes contentious? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Talking to Irena - she suggested postponing this due to provider conformance concerns. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest we discuss this in the TF-1 meeting. This sheet can serve as the basis for our discussion. |
||||
* AvailabilityZone MAY be null if a charge is not specific to an *availability zone*. | ||||
|
||||
--- | ||||
The AvailabilityZone column adheres to the following requirements: | ||||
|
||||
* The AvailabilityZone column is RECOMMENDED to be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset) when the provider supports deploying resources or services within an *availability zone*. | ||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,17 @@ | |
|
||
The [*billed cost*](#glossary:billed-cost) represents a charge serving as the basis for invoicing, inclusive of the impacts of all reduced rates and discounts while excluding the [*amortization*](#glossary:amortization) of relevant purchases (one-time or recurring) paid to cover future eligible charges. This cost is denominated in the [Billing Currency](#billingcurrency). The Billed Cost is commonly used to perform FinOps capabilities that require cash-basis accounting such as cost allocation, budgeting, and invoice reconciliation. | ||
|
||
--- | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: Do we have a requirement that these lines be here? Do we require them to have specific spacing before/after? I don't mind them. I would just ask that they have empty lines before and after to align to existing markdown linting rules. (Although, I don't think we've implemented any yet.) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These lines are just temporary separators surrounding the candidate versions of the normative requirements (helping us to more easily spot the before/after differences). |
||
The BilledCost column adheres to the following requirements: | ||
|
||
* BilledCost MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset). | ||
* BilledCost MUST be of type Decimal. | ||
* BilledCost MUST conform to [Numeric Format](#numericformat) requirements. | ||
* BilledCost MAY be null if a charge is not specific to an *availability zone*. | ||
* BilledCost MUST be denominated in the BillingCurrency. | ||
* The sum of the BilledCost for [*rows*](#glossary:row) in a given [*billing period*](#glossary:billing-period) MUST match the sum of the invoices received for that *billing period* for a [*billing account*](#glossary:billing-account). | ||
|
||
--- | ||
The BilledCost column adheres to the following requirements: | ||
|
||
* The BilledCost column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset) and MUST NOT be null. | ||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -2,6 +2,18 @@ | |||||
|
||||||
Charge Class indicates whether the row represents a correction to a previously invoiced [*billing period*](#glossary:billing-period). Charge Class is commonly used to differentiate corrections from regularly incurred charges. | ||||||
|
||||||
--- | ||||||
The ChargeClass column adheres to the following requirements: | ||||||
|
||||||
* ChargeClass MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset). | ||||||
* ChargeClass MUST be of type String. | ||||||
* ChargeClass MUST be null when the row does not represent a correction or when it represents a correction within the current *billing period*. | ||||||
* When the row represents a correction to a previously invoiced *billing period*, the following applies: | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this be "If"? Also aligning to a previous suggestion...
Suggested change
|
||||||
* ChargeClass MUST NOT be null. | ||||||
* ChargeClass MUST be one of the allowed values. | ||||||
* ChargeClass MUST be "Correction". | ||||||
|
||||||
--- | ||||||
The ChargeClass column adheres to the following requirements: | ||||||
|
||||||
* The ChargeClass column MUST be present in a [*FOCUS dataset*](#glossary:FOCUS-dataset). | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Personally, I would rather not have this line and keep all requirements at the root level. The requirements are all valid whether the column is present or not, so I'm not sure what the value of nesting these requirements is.