Skip to content
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 #497: SkuPriceDetails column #503

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
813367e
skupricedetails initial
kk09v Jul 1, 2024
f02f647
skudetails initial
kk09v Jul 1, 2024
c8a0652
Revise skupricedetails
kk09v Jul 9, 2024
ceccde6
Update skupricedetails.md
kk09v Jul 9, 2024
5271f8c
Update skudetails.md
kk09v Jul 9, 2024
70b76fc
Update skupricedetails.md
kk09v Jul 9, 2024
95a66b9
Merge branch 'working_draft' into sku-details_sku-price-details
kk09v Jul 10, 2024
984ccac
Update skupricedetails.md
kk09v Jul 11, 2024
981faf7
Update skudetails.md
kk09v Jul 11, 2024
613e168
Add PascalCase to glossary
kk09v Jul 25, 2024
084bea1
Add PascalCase clause to SkuDetails
kk09v Jul 25, 2024
1ed2e05
Reformatted examples as PascalCase in SkuDetails
kk09v Jul 25, 2024
56a5fd6
Added PascalCase clause to skupricedetails
kk09v Jul 25, 2024
ea7baf2
Merge branch 'working_draft' into sku-details_sku-price-details
kk09v Jul 25, 2024
3b83f6f
Reflecting revised editorial guidelines
kk09v Jul 25, 2024
58bb459
Reflecting revised editorial guidelines
kk09v Jul 25, 2024
29d85f8
Reflecting revised editorial guidelines
kk09v Jul 25, 2024
eb52328
Reflecting revised editorial guidelines
kk09v Jul 25, 2024
fb1f497
Update column_naming_and_ordering - link Pascal Case Glossary
kk09v Aug 1, 2024
2012561
skupricedetails - data may duplicate dedicated columns
kk09v Aug 1, 2024
fb46e96
skudetails - data may duplicate dedicated columns
kk09v Aug 1, 2024
0856e50
SkuPriceDetails - consolidate to 1 column
kk09v Aug 8, 2024
5dcdc9e
SkuDetails - deleting to consolidate to one column
kk09v Aug 8, 2024
208aa39
Update skupricedetails.md
kk09v Aug 15, 2024
2f30e82
Added conditional requirement
kk09v Aug 15, 2024
f4779d7
Terminology skupricedetails.md
kk09v Aug 19, 2024
c4b4b9d
Added skupricedetails.md to columns.mpdd
kk09v Aug 24, 2024
9cfc8fc
reordered normative clauses
kk09v Aug 24, 2024
1e454ea
SHOULD to MUST not include inapplicable properties
kk09v Aug 24, 2024
99e118e
Rephrase
kk09v Aug 24, 2024
0fb07ee
Merge branch 'working_draft' into sku-details_sku-price-details
jpradocueva Aug 26, 2024
6a3616a
Update specification/columns/skupricedetails.md
kk09v Aug 29, 2024
1741cfd
Incorporating most recent round of feedback
kk09v Aug 29, 2024
8bcd752
Formatting
kk09v Aug 29, 2024
a0cf322
Final adjustments
kk09v Sep 2, 2024
591b8f8
Formatting
kk09v Sep 4, 2024
c42290e
Adding explicit nullability provisions
kk09v Sep 4, 2024
e422475
Merge branch 'working_draft' into sku-details_sku-price-details
jpradocueva Sep 5, 2024
956680b
Merge branch 'working_draft' into sku-details_sku-price-details
jpradocueva Sep 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion specification/attributes/column_naming_and_ordering.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Naming and ordering convention for columns appearing in a FOCUS dataset.
### Column Names

