{
    "$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."
        }
      },
      "oidcIssuer": {
        "type": "string",
        "metadata": {
          "description": "OIDC Issuer of AKS Cluster"
        }
      },
      "gridName": {
        "type": "string",
        "metadata": {
          "description": "Grid Name"
        }
      }
    },
    "variables": {
      "managedIdentityName": "[concat('turboscale-managed-identity-', parameters('clusterName'))]"
    },
    "resources": [
      {
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
        "apiVersion": "2022-01-31-preview",
        "name": "[variables('managedIdentityName')]",
        "location": "[resourceGroup().location]"
      },
      {
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
        "apiVersion": "2022-01-31-preview",
        "name": "[concat(variables('managedIdentityName'), '/turboscale-federated-identity-hub-', parameters('gridName'))]",
        "dependsOn": [
            "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))]"
        ],
        "properties": {
            "issuer": "[parameters('oidcIssuer')]",
            "subject": "[concat('system:serviceaccount:', parameters('gridName'), ':default')]",
            "audiences": [
                "api://AzureADTokenExchange"
            ]
        }
      }
    ]
  }
