Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Essa regra detecta quando os valores de runtime são passados como parâmetros para módulos, que, por sua vez, os usam para determinar IDs de recursos (como quando o parâmetro é usado para determinar o nome, subscriptionId, resourceGroup, condition, escopo ou apiVersion de um ou mais recursos dentro do módulo) e sinaliza possíveis curtos-circuitos hipotéticos.
Observação
Essa regra está desativada por padrão. Altere o nível em bicepconfig.json para habilitá-la.
Código de regra linter
Use o seguinte valor no arquivo de configuração Bicep para personalizar as configurações de regra:
what-if-short-circuiting
Solução
Essa regra verifica os valores de tempo de execução usados para determinar IDs de recursos dentro dos módulos. Ele alerta se o código do Bicep pode causar um curto-circuito hipotético. No exemplo abaixo, appServiceOutputs e appServiceTests seriam sinalizados para curto-circuito hipotético porque eles passam valores de runtime como parâmetros para o módulo, que os usa ao nomear o recurso:
main.bicep
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: 'storageAccountName'
location: 'eastus'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
module appServiceModule 'modules/appService.bicep' = {
name: 'appService2'
params: {
appServiceName: 'test'
}
}
module appServiceOutputs 'modules/appService.bicep' = {
name: 'appService3'
params: {
appServiceName: appServiceModule.outputs.outputName
}
}
module appServiceTest 'modules/appService.bicep' = {
name:'test3'
params: {
appServiceName: storageAccount.properties.accessTier
}
}
modules/appService.bicep
param appServiceName string
resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
name: appServiceName
location: 'eastus'
properties: {
httpsOnly: true
}
}
output outputName string = 'outputName'
Para evitar esse problema, use constantes de tempo de implantação para valores usados na determinação de IDs de recursos.
Próximas etapas
Para saber mais sobre o linter, confira Usar o linter do Bicep.