Update 06 Jul 2016
Seems this is resolved on the latest Storage Resource Provider API 2016-01-01. The schema documented at https://azure.microsoft.com/en-us/documentation/articles/resource-manager-template-storage/ is for 2015-06-15, and that version didn’t support PUT operations. The new 2016-01-01 schema can be found at:
- https://github.com/Azure/azure-resource-manager-schemas/blob/master/schemas/2016-01-01/Microsoft.Storage.json
- https://msdn.microsoft.com/en-us/library/mt163564.aspx
So this new template now works as expected and tags and other settings can be changed:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "dnntest20160705",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2016-01-01",
"dependsOn": [ ],
"tags": {
"displayName": "MyStorageAccount"
},
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage"
}
]
}
Notes:
- Ensure you install the latest Azure PowerShell and SDKs or the latest 2016-01-01 version won’t be recognized
- With the latest Azure SDK 2.9.1 available, I have syntax errors on the template, seems the schema was not included in the latest release. While you have syntax errors, you can deploy from Visual Studio with no problems. I suppose this will be fixed on the next Azure SDK release.
Thanks to Tom FitzMacken for the indications.
_____________________________________________________________________________
Original issue description
Seems that when deploying an storage account using an ARM template like the one below:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "dnntest20160705",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2015-06-15",
"dependsOn": [ ],
"tags": {
"displayName": "MyStorageAccount"
},
"properties": {
"accountType": "Standard_LRS"
}
}
]
}
If you go and change the “displayName” tag value for something else or try to add a new tag, when you deploy the update I get the following deployment exception:
22:44:07 - [ERROR] New-AzureRmResourceGroupDeployment : 22:44:07 - Resource
22:44:07 - [ERROR] Microsoft.Storage/storageAccounts 'dnntest20160705' failed with message '{
22:44:07 - [ERROR] "error": {
22:44:07 - [ERROR] "code": "StorageAccountAlreadyExists",
22:44:07 - [ERROR] "message": "The storage account named dnntest20160705 already exists under
22:44:07 - [ERROR] the subscription."
22:44:07 - [ERROR] }
22:44:07 - [ERROR] }'
22:44:07 - [ERROR] At D:\temp\azureresourcegroup2\Scripts\Deploy-AzureResourceGroup.ps1:98 char:1
Workaround
Change the tag value through the portal/PowerShell, so new deployment updates work.
This sounds like a bug, that will probably be resolved in a future release.