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

Improvements To Metadata #514

Merged
Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
639537a
Initial attempt to clarify versioning, requirements, and update vs cr…
rileyjenk Aug 2, 2024
2a281c1
Initial attempt to clarify versioning, requirements, and update vs cr…
rileyjenk Aug 2, 2024
0b90328
Adding examples of metadata json to appendix
rileyjenk Aug 8, 2024
f03fa1f
ACME instead of Awesome Corp
rileyjenk Aug 12, 2024
357651d
Fixing FocusVersion
rileyjenk Aug 12, 2024
343ff83
Adding additional example scenarios
rileyjenk Aug 15, 2024
f8f1b61
Removing recommendation for semver.
rileyjenk Aug 16, 2024
1766cb6
Clarifying versioning suggestion and separation from Focus Version.
rileyjenk Aug 16, 2024
40f887c
Merge pull request #521 from FinOps-Open-Cost-and-Usage-Spec/332-meta…
rileyjenk Aug 16, 2024
b22cda4
Adding schema object scenarios to supporting content.
rileyjenk Aug 16, 2024
9307020
Adding provider version and focus version changes in the examples sec…
rileyjenk Aug 16, 2024
25fd24a
Making changes to the example stucture so that the PDF will generate.…
rileyjenk Aug 16, 2024
e9c6a5f
Actually including all of the changes this time.
rileyjenk Aug 16, 2024
839c4b2
including links in the mdpp
rileyjenk Aug 16, 2024
5bce5cd
Getting all the headers right
rileyjenk Aug 16, 2024
e07b818
more getting headers right
rileyjenk Aug 16, 2024
2b1d51e
Fixing appendix references
rileyjenk Aug 16, 2024
367f4d7
Merge pull request #522 from FinOps-Open-Cost-and-Usage-Spec/332-meta…
rileyjenk Aug 16, 2024
04e3149
make sure to use actual unordered list.
rileyjenk Aug 16, 2024
a134793
More spacing
rileyjenk Aug 16, 2024
2859159
Improving Formatting of Schema Metadata Documenation.
rileyjenk Aug 19, 2024
bc4c4cd
Improving Formatting of Schema Metadata Documentation.
rileyjenk Aug 19, 2024
048c5ba
Fixing Unordered lists.
rileyjenk Aug 19, 2024
dea4f52
Removing more duplicate lines
rileyjenk Aug 19, 2024
daed3bf
Removing a leading blank space
rileyjenk Aug 19, 2024
fc6cc49
Clarifying value format
rileyjenk Aug 21, 2024
eda84be
Removing more blank lines
rileyjenk Aug 21, 2024
281c382
Update specification/appendix/examples/examples.mdpp
rileyjenk Aug 22, 2024
2076622
Update specification/appendix/examples/metadata_examples/correcting_s…
rileyjenk Aug 22, 2024
8cc036d
Update specification/appendix/examples/metadata_examples/adding_new_c…
rileyjenk Aug 22, 2024
20194eb
Update specification/appendix/examples/metadata_examples/focus_versio…
rileyjenk Aug 22, 2024
242f97f
Update specification/appendix/examples/metadata_examples/focus_versio…
rileyjenk Aug 22, 2024
a889617
Update specification/appendix/examples/metadata_examples/focus_versio…
rileyjenk Aug 22, 2024
6b25529
Update specification/appendix/examples/metadata_examples/provider_ver…
rileyjenk Aug 22, 2024
21a2ced
Update specification/appendix/examples/metadata_examples/data_generat…
rileyjenk Aug 22, 2024
889c113
Format fix and file rename
rileyjenk Aug 22, 2024
ff58c68
Update specification/metadata/data_generator/datagenerator.md
rileyjenk Aug 22, 2024
7199686
Update specification/metadata/metadata.mdpp
rileyjenk Aug 22, 2024
cc05ba5
Format fix and file rename
rileyjenk Aug 22, 2024
fec1ba3
Fixing ACME casing and fixing duplication issue.
rileyjenk Aug 22, 2024
3175418
Removing many formatting, spelling, and markdown issues.
rileyjenk Aug 22, 2024
b21f4a5
adding provider version to mdpp
rileyjenk Aug 22, 2024
19550ac
grammar fix
rileyjenk Aug 22, 2024
e0938b8
using GUID rather than UUID
rileyjenk Aug 22, 2024
d4619fb
Update supporting_content/metadata/schema_creation_scenarios.md
rileyjenk Aug 26, 2024
fd79b01
Update specification/appendix/examples/metadata_examples/metadata_exa…
rileyjenk Aug 26, 2024
45ace86
Aligning Cases
rileyjenk Aug 26, 2024
446bcb5
Update specification/appendix/examples/metadata_examples/focus_versio…
rileyjenk Aug 26, 2024
3b74653
Fixing heading depth.
rileyjenk Aug 26, 2024
0f3ca2a
Changing directory name
rileyjenk Aug 26, 2024
0c6b0a4
Additional Cap Fixes
rileyjenk Aug 28, 2024
fcea000
Removing name field as it is not part of the spec.
rileyjenk Aug 29, 2024
476ecd6
Changing case.
rileyjenk Aug 29, 2024
7ca911d
Fixing structure of providerversion.md requirements.
rileyjenk Aug 29, 2024
a2cc4b7
Fixing case
rileyjenk Aug 29, 2024
c731a60
adding links to examples
rileyjenk Aug 29, 2024
506f105
fixing wording.
rileyjenk Aug 29, 2024
355c7e8
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Aug 30, 2024
c907dbf
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 11, 2024
d39e0cf
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 12, 2024
c165b47
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 12, 2024
658a94d
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 12, 2024
d58839a
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 12, 2024
624f244
Merge branch 'working_draft' into 332-metadata-versioning-and-referen…
jpradocueva Sep 18, 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
1 change: 1 addition & 0 deletions specification/appendix/appendix.mdpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@

!INCLUDE "grouping_constructs_for_resources_and_or_services.md",1
!INCLUDE "origination_of_cost_data.md",1
!INCLUDE "examples/examples.mdpp",1
5 changes: 5 additions & 0 deletions specification/appendix/examples/examples.mdpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Examples

*This section is non-normative.*

!INCLUDE "metadata_examples/metadata_examples.mdpp",1
rileyjenk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Adding New Columns

## Scenario

ACME has decided add additional columns to their FOCUS data export. The new columns are x_awesome_column1, x_awesome_column2, and x_awesome_column3. The provider creates a new schema object to represent the new schema, this schema object has a unique SchemaId. The subsequent data exports that use the new schema include the new schema's id as a reference to their corresponding schema object.

### Supplied Metadata

#### Location for the new schema object:

`/FOCUS/metadata/schemas/schema-23456-abcde-23456-abcde-23456.json`

#### Content for the new schema object:

```json
{
"SchemaId": "23456-abcde-23456-abcde-23456",
"FocusVersion": "1.0",
rileyjenk marked this conversation as resolved.
Show resolved Hide resolved
"name": "New Columns",
rileyjenk marked this conversation as resolved.
Show resolved Hide resolved
"CreationDate": "2024-02-02T12:01:03.083z",
"ColumnDefinition": [
{
"ColumnName": "BillingAccountId",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "BillingAccountName",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "ChargePeriodStart",
"DataType": "DATETIME"
},
{
"ColumnName": "ChargePeriodEnd",
"DataType": "DATETIME"
},
{
"ColumnName": "BilledCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "EffectiveCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "Tags",
"DataType": "JSON",
"ProviderTagPrefixes": ["awecorp", "ac"]
},
{
"ColumnName": "x_awesome_column1",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "x_awesome_column2",
"DataType": "DATETIME"
},
{
"ColumnName": "x_awesome_column3",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
}
]
}
```

