Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Initial commit. (#33329)
  • Loading branch information
fmabroukmsft committed May 12, 2025
commit d34255e54f7177776aa181b2fadd997babc195e7
119 changes: 115 additions & 4 deletions specification/machinelearningservices/resource-manager/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,132 @@ These are the global settings for the Machine Learning Services API.

``` yaml
openapi-type: arm
tag: package-preview-2025-04-01
tag: package-preview-2025-04
```

### Tag: package-preview-2025-04-01-preview
### Tag: package-preview-2025-04

These settings apply only when `--tag=package-preview-2025-04-01-preview` is specified on the command line.
These settings apply only when `--tag=package-preview-2025-04` is specified on the command line.

```yaml $(tag) == 'package-preview-2025-04-01-preview'
```yaml $(tag) == 'package-preview-2025-04'
input-file:
- Microsoft.MachineLearningServices/preview/2025-04-01-preview/machineLearningServices.json
- Microsoft.MachineLearningServices/preview/2025-04-01-preview/mfe.json
- Microsoft.MachineLearningServices/preview/2025-04-01-preview/registries.json
- Microsoft.MachineLearningServices/preview/2025-04-01-preview/workspaceFeatures.json
- Microsoft.MachineLearningServices/preview/2025-04-01-preview/workspaceRP.json
suppressions:
- code: AvoidAdditionalProperties
reason: This is necessary to allow users to specify custom inference parameters and
fine-tuning hyperparameters for any model. Enforcing typecasting would require modifying
contracts for each new addition by model providers. A similar approach has been previously
permitted for the FinetuningJob.
where:
- $.definitions.TeacherModelSettings.properties.teacherModelInferenceParameters
- $.definitions.FinetuningDetails.properties.hyperParameters
- $.definitions.DistillationJob.properties.outputs
- code: DeleteResponseCodes
reason: Existing API behavior in 2024-10-01-preview.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{inferencePoolName}"].delete
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/endpoints/{endpointName}"].delete
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/groups/{groupName}"].delete
- code: PatchIdentityProperty
reason: Existing API behavior in 2024-10-01-preview.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/endpoints/{endpointName}"].patch.parameters[6]
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/groups/{groupName}"].patch.parameters[6]
- code: PathForResourceAction
reason: Existing API behavior in 2024-10-01-preview.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/groups/{groupName}/deltaModels/getStatus"]
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/groups/{groupName}/deltaModels/list"]
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/inferencePools/{poolName}/groups/{groupName}/deltaModels/modify"]
- code: NestedResourcesMustHaveListOperation
reason: This resource will have many kind and we currently only start with the first kind that will have a 1 to 1
mapping with the parent resource, so right now we didn't implement List API,
we will add whence needed in the future.
where:
- $.definitions["CapabilityHostResource"]
- code: AvoidAdditionalProperties
reason: Existing API behavior in 2024-10-01-preview.
where:
- $.definitions.CustomModelFineTuning.properties.hyperParameters
- $.definitions.DeltaModelStatusResponse.properties.deltaModels
- $.definitions.FineTuningJob.properties.outputs
- $.definitions.SparkJob.properties.conf
- $.definitions.SparkJob.properties.environmentVariables
- $.definitions.DiagnoseRequestProperties.properties.requiredResourceProviders
- code: PatchBodyParametersSchema
reason: Suppress as instructed, this patch is for a abstract class and the type-discriminator needs to be required.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"].patch.parameters[5].schema.properties.properties
- code: PatchBodyParametersSchema
reason: Existing API behavior, the whole property is not required.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].patch.parameters[4].schema.properties.properties
- code: PatchBodyParametersSchema
reason: The required part is within a property, the whole property itself is not required.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].patch.parameters[4].schema.properties.properties
- code: LroLocationHeader
reason: Existing API behavior
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].delete.responses.202
- code: ProvisioningStateSpecifiedForLROPut
reason: This should be exist in 2024-10-01-preview and got suppressed already, not sure why it got triggered.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/deployments/{deploymentName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/raiPolicies/{raiPolicyName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/endpoints/{endpointName}/raiPolicies/{raiPolicyName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/raiBlocklists/{raiBlocklistName}/raiBlocklistItems/{raiBlocklistItemName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/raiBlocklists/{raiBlocklistName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/endpoints/{endpointName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/endpoints/{endpointName}/deployments/{deploymentName}"].put
- code: PostResponseCodes
reason: This API is intend to align with Cognitive service API which has the same behavior https://github.com/Azure/azure-rest-api-specs/blob/efa7e41b82e82359fc76c0cda1856eb6e44448ec/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json#L2717.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/raiBlocklists/{raiBlocklistName}/deleteRaiBlocklistItems"].post
- code: PutResponseCodes
reason: Service already using 202 response code for the below APIs, got exceptions from ARM reviewer.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/endpoints/{endpointName}"].put
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/endpoints/{endpointName}/deployments/{deploymentName}"].put
- code: GuidUsage
reason: Existing property in previous GA version.
where:
- $.definitions.WorkspaceConnectionOAuth2.properties.clientId.format
- $.definitions.ManagedResourceGroupAssignedIdentities.properties.principalId.format
- code: AvoidAdditionalProperties
reason: Existing API behavior in 2024-10-01-preview.
where:
- $.definitions.CustomKeys.properties.keys
- $.definitions.EndpointModelProperties.properties.capabilities
- $.definitions.EndpointModelProperties.properties.finetuneCapabilities
- $.definitions.ManagedOnlineEndpointResourceProperties.properties.mirrorTraffic
- $.definitions.ManagedOnlineEndpointResourceProperties.properties.traffic
- $.definitions.ServerlessEndpointInferenceEndpoint.properties.headers
- $.definitions.WorkspaceConnectionPropertiesV2.properties.metadata
- code: ParametersSchemaAsTypeObject
reason: Existing API parameter with type array.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices"].post.parameters[5].schema.type
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/updateDataMounts"].post.parameters[5].schema.type
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}/raiBlocklists/{raiBlocklistName}/addRaiBlocklistItems"].post.parameters[6].schema.type
- code: SecurityDefinitionsStructure
reason: Exist in swagger, not sure why complain
- code: ProvisioningStateMustBeReadOnly
reason: ProvisioningState are readonly here, nothing to fix here.
where:
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].get.responses.200.schema
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].patch.responses.200.schema
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"].put.responses.200.schema
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"].get.responses.200.schema
- $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"].put.responses.200.schema
- code: DefinitionsPropertiesNamesCamelCase
reason: CMK is a short term and not violate the camel case rule.
where:
- $.definitions.WorkspaceProperties.properties.enableServiceSideCMKEncryption
- code: PutResponseCodes
reason: Service already using 202 response code for all the previous existing managed network APIs.
where:
Expand Down