๐ง Azure Savings Plan utilization is below 80% - prod.logic.yaml๐ข
- Contextual name: ๐ง prod.logic.yaml๐ข
- ID:
/ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml - Tags:
- ๐ข Logic test success
- ๐ข Logic with extracts
- ๐ข Logic with test data
Usesโ
- ๐ Azure Savings Plan
- ๐ Azure Savings Plan - object.extracts.yaml
- ๐ Azure Savings Plan Utilization - object.extracts.yaml
- ๐งช test-data.json
Test Results ๐ขโ
Generated at: 2026-09-22T15:06:45.966775996Z Open
| Result | Id | Condition Index | Condition Text | Runtime Error |
|---|---|---|---|---|
| ๐ข | gone | โ๏ธ 99 | โ๏ธ isDisappeared(CA10Z1__disappearanceTime__c) | โ๏ธ null |
| ๐ข | missing-state | โ๏ธ 199 | โ๏ธ extract('CA10Z1__provisioningState__c').isEmpty() | โ๏ธ null |
| ๐ข | expired | โ๏ธ 299 | โ๏ธ extract('CA10Z1__provisioningState__c') != 'Succeeded' | โ๏ธ null |
| ๐ข | fresh-incomplete | โ๏ธ 399 | โ๏ธ CA10Z1__CaAzureSavingsPlanUtilization__r.has(UNDETERMINED) | โ๏ธ null |
| ๐ข | missing-usage-date | โ๏ธ 399 | โ๏ธ CA10Z1__CaAzureSavingsPlanUtilization__r.has(UNDETERMINED) | โ๏ธ null |
| ๐ข | stale-incomplete | โ๏ธ 600 | โ๏ธ otherwise | โ๏ธ null |
| ๐ข | mixed-recent-periods | โ๏ธ 499 | โ๏ธ CA10Z1__CaAzureSavingsPlanUtilization__r.has(INCOMPLIANT) | โ๏ธ null |
| ๐ข | below | โ๏ธ 499 | โ๏ธ CA10Z1__CaAzureSavingsPlanUtilization__r.has(INCOMPLIANT) | โ๏ธ null |
| ๐ข | boundary | โ๏ธ 599 | โ๏ธ CA10Z1__CaAzureSavingsPlanUtilization__r.has(COMPLIANT) | โ๏ธ null |
Generation Bundleโ
| File | MD5 | |
|---|---|---|
| Open | /ce/ca/azure/savings-plan/utilization-below-threshold/policy.yaml | 2E2A1217422C7279D770608005116948 |
| Open | /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml | F2249CFCAFDBBB6F7F81603E4D919FAE |
| Open | /ce/ca/azure/savings-plan/utilization-below-threshold/test-data.json | DB44D8F2AD88E2E2D551ECC75AF81078 |
| Open | /types/CA10Z1__CaAzureSavingsPlan__c/object.extracts.yaml | A48C2F3CC67C2B1D21FA44A52C30DEC9 |
| Open | /types/CA10Z1__CaAzureSavingsPlanUtilization__c/object.extracts.yaml | 26CE1DEC06D06DADE370978CC555F6EC |
Available Commandsโ
repo-manager policies generate FULL /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml
repo-manager policies generate DEBUG /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml
repo-manager policies generate CAPTURE_TEST_DATA /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml
repo-manager policies generate TESTS /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml
# Execute tests
repo-manager policies test /ce/ca/azure/savings-plan/utilization-below-threshold/prod.logic.yaml
Contentโ
---
inputType: "CA10Z1__CaAzureSavingsPlan__c"
testData:
- file: "test-data.json"
importExtracts:
- file: "/types/CA10Z1__CaAzureSavingsPlan__c/object.extracts.yaml"
conditions:
- status: "UNDETERMINED"
currentStateMessage: "The Savings Plan provisioning state is unavailable."
check:
IS_EMPTY:
arg:
EXTRACT: "CA10Z1__provisioningState__c"
- status: "INAPPLICABLE"
currentStateMessage: "The Savings Plan is not successfully provisioned."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10Z1__provisioningState__c"
right:
TEXT: "Succeeded"
- status: "UNDETERMINED"
currentStateMessage: "A utilization record within the last 40 days has incomplete data."
check:
RELATED_LIST_HAS:
status: "UNDETERMINED"
relationshipName: "CA10Z1__CaAzureSavingsPlanUtilization__r"
- status: "INCOMPLIANT"
currentStateMessage: "Savings Plan utilization was below 80% within the last 40 days."
remediationMessage: "Review recent utilization and adjust future Savings Plan commitment coverage if the shortfall is persistent."
check:
RELATED_LIST_HAS:
status: "INCOMPLIANT"
relationshipName: "CA10Z1__CaAzureSavingsPlanUtilization__r"
- status: "COMPLIANT"
currentStateMessage: "Savings Plan utilization met the 80% threshold throughout the available records from the last 40 days."
check:
RELATED_LIST_HAS:
status: "COMPLIANT"
relationshipName: "CA10Z1__CaAzureSavingsPlanUtilization__r"
otherwise:
status: "UNDETERMINED"
currentStateMessage: "No complete Savings Plan utilization record is available within the last 40 days."
relatedLists:
- relationshipName: "CA10Z1__CaAzureSavingsPlanUtilization__r"
importExtracts:
- file: "/types/CA10Z1__CaAzureSavingsPlanUtilization__c/object.extracts.yaml"
conditions:
- status: "UNDETERMINED"
currentStateMessage: "The utilization record's Usage Date is unavailable."
check:
IS_EMPTY:
arg:
EXTRACT: "CA10Z1__usageDate__c"
- status: "INAPPLICABLE"
currentStateMessage: "The utilization record is outside the 40-day reporting window."
check:
NOT:
arg:
IS_WITHIN_LAST_DAYS:
offsetDays: 40
arg:
EXTRACT: "CA10Z1__usageDate__c"
- status: "UNDETERMINED"
currentStateMessage: "The utilization record's average utilization is unavailable."
check:
IS_EMPTY:
arg:
EXTRACT: "CA10Z1__avgUtilizationPercentage__c"
- status: "INCOMPLIANT"
currentStateMessage: "Average utilization is below 80%."
remediationMessage: "Review recent eligible usage and future commitment requirements."
check:
LESS_THAN:
left:
EXTRACT: "CA10Z1__avgUtilizationPercentage__c"
right:
NUMBER: 80.0
otherwise:
status: "COMPLIANT"
currentStateMessage: "Average utilization meets the 80% threshold."