Linter rule - use stable resource identifier
Resource name shouldn't use a non-deterministic value. For example, newGuid()
or utcNow()
can't be used in resource name; resource name can't contain a parameter/variable whose default value uses newGuid()
or utcNow()
.
Linter rule code
Use the following value in the Bicep configuration file to customize rule settings:
use-stable-resource-identifiers
Solution
The following example fails this test because utcNow()
is used in the resource name.
param location string = resourceGroup().location
param time string = utcNow()
resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'store${toLower(time)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
You can fix it by removing the utcNow()
function from the example.
param location string = resourceGroup().location
resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'store${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
Next steps
For more information about the linter, see Use Bicep linter.
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru