FOCUS 1.4 phase 5: add FOCUS 1.4-preview hub functions

Open
#2,133 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
68/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
azure

Research direction

Start by comparing HubSetup_v1_3.kql with the phase 4 schema in #2131, then inspect app.bicep and the .build.config file list. Add HubSetup_v1_4.kql with the specified unions and renamed functions, wire it into both files, and run the Pester tests and Bicep compilation. Done means deployment is clean and Costs() still exposes the v1_3 Latest schema.

Written by the indexing model from the issue text.

Description

Tool: FinOps hubs Tool: FOCUS

Parent: #2120
Depends on: #2131 (phase 4)

Goal

Add the hub-side counterpart to phase 4: `HubSetup_v1_4.kql` exposing FOCUS 1.4-preview-shaped functions.

Scope

`HubSetup_v1_4.kql` (new)
  • Copy `HubSetup_v1_3.kql` and rename `_v1_3` -> `_v1_4`, `FOCUS 1.3` -> `FOCUS 1.4-preview`.
  • `Costs_v1_4()`: union `Costs_final_v1_4` with the existing v1_3, v1_2, and v1_0 final tables. The final `| project` drops `ProviderName` and `PublisherName` since they are removed in 1.4. The v1_3 / v1_2 / v1_0 union arms drop those columns by exclusion (the project list doesn't reference them).
  • `ContractCommitment_v1_4()`: union `ContractCommitment_final_v1_4` with `ContractCommitment_final_v1_3` extending v1_3 data with empty/null defaults for the 14 new FOCUS 1.4 columns.
  • Other functions (Prices, CommitmentDiscountUsage, Recommendations, Transactions): rename only — no FOCUS 1.4 changes for those datasets.
Latest aliases policy

Do NOT retarget `HubSetup_Latest.kql` to v1_4. Per the upgrade procedure (data-model.md preview convention), unversioned aliases stay pinned to the latest GA schema (v1_3) until the v1_4 preview promotes to GA.

Wiring
  • Add `v1_4: loadTextContent('scripts/HubSetup_v1_4.kql')` to `app.bicep`.
  • Add to `.build.config` file list.

Branch

`flanakin/focus14-phase5-hubs-1.4` off `flanakin/focus14-phase4-ingestion-1.4`. PR target: phase 4 branch.

Done when

  • New file deploys cleanly.
  • Pester tests pass.
  • Bicep compiles.
  • `Costs()` still returns v1_3 schema (Latest stayed pinned).
Dominant language
PowerShell
Stars
603
Forks
249
Avg merge
6d 4h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/finops-toolkit

All issues in microsoft/finops-toolkit

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.