Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure ARM Template DependentOn FileShare

I need to create via ARM template storage account --> File share --> Container with mounted fileshare.
The dependency is:

  1. file share depends on storage account
  2. container depends on file share

How to get ReferenceId of Fileshare?

I have the following code:

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccountType": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS"
                ],
                "metadata": {
                    "description": "Storage account type (SKU)"
                }
            },
            "fileShareName": {
                "type": "string",
                "minLength": 3,
                "maxLength": 63,
                "defaultValue": "sftp",
                "metadata": {
                    "description": "Name of the File Share to be created. "
                }
            }
        },
        "variables": {
            "deploymentLocation": "[resourceGroup().location]",
            "storageAccountName": "[concat('sftpstr', uniqueString(resourceGroup().id))]"
        },
        "resources": [
            {
                "type": "Microsoft.Storage/storageAccounts",
                "name": "[variables('storageAccountName')]",
                "apiVersion": "2019-06-01",
                "location": "[variables('deploymentLocation')]",
                "sku": {
                    "name": "[parameters('storageAccountType')]"
                },
                "kind": "StorageV2",
                "properties": {
                    "accessTier": "Hot"
                }
            },
            {
                "type": "Microsoft.Storage/storageAccounts/fileServices/shares",
                "apiVersion": "2019-06-01",
                "properties": {
                    "accessTier": "Hot"
                },
                "name": "[concat(variables('storageAccountName'), '/default/', parameters('fileShareName'))]",
                "dependsOn": [
                    "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
                ]
            }, 
            {
                "type": "Microsoft.ContainerInstance/containerGroups",
                "name": "sftp-container-group",
                "apiVersion": "2018-04-01",
                "dependsOn": [
                    "[resourceId('Microsoft.Storage/storageAccounts/fileServices/shares', ????? )]" //how to get reference to specific Fileshare??? I've tried >   [concat(variables('storageAccountName'), '/default/', parameters('fileShareName'))] but it didn't work
                ],
                "properties": {
                    .......
                }
            }
        ] 
    }

and I don't know how to set dependency on Fileshare:

"dependsOn": [
    "[resourceId('Microsoft.Storage/storageAccounts/fileServices/shares', ????? )]" //how to get reference to specific Fileshare??? 
],

I've tried [concat(variables('storageAccountName'), '/default/', parameters('fileShareName'))] but it didn't work.

Any idea?

Thank you

like image 789
peterko Avatar asked Sep 01 '25 05:09

peterko


1 Answers

Use following format:

"dependsOn": [
    "[resourceId('Microsoft.Storage/storageAccounts/fileServices/shares', variables('storageAccountName') , 'default', parameters('fileShareName') )]"
],
like image 80
jye Avatar answered Sep 03 '25 11:09

jye