{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "clusterName": {
        "type": "string",
        "metadata": {
            "description": "The name of the Managed Cluster resource."
        }
      }
    },
    "variables": {
      "managedIdentityName": "[concat('turboscale-managed-identity-', parameters('clusterName'))]",
      "BlobDataContributorRoleDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]",
      "DelegatorRoleDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'db58b8e5-c6ad-4a2a-8342-4190687cbf4a')]"
    },
    "resources": [
      {
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
        "apiVersion": "2023-01-31",
        "name": "[variables('managedIdentityName')]",
        "location": "[resourceGroup().location]"
      },
      {
        "type": "Microsoft.Authorization/roleAssignments",
        "apiVersion": "2020-08-01-preview",
        "name": "[guid(resourceGroup().id, resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), variables('DelegatorRoleDefinitionId'))]",
        "location": "[resourceGroup().location]",
        "properties": {
          "principalType": "ServicePrincipal",
          "roleDefinitionId": "[variables('DelegatorRoleDefinitionId')]",
          "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), '2023-01-31').principalId]",
          "scope": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name)]"
        }
      },
      {
        "type": "Microsoft.Authorization/roleAssignments",
        "apiVersion": "2020-08-01-preview",
        "name": "[guid(resourceGroup().id, resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), variables('BlobDataContributorRoleDefinitionId'))]",
        "location": "[resourceGroup().location]",
        "properties": {
          "principalType": "ServicePrincipal",
          "roleDefinitionId": "[variables('BlobDataContributorRoleDefinitionId')]",
          "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), '2023-01-31').principalId]",
          "scope": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name)]"
        }
      }
    ]
  }
