diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/examples/InferenceGroup/modifyDeltaModelsAsync.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/examples/InferenceGroup/modifyDeltaModelsAsync.json index 6e6563777360..0ed4d21d786e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/examples/InferenceGroup/modifyDeltaModelsAsync.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/examples/InferenceGroup/modifyDeltaModelsAsync.json @@ -17,6 +17,10 @@ } }, "responses": { - "202": {} + "202": { + "headers": { + "location": "location_header_to_poll" + } + } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/mfe.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/mfe.json index 3f21c8c0b78e..f59b891af881 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/mfe.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-10-01-preview/mfe.json @@ -9060,7 +9060,8 @@ "name": "inferencePoolName", "description": "Name of InferencePool", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -10201,14 +10202,16 @@ "name": "poolName", "description": "InferencePool name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "in": "path", "name": "groupName", "description": "InferenceGroup name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -10275,14 +10278,16 @@ "name": "poolName", "description": "InferencePool name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "in": "path", "name": "groupName", "description": "InferenceGroup name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -10299,7 +10304,20 @@ ], "responses": { "202": { - "description": "Accepted" + "description": "Accepted", + "headers": { + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + }, + "Retry-After": { + "description": "Duration the client should wait between requests, in seconds.", + "type": "integer", + "format": "int32", + "maximum": 600, + "minimum": 10 + } + } }, "default": { "description": "Error", @@ -10312,6 +10330,10 @@ "ModifyDeltaModelsAsync Inference Group.": { "$ref": "./examples/InferenceGroup/modifyDeltaModelsAsync.json" } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, @@ -10399,14 +10421,16 @@ "name": "poolName", "description": "Inference Pool name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "in": "path", "name": "groupName", "description": "Inference Group name.", "required": true, - "type": "string" + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,254}$" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -23752,6 +23776,7 @@ "Canceled" ], "type": "string", + "readOnly": true, "x-ms-enum": { "name": "PoolProvisioningState", "modelAsString": true, diff --git a/specification/machinelearningservices/resource-manager/readme.md b/specification/machinelearningservices/resource-manager/readme.md index 965d3282f1e7..2e2b1d325eb2 100644 --- a/specification/machinelearningservices/resource-manager/readme.md +++ b/specification/machinelearningservices/resource-manager/readme.md @@ -48,6 +48,66 @@ suppressions: we will add whence needed in the future. where: - $.definitions["CapabilityHostResource"] + - code: DeleteResponseCodes + reason: Existing API behavior in 2024-04-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-04-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-04-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: AvoidAdditionalProperties + reason: Existing API behavior in 2024-04-01-preview. + where: + - $.definitions.CustomModelFineTuning.properties.hyperParameters + - $.definitions.DeltaModelStatusResponse.properties.deltaModels + - $.definitions.FineTuningJob.properties.outputs + - $.definitions.SparkJob.properties.conf + - $.definitions.SparkJob.properties.environmentVariables + - 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: ProvisioningStateSpecifiedForLROPut + reason: This should be exist in 2024-07-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 + - 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: AvoidAdditionalProperties + reason: Existing API behavior in 2024-07-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: GuidUsage + reason: This property has always been a GUID, we just didn't mark its format before, + this can't be change without breaking the customer. + where: + - $.definitions.WorkspaceConnectionOAuth2.properties.clientId.format + - code: DefinitionsPropertiesNamesCamelCase + reason: CMK is a short term and not violate the camel case rule. + where: + - $.definitions.WorkspaceProperties.properties.enableServiceSideCMKEncryption ``` ### Tag: package-preview-2024-07