[BUG] Azure.AppService.PlanInstanceCount incorrectly applies to Flex Consumption (FC1) plans
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia in src/PSRule.Rules.Azure/rules/Azure.AppService.Rule.ps1, in corrispondenza dell’helper IsConsumptionPlan citato nell’issue, quindi esamina la precondizione Azure.AppService.PlanInstanceCount. Riproduci il comportamento con l’input PowerShell fornito e verifica che FC1 o FlexConsumption sia escluso, mentre i piani Dedicated continuino a richiedere sku.capacity ��= 2.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🤖
Existing rule
Azure.AppService.PlanInstanceCount (AZR-000071)
Description of the issue
The rule evaluates Azure Functions Flex Consumption App Service plans (sku.name: FC1, sku.tier: FlexConsumption) as though they were Dedicated plans and requires sku.capacity >= 2.
Flex Consumption scales dynamically and does not use the Dedicated-plan instance-count configuration. The rule already excludes classic Consumption and Elastic Premium, but IsConsumptionPlan only recognizes Y1 or the Dynamic tier. Consequently a valid FC1 plan without sku.capacity fails the rule instead of being excluded as not applicable.
Expected behavior: exclude Flex Consumption when identified by either its SKU name (FC1) or tier (FlexConsumption), while preserving the existing checks for Dedicated plans.
Error messages
Reproduced with the PowerShell input below:
RuleName : Azure.AppService.PlanInstanceCount
Outcome : Fail
OutcomeReason : Processed
Reason : {Path sku.capacity: Does not exist.}
Reproduction
With PSRule 2.9.0 and PSRule.Rules.Azure 1.47.0 installed, run:
Import-Module PSRule -RequiredVersion 2.9.0
Import-Module PSRule.Rules.Azure -RequiredVersion 1.47.0
$plan = [pscustomobject]@{
name = 'flex-example'
type = 'Microsoft.Web/serverfarms'
apiVersion = '2025-03-01'
location = 'eastus'
kind = 'functionapp'
sku = @{
name = 'FC1'
tier = 'FlexConsumption'
}
properties = @{
reserved = $true
}
}
$plan | Invoke-PSRule -Module PSRule.Rules.Azure `
-Name Azure.AppService.PlanInstanceCount -Outcome All |
Select-Object RuleName, Outcome, OutcomeReason, Reason
No suppression groups are required to reproduce the failure.
Version of PSRule
2.9.0
Version of PSRule for Azure
1.47.0
Additional context
- The relevant helper: https://github.com/Azure/PSRule.Rules.Azure/blob/e259e104429a7faa894d9e2c1eb3386c5c7cede9/src/PSRule.Rules.Azure/rules/Azure.AppService.Rule.ps1#L249-L258
- The rule precondition is
!(IsConsumptionPlan) -and !(IsElasticPlan). RecognizingFC1/FlexConsumptionin the consumption helper should correct this applicability issue. - Functions Flex Consumption documentation: https://learn.microsoft.com/azure/azure-functions/flex-consumption-plan
- Encountered while validating Azure/bicep-registry-modules#7299. A narrowly scoped FC1 suppression was added as a temporary workaround, and the reviewer requested reporting the underlying rule issue: https://github.com/Azure/bicep-registry-modules/pull/7299#discussion_r4104301141
- The same omission is present in the repository's current
mainsource as of this report.
- Lingua principale
- PowerShell
- Stelle
- 449
- Fork
- 109
- Merge medio
- 6g 1h
- PR unite (30g)
- 9
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/PSRule.Rules.Azure
-
Export-AzRuleData fails with HTTP 400 for DefenderForStorageSettings due to deprecated API versionForse già presa @saryn17 l’ha presa 30 giorni fa. Apertabug feature: in-flight-export
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
Azure/PSRule.Rules.Azure#3865 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
[FEATURE] Behaviour documentation for PR #3908Forse già presa @ElinoraWhite l’ha presa 6 giorni fa. Apertadocumentation
Azure/PSRule.Rules.Azure#3944 · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 2 giorni
-
[BUG] Cross-scope `existing` resource reference via symbolic name (languageVersion 2.0) resolves to a malformed Mock, breaking concat()/map() during pre-flight expansionForse già presa @oWretch l’ha presa 33 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
Azure/PSRule.Rules.Azure#3920 ·
I maintainer di solito rispondono entro 2 giorni
-
[BUG] Expansion fails with "Hash must be finalized before the hash value is retrieved" when using an object output from a cross-scope moduleForse già presa @oWretch l’ha presa 41 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
Azure/PSRule.Rules.Azure#3909 ·
I maintainer di solito rispondono entro 2 giorni
-
bug feature: bicep-language feature: pre-flight-expansion
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Azure/PSRule.Rules.Azure#3884 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di Azure/PSRule.Rules.Azure
Issue simili
-
kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kubernetes-sigs/cluster-api-provider-ibmcloud#3023 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs-human
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
melodic-software/claude-code-plugins#8405 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
dimitar-radenkov/Pointframe#271 ·
I maintainer di solito rispondono entro 1 giorno
-
e2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
redhat-developer/rhdh-plugin-export-overlays#4438 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno