Есть ли способ автоматизировать создание сервисных подключений с использованием инфраструктуры yaml конвейера на основе шаблонов arm?
Шаблон ARM используется для развертывания службы azure. Он не может использоваться для создания служебного соединения в azure devops до сих пор.
Исходя из вашего сценария, я думаю, вы можете рассмотреть возможность использования rest api с помощью Задача Powershell с приведенным ниже сценарием:
$token = "{PAT token}"
$url="https://dev.azure.com/{org name}/{project name}/_apis/serviceendpoint/endpoints?api-version=5.1-preview.2"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$body = @"
{
"authorization": {
"parameters": {
"tenantid": "{tenant id}",
"serviceprincipalid": "{principal id}",
"authenticationType": "spnKey",
"serviceprincipalkey": "{principal key}"
},
"scheme": "ServicePrincipal"
},
"data": {
"subscriptionId": "{subscription id}",
"subscriptionName": "{subscription name}",
"environment": "AzureCloud",
"scopeLevel": "Subscription"
},
"name": "{service connection name}",
"type": "azurerm",
"url": "https://management.azure.com/"
}
"@
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $Body -ContentType application/json
Вы увидите, что соответствующее подключение к службе создается после выполнения этой задачи.