{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "azure.local",
  "info": {
    "description": "These APIs allow end users to manage Azure Machine Learning Models, Images, Profiles, and Services.",
    "title": "Azure Machine Learning Model Management Service",
    "version": "2019-08-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2019-08-01/modelManagement.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "machinelearningservices-modelManagement",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "resourceGroupParameter": {
      "description": "The Name of the resource group in which the workspace is located.",
      "in": "path",
      "name": "resourceGroup",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionIdParameter": {
      "description": "The Azure Subscription ID.",
      "format": "uuid",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "workspaceParameter": {
      "description": "The name of the workspace.",
      "in": "path",
      "name": "workspace",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    }
  },
  "tags": [],
  "paths": {
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/assets": {
      "get": {
        "consumes": [],
        "description": "If no filter is passed, the query lists all the Assets in the given workspace. The returned list is paginated and the count of items in each page is an optional parameter.",
        "operationId": "Assets_ListQuery",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The run Id associated with the Assets.",
            "in": "query",
            "name": "runId",
            "required": false,
            "type": "string"
          },
          {
            "description": "The object name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "The number of items to retrieve in a page.",
            "format": "int32",
            "in": "query",
            "name": "count",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The continuation token to retrieve the next page.",
            "in": "query",
            "name": "$skipToken",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of tags with which to filter the returned models.\r\n            It is a comma separated string of tags key or tags key=value\r\n            Example: tagKey1,tagKey2,tagKey3=value3",
            "in": "query",
            "name": "tags",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of properties with which to filter the returned models.\r\n            It is a comma separated string of properties key and/or properties key=value\r\n            Example: propKey1,propKey2,propKey3=value3",
            "in": "query",
            "name": "properties",
            "required": false,
            "type": "string"
          },
          {
            "default": "CreatedAtDesc",
            "description": "An option for specifying how to order the list.",
            "enum": [
              "CreatedAtDesc",
              "CreatedAtAsc",
              "UpdatedAtDesc",
              "UpdatedAtAsc"
            ],
            "in": "query",
            "name": "orderby",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PaginatedAssetList"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Query the list of Assets in a workspace.",
        "tags": [
          "Asset"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Create an Asset from the provided payload.",
        "operationId": "Assets_Create",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Asset to be created.",
            "in": "body",
            "name": "asset",
            "required": false,
            "schema": {
              "$ref": "#/definitions/Asset"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Asset"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Create an Asset.",
        "tags": [
          "Asset"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/assets/{id}": {
      "delete": {
        "consumes": [],
        "description": "Delete the specified Asset.",
        "operationId": "Assets_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Id of the Asset to delete.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The resource exists and was deleted successfully."
          },
          "204": {
            "description": "The resource does not exist and the request was well formed."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Delete an Asset.",
        "tags": [
          "Asset"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Get an Asset by Id.",
        "operationId": "Assets_QueryById",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Asset Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Asset"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Get an Asset.",
        "tags": [
          "Asset"
        ]
      },
      "patch": {
        "consumes": [
          "application/json-patch+json"
        ],
        "description": "Patch a specific Asset.",
        "operationId": "Assets_Patch",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Id of the Asset to patch.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "The payload that is used to patch an Asset.",
            "in": "body",
            "name": "patch",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/JsonPatchOperation"
              },
              "type": "array",
              "uniqueItems": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Asset"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Update an Asset.",
        "tags": [
          "Asset"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/images/{imageId}/profiles": {
      "get": {
        "consumes": [],
        "description": "If no filter is passed, the query lists all Profiles for the Image. The returned list is paginated and the count of items in each page is an optional parameter.",
        "operationId": "Profiles_ListQuery",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Image Id.",
            "in": "path",
            "name": "imageId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The Profile name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "The Profile description.",
            "in": "query",
            "name": "description",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of tags with which to filter the returned models.\r\n            It is a comma separated string of tags key or tags key=value\r\n            Example: tagKey1,tagKey2,tagKey3=value3",
            "in": "query",
            "name": "tags",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of properties with which to filter the returned models.\r\n            It is a comma separated string of properties key and/or properties key=value\r\n            Example: propKey1,propKey2,propKey3=value3",
            "in": "query",
            "name": "properties",
            "required": false,
            "type": "string"
          },
          {
            "description": "The number of items to retrieve in a page.",
            "format": "int32",
            "in": "query",
            "name": "count",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The continuation token to retrieve the next page.",
            "in": "query",
            "name": "$skipToken",
            "required": false,
            "type": "string"
          },
          {
            "default": "CreatedAtDesc",
            "description": "The option to order the response.",
            "enum": [
              "CreatedAtDesc",
              "CreatedAtAsc",
              "UpdatedAtDesc",
              "UpdatedAtAsc"
            ],
            "in": "query",
            "name": "orderBy",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PaginatedProfileResponseList"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Get a list of Image Profiles.",
        "tags": [
          "Profile"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Create a Profile for an Image.",
        "operationId": "Profiles_Create",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Image Id.",
            "in": "path",
            "name": "imageId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The payload that is used to create the Profile.",
            "in": "body",
            "name": "inputRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProfileRequestBase"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL. Accessing this URL with a GET call will return the status of the background task."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Create a Profile.",
        "tags": [
          "Profile"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/images/{imageId}/profiles/{id}": {
      "get": {
        "consumes": [],
        "description": "Get the Profile for an Image.",
        "operationId": "Profiles_QueryById",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Image Id.",
            "in": "path",
            "name": "imageId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The Profile Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ProfileResponse"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Get a Profile.",
        "tags": [
          "Profile"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models": {
      "get": {
        "consumes": [],
        "description": "The result list can be filtered using tag and name. If no filter is passed, the query lists all the Models in the given workspace. The returned list is paginated and the count of items in each page is an optional parameter.",
        "operationId": "MLModels_ListQuery",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The object name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "The framework.",
            "in": "query",
            "name": "framework",
            "required": false,
            "type": "string"
          },
          {
            "description": "The object description.",
            "in": "query",
            "name": "description",
            "required": false,
            "type": "string"
          },
          {
            "description": "The number of items to retrieve in a page.",
            "format": "int32",
            "in": "query",
            "name": "count",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The continuation token to retrieve the next page.",
            "in": "query",
            "name": "$skipToken",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of tags with which to filter the returned models.\r\n            It is a comma separated string of tags key or tags key=value\r\n            Example: tagKey1,tagKey2,tagKey3=value3",
            "in": "query",
            "name": "tags",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of properties with which to filter the returned models.\r\n            It is a comma separated string of properties key and/or properties key=value\r\n            Example: propKey1,propKey2,propKey3=value3",
            "in": "query",
            "name": "properties",
            "required": false,
            "type": "string"
          },
          {
            "description": "The runId which created the model.",
            "in": "query",
            "name": "runId",
            "required": false,
            "type": "string"
          },
          {
            "default": "CreatedAtDesc",
            "description": "An option to specify how the models are ordered in the response.",
            "enum": [
              "CreatedAtDesc",
              "CreatedAtAsc",
              "UpdatedAtDesc",
              "UpdatedAtAsc"
            ],
            "in": "query",
            "name": "orderBy",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PaginatedModelList"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Query the list of Models in a workspace.",
        "tags": [
          "Model"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Register the model provided.",
        "operationId": "MLModels_Register",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The payload that is used to register the model.",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Model"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The model registration was successful.",
            "schema": {
              "$ref": "#/definitions/Model"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Register a model.",
        "tags": [
          "Model"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models/{id}": {
      "delete": {
        "consumes": [],
        "description": "Deletes a model if it exists.",
        "operationId": "MLModels_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The model id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The resource exists and was deleted successfully."
          },
          "204": {
            "description": "The resource does not exist and the request was well formed."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Delete the specified Model.",
        "tags": [
          "Model"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Gets a model by model id.",
        "operationId": "MLModels_QueryById",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The model id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Model"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Gets a model.",
        "tags": [
          "Model"
        ]
      },
      "patch": {
        "consumes": [
          "application/json-patch+json"
        ],
        "description": "Updates an existing model with the specified patch.",
        "operationId": "MLModels_Patch",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The model id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "The payload that is used to patch the model.",
            "in": "body",
            "name": "patch",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/JsonPatchOperation"
              },
              "type": "array",
              "uniqueItems": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Model"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Patch a specific model.",
        "tags": [
          "Model"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/models/{id}/metrics": {
      "get": {
        "consumes": [],
        "description": "The operational events collected for the Model are returned.",
        "operationId": "MLModels_GetMetrics",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Model Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "The start date from which to retrieve metrics, ISO 8601 literal format.",
            "in": "query",
            "name": "startDate",
            "required": false,
            "type": "string"
          },
          {
            "description": "The end date from which to retrieve metrics, ISO 8601 literal format.",
            "in": "query",
            "name": "endDate",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ModelOperationalState"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Retrieve the metrics for a Model.",
        "tags": [
          "Model"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/operations/{id}": {
      "get": {
        "consumes": [],
        "description": "Get the status of an async operation by operation id.",
        "operationId": "Operations_Get",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The operation id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AsyncOperationStatus"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Get the status of an async operation.",
        "tags": [
          "Operations"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services": {
      "get": {
        "consumes": [],
        "description": "If no filter is passed, the query lists all Services in the Workspace. The returned list is paginated and the count of item in each page is an optional parameter.",
        "operationId": "Services_ListQuery",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Image Id.",
            "in": "query",
            "name": "imageId",
            "required": false,
            "type": "string"
          },
          {
            "description": "The Image name.",
            "in": "query",
            "name": "imageName",
            "required": false,
            "type": "string"
          },
          {
            "description": "The Model Id.",
            "in": "query",
            "name": "modelId",
            "required": false,
            "type": "string"
          },
          {
            "description": "The Model name.",
            "in": "query",
            "name": "modelName",
            "required": false,
            "type": "string"
          },
          {
            "description": "The object name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "The number of items to retrieve in a page.",
            "format": "int32",
            "in": "query",
            "name": "count",
            "required": false,
            "type": "integer"
          },
          {
            "description": "The compute environment type.",
            "in": "query",
            "name": "computeType",
            "required": false,
            "type": "string"
          },
          {
            "description": "The continuation token to retrieve the next page.",
            "in": "query",
            "name": "$skipToken",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of tags with which to filter the returned models.\r\n            It is a comma separated string of tags key or tags key=value\r\n            Example: tagKey1,tagKey2,tagKey3=value3",
            "in": "query",
            "name": "tags",
            "required": false,
            "type": "string"
          },
          {
            "description": "A set of properties with which to filter the returned models.\r\n            It is a comma separated string of properties key and/or properties key=value\r\n            Example: propKey1,propKey2,propKey3=value3",
            "in": "query",
            "name": "properties",
            "required": false,
            "type": "string"
          },
          {
            "default": false,
            "description": "Set to True to include Model details.",
            "in": "query",
            "name": "expand",
            "required": false,
            "type": "boolean"
          },
          {
            "default": "UpdatedAtDesc",
            "description": "The option to order the response.",
            "enum": [
              "CreatedAtDesc",
              "CreatedAtAsc",
              "UpdatedAtDesc",
              "UpdatedAtAsc"
            ],
            "in": "query",
            "name": "orderby",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PaginatedServiceList"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Query the list of Services in a Workspace.",
        "tags": [
          "Service"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Create a Service with the specified payload.",
        "operationId": "Services_Create",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The payload that is used to create the Service.",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateServiceRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request was accepted.  The header 'Operation-Location' contains the async operation location URL.  Accessing this URL with a GET call will return the status of the background task."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Create a Service.",
        "tags": [
          "Service"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}": {
      "delete": {
        "consumes": [],
        "description": "Delete a specific Service.",
        "operationId": "Services_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The resource exists and was deleted successfully."
          },
          "202": {
            "description": "Success"
          },
          "204": {
            "description": "The resource does not exist and the request was well formed."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Delete a Service.",
        "tags": [
          "Service"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Get a Service by Id.",
        "operationId": "Services_QueryById",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "default": false,
            "description": "Set to True to include Model details.",
            "in": "query",
            "name": "expand",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ServiceResponseBase"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Get a Service.",
        "tags": [
          "Service"
        ]
      },
      "patch": {
        "consumes": [
          "application/json-patch+json"
        ],
        "description": "Patch a specific Service.",
        "operationId": "Services_Patch",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "The payload that is used to patch the Service.",
            "in": "body",
            "name": "patch",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/JsonPatchOperation"
              },
              "type": "array",
              "uniqueItems": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "202": {
            "description": "The request was accepted.  The header 'Operation-Location' contains the async operation location URL.  Accessing this URL with a GET call will return the status of the background task."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Patch a Service.",
        "tags": [
          "Service"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/listkeys": {
      "post": {
        "consumes": [],
        "description": "Gets a list of Service keys.",
        "operationId": "Services_ListServiceKeys",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AuthKeys"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Lists Service keys.",
        "tags": [
          "Service",
          "Keys"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/regenerateKeys": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Regenerate and return the Service keys.",
        "operationId": "Services_RegenerateServiceKeys",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "The payload that is used to regenerate keys.",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RegenerateServiceKeysRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AuthKeys"
            }
          },
          "202": {
            "description": "The request was accepted. The header 'Operation-Location' contains the async operation location URL.  Accessing this URL with a GET call will return the status of the background task."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Regenerate Service Keys.",
        "tags": [
          "Service",
          "Keys"
        ]
      }
    },
    "/modelmanagement/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/services/{id}/token": {
      "post": {
        "consumes": [],
        "description": "Gets access token that can be used for calling service.",
        "operationId": "Services_GetServiceToken",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/resourceGroupParameter"
          },
          {
            "$ref": "#/parameters/workspaceParameter"
          },
          {
            "description": "The Service Id.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AuthToken"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ModelErrorResponse"
            }
          }
        },
        "summary": "Generate Service Access Token.",
        "tags": [
          "Service",
          "Token"
        ]
      }
    }
  },
  "definitions": {
    "ACIServiceCreateRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/CreateServiceRequest"
        },
        {
          "properties": {
            "appInsightsEnabled": {
              "default": false,
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "default": false,
              "description": "Whether or not authentication is enabled on the service.",
              "type": "boolean"
            },
            "cname": {
              "description": "The CName for the service.",
              "type": "string"
            },
            "containerResourceRequirements": {
              "$ref": "#/definitions/ContainerResourceRequirements",
              "description": "The container resource requirements."
            },
            "dataCollection": {
              "$ref": "#/definitions/ModelDataCollection",
              "description": "Details of the data collection options specified."
            },
            "dnsNameLabel": {
              "description": "The Dns label for the service.",
              "type": "string"
            },
            "sslCertificate": {
              "description": "The SSL certificate to use if SSL is enabled.",
              "type": "string"
            },
            "sslEnabled": {
              "default": false,
              "description": "Whether or not SSL is enabled.",
              "type": "boolean"
            },
            "sslKey": {
              "description": "The SSL key for the certificate.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "properties": {},
      "required": [
        "name"
      ],
      "type": "object",
      "x-ms-discriminator-value": "ACI"
    },
    "ACIServiceResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {
            "appInsightsEnabled": {
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "description": "Whether or not authentication is enabled on the service.",
              "type": "boolean"
            },
            "cname": {
              "description": "The CName for the service.",
              "type": "string"
            },
            "containerResourceRequirements": {
              "$ref": "#/definitions/ContainerResourceRequirements",
              "description": "The container resource requirements."
            },
            "dataCollection": {
              "$ref": "#/definitions/ModelDataCollection",
              "description": "Details of the data collection options specified."
            },
            "environment": {
              "$ref": "#/definitions/ModelEnvironmentDefinition",
              "description": "Details on the Environment."
            },
            "imageDetails": {
              "$ref": "#/definitions/DockerImageResponse",
              "description": "The Image details."
            },
            "imageId": {
              "description": "The Id of the Image.",
              "type": "string"
            },
            "location": {
              "description": "The location of the service.",
              "type": "string"
            },
            "modelConfigMap": {
              "additionalProperties": {
                "type": "object"
              },
              "description": "Details on the models and configurations.",
              "type": "object"
            },
            "models": {
              "description": "The list of models.",
              "items": {
                "$ref": "#/definitions/Model"
              },
              "type": "array",
              "uniqueItems": false
            },
            "publicFqdn": {
              "description": "The public Fqdn for the service.",
              "type": "string"
            },
            "publicIp": {
              "description": "The public IP address for the service.",
              "type": "string"
            },
            "scoringUri": {
              "description": "The Uri for sending scoring requests.",
              "type": "string"
            },
            "sslCertificate": {
              "description": "The SSL certificate to use if SSL is enabled.",
              "type": "string"
            },
            "sslEnabled": {
              "description": "Whether or not SSL is enabled.",
              "type": "boolean"
            },
            "sslKey": {
              "description": "The SSL key for the certificate.",
              "type": "string"
            },
            "swaggerUri": {
              "description": "The Uri for sending swagger requests.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "description": "The response for an ACI service.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "ACI"
    },
    "AKSEndpointResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {
            "aadAuthEnabled": {
              "description": "Whether or not AAD authentication is enabled.",
              "type": "boolean"
            },
            "appInsightsEnabled": {
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "description": "Whether or not authentication is enabled.",
              "type": "boolean"
            },
            "computeName": {
              "description": "The name of the compute resource.",
              "type": "string"
            },
            "namespace": {
              "description": "The Kubernetes namespace of the deployment.",
              "type": "string"
            },
            "scoringUri": {
              "description": "The Uri for sending scoring requests.",
              "type": "string"
            },
            "swaggerUri": {
              "description": "The Uri for sending swagger requests.",
              "type": "string"
            },
            "variants": {
              "description": "All the variants that belongs to this endpoint.",
              "items": {
                "$ref": "#/definitions/AKSServiceResponse"
              },
              "type": "array",
              "uniqueItems": false
            }
          },
          "type": "object"
        }
      ],
      "description": "The response for an AKS Endpoint.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "AKSENDPOINT"
    },
    "AKSReplicaStatus": {
      "properties": {
        "availableReplicas": {
          "description": "The number of available replicas.",
          "example": "1",
          "format": "int32",
          "type": "integer"
        },
        "desiredReplicas": {
          "description": "The desired number of replicas.",
          "example": "2",
          "format": "int32",
          "type": "integer"
        },
        "error": {
          "$ref": "#/definitions/ModelErrorResponse",
          "description": "The error details."
        },
        "updatedReplicas": {
          "description": "The number of updated replicas.",
          "example": "1",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AKSServiceCreateRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/CreateEndpointVariantRequest"
        },
        {
          "properties": {
            "aadAuthEnabled": {
              "description": "Whether or not AAD authentication is enabled.",
              "type": "boolean"
            },
            "appInsightsEnabled": {
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "description": "Whether or not authentication is enabled.",
              "type": "boolean"
            },
            "autoScaler": {
              "$ref": "#/definitions/AutoScaler",
              "description": "The auto scaler properties."
            },
            "computeName": {
              "description": "The name of the compute resource.",
              "type": "string"
            },
            "containerResourceRequirements": {
              "$ref": "#/definitions/ContainerResourceRequirements",
              "description": "The container resource requirements."
            },
            "dataCollection": {
              "$ref": "#/definitions/ModelDataCollection",
              "description": "Details of the data collection options specified."
            },
            "livenessProbeRequirements": {
              "$ref": "#/definitions/LivenessProbeRequirements",
              "description": "The liveness probe requirements."
            },
            "maxConcurrentRequestsPerContainer": {
              "description": "The maximum number of concurrent requests per container.",
              "format": "int32",
              "type": "integer"
            },
            "maxQueueWaitMs": {
              "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)",
              "format": "int32",
              "type": "integer"
            },
            "namespace": {
              "description": "Kubernetes namespace for the service.",
              "type": "string"
            },
            "numReplicas": {
              "description": "The number of replicas on the cluster.",
              "format": "int32",
              "type": "integer"
            },
            "scoringTimeoutMs": {
              "description": "The scoring timeout in milliseconds.",
              "format": "int32",
              "type": "integer"
            }
          },
          "type": "object"
        }
      ],
      "description": "The request to create an AKS service.",
      "properties": {},
      "required": [
        "name"
      ],
      "type": "object",
      "x-ms-discriminator-value": "AKS"
    },
    "AKSServiceResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/AKSVariantResponse"
        },
        {
          "properties": {
            "aadAuthEnabled": {
              "description": "Whether or not AAD authentication is enabled.",
              "type": "boolean"
            },
            "appInsightsEnabled": {
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "description": "Whether or not authentication is enabled.",
              "type": "boolean"
            },
            "autoScaler": {
              "$ref": "#/definitions/AutoScaler",
              "description": "The auto scaler properties."
            },
            "computeName": {
              "description": "The name of the compute resource.",
              "type": "string"
            },
            "containerResourceRequirements": {
              "$ref": "#/definitions/ContainerResourceRequirements",
              "description": "The container resource requirements."
            },
            "dataCollection": {
              "$ref": "#/definitions/ModelDataCollection",
              "description": "Details of the data collection options specified."
            },
            "deploymentStatus": {
              "$ref": "#/definitions/AKSReplicaStatus",
              "description": "The deployment status."
            },
            "environment": {
              "$ref": "#/definitions/ModelEnvironmentDefinition",
              "description": "Details on the Environment."
            },
            "imageDetails": {
              "$ref": "#/definitions/ImageResponseBase",
              "description": "The Docker Image details."
            },
            "imageId": {
              "description": "The Id of the Image.",
              "type": "string"
            },
            "livenessProbeRequirements": {
              "$ref": "#/definitions/LivenessProbeRequirements",
              "description": "The liveness probe requirements."
            },
            "maxConcurrentRequestsPerContainer": {
              "description": "The maximum number of concurrent requests per container.",
              "format": "int32",
              "type": "integer"
            },
            "maxQueueWaitMs": {
              "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)",
              "format": "int32",
              "type": "integer"
            },
            "modelConfigMap": {
              "additionalProperties": {
                "type": "object"
              },
              "description": "Details on the models and configurations.",
              "type": "object"
            },
            "models": {
              "description": "The list of models.",
              "items": {
                "$ref": "#/definitions/Model"
              },
              "type": "array",
              "uniqueItems": false
            },
            "namespace": {
              "description": "The Kubernetes namespace of the deployment.",
              "type": "string"
            },
            "numReplicas": {
              "description": "The number of replicas on the cluster.",
              "format": "int32",
              "type": "integer"
            },
            "scoringTimeoutMs": {
              "description": "The scoring timeout in milliseconds.",
              "format": "int32",
              "type": "integer"
            },
            "scoringUri": {
              "description": "The Uri for sending scoring requests.",
              "type": "string"
            },
            "swaggerUri": {
              "description": "The Uri for sending swagger requests.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "description": "The response for an AKS service.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "AKS"
    },
    "AKSVariantResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {
            "isDefault": {
              "description": "Is this the default variant.",
              "type": "boolean"
            },
            "trafficPercentile": {
              "description": "The amount of traffic variant receives.",
              "format": "float",
              "type": "number"
            },
            "type": {
              "description": "The type of the variant.",
              "enum": [
                "Control",
                "Treatment"
              ],
              "type": "string",
              "x-ms-enum": {
                "modelAsString": false,
                "name": "VariantType"
              }
            }
          },
          "type": "object"
        }
      ],
      "description": "The response for an AKS variant.",
      "properties": {},
      "type": "object"
    },
    "ArtifactDetails": {
      "properties": {
        "id": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Asset": {
      "description": "The Asset definition.",
      "properties": {
        "artifacts": {
          "description": "A list of child artifacts.",
          "items": {
            "$ref": "#/definitions/ArtifactDetails"
          },
          "type": "array",
          "uniqueItems": false
        },
        "createdTime": {
          "description": "The time the Asset was created in UTC.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "The Asset description.",
          "type": "string"
        },
        "id": {
          "description": "The Asset Id.",
          "type": "string"
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The Asset tag dictionary. Tags are mutable.",
          "type": "object"
        },
        "meta": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A dictionary containing metadata about the Asset.",
          "type": "object"
        },
        "name": {
          "description": "The name of the Asset.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The Asset property dictionary. Properties are immutable.",
          "type": "object"
        },
        "runid": {
          "description": "The RunId associated with this Asset.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "AsyncOperationDetails": {
      "description": "The async operation details.",
      "properties": {
        "subOperationState": {
          "description": "The suboperation state.",
          "type": "string"
        },
        "subOperationType": {
          "description": "The suboperation type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AsyncOperationStatus": {
      "description": "The async operation status.",
      "properties": {
        "createdTime": {
          "description": "The async operation creation time (UTC).",
          "format": "date-time",
          "type": "string"
        },
        "endTime": {
          "description": "The async operation end time (UTC)l",
          "format": "date-time",
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ModelErrorResponse",
          "description": "The error details."
        },
        "id": {
          "description": "The async operation id.",
          "type": "string"
        },
        "operationDetails": {
          "$ref": "#/definitions/AsyncOperationDetails",
          "description": "The async operation details."
        },
        "operationLog": {
          "description": "The async operation log.",
          "type": "string"
        },
        "operationType": {
          "description": "The async operation type.",
          "type": "string"
        },
        "parentRequestId": {
          "description": "The request id that created this operation",
          "type": "string"
        },
        "resourceLocation": {
          "description": "The resource created/updated by the async operation.",
          "type": "string"
        },
        "state": {
          "description": "The async operation state.",
          "enum": [
            "NotStarted",
            "Running",
            "Cancelled",
            "Succeeded",
            "Failed",
            "TimedOut"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "AsyncOperationState"
          }
        }
      },
      "type": "object"
    },
    "AuthKeys": {
      "properties": {
        "primaryKey": {
          "description": "The primary key.",
          "type": "string"
        },
        "secondaryKey": {
          "description": "The secondary key.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AuthToken": {
      "description": "Service Token",
      "properties": {
        "accessToken": {
          "description": "Access token.",
          "type": "string"
        },
        "expiryOn": {
          "description": "Access token expiry time (UTC).",
          "format": "int64",
          "type": "integer"
        },
        "refreshAfter": {
          "description": "Refresh access token after time (UTC).",
          "format": "int64",
          "type": "integer"
        },
        "tokenType": {
          "description": "Access token type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AutoScaler": {
      "description": "The Auto Scaler properties.",
      "properties": {
        "autoscaleEnabled": {
          "description": "Option to enable/disable auto scaling.",
          "type": "boolean"
        },
        "maxReplicas": {
          "description": "The maximum number of replicas in the cluster.",
          "example": "3",
          "format": "int32",
          "type": "integer"
        },
        "minReplicas": {
          "description": "The minimum number of replicas to scale down to.",
          "example": "1",
          "format": "int32",
          "type": "integer"
        },
        "refreshPeriodInSeconds": {
          "description": "The amount of seconds to wait between auto scale updates.",
          "example": "120",
          "format": "int32",
          "type": "integer"
        },
        "targetUtilization": {
          "description": "The target utilization percentage to use for determining whether to scale the cluster.",
          "example": "70",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "BatchServiceResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {
            "appInsightsEnabled": {
              "type": "boolean"
            },
            "computeName": {
              "type": "string"
            },
            "entryScript": {
              "type": "string"
            },
            "environmentName": {
              "type": "string"
            },
            "environmentVersion": {
              "type": "string"
            },
            "errorThreshold": {
              "format": "double",
              "type": "number"
            },
            "inputFormat": {
              "type": "string"
            },
            "miniBatchSize": {
              "format": "int32",
              "type": "integer"
            },
            "modelDataCollection": {
              "$ref": "#/definitions/ModelDataCollection"
            },
            "modelIds": {
              "items": {
                "type": "string"
              },
              "type": "array",
              "uniqueItems": false
            },
            "nodeCount": {
              "format": "int32",
              "type": "integer"
            },
            "outputAction": {
              "type": "string"
            },
            "processCountPerNode": {
              "format": "int32",
              "type": "integer"
            },
            "scoringUri": {
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "AMLCOMPUTE"
    },
    "ContainerRegistry": {
      "properties": {
        "address": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "ContainerResourceRequirements": {
      "description": "The resource requirements for the container (cpu and memory).",
      "properties": {
        "cpu": {
          "description": "The number of CPU cores on the container.",
          "example": "4",
          "format": "double",
          "type": "number"
        },
        "fpga": {
          "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.",
          "format": "int32",
          "type": "integer"
        },
        "gpu": {
          "description": "The number of GPU cores in the container.",
          "format": "int32",
          "type": "integer"
        },
        "memoryInGB": {
          "description": "The amount of memory on the container in GB.",
          "example": "64",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "CreateEndpointRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/CreateServiceRequest"
        },
        {
          "properties": {
            "aadAuthEnabled": {
              "description": "Whether or not AAD authentication is enabled.",
              "type": "boolean"
            },
            "appInsightsEnabled": {
              "description": "Whether or not Application Insights is enabled.",
              "type": "boolean"
            },
            "authEnabled": {
              "description": "Whether or not authentication is enabled.",
              "type": "boolean"
            },
            "computeName": {
              "description": "The name of the compute resource.",
              "type": "string"
            },
            "namespace": {
              "description": "Kubernetes namespace for the service.",
              "type": "string"
            },
            "variants": {
              "description": "The service tag list.",
              "items": {
                "$ref": "#/definitions/AKSServiceCreateRequest"
              },
              "type": "array",
              "uniqueItems": false
            }
          },
          "type": "object"
        }
      ],
      "description": "The request to create an Endpoint in the AKS.",
      "properties": {},
      "required": [
        "name"
      ],
      "type": "object",
      "x-ms-discriminator-value": "AKSENDPOINT"
    },
    "CreateEndpointVariantRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/CreateServiceRequest"
        },
        {
          "properties": {
            "isDefault": {
              "description": "Is this the default variant.",
              "type": "boolean"
            },
            "trafficPercentile": {
              "description": "The amount of traffic variant receives.",
              "format": "float",
              "type": "number"
            },
            "type": {
              "description": "The type of the variant.",
              "enum": [
                "Control",
                "Treatment"
              ],
              "type": "string",
              "x-ms-enum": {
                "modelAsString": false,
                "name": "VariantType"
              }
            }
          },
          "type": "object"
        }
      ],
      "description": "The Variant properties.",
      "properties": {},
      "required": [
        "name"
      ],
      "type": "object"
    },
    "CreateIotServiceRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/CreateServiceRequest"
        },
        {
          "properties": {
            "acrCredentials": {
              "items": {
                "$ref": "#/definitions/RegistryInfo"
              },
              "type": "array",
              "uniqueItems": false
            },
            "authEnabled": {
              "type": "boolean"
            },
            "computeName": {
              "type": "string"
            },
            "iotDeviceId": {
              "type": "string"
            },
            "iotEdgeModule": {
              "$ref": "#/definitions/IotBaseModuleSettings"
            },
            "iotEdgeUserModule": {
              "items": {
                "$ref": "#/definitions/IotModuleSettings"
              },
              "type": "array",
              "uniqueItems": false
            },
            "routes": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      ],
      "properties": {},
      "required": [
        "name"
      ],
      "type": "object",
      "x-ms-discriminator-value": "IOT"
    },
    "CreateServiceRequest": {
      "description": "The base class for creating a service.",
      "discriminator": "computeType",
      "properties": {
        "computeType": {
          "description": "The compute environment type for the service.",
          "enum": [
            "ACI",
            "AKS",
            "AMLCOMPUTE",
            "IOT",
            "AKSENDPOINT",
            "UNKNOWN"
          ],
          "example": "AKS",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ComputeEnvironmentType"
          }
        },
        "deploymentType": {
          "description": "The deployment type for the service.",
          "enum": [
            "GRPCRealtimeEndpoint",
            "HttpRealtimeEndpoint",
            "Batch"
          ],
          "example": "HttpRealtimeEndpoint",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DeploymentType"
          }
        },
        "description": {
          "description": "The description of the service.",
          "type": "string"
        },
        "environmentImageRequest": {
          "$ref": "#/definitions/EnvironmentImageRequest",
          "description": "The Environment, models and assets needed for inferencing."
        },
        "imageId": {
          "description": "The Image Id.",
          "type": "string"
        },
        "keys": {
          "$ref": "#/definitions/AuthKeys",
          "description": "The authentication keys."
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The service tag dictionary. Tags are mutable.",
          "type": "object"
        },
        "location": {
          "description": "The location of the service.",
          "type": "string"
        },
        "name": {
          "description": "The service name.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The service properties dictionary. Properties are immutable.",
          "type": "object"
        }
      },
      "required": [
        "name",
        "computeType"
      ],
      "type": "object"
    },
    "DatasetReference": {
      "description": "The dataset reference object.",
      "properties": {
        "id": {
          "description": "The id of the dataset reference.",
          "type": "string"
        },
        "name": {
          "description": "The name of the dataset reference.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeploymentSummary": {
      "description": "The deployment summary.",
      "properties": {
        "successfulDeployments": {
          "description": "The number of successful deployments.",
          "format": "int32",
          "type": "integer"
        },
        "unsuccessfulDeployments": {
          "description": "The number of unsuccessful deployments.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DockerImageResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ImageResponseBase"
        },
        {
          "properties": {
            "assets": {
              "description": "The list of assets.",
              "items": {
                "$ref": "#/definitions/EnvironmentImageAsset"
              },
              "type": "array",
              "uniqueItems": false
            },
            "dockerFileUri": {
              "description": "The Uri to the docker file.",
              "type": "string"
            },
            "driverProgram": {
              "description": "The name of the driver file.",
              "type": "string"
            },
            "generatedDockerFileUri": {
              "description": "The Uri to the generated docker file.",
              "type": "string"
            },
            "targetRuntime": {
              "$ref": "#/definitions/TargetRuntime",
              "description": "The target runtime."
            }
          },
          "type": "object"
        }
      ],
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "WEBAPICONTAINER"
    },
    "EnvironmentImageAsset": {
      "description": "An Image asset.",
      "properties": {
        "id": {
          "description": "The Asset Id.",
          "type": "string"
        },
        "mimeType": {
          "description": "The mime type.",
          "type": "string"
        },
        "unpack": {
          "description": "Whether the Asset is unpacked.",
          "type": "boolean"
        },
        "url": {
          "description": "The Url of the Asset.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EnvironmentImageRequest": {
      "description": "Request to create a Docker image based on Environment.",
      "properties": {
        "assets": {
          "description": "The list of assets.",
          "items": {
            "$ref": "#/definitions/EnvironmentImageAsset"
          },
          "type": "array",
          "uniqueItems": false
        },
        "driverProgram": {
          "description": "The name of the driver file.",
          "type": "string"
        },
        "environment": {
          "$ref": "#/definitions/ModelEnvironmentDefinition",
          "description": "The details of the AZURE ML environment."
        },
        "modelIds": {
          "description": "The list of model Ids.",
          "example": "[mymodel:1, mymodel:2]",
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "ErrorDetails": {
      "description": "The error details.",
      "properties": {
        "code": {
          "description": "The error code.",
          "type": "string"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        },
        "target": {
          "description": "The target of the error (e.g., the name of the property in error).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FPGADockerImageResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ImageResponseBase"
        },
        {
          "properties": {},
          "type": "object"
        }
      ],
      "description": "The FPGA Docker Image response.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "ACCELCONTAINER"
    },
    "ImageResponseBase": {
      "discriminator": "imageFlavor",
      "properties": {
        "autoDelete": {
          "description": "Whether the image will be automatically deleted with the last service using it.",
          "type": "boolean"
        },
        "createdTime": {
          "description": "The time the image was created.",
          "format": "date-time",
          "type": "string"
        },
        "creationState": {
          "description": "The state of the operation.",
          "enum": [
            "NotStarted",
            "Running",
            "Cancelled",
            "Succeeded",
            "Failed",
            "TimedOut"
          ],
          "example": "Running",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "AsyncOperationState"
          }
        },
        "description": {
          "description": "The image description.",
          "example": "My docker image.",
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ModelErrorResponse",
          "description": "The error response."
        },
        "id": {
          "description": "The image Id.",
          "example": "myimage:3",
          "type": "string"
        },
        "imageBuildLogUri": {
          "description": "The Uri to the image build logs.",
          "type": "string"
        },
        "imageFlavor": {
          "description": "The flavor of the image.",
          "enum": [
            "WebApiContainer",
            "BatchContainer",
            "IoTContainer",
            "AccelContainer",
            "UserProvidedContainer"
          ],
          "example": "WebApiContainer",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ImageFlavor"
          }
        },
        "imageLocation": {
          "description": "The Image location string.",
          "type": "string"
        },
        "imageType": {
          "description": "The type of the image.",
          "enum": [
            "Docker"
          ],
          "example": "Docker",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ImageType"
          }
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The image tag dictionary. Tags are mutable.",
          "type": "object"
        },
        "modelDetails": {
          "description": "The list of models.",
          "items": {
            "$ref": "#/definitions/Model"
          },
          "type": "array",
          "uniqueItems": false
        },
        "modelIds": {
          "description": "The list of model Ids.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "modifiedTime": {
          "description": "The time the image was last modified.",
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "description": "The image name.",
          "example": "myimage:3",
          "type": "string"
        },
        "operationId": {
          "description": "The ID of the asynchronous operation for this image.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The image properties dictionary. Properties are immutable.",
          "type": "object"
        },
        "version": {
          "description": "The image version.",
          "example": "3",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "imageFlavor"
      ],
      "type": "object"
    },
    "IotBaseModuleSettings": {
      "properties": {
        "createOptions": {
          "type": "string"
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "moduleName": {
          "type": "string"
        },
        "propertiesDesired": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "IotModuleSettings": {
      "properties": {
        "createOptions": {
          "type": "string"
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "imageLocation": {
          "type": "string"
        },
        "moduleName": {
          "type": "string"
        },
        "propertiesDesired": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "IotServiceResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {
            "authEnabled": {
              "type": "boolean"
            },
            "computeName": {
              "type": "string"
            },
            "imageDetails": {
              "$ref": "#/definitions/ImageResponseBase"
            },
            "imageId": {
              "type": "string"
            },
            "iotDeviceId": {
              "type": "string"
            },
            "iotEdgeModules": {
              "items": {
                "$ref": "#/definitions/IotModuleSettings"
              },
              "type": "array",
              "uniqueItems": false
            },
            "routes": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      ],
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "IOT"
    },
    "JsonPatchOperation": {
      "description": "The Json Patch definition.",
      "properties": {
        "from": {
          "description": "The source location.",
          "type": "string"
        },
        "op": {
          "description": "The operation.",
          "type": "string"
        },
        "path": {
          "description": "The target location.",
          "type": "string"
        },
        "value": {
          "description": "The value.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "LivenessProbeRequirements": {
      "description": "The liveness probe requirements.",
      "properties": {
        "failureThreshold": {
          "description": "The number of failures to allow before returning an unhealthy status.",
          "format": "int32",
          "type": "integer"
        },
        "initialDelaySeconds": {
          "description": "The delay before the first probe in seconds.",
          "format": "int32",
          "type": "integer"
        },
        "periodSeconds": {
          "description": "The length of time between probes in seconds.",
          "format": "int32",
          "type": "integer"
        },
        "successThreshold": {
          "description": "The number of successful probes before returning a healthy status.",
          "format": "int32",
          "type": "integer"
        },
        "timeoutSeconds": {
          "description": "The probe timeout in seconds.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Model": {
      "description": "An Azure Machine Learning Model.",
      "properties": {
        "createdTime": {
          "description": "The Model creation time (UTC).",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "datasets": {
          "description": "The list of datasets associated with the model.",
          "items": {
            "$ref": "#/definitions/DatasetReference"
          },
          "type": "array",
          "uniqueItems": false
        },
        "description": {
          "description": "The Model description text.",
          "example": "A mnist model, first version.",
          "type": "string"
        },
        "experimentName": {
          "description": "The name of the experiment where this model was created.",
          "type": "string"
        },
        "framework": {
          "description": "The Model framework.",
          "type": "string"
        },
        "frameworkVersion": {
          "description": "The Model framework version.",
          "type": "string"
        },
        "id": {
          "description": "The Model Id.",
          "example": "sklearn_mnist:1",
          "type": "string"
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The Model tag dictionary. Items are mutable.",
          "type": "object"
        },
        "mimeType": {
          "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml",
          "type": "string"
        },
        "modifiedTime": {
          "description": "The Model last modified time (UTC).",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The Model name.",
          "example": "sklearn_mnist",
          "type": "string"
        },
        "parentModelId": {
          "description": "The Parent Model Id.",
          "example": "sklearn_mnist_root:1",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The Model property dictionary. Properties are immutable.",
          "type": "object"
        },
        "runId": {
          "description": "The RunId that created this model.",
          "type": "string"
        },
        "unpack": {
          "description": "Indicates whether we need to unpack the Model during docker Image creation.",
          "type": "boolean"
        },
        "url": {
          "description": "The URL of the Model. Usually a SAS URL.",
          "type": "string"
        },
        "version": {
          "description": "The Model version assigned by Model Management Service.",
          "example": "1",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "name",
        "url",
        "mimeType"
      ],
      "type": "object"
    },
    "ModelDataCollection": {
      "description": "The Model data collection properties.",
      "properties": {
        "eventHubEnabled": {
          "description": "Option for enabling/disabling Event Hub.",
          "type": "boolean"
        },
        "storageEnabled": {
          "description": "Option for enabling/disabling storage.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ModelDockerSection": {
      "properties": {
        "arguments": {
          "description": "Extra arguments to the Docker run command.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        },
        "baseDockerfile": {
          "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.",
          "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"",
          "type": "string"
        },
        "baseImage": {
          "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.",
          "example": "ubuntu:latest",
          "type": "string"
        },
        "baseImageRegistry": {
          "$ref": "#/definitions/ContainerRegistry",
          "description": "Image registry that contains the base image."
        },
        "enabled": {
          "description": "Set True to perform this run inside a Docker container.",
          "example": "True",
          "type": "boolean"
        },
        "gpuSupport": {
          "description": "Run with NVidia Docker extension to support GPUs.",
          "example": "False",
          "type": "boolean"
        },
        "sharedVolumes": {
          "description": "Set False if necessary to work around shared volume bugs on Windows.",
          "example": "True",
          "type": "boolean"
        },
        "shmSize": {
          "description": "The shared memory size setting for NVidia GPUs.",
          "example": "1g",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ModelEnvironmentDefinition": {
      "properties": {
        "docker": {
          "$ref": "#/definitions/ModelDockerSection",
          "description": "The definition of a Docker container."
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Definition of environment variables to be defined in the environment.",
          "type": "object"
        },
        "inferencingStackVersion": {
          "description": "The Inferencing stack version.",
          "example": "latest",
          "type": "string"
        },
        "name": {
          "description": "The name of the environment.",
          "example": "mydevenvironment",
          "type": "string"
        },
        "python": {
          "$ref": "#/definitions/ModelPythonSection",
          "description": "Settings for a Python environment."
        },
        "spark": {
          "$ref": "#/definitions/ModelSparkSection",
          "description": "The configuration for a Spark environment."
        },
        "version": {
          "description": "The environment version.",
          "example": "1",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ModelErrorResponse": {
      "description": "The Model Management Service Error object.",
      "properties": {
        "code": {
          "description": "The error code.",
          "type": "string"
        },
        "details": {
          "description": "An array of error detail objects.",
          "items": {
            "$ref": "#/definitions/ErrorDetails"
          },
          "type": "array",
          "uniqueItems": false
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        },
        "statusCode": {
          "description": "The HTTP status code.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ModelOperationalState": {
      "description": "The operational state of the Model.",
      "properties": {
        "deploymentSummary": {
          "$ref": "#/definitions/DeploymentSummary",
          "description": "The summary of the deployment."
        },
        "endTime": {
          "description": "The deployment end time.",
          "type": "string"
        },
        "startTime": {
          "description": "The deployment start time.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ModelPythonSection": {
      "properties": {
        "baseCondaEnvironment": {
          "type": "string"
        },
        "condaDependencies": {
          "type": "object"
        },
        "interpreterPath": {
          "description": "The python interpreter path. This is only used when user_managed_dependencies=True.",
          "type": "string"
        },
        "userManagedDependencies": {
          "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ModelSparkSection": {
      "properties": {
        "packages": {
          "description": "The Spark packages to use.",
          "items": {
            "$ref": "#/definitions/SparkMavenPackage"
          },
          "type": "array",
          "uniqueItems": false
        },
        "precachePackages": {
          "description": "Whether to precache the packages.",
          "example": "True",
          "type": "boolean"
        },
        "repositories": {
          "description": "The list of spark repositories.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "PaginatedAssetList": {
      "description": "A paginated list of Assets.",
      "properties": {
        "nextLink": {
          "description": "A continuation link (absolute URI) to the next page of results in the list.",
          "type": "string"
        },
        "value": {
          "description": "An array of objects of type Asset.",
          "items": {
            "$ref": "#/definitions/Asset"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "PaginatedModelList": {
      "description": "A paginated list of Models.",
      "properties": {
        "nextLink": {
          "description": "A continuation link (absolute URI) to the next page of results in the list.",
          "type": "string"
        },
        "value": {
          "description": "An array of objects of type Model.",
          "items": {
            "$ref": "#/definitions/Model"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "PaginatedProfileResponseList": {
      "description": "A paginated list of ProfileResponses.",
      "properties": {
        "nextLink": {
          "description": "A continuation link (absolute URI) to the next page of results in the list.",
          "type": "string"
        },
        "value": {
          "description": "An array of objects of type ProfileResponse.",
          "items": {
            "$ref": "#/definitions/ProfileResponse"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "PaginatedServiceList": {
      "description": "A paginated list of Services.",
      "properties": {
        "nextLink": {
          "description": "A continuation link (absolute URI) to the next page of results in the list.",
          "type": "string"
        },
        "value": {
          "description": "An array of objects of type Service.",
          "items": {
            "$ref": "#/definitions/ServiceResponseBase"
          },
          "type": "array",
          "uniqueItems": false
        }
      },
      "type": "object"
    },
    "ProfileRequestBase": {
      "description": "The request for creating a profile.",
      "properties": {
        "description": {
          "description": "The profile description.",
          "type": "string"
        },
        "inputData": {
          "description": "The profile input data.",
          "type": "string"
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags dictionary.",
          "type": "object"
        },
        "name": {
          "description": "The profile name.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The properties dictionary.",
          "type": "object"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ProfileResponse": {
      "description": "The profile response.",
      "properties": {
        "createdTime": {
          "description": "The profile creation time (UTC).",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The profile description.",
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ModelErrorResponse",
          "description": "The error details."
        },
        "imageId": {
          "description": "The Image Id.",
          "type": "string"
        },
        "inputData": {
          "description": "The input data.",
          "type": "string"
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The profile tags dictionary. Tags are mutable.",
          "type": "object"
        },
        "name": {
          "description": "The profile name.",
          "type": "string"
        },
        "profileRunResult": {
          "description": "The profile run result.",
          "type": "string"
        },
        "profilingErrorLogs": {
          "description": "The profiling error logs.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The profile properties dictionary. Properties are immutable.",
          "type": "object"
        },
        "recommendationLatencyInMs": {
          "description": "Latency associated with the recommended memory/cpu config",
          "format": "double",
          "type": "number"
        },
        "recommendedCpu": {
          "description": "The recommended CPU allocation.",
          "format": "double",
          "type": "number"
        },
        "recommendedMemoryInGB": {
          "description": "The recommended amount of memory to allocate in GB.",
          "format": "double",
          "type": "number"
        },
        "state": {
          "description": "The state of the profile.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RegenerateServiceKeysRequest": {
      "properties": {
        "keyType": {
          "description": "Specification for which type of key to generate.",
          "enum": [
            "Primary",
            "Secondary"
          ],
          "example": "Primary",
          "format": "int32",
          "type": "integer",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "KeyType"
          }
        },
        "keyValue": {
          "description": "The value the key is set to.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RegistryInfo": {
      "description": "Contains registry information.",
      "properties": {
        "location": {
          "description": "The location.",
          "type": "string"
        },
        "password": {
          "description": "The password.",
          "type": "string"
        },
        "user": {
          "description": "The user.",
          "type": "string"
        }
      },
      "required": [
        "user",
        "location",
        "password"
      ],
      "type": "object"
    },
    "ServiceResponseBase": {
      "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)",
      "discriminator": "computeType",
      "properties": {
        "computeType": {
          "description": "The compute environment type for the service.",
          "enum": [
            "ACI",
            "AKS",
            "AMLCOMPUTE",
            "IOT",
            "AKSENDPOINT",
            "UNKNOWN"
          ],
          "example": "AKS",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ComputeEnvironmentType"
          }
        },
        "createdTime": {
          "description": "The time the service was created.",
          "format": "date-time",
          "type": "string"
        },
        "deploymentType": {
          "description": "The deployment type for the service.",
          "enum": [
            "GRPCRealtimeEndpoint",
            "HttpRealtimeEndpoint",
            "Batch"
          ],
          "example": "HttpRealtimeEndpoint",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DeploymentType"
          }
        },
        "description": {
          "description": "The service description.",
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ModelErrorResponse",
          "description": "The error details."
        },
        "id": {
          "description": "The service Id.",
          "type": "string"
        },
        "kvTags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The service tag dictionary. Tags are mutable.",
          "type": "object"
        },
        "name": {
          "description": "The service name.",
          "type": "string"
        },
        "operationId": {
          "description": "The ID of the latest asynchronous operation for this service.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The service property dictionary. Properties are immutable.",
          "type": "object"
        },
        "state": {
          "description": "The current state of the service.",
          "enum": [
            "Transitioning",
            "Healthy",
            "Unhealthy",
            "Failed"
          ],
          "example": "Healthy",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "WebServiceState"
          }
        },
        "updatedTime": {
          "description": "The time the service was updated.",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "computeType"
      ],
      "type": "object"
    },
    "SparkMavenPackage": {
      "properties": {
        "artifact": {
          "type": "string"
        },
        "group": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "TargetRuntime": {
      "description": "The target runtime.",
      "properties": {
        "osType": {
          "description": "The target operating system.",
          "enum": [
            "Linux",
            "Windows"
          ],
          "example": "linux",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "OSType"
          }
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The properties dictionary.",
          "readOnly": true,
          "type": "object"
        },
        "runtimeType": {
          "description": "The target runtime type.",
          "enum": [
            "SparkPython",
            "Tlc37",
            "Tlc38",
            "Tlc310",
            "Python",
            "PythonSlim",
            "PythonCustom"
          ],
          "example": "Python",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RuntimeType"
          }
        },
        "targetArchitecture": {
          "description": "The target architecture.",
          "enum": [
            "Amd64",
            "Arm32v7"
          ],
          "example": "Amd64",
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ArchitectureType"
          }
        }
      },
      "type": "object"
    },
    "UnknownServiceResponse": {
      "allOf": [
        {
          "$ref": "#/definitions/ServiceResponseBase"
        },
        {
          "properties": {},
          "type": "object"
        }
      ],
      "description": "The response for an unsupported Service\r\nDefines the basic service properties",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "UNKNOWON"
    }
  }
}