Gregory Suvalian
Gregory Suvalian

Reputation: 3842

How do I use Azure Key Vault secret in linked template

I'm trying to create automation variable off KeyVault secret. I assume I can probably do the same thing what is currently done in main template for retrieving windows password but it fails with non-descriptive error below. Not sure what shall be done next to troubleshoot.

Error

{
  "code": "BadRequest",
  "message": "{\"Message\":\"The request is invalid.\",\"ModelState\":{\"variable.properties.value\":[\"An error has occurred.\"]}}"
}

Template

{
                  "name": "mystring",
                  "type": "variables",
                  "apiVersion": "2015-10-31",
                  "dependsOn": [
                    "[concat('Microsoft.Automation/automationAccounts/', parameters('AutomationAccountName'))]"
                  ],
                  "properties": {
                    "value": {
                      "reference": {
                        "keyVault": {
                          "id": "[resourceId(subscription().subscriptionId, 'Utility-RG', 'Microsoft.KeyVault/vaults', 'MyKeyVault')]"
                        },
                        "secretName": "WindowsPasswordSecret"
                      }
                    },
                    "description": "test var",
                    "isEncrypted": false
                  }
                }

Upvotes: 0

Views: 350

Answers (1)

4c74356b41
4c74356b41

Reputation: 72141

That error is indeed helpful, while I have no idea what went wrong there, I can tell you how to work around that, you need to pass the data from the KV to the template (as input parameter) not to the resource. And in the template use parameter to assign value to the object in question.

Reference: https://github.com/4c74356b41/bbbb-is-the-word/blob/master/_arm/parent.json#L151

Upvotes: 2

Related Questions