Reputation: 3746
Is it possible to deploy multiple (2) containers in the storage account via ARM Template?
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "",
"apiVersion": "",
"location": "",
"kind": "",
"sku": {
"name": ""
},
"resources": [
{
"name": "[concat('default/', parameters('containerName'))]",
"type": "blobServices/containers"
}
]
}
]
Upvotes: 1
Views: 2334
Reputation: 72211
you probably want to trade that simplistic approach to something more manageable:
"variables": [
"blobs": [
"myfirstblob",
"myotherblob"
]
],
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "",
"apiVersion": "",
"location": "",
"kind": "",
"sku": {
"name": ""
},
"resources": [
{
"name": "[concat('default/', variables('blobs')[copyIndex()])]",
"type": "blobServices/containers",
"apiVersion": "",
"copy": {
"name": "blobIterator",
"count": "[length(variables('blobs'))]"
}
}
]
}
]
Upvotes: 2
Reputation: 42163
Yes, you can.
For example, you could use the template below to create a storage account with two containers named container1
and container2
.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccounts_joy12_name": {
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccounts_joy12_name')]",
"location": "eastus",
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [],
"ipRules": [],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"encryption": {
"services": {
"file": {
"keyType": "Account",
"enabled": true
},
"blob": {
"keyType": "Account",
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot"
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccounts_joy12_name'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_joy12_name'))]"
],
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"properties": {
"cors": {
"corsRules": []
},
"deleteRetentionPolicy": {
"enabled": false
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/fileServices",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccounts_joy12_name'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_joy12_name'))]"
],
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"properties": {
"cors": {
"corsRules": []
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccounts_joy12_name'), '/default/container1')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccounts_joy12_name'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_joy12_name'))]"
],
"properties": {
"publicAccess": "None"
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2019-06-01",
"name": "[concat(parameters('storageAccounts_joy12_name'), '/default/container2')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccounts_joy12_name'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_joy12_name'))]"
],
"properties": {
"publicAccess": "None"
}
}
]
}
Upvotes: 1