Open
Description
📝 Scenario
As a FinOps practitioner, I need to leverage new FOCUS 1.1 columns in order to account for commitment discount flexibility and track capacity reservations
💎 Solution
Implement FOCUS 1.1
📋 Tasks
ℹ️ Additional context
- Rename the following columns:
- x_SkuDetails → SkuPriceDetails.
- x_SkuMeterName → SkuMeter.
- Add the following new columns for VM on-demand capacity reservations:
- CapacityReservationId = AdditionalInfo.VMCapacityReservationId.
- CapacityReservationStatus which will need to copy data out of AdditionalInfo.
- Add the following new columns for commitment discount utilization and coverage:
- CommitmentDiscountQuantity
- Savings plans = EffectiveCost / ExchangeRate.
- Reservations = PricingQuantity / x_PricingBlockSize * x_CommitmentDiscountNormalizedRatio.
- CommitmentDiscountUnit
- Savings plans = x_PricingCurrency (e.g., “USD”, “CNY”).
- Reservations w/o ISF = PricingUnit (e.g., “Hours”, “GB”).
- Reservations w/ ISF = "Normalized {PricingUnit}".
- x_CommitmentDiscountNormalizedRatio = AdditionalInfo.RINormalizationRatio ?? null.
- x_CommitmentDiscountSpendEligibility = “Covered” / “Eligible” / “Not Eligible”
- x_CommitmentDiscountUsageEligibility = “Covered” / “Eligible” / “Not Eligible”
- CommitmentDiscountQuantity
- Add the following other new columns:
- ServiceSubcategory with a new mapping.
- x_ServiceModel with a new mapping.
- x_SkuPlanName = PlanName (marketplace meter metadata).
- x_SkuSize = ArmSkuName (meter metadata).
- Update the following columns to fix known bugs:
- BillingPeriodEnd is showing Oct 2 (as of Sep 26).
- ContractedUnitPrice/ContractedCost = UnitPrice for on-demand prices based on MeterId and PartNumber (EA) or PSMT (MCA).
- ListUnitPrice/ListCost = MarketPrice for on-demand prices based on MeterId/PartNumber (EA) or PSMT (MCA).
- SkuId = ProductId (same value for EA and MCA) and replace -1 with null.
- SkuPriceId = “{PriceType}{Term}{ChargeCategory}{MeterId}{ProductId}{SkuId}{MeterType}{TierId}{OfferId}_???”.
- SubAccountName = Replace "Unasigned" with null.
- x_AccountId = Replace "-2" with null.
- x_AccountName = Replace "Unassigned" with null.
- x_AccountOwnerId = Replace "Unassigned" with null.
- x_InvoiceSectionId = Replace "-2" with null.
- x_InvoiceSectionName = Replace "Unassigned" with null.
- x_PricingUnitDescription = Replace "Unassigned" with null.
- PublisherName is null for reservation usage, reservation purchases, and savings plan unused charges.
For additional information about what’s included in the FOCUS 1.1 release, refer to the FOCUS changelog.
🙋♀️ Ask for the community
We could use your help:
- Please vote this issue up (👍) to prioritize it.
- Leave comments to help us solidify the vision.