For an example of how ACME ensures the schema metadata reference requirement is met see: [Schema Metadata to FOCUS Data Reference](../schema_metadata_reference_example.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Changing a Column's Metadata Example

## Scenario

ACME has decided to change the datatype of column x_awesome_column1 from a string to a number. ACME creates a new schema object with the modification to x_awesome_column2.

### Supplied Metadata

#### Location for the new schema object:

`/FOCUS/metadata/schemas/schema-67891-abcde-67891-abcde-67891.json`

#### Content for the new schema object:

```json
{
"SchemaId": "67891-abcde-67891-abcde-67891",
"FocusVersion": "1.0",
"name": "New Columns",
"CreationDate": "2024-06-02T12:01:03.083z",
"ColumnDefinition": [
{
"ColumnName": "BillingAccountId",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "BillingAccountName",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "ChargePeriodStart",
"DataType": "DATETIME"
},
{
"ColumnName": "ChargePeriodEnd",
"DataType": "DATETIME"
},
{
"ColumnName": "BilledCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "EffectiveCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "Tags",
"DataType": "JSON",
"ProviderTagPrefixes": ["acme", "ac"]
},
{
"ColumnName": "x_awesome_column1",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "x_awesome_column2",
"DataType": "DATETIME"
}
]
}
```

For an example of how ACME ensures the schema metadata reference requirement is met see: [Schema Metadata to FOCUS Data Reference](schema_metadata_reference_example.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Provider has an error in their schema metadata

## Scenario

ACME has discovered that while their export includes the column x_awesome_column3, the schema metadata does not include this column. In this case, the provider fixes the metadata in existing the schema object and does not need to create a new schema object. Reference metadata remains the same.

### Supplied Metadata

#### Location of the schema object:

`/FOCUS/metadata/schemas/schema-34567-abcde-34567-abcde-34567.json`

#### Content of the schema object:

```json
{
"SchemaId": "34567-abcde-34567-abcde-34567",
"FocusVersion": "1.0",
"name": "New Columns",
"CreationDate": "2024-03-02T12:01:03.083z",
"ColumnDefinition": [
{
"ColumnName": "BillingAccountId",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "BillingAccountName",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "ChargePeriodStart",
"DataType": "DATETIME"
},
{
"ColumnName": "ChargePeriodEnd",
"DataType": "DATETIME"
},
{
"ColumnName": "BilledCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "EffectiveCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "Tags",
"DataType": "JSON",
"ProviderTagPrefixes": ["acme", "ac"]
},
{
"ColumnName": "x_awesome_column1",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "x_awesome_column2",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
}
]
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Data Generator Metadata

## Scenario

Our provider's name is ACME, and they provide a metadata file that includes the name of the entity that is generating the data.

### Supplied Metadata

#### Location of Data Generator Metadata File:

`/FOCUS/metadata/data_generator.json`

#### Content of Data Generator Metadata File:

```json
{
"DataGenerator": "ACME"
rileyjenk marked this conversation as resolved.
Show resolved Hide resolved
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Provider has an error in their schema metadata

## Scenario

ACME's previous exports used Focus Version 1.0. They are now going to adopt Focus Version 1.1. It is required that they create a new schema metadata object when using a new FOCUS version regardless of schema changes. In this example, the FOCUS new version adoption doesn't include columns changes. This is to illustrate that FOCUS Version changes are independent of column changes, however, this scenario is unlikely.

### Supplied Metadata

#### Location of the new schema object:

`/FOCUS/metadata/schemas/schema-45678-abcde-45678-abcde-45678.json`

#### Content of the schema object:

```json
{
"SchemaId": "45678-abcde-45678-abcde-45678",
"FocusVersion": "1.1",
"name": "Focus Version 1.1 Schema",
"CreationDate": "2024-04-02T12:01:03.083z",
"ColumnDefinition": [
{
"ColumnName": "BillingAccountId",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "BillingAccountName",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "ChargePeriodStart",
"DataType": "DATETIME"
},
{
"ColumnName": "ChargePeriodEnd",
"DataType": "DATETIME"
},
{
"ColumnName": "BilledCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "EffectiveCost",
"DataType": "DECIMAL",
"NumericPrecision": 20,
"NumberScale": 10
},
{
"ColumnName": "Tags",
"DataType": "JSON",
"ProviderTagPrefixes": ["acme", "ac"]
},
{
"ColumnName": "x_awesome_column1",
"DataType": "STRING",
"StringMaxLength": 64,
"StringEncoding": "UTF-8"
},
{
"ColumnName": "x_awesome_column2",
"DataType": "DATETIME"
}
]
}
```

For an example of how ACME ensures the schema metadata reference requirement is met see: [Schema Metadata to FOCUS Data Reference](schema_metadata_reference_example.md)
Loading
Loading