Azurerm_api_connection for keyvault

Hi,
I’m trying to create an api connection (for use with a managed identity) in terraform for the keyvault managed API.

When looking at the ARM template it requires a parameterValueSet as follows:

{
    "kind": "V1",
    "properties": {
        "displayName": "<myKeyvault>",
        "parameterValueSet": {
            "name": "oauthMI",
            "values": {
                "vaultName": {
                    "value": "<myVaulName>"
                }
            }
        },
        "api": {
            "name": "keyvault",
            "displayName": "Azure Key Vault",
            "description": "Azure Key Vault is a service to securely store and access secrets.",
            "iconUri": "https://connectoricons-prod.azureedge.net/releases/v1.0.1656/1.0.1656.3432/keyvault/icon.png",
            "brandColor": "#0079d6",
            "category": "Standard",
            "id": "/subscriptions/<subscriptionId>/providers/Microsoft.Web/locations/<location>/managedApis/keyvault",
            "type": "Microsoft.Web/locations/managedApis"
        },
        "testLinks": [],
        "testRequests": []
    },
    "id": "/subscriptions/<subscriptionId>/resourceGroups/rg-ido-dev-timetracking/providers/Microsoft.Web/connections/keyvault",
    "name": "keyvault",
    "type": "Microsoft.Web/connections",
    "location": "<location>"
}

Per documentation terraform offers no way to parse parameterValueSets, it is only possible to parse parameterValues in the azurerm_api_connection resource.

Is there any way to do this or am I forced to create it via ARM template?

1 Like