Get CosmosDb Primary Connection String in ARM template

like you normally would in almost any language:

ListConnectionStrings.connectionStrings[index].connectionString

index starts at 0.

you have a more "native" way of doing this:

first(ListConnectionStrings.connectionStrings).connectionString

but only available functions are first and last


For anyone else finding this question and wanting a fully complete ARM Template snippet, this is what I have used and is working:

"connectionStrings": [
 {
   "name": "CosmosConnection",
   "connectionString": "[listConnectionStrings(resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('cosmosDbAccountName')), '2019-12-12').connectionStrings[0].connectionString]",
   "type": 3
 }
]