From 4b9165da959a09109ecf96e7e70a940ec3989732 Mon Sep 17 00:00:00 2001 From: Teo Magnino Chaban Date: Tue, 11 Jul 2023 12:18:45 -0700 Subject: [PATCH] Add resize APIs --- .../Compute/allowedVMSizesForResize.json | 390 ++++++++++++++++++ .../examples/Compute/resize.json | 15 + .../machineLearningServices.json | 111 +++++ 3 files changed, 516 insertions(+) create mode 100644 specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/allowedVMSizesForResize.json create mode 100644 specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/resize.json diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/allowedVMSizesForResize.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/allowedVMSizesForResize.json new file mode 100644 index 000000000000..34b0414ca07c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/allowedVMSizesForResize.json @@ -0,0 +1,390 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2023-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.13, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.07, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS2_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 14336, + "memoryGB": 7.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.25, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance", + "MIR" + ] + }, + { + "name": "Standard_DS3_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.2, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.5, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.29, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance", + "MIR" + ] + }, + { + "name": "Standard_DS4_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.12, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.4, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.01, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.58, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance", + "MIR" + ] + }, + { + "name": "Standard_DS5_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.17, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.81, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.02, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.23, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance", + "MIR" + ] + }, + { + "name": "Standard_DS11_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.26, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.11, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.04, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS12_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.37, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.53, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.21, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.07, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS13_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.42, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.74, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.06, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS14_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 229376, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.3, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.48, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.84, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.11, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/resize.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/resize.json new file mode 100644 index 000000000000..c7b20887f460 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/examples/Compute/resize.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2023-08-01-preview", + "parameters": { + "targetVMSize": "Standard_DS11_v2" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/machineLearningServices.json index 329793080e75..3cea273d7dad 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/machineLearningServices.json @@ -862,6 +862,107 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/allowedvmsizesforresize": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes", + "VirtualMachineSizes" + ], + "operationId": "Compute_AllowedResizeSizes", + "description": "Returns supported virtual machine sizes for resize", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/Compute/allowedVMSizesForResize.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/resize": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "Compute_Resize", + "description": "Updates the size of a Compute Instance.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "description": "The object for updating VM size setting of specified ComputeInstance.", + "schema": { + "$ref": "#/definitions/TargetVMSize" + } + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/Compute/resize.json" + } + } + } + }, "parameters": { "WorkspaceNameParameter": { "name": "workspaceName", @@ -3751,6 +3852,16 @@ "description": "Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days." } } + }, + "TargetVMSize": { + "type": "object", + "description": "Target size for VM resize.", + "properties": { + "targetVMSize": { + "type": "string", + "description": "The name of the virtual machine size." + } + } } } }