Azure / Azure/azure-rest-api-specs
[BUG] `credentials.managedIdentity` missing on `Microsoft.ApiManagement/service/backends` specs
- Dominant language
- TypeSpec
- Stars
- 3.1k
- Forks
- 5.9k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 444
Description
### API Spec link
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/definitions.json
### API Spec version
2024-05-01
### Describe the bug
In the Azure Portal it is possible to create a Backend in API Management where the backedn credentials are using Managed Identity. When deploying the backend from ARM/Bicep the `managedIdentity` property is missing from the specs
### Expected behavior
`managedIdentity` is a property of the credentials for an APIM backend.
### Actual behavior
`managedIdentity` is unrecognized as a property of the credentials for an APIM Backend. Deploying the ARM with the unrecognized property results in a succesful deployment with the correct settings.
### Reproduction Steps
```json
{
"type": "Microsoft.ApiManagement/service/backends",
"apiVersion": "2024-05-01",
"name": "[format('{0}/{1}', parameters('apimServiceName'), 'my-logic-app')]",
"properties": {
"title": "my-logic-app",
"resourceId": "[uri(environment().resourceManager, resourceId('Microsoft.Web/sites', 'my-logic-app'))]",
"url": "[format('https://{0}/api', reference(resourceId('Microsoft.Web/sites', 'my-logic-app'), '2024-04-01').defaultHostName)]",
"protocol": "http",
"credentials": {
// this property is working, but is not recognized in ARM/Bicep
"managedIdentity": {
"clientId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', 'uami-apim'), '2018-11-30').clientId]",
"resource": "[parameters('apiBackedResourceUri')]"
}
},
"tls": {
"validateCertificateChain": true,
"validateCertificateName": true
}
}
}
```
### Environment
_No response_
Contributor guide
Research direction
Start with specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/definitions.json and locate the Microsoft.ApiManagement/service/backends credentials schema. Compare it with the supplied reproduction and verify that managedIdentity, including clientId and resource, is represented for the 2024-05-01 backend specification. Done means the property is recognized by the generated ARM/Bicep schema without changing the other credential fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- api, cloud
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100