Azure / Azure/azure-rest-api-specs
[BUG] Machine Learning Batch Endpoint API Spec documents unsupported identity types
- 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/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-09-01/mfe.json#L13050-L13052
### API Spec version
2025-06-01, 2025-09-01
### Describe the bug
According to the API spec the API supports system assigned and/or user assigned identities. But passing a user assigned identity results in the following error:
Error when passing "SystemAssigned,UserAssigned":
```json
{
"error": {
"code": "CannotSetResourceIdentity",
"message": "Resource type 'Microsoft.MachineLearningServices/workspaces/batchEndpoints' does not support creation of 'SystemAssigned, UserAssigned' resource identity. The supported types are 'SystemAssigned'."
}
}
```
Error when passing "UserAssigned":
```json
{
"error": {
"code":" CannotSetResourceIdentity",
"message": "Resource type 'Microsoft.MachineLearningServices/workspaces/batchEndpoints' does not support creation of 'UserAssigned' resource identity. The supported types are 'SystemAssigned'."
}
}
```
This is causing issues downstream in an SDK generated from this API spec.
### Expected behavior
As batch endpoint only support `SystemAssigned` identity, the `identity` block should reference the right identity definition. Currently, it refers to:
```
"properties": {
"identity": {
"description": "Managed service identity (system assigned and/or user assigned identities)",
"$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity"
}
```
Instead, it should be referring it.
```
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity"
```
And the `description` should be updated accordingly.
### Actual behavior
Error as described above
### Reproduction Steps
```json
PUT https://management.azure.com/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{machineLearningWorkspaceName}/batchEndpoints/{batchEndpointName}?api-version=2025-09-01
{
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"identityId": {}
}
},
"location": "australiaeast",
"properties": {
"authMode": "AADToken",
"description": "Test batch endpoint"
},
"tags": {
"Environment": "Test"
}
}
```
### Environment
_No response_
Contributor guide
Research direction
Start with specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2025-09-01/mfe.json around lines 13050-13052 and compare the identity reference with common-types/resource-management/v3/types.json. Check the corresponding 2025-06-01 definition as well; done means both batch endpoint API specs describe only system-assigned identity support and no longer advertise user-assigned identities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi
- Domain
- api
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100