* All columns defined by FOCUS MUST follow the following rules:
* Column IDs MUST use [Pascal case](https://techterms.com/definition/pascalcase).
* Column IDs MUST use [Pascal case](#glossary:pascalcase).
* Column IDs MUST NOT use abbreviations.
* Column IDs MUST be alphanumeric with no special characters.
* Columns that have an ID and a Name MUST have the `Id` or `Name` suffix in the Column ID. Display Name for a Column MAY avoid the Name suffix if there are no other columns with the same name prefix.
Expand Down
1 change: 1 addition & 0 deletions specification/columns/columns.mdpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ The FOCUS specification defines a group of columns that provide qualitative valu
!INCLUDE "servicecategory.md",1
!INCLUDE "servicename.md",1
!INCLUDE "skuid.md",1
!INCLUDE "skupricedetails.md",1
!INCLUDE "skupriceid.md",1
!INCLUDE "subaccountid.md",1
!INCLUDE "subaccountname.md",1
Expand Down
57 changes: 57 additions & 0 deletions specification/columns/skupricedetails.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# SKU Price Details
kk09v marked this conversation as resolved.
Show resolved Hide resolved

The **SKU Price Details** column represents a list of relevant properties shared by all charges with the same [**SKU Price ID**](#skupriceid). These properties provide qualitative and quantitative details about the service represented by a **SKU Price ID**. This can enable practitioners to calculate metrics such as total units of a service when it is not directly billed in those units (e.g. cores) and thus enables FinOps capabilities such as unit economics. These properties can also help a practitioner understand the specifics of a **SKU Price ID** and differentiate it other **SKU Price IDs**.


The *SkuPriceDetails* column adheres to the following requirements:

- The *SkuPriceDetails* column MUST be in [*KeyValueFormat*](#key-valueformat).
- The key for a property SHOULD be formatted in [PascalCase](#glossary:pascalcase).
- The properties (both keys and values) contained in the *SkuPriceDetails* column MUST be shared across all charges having the same *SkuPriceId*, subject to the below provisions.
- Additional properties (key-value pairs) MAY be added to *SkuPriceDetails* going forward for a given *SkuPriceId*.
- Properties SHOULD NOT be removed from *SkuPriceDetails* for a given *SkuPriceId*, once they have been included.
- Individual properties (key-value pairs) SHOULD NOT be modified for a given *SkuPriceId* and SHOULD remain consistent over time.
- The key for a property SHOULD remain consistent across comparable SKUs having that property and the values for this key SHOULD remain in a consistent format.
- The *SkuPriceDetails* column MUST NOT contain properties which are not applicable to the corresponding *SkuPriceId*.
- The *SkuPriceDetails* column MAY contain properties which are already captured in other dedicated columns.
- If a property has a numeric value, it MUST represent the value for a single [*PricingUnit*](#pricingunit).
- The *SkuPriceDetails* column MUST be present in the billing data when the provider includes a *SkuPriceId*.
- The *SkuPriceDetails* column MAY be null when *SkuPriceId* is not null.
- The *SkuPriceDetails* column MUST be null when *SkuPriceId* is null.

## Examples

```json
{
"OperationClass": "A",
kk09v marked this conversation as resolved.
Show resolved Hide resolved
"PricingTier": 2,
"CoreHours": 4,
"PreimumProcessing": true,
}
```

## Column ID

SkuPriceDetails

## Display Name

SKU Price Details

## Description

A set of properties of a **SKU Price ID** which are meaningful and common to all instances of that **SKU Price ID**.

## Content Constraints

| Constraint | Value |
|:----------------|:-----------------|
| Column type | Dimension |
| Feature level | Conditional |
kk09v marked this conversation as resolved.
Show resolved Hide resolved
| Allows nulls | True |
| Data type | JSON |
| Value format | [Key-Value Format](#key-valueformat) |

## Introduced (version)

1.1
4 changes: 4 additions & 0 deletions specification/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ A company or organization that provides outsourced management and support of a r

A term that describes a service that is available and provided immediately or as needed, without requiring a pre-scheduled appointment or prior arrangement. In cloud computing, virtual machines can be created and terminated as needed, i.e. on demand.

<a name="glossary:pascalcase"><b>Pascal Case</b></a>

Pascal Case (PascalCase, also known as UpperCamelCase) is a format for identifiers which contain one or more words meaning the words are concatenated together with no delimiter and the first letter of each word is capitalized.

<a name="glossary:practitioner"><b>Practitioner</b></a>

An individual who performs FinOps within an organization to maximize the business value of using cloud and cloud-like services.
Expand Down