From 9d2dd94a3fef664168ddda7bc83bb471700e1b23 Mon Sep 17 00:00:00 2001 From: AlexanderYukhanov Date: Tue, 17 Apr 2018 15:08:37 -0700 Subject: [PATCH 1/3] BatchAI. SDK 2018-05-01 Changes: - Added first class support for Horovod framework - Added first class support for custom mpi commands - Introduced workspaces - Introduces experiments as a grouping mechanism for related jobs - Moved jobs from the top level into workpace/experiment - Moved clusters and file servers from the top level into workspaces - Removing filter and select parameters as they are not suppported yet - Removing FileServer type as only NFS is supporter - Removed type of output directories - server doesn't support it - Removed 'createNew' attribute of output directory because there is no use-case scenario for having it equal to false. --- .../stable/2018-05-01/BatchAI.json | 3924 +++++++++++++++++ .../examples/ClusterListRemoteLoginInfo.json | 27 + .../2018-05-01/examples/DeleteCluster.json | 21 + .../2018-05-01/examples/DeleteExperiment.json | 21 + .../2018-05-01/examples/DeleteFileServer.json | 21 + .../stable/2018-05-01/examples/DeleteJob.json | 22 + .../2018-05-01/examples/DeleteWorkspace.json | 20 + .../2018-05-01/examples/GetCluster.json | 79 + .../2018-05-01/examples/GetExperiment.json | 22 + .../2018-05-01/examples/GetFileServer.json | 44 + .../stable/2018-05-01/examples/GetJob.json | 61 + .../2018-05-01/examples/GetWorkspace.json | 22 + .../examples/JobListRemoteLoginInfo.json | 23 + .../2018-05-01/examples/ListCluster.json | 68 + .../examples/ListClusterByResourceGroup.json | 69 + .../examples/ListClusterByWorkspace.json | 70 + .../examples/ListExperimentByWorkspace.json | 25 + .../2018-05-01/examples/ListFileServer.json | 45 + .../ListFileServerByResourceGroup.json | 46 + .../examples/ListFileServerByWorkspace.json | 47 + .../examples/ListJobByExperiment.json | 64 + .../2018-05-01/examples/ListOperation.json | 133 + .../2018-05-01/examples/ListOutputFiles.json | 59 + .../2018-05-01/examples/ListUsages.json | 33 + .../2018-05-01/examples/ListWorkspace.json | 24 + .../ListWorkspaceByResourceGroup.json | 25 + .../2018-05-01/examples/PatchCluster.json | 78 + .../2018-05-01/examples/PutCluster.json | 129 + .../2018-05-01/examples/PutExperiment.json | 33 + .../2018-05-01/examples/PutFileServer.json | 67 + .../stable/2018-05-01/examples/PutJob.json | 98 + .../2018-05-01/examples/PutWorkspace.json | 32 + .../2018-05-01/examples/TerminateJob.json | 20 + .../batchai/resource-manager/readme.md | 22 +- .../batchai/resource-manager/readme.nodejs.md | 2 +- 35 files changed, 5493 insertions(+), 3 deletions(-) create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListCluster.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByResourceGroup.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServer.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByResourceGroup.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json create mode 100644 specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json new file mode 100644 index 000000000000..a833204e54cc --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json @@ -0,0 +1,3924 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchAI", + "description": "The Azure BatchAI Management API.", + "version": "2018-05-01", + "x-ms-code-generation-settings": { + "name": "BatchAIManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.BatchAI/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists available operations for the Microsoft.BatchAI provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create or update cluster": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usage_List", + "description": "Gets the current usage information as well as limits for Batch AI resources for given subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create or update cluster": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters": { + "get": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_List", + "description": "Gets a list of Clusters associated with the given subscription.", + "parameters": [ + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Cluster entities associated with the subscription.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List clusters": { + "$ref": "./examples/ListCluster.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters": { + "get": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_ListByResourceGroup", + "description": "Gets a list of Clusters within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Clusters.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List clusters": { + "$ref": "./examples/ListClusterByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers": { + "get": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_List", + "description": "Gets a list of File Servers associated with the given subscription.", + "parameters": [ + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a formatted list of file servers and their properties.", + "schema": { + "$ref": "#/definitions/FileServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List file servers": { + "$ref": "./examples/ListFileServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers": { + "get": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_ListByResourceGroup", + "description": "Gets a list of File Servers within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of formatted file servers and their properties associated with the resource group.", + "schema": { + "$ref": "#/definitions/FileServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List file servers": { + "$ref": "./examples/ListFileServerByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_List", + "description": "Gets a list of Workspaces associated with the given subscription.", + "parameters": [ + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a formatted list of workspaces and their properties.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List file servers": { + "$ref": "./examples/ListWorkspace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "Gets a list of Workspaces within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of workspaces within the resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspaces": { + "$ref": "./examples/ListWorkspaceByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}": { + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Create", + "description": "Creates a Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceCreateParameters" + }, + "description": "Workspace creation parameters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the workspace entity.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a workspace": { + "$ref": "./examples/PutWorkspace.json" + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Deletes a Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a workspace": { + "$ref": "./examples/DeleteWorkspace.json" + } + } + }, + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Gets information about a Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains information about the Workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a workspace information": { + "$ref": "./examples/GetWorkspace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments": { + "get": { + "tags": [ + "Experiment" + ], + "operationId": "Experiments_ListByWorkspace", + "description": "Gets a list of Experiments within the specified Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of experiments within the workspace.", + "schema": { + "$ref": "#/definitions/ExperimentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List experiments": { + "$ref": "./examples/ListExperimentByWorkspace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}": { + "put": { + "tags": [ + "Experiment" + ], + "operationId": "Experiments_Create", + "description": "Creates an Experiment.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExperimentCreateParameters" + }, + "description": "The parameters to provide for the experiment creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the experiment entity.", + "schema": { + "$ref": "#/definitions/Experiment" + } + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create an experiment": { + "$ref": "./examples/PutExperiment.json" + } + } + }, + "delete": { + "tags": [ + "Experiment" + ], + "operationId": "Experiments_Delete", + "description": "Deletes an Experiment.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete an experiment": { + "$ref": "./examples/DeleteExperiment.json" + } + } + }, + "get": { + "tags": [ + "Experiment" + ], + "operationId": "Experiments_Get", + "description": "Gets information about an Experiment.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains information about the experiment.", + "schema": { + "$ref": "#/definitions/Experiment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get an experiment information": { + "$ref": "./examples/GetExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs": { + "get": { + "tags": [ + "Job" + ], + "operationId": "Jobs_ListByExperiment", + "description": "Gets a list of Jobs within the specified Experiment.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of ExperimentJob entities associated with the experiment.", + "schema": { + "$ref": "#/definitions/JobListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List jobs in an experiment": { + "$ref": "./examples/ListJobByExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}": { + "put": { + "tags": [ + "Job" + ], + "operationId": "Jobs_Create", + "description": "Creates a Job in the given Experiment.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobCreateParameters" + }, + "description": "The parameters to provide for job creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the job entity.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a job": { + "$ref": "./examples/PutJob.json" + } + } + }, + "delete": { + "tags": [ + "Job" + ], + "operationId": "Jobs_Delete", + "description": "Deletes a Job.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a job": { + "$ref": "./examples/DeleteJob.json" + } + } + }, + "get": { + "tags": [ + "Job" + ], + "operationId": "Jobs_Get", + "description": "Gets information about a Job.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Job entity.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get job's information": { + "$ref": "./examples/GetJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles": { + "post": { + "tags": [ + "Job" + ], + "operationId": "Jobs_ListOutputFiles", + "description": "List all directories and files inside the given directory of the Job's output directory (if the output directory is on Azure File Share or Azure Storage Container).", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/OutputDirectoryIdParameter" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/DownloadLinkExpiryParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of files.", + "schema": { + "$ref": "#/definitions/FileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List a job's files": { + "$ref": "./examples/ListOutputFiles.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation": { + "post": { + "tags": [ + "Job" + ], + "operationId": "Jobs_ListRemoteLoginInformation", + "description": "Gets a list of currently existing nodes which were used for the Job execution. The returned information contains the node ID, its public IP and SSH port.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains compute node remote login information.", + "schema": { + "$ref": "#/definitions/RemoteLoginInformationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get information about nodes which ran a job": { + "$ref": "./examples/JobListRemoteLoginInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate": { + "post": { + "tags": [ + "Job" + ], + "operationId": "Jobs_Terminate", + "description": "Terminates a job.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ExperimentNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Terminate a job": { + "$ref": "./examples/TerminateJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}": { + "put": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_Create", + "description": "Creates a File Server in the given workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/FileServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileServerCreateParameters" + }, + "description": "The parameters to provide for File Server creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the file server entity.", + "schema": { + "$ref": "#/definitions/FileServer" + } + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a file server": { + "$ref": "./examples/PutFileServer.json" + } + } + }, + "delete": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_Delete", + "description": "Deletes a File Server.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/FileServerNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a file server": { + "$ref": "./examples/DeleteFileServer.json" + } + } + }, + "get": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_Get", + "description": "Gets information about a File Server.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/FileServerNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains information about the FileServer.", + "schema": { + "$ref": "#/definitions/FileServer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a file server's information": { + "$ref": "./examples/GetFileServer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers": { + "get": { + "tags": [ + "FileServer" + ], + "operationId": "FileServers_ListByWorkspace", + "description": "Gets a list of File Servers associated with the specified workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of File Servers and their properties.", + "schema": { + "$ref": "#/definitions/FileServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of file servers": { + "$ref": "./examples/ListFileServerByWorkspace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}": { + "put": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_Create", + "description": "Creates a Cluster in the given Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCreateParameters" + }, + "description": "The parameters to provide for the Cluster creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Cluster entity.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a cluster": { + "$ref": "./examples/PutCluster.json" + } + } + }, + "patch": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_Update", + "description": "Updates properties of a Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Cluster entity.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resize a cluster": { + "$ref": "./examples/PatchCluster.json" + } + } + }, + "delete": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_Delete", + "description": "Deletes a Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/DeleteCluster.json" + } + } + }, + "get": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_Get", + "description": "Gets information about a Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains information about the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a cluster's information": { + "$ref": "./examples/GetCluster.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation": { + "post": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_ListRemoteLoginInformation", + "description": "Get the IP address, port of all the compute nodes in the Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/RemoteLoginInformationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get remote login information for a cluster's nodes ": { + "$ref": "./examples/ClusterListRemoteLoginInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters": { + "get": { + "tags": [ + "Cluster" + ], + "operationId": "Clusters_ListByWorkspace", + "description": "Gets information about Clusters associated with the given Workspace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/MaxResultsParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Clusters and their properties.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of cluster in a workspace": { + "$ref": "./examples/ListClusterByWorkspace.json" + } + } + } + } + }, + "definitions": { + "UsageName": { + "properties": { + "value": { + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "properties": { + "unit": { + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "type": "integer", + "format": "int32", + "description": "The current usage of the resource." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "Describes Batch AI Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of compute resource usages." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information." + } + }, + "required": [ + "value" + ], + "description": "The List Usages operation response." + }, + "FileServerBaseProperties": { + "properties": { + "vmSize": { + "type": "string", + "title": "The size of the virtual machine of the file server.", + "description": "For information about available VM sizes for fileservers from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)." + }, + "sshConfiguration": { + "title": "SSH configuration for the file server.", + "$ref": "#/definitions/SshConfiguration" + }, + "dataDisks": { + "title": "Settings for the data disk which would be created for the file server.", + "$ref": "#/definitions/DataDisks" + }, + "subnet": { + "title": "Specifies the identifier of the subnet.", + "$ref": "#/definitions/ResourceId" + } + }, + "required": [ + "vmSize", + "sshConfiguration", + "dataDisks" + ], + "description": "The properties of a file server." + }, + "FileServerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileServer" + }, + "description": "The collection of File Servers." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "DataDisks": { + "properties": { + "diskSizeInGB": { + "type": "integer", + "format": "int32", + "readOnly": false, + "title": "Initial disk size in GB for blank data disks, and the new desired size for resizing existing data disks." + }, + "cachingType": { + "type": "string", + "title": "None, ReadOnly, ReadWrite. Default value is None. This property is not patchable.", + "default": "none", + "enum": [ + "none", + "readonly", + "readwrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false + } + }, + "diskCount": { + "type": "integer", + "format": "int32", + "readOnly": false, + "title": "Number of data disks to be attached to the VM. RAID level 0 will be applied in the case of multiple disks." + }, + "storageAccountType": { + "type": "string", + "readOnly": false, + "title": "Specifies the type of storage account to be used on the disk. Possible values are: Standard_LRS or Premium_LRS.", + "enum": [ + "Standard_LRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + } + }, + "required": [ + "diskSizeInGB", + "diskCount", + "storageAccountType" + ], + "description": "Settings for the data disk which would be created for the File Server." + }, + "KeyVaultSecretReference": { + "properties": { + "sourceVault": { + "title": "Fully qualified resource Id for the Key Vault.", + "$ref": "#/definitions/ResourceId" + }, + "secretUrl": { + "type": "string", + "title": "The URL referencing a secret in a Key Vault." + } + }, + "required": [ + "sourceVault", + "secretUrl" + ], + "description": "Describes a reference to Key Vault Secret." + }, + "MountSettings": { + "properties": { + "mountPoint": { + "type": "string", + "title": "Path where the NFS is mounted on the Server." + }, + "fileServerPublicIP": { + "type": "string", + "title": "Public IP of the File Server VM." + }, + "fileServerInternalIP": { + "type": "string", + "title": "Internal subnet IP which can be used to access the file Server from within the subnet." + } + }, + "description": "Details of the File Server." + }, + "SshConfiguration": { + "properties": { + "publicIPsToAllow": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of source IP ranges to allow SSH connection to a node.", + "description": "Default value is '*' can be used to match all source IPs. Maximum number of IP ranges that can be specified are 400." + }, + "userAccountSettings": { + "title": "Settings for user account to be created on a node.", + "$ref": "#/definitions/UserAccountSettings" + } + }, + "required": [ + "userAccountSettings" + ], + "description": "SSH configuration settings for the VM" + }, + "FileServerCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the File Server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user specified tags associated with the File Server." + }, + "properties": { + "$ref": "#/definitions/FileServerBaseProperties", + "description": "The properties of the File Server.", + "x-ms-client-flatten": true + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "FileServerProperties": { + "properties": { + "vmSize": { + "type": "string", + "title": "The size of the virtual machine of the File Server.", + "description": "For information about available VM sizes for File Server from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)." + }, + "sshConfiguration": { + "title": "SSH settings for the File Server.", + "$ref": "#/definitions/SshConfiguration" + }, + "dataDisks": { + "title": "Settings for the data disk which would be created for the File Server.", + "$ref": "#/definitions/DataDisks" + }, + "subnet": { + "title": "Specifies the identifier of the subnet.", + "$ref": "#/definitions/ResourceId" + }, + "mountSettings": { + "title": "Details of the File Server.", + "readOnly": true, + "$ref": "#/definitions/MountSettings" + }, + "provisioningStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Time when the status was changed." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Time when the FileServer was created." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "Specifies the provisioning state of the File Server.", + "description": "Possible values: creating - The File Server is getting created. updating - The File Server creation has been accepted and it is getting updated. deleting - The user has requested that the File Server be deleted, and it is in the process of being deleted. failed - The File Server creation has failed with the specified errorCode. Details about the error code are specified in the message field. succeeded - The File Server creation has succeeded.", + "enum": [ + "creating", + "updating", + "deleting", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "FileServerProvisioningState", + "modelAsString": false + } + } + }, + "description": "File server specific properties." + }, + "FileServer": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FileServerProperties", + "description": "The properties associated with the File Server." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Contains information about the File Server." + }, + "ClusterBaseProperties": { + "properties": { + "vmSize": { + "type": "string", + "title": "The size of the virtual machines in the cluster.", + "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "vmPriority": { + "type": "string", + "title": "dedicated or lowpriority.", + "description": "Default is dedicated.", + "default": "dedicated", + "enum": [ + "dedicated", + "lowpriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": false + } + }, + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Desired scale for the cluster." + }, + "virtualMachineConfiguration": { + "title": "Settings for OS image and mounted data volumes.", + "$ref": "#/definitions/VirtualMachineConfiguration" + }, + "nodeSetup": { + "title": "Setup to be done on all compute nodes in the cluster.", + "$ref": "#/definitions/NodeSetup" + }, + "userAccountSettings": { + "title": "Settings for user account that will be created on all compute nodes of the cluster.", + "$ref": "#/definitions/UserAccountSettings" + }, + "subnet": { + "title": "Specifies the identifier of the subnet. ", + "$ref": "#/definitions/ResourceId" + } + }, + "required": [ + "vmSize", + "userAccountSettings" + ], + "description": "The properties of a Cluster." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Desired scale for the cluster" + } + }, + "description": "The properties of a Cluster that need to be updated." + }, + "DeallocationOption": { + "type": "string", + "title": "Specifies when compute nodes may be removed from the cluster, if the cluster size is decreasing.", + "description": "Possible values are: requeue - Terminate running jobs and requeue them. The jobs will run again. Remove compute nodes as soon as jobs have been terminated. terminate - Terminate running jobs. The jobs will not run again. Remove compute nodes as soon as jobs have been terminated. jobcompletion - Allow currently running jobs to complete. Schedule no new jobs while waiting. Remove compute nodes when all jobs have completed. The default value is requeue.", + "default": "requeue", + "enum": [ + "requeue", + "terminate", + "waitforjobcompletion", + "unknown" + ], + "x-ms-enum": { + "name": "DeallocationOption", + "modelAsString": false + } + }, + "ScaleSettings": { + "properties": { + "manual": { + "$ref": "#/definitions/ManualScaleSettings", + "title": "The scale for the cluster by manual settings" + }, + "autoScale": { + "$ref": "#/definitions/AutoScaleSettings", + "title": "The scale for the cluster by autoscale settings" + } + }, + "description": "At least one of manual or autoScale settings must be specified. Only one of manual or autoScale settings can be specified. If autoScale settings are specified, the system automatically scales the cluster up and down (within the supplied limits) based on the pending jobs on the cluster." + }, + "AutoScaleSettings": { + "properties": { + "minimumNodeCount": { + "type": "integer", + "format": "int32", + "title": "Specifies the minimum number of compute nodes the cluster can have." + }, + "maximumNodeCount": { + "type": "integer", + "format": "int32", + "title": "Specifies the maximum number of compute nodes the cluster can have." + }, + "initialNodeCount": { + "type": "integer", + "format": "int32", + "title": "Specifies the number of compute nodes to allocate on cluster creation. Note that this value is used only during cluster creation.", + "default": 0 + } + }, + "required": [ + "minimumNodeCount", + "maximumNodeCount" + ], + "description": "The system automatically scales the cluster up and down (within minimumNodeCount and maximumNodeCount) based on the pending and running jobs on the cluster." + }, + "ManualScaleSettings": { + "properties": { + "targetNodeCount": { + "type": "integer", + "format": "int32", + "title": "The desired number of compute nodes in the Cluster.", + "default": 0, + "description": "Default is 0. If autoScaleSettings are not specified, then the Cluster starts with this target." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with the job(s) running on compute node if the Cluster size is decreasing.", + "description": "The default value is requeue.", + "default": "requeue", + "$ref": "#/definitions/DeallocationOption" + } + }, + "required": [ + "targetNodeCount" + ], + "description": "Manual scale settings for the cluster." + }, + "VirtualMachineConfiguration": { + "properties": { + "imageReference": { + "title": "Reference to OS image.", + "$ref": "#/definitions/ImageReference" + } + }, + "description": "Settings for OS image." + }, + "ImageReference": { + "properties": { + "publisher": { + "type": "string", + "title": "Publisher of the image." + }, + "offer": { + "type": "string", + "title": "Offer of the image." + }, + "sku": { + "type": "string", + "title": "SKU of the image." + }, + "version": { + "type": "string", + "title": "Version of the image." + }, + "virtualMachineImageId": { + "type": "string", + "title": "The ARM resource identifier of the virtual machine image. Computes nodes of the cluster will be created using this custom image. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}", + "description": "The virtual machine image must be in the same region and subscription as the cluster. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. Note, you need to provide publisher, offer and sku of the base OS image of which the custom image has been derived from." + } + }, + "required": [ + "publisher", + "offer", + "sku" + ], + "description": "The image reference." + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes which are unusable." + }, + "leavingNodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes which are leaving the cluster." + } + }, + "required": [ + "idleNodeCount", + "runningNodeCount", + "preparingNodeCount", + "unusableNodeCount", + "leavingNodeCount" + ], + "description": "Counts of various compute node states on the cluster." + }, + "UserAccountSettings": { + "properties": { + "adminUserName": { + "type": "string", + "title": "Specifies the name of the administrator account." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public keys used to authenticate with linux based VMs. This does not get returned in a GET response body." + }, + "adminUserPassword": { + "type": "string", + "title": "Admin user Password (linux only). This does not get returned in a GET response body." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a cluster." + }, + "PerformanceCountersSettings": { + "properties": { + "appInsightsReference": { + "title": "Specifies Azure Application Insights information for performance counters reporting.", + "description": "If provided, Batch AI will upload node performance counters to the corresponding Azure Application Insights account.", + "$ref": "#/definitions/AppInsightsReference" + } + }, + "required": [ + "appInsightsReference" + ], + "description": "Performance counters reporting settings." + }, + "AppInsightsReference": { + "properties": { + "component": { + "title": "Specifies the Azure Application Insights component resource id.", + "$ref": "#/definitions/ResourceId" + }, + "instrumentationKey": { + "type": "string", + "title": "Value of the Azure Application Insights instrumentation key." + }, + "instrumentationKeySecretReference": { + "title": "Specifies a KeyVault Secret containing Azure Application Insights instrumentation key.", + "description": "Specifies KeyVault Store and Secret which contains Azure Application Insights instrumentation key. One of instumentationKey or instrumentationKeySecretReference must be specified.", + "$ref": "#/definitions/KeyVaultSecretReference" + } + }, + "required": [ + "component" + ], + "description": "Specifies Azure Application Insights information for performance counters reporting." + }, + "NodeSetup": { + "properties": { + "setupTask": { + "title": "Specifies a setup task which can be used to customize the compute nodes of the cluster. The NodeSetup task runs everytime a VM is rebooted. For that reason the task code needs to be idempotent. Generally it is used to either download static data that is required for all jobs that run on the cluster VMs or to download/install software.", + "$ref": "#/definitions/SetupTask" + }, + "mountVolumes": { + "title": "Information on shared volumes to be used by jobs.", + "description": "Specified mount volumes will be available to all jobs executing on the cluster. The volumes will be mounted at location specified by $AZ_BATCHAI_MOUNT_ROOT environment variable.", + "$ref": "#/definitions/MountVolumes" + }, + "performanceCountersSettings": { + "title": "Specifies settings for performance counters collecting and uploading.", + "$ref": "#/definitions/PerformanceCountersSettings" + } + }, + "description": "Use this to prepare the VM. NOTE: The volumes specified in mountVolumes are mounted first and then the setupTask is run. Therefore the setup task can use local mountPaths in its execution." + }, + "SetupTask": { + "properties": { + "commandLine": { + "type": "string", + "title": "Command Line to start Setup process." + }, + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "title": "Collection of environment variables to be set for setup task." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariableWithSecretValue" + }, + "title": "Collection of environment variables with secret values to be set for setup task.", + "description": "Server will never report values of these variables back." + }, + "runElevated": { + "type": "boolean", + "title": "Specifies whether to run the setup task under root account. The default value is false.", + "description": "Note. Non-elevated tasks are run under an account added into sudoer list and can perform sudo when required.", + "default": false + }, + "stdOutErrPathPrefix": { + "type": "string", + "description": "The prefix of a path where the Batch AI service will upload the stdout and stderr of the setup task." + }, + "stdOutErrPathSuffix": { + "type": "string", + "title": "A path segment appended by Batch AI to stdOutErrPathPrefix to form a path where stdout and stderr of the setup task will be uploaded.", + "description": "Batch AI creates the setup task output directories under an unique path to avoid conflicts between different clusters. You can concatinate stdOutErrPathPrefix and stdOutErrPathSuffix to get the full path to the output directory.", + "readOnly": true + } + }, + "required": [ + "commandLine", + "stdOutErrPathPrefix" + ], + "description": "Specifies a setup task which can be used to customize the compute nodes of the cluster." + }, + "ClusterCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user specified tags associated with the Cluster." + }, + "properties": { + "$ref": "#/definitions/ClusterBaseProperties", + "description": "The properties of the Cluster.", + "x-ms-client-flatten": true + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "ClusterUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user specified tags associated with the Cluster." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the Cluster." + } + }, + "description": "Parameters supplied to the Update operation." + }, + "ClusterProperties": { + "properties": { + "vmSize": { + "type": "string", + "title": "The size of the virtual machines in the cluster.", + "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "vmPriority": { + "type": "string", + "title": "dedicated or lowpriority.", + "description": "The default value is dedicated. The node can get preempted while the task is running if lowpriority is choosen. This is best suited if the workload is checkpointing and can be restarted.", + "default": "dedicated", + "enum": [ + "dedicated", + "lowpriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": false + } + }, + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Desired scale for the Cluster." + }, + "virtualMachineConfiguration": { + "title": "Settings for OS image and mounted data volumes.", + "$ref": "#/definitions/VirtualMachineConfiguration" + }, + "nodeSetup": { + "title": "Setup to be done on all compute nodes in the Cluster.", + "$ref": "#/definitions/NodeSetup" + }, + "userAccountSettings": { + "title": "Settings for user account of compute nodes.", + "$ref": "#/definitions/UserAccountSettings" + }, + "subnet": { + "title": "Specifies the identifier of the subnet.", + "$ref": "#/definitions/ResourceId" + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The creation time of the cluster." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "Specifies the provisioning state of the cluster.", + "description": "Possible value are: creating - Specifies that the cluster is being created. succeeded - Specifies that the cluster has been created successfully. failed - Specifies that the cluster creation has failed. deleting - Specifies that the cluster is being deleted.", + "enum": [ + "creating", + "succeeded", + "failed", + "deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The provisioning state transition time of the cluster." + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Indicates whether the cluster is resizing.", + "description": "Possible values are: steady and resizing. steady state indicates that the cluster is not resizing. There are no changes to the number of compute nodes in the cluster in progress. A cluster enters this state when it is created and when no operations are being performed on the cluster to change the number of compute nodes. resizing state indicates that the cluster is resizing; that is, compute nodes are being added to or removed from the cluster.", + "enum": [ + "steady", + "resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The time at which the cluster entered its current allocation state." + }, + "errors": { + "title": "Contains details of various errors on the cluster including resize and node setup task", + "description": "This element contains all the errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/BatchAIError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "The number of compute nodes currently assigned to the cluster." + }, + "nodeStateCounts": { + "title": "Counts of various node states on the cluster.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + } + }, + "description": "Job specific properties." + }, + "Cluster": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The properties associated with the Cluster." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Contains information about a Cluster." + }, + "ClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The collection of returned Clusters." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List Clusters operation." + }, + "JobBaseProperties": { + "properties": { + "priority": { + "type": "string", + "default": "normal", + "enum": [ + "low", + "normal", + "high" + ], + "x-ms-enum": { + "name": "JobPriority", + "modelAsString": true + }, + "title": "Priority associated with the job.", + "description": "Priority associated with the job." + }, + "cluster": { + "title": "Specifies the Id of the cluster on which this job will run.", + "$ref": "#/definitions/ResourceId" + }, + "mountVolumes": { + "title": "Information on mount volumes to be used by the job.", + "description": "These volumes will be mounted before the job execution and will be unmouted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.", + "$ref": "#/definitions/MountVolumes" + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes to run the job on.", + "description": "The job will be gang scheduled on that many compute nodes" + }, + "containerSettings": { + "title": "If provided the job will run in the specified container.", + "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.", + "$ref": "#/definitions/ContainerSettings" + }, + "cntkSettings": { + "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.", + "$ref": "#/definitions/CNTKsettings" + }, + "pyTorchSettings": { + "title": "Specifies the settings for pyTorch job.", + "$ref": "#/definitions/PyTorchSettings" + }, + "tensorFlowSettings": { + "title": "Specifies the settings for Tensor Flow job.", + "$ref": "#/definitions/TensorFlowSettings" + }, + "caffeSettings": { + "title": "Specifies the settings for Caffe job.", + "$ref": "#/definitions/CaffeSettings" + }, + "caffe2Settings": { + "title": "Specifies the settings for Caffe2 job.", + "$ref": "#/definitions/Caffe2Settings" + }, + "chainerSettings": { + "title": "Specifies the settings for Chainer job.", + "$ref": "#/definitions/ChainerSettings" + }, + "customToolkitSettings": { + "title": "Specifies the settings for custom tool kit job.", + "$ref": "#/definitions/CustomToolkitSettings" + }, + "customMpiSettings": { + "title": "Specifies the settings for custom MPI job.", + "$ref": "#/definitions/CustomMpiSettings" + }, + "horovodSettings": { + "title": "Specifies the settings for Horovod job.", + "$ref": "#/definitions/HorovodSettings" + }, + "jobPreparation": { + "title": "Specifies the command line to be executed before tool kit is launched.", + "description": "The specified actions will run on all the nodes that are part of the job", + "$ref": "#/definitions/JobPreparation" + }, + "stdOutErrPathPrefix": { + "type": "string", + "description": "The path where the Batch AI service will upload stdout and stderror of the job." + }, + "inputDirectories": { + "type": "array", + "items": { + "$ref": "#/definitions/InputDirectory" + }, + "title": "Specifies the list of input directories for the Job." + }, + "outputDirectories": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputDirectory" + }, + "title": "Specifies the list of output directories." + }, + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "title": "Additional environment variables to set on the job.", + "description": "Batch AI will setup these additional environment variables for the job." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariableWithSecretValue" + }, + "title": "Additional environment variables with secret values to set on the job.", + "description": "Batch AI will setup these additional environment variables for the job. Server will never report values of these variables back." + }, + "constraints": { + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "Max time the job can run.", + "description": "Default Value = 1 week.", + "default": "7.00:00:00" + } + }, + "description": "Constraints associated with the Job." + } + }, + "required": [ + "cluster", + "nodeCount", + "stdOutErrPathPrefix" + ], + "description": "The properties of a Batch AI Job." + }, + "JobCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JobBaseProperties", + "description": "The properties of the Job." + } + }, + "description": "Parameters supplied to the Create operation." + }, + "JobProperties": { + "properties": { + "priority": { + "type": "string", + "default": "normal", + "enum": [ + "low", + "normal", + "high" + ], + "x-ms-enum": { + "name": "JobPriority", + "modelAsString": true + }, + "title": "Priority associated with the job.", + "description": "Priority associated with the job." + }, + "cluster": { + "title": "Specifies the Id of the cluster on which this job will run.", + "$ref": "#/definitions/ResourceId" + }, + "mountVolumes": { + "title": "Information on mount volumes to be used by the job.", + "description": "These volumes will be mounted before the job execution and will be unmouted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.", + "$ref": "#/definitions/MountVolumes" + }, + "jobOutputDirectoryPathSegment": { + "type": "string", + "title": "A segment of job's output directories path created by BatchAI.", + "description": "Batch AI creates job's output directories under an unique path to avoid conflicts between jobs. This value contains a path segment generated by Batch AI to make the path unique and can be used to find the output directory on the node or mounted filesystem." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "title": "Number of compute nodes to run the job on.", + "description": "The job will be gang scheduled on that many compute nodes" + }, + "containerSettings": { + "title": "If provided the job will run in the specified container.", + "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.", + "$ref": "#/definitions/ContainerSettings" + }, + "toolType": { + "title": "The toolkit type of this job.", + "description": "Possible values are: cntk, tensorflow, caffe, caffe2, chainer, pytorch, custom, mpi, horovod.", + "$ref": "#/definitions/ToolType" + }, + "cntkSettings": { + "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.", + "$ref": "#/definitions/CNTKsettings" + }, + "pyTorchSettings": { + "title": "Specifies the settings for pyTorch job.", + "$ref": "#/definitions/PyTorchSettings" + }, + "tensorFlowSettings": { + "title": "Specifies the settings for Tensor Flow job.", + "$ref": "#/definitions/TensorFlowSettings" + }, + "caffeSettings": { + "title": "Specifies the settings for Caffe job.", + "$ref": "#/definitions/CaffeSettings" + }, + "chainerSettings": { + "title": "Specifies the settings for Chainer job.", + "$ref": "#/definitions/ChainerSettings" + }, + "customToolkitSettings": { + "title": "Specifies the settings for custom tool kit job.", + "$ref": "#/definitions/CustomToolkitSettings" + }, + "customMpiSettings": { + "title": "Specifies the settings for custom MPI job.", + "$ref": "#/definitions/CustomMpiSettings" + }, + "horovodSettings": { + "title": "Specifies the settings for Horovod job.", + "$ref": "#/definitions/HorovodSettings" + }, + "jobPreparation": { + "title": "Specifies the actions to be performed before tool kit is launched.", + "description": "The specified actions will run on all the nodes that are part of the job", + "$ref": "#/definitions/JobPreparation" + }, + "stdOutErrPathPrefix": { + "type": "string", + "description": "The path where the Batch AI service will upload stdout and stderror of the job." + }, + "inputDirectories": { + "type": "array", + "items": { + "$ref": "#/definitions/InputDirectory" + }, + "title": "Specifies the list of input directories for the Job." + }, + "outputDirectories": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputDirectory" + }, + "title": "Specifies the list of output directories where the models will be created." + }, + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "title": "Additional environment variables to set on the job.", + "description": "Batch AI will setup these additional environment variables for the job." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariableWithSecretValue" + }, + "title": "Additional environment variables with secret values to set on the job.", + "description": "Batch AI will setup these additional environment variables for the job. Server will never report values of these variables back." + }, + "constraints": { + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "Max time the job can run.", + "description": "Default Value = 1 week.", + "default": "7.00:00:00" + } + }, + "description": "Constraints associated with the Job." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The job creation time.", + "description": "The creation time of the job." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the Batch AI job", + "enum": [ + "creating", + "deleting", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The time at which the job entered its current provisioning state.", + "description": "The time at which the job entered its current provisioning state." + }, + "executionState": { + "type": "string", + "title": "The current state of the job.", + "description": "The current state of the job. Possible values are: queued - The job is queued and able to run. A job enters this state when it is created, or when it is awaiting a retry after a failed run. running - The job is running on a compute cluster. This includes job-level preparation such as downloading resource files or set up container specified on the job - it does not necessarily mean that the job command line has started executing. terminating - The job is terminated by the user, the terminate operation is in progress. succeeded - The job has completed running succesfully and exited with exit code 0. failed - The job has finished unsuccessfully (failed with a non-zero exit code) and has exhausted its retry limit. A job is also marked as failed if an error occurred launching the job.", + "enum": [ + "queued", + "running", + "terminating", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "ExecutionState", + "modelAsString": false + } + }, + "executionStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The time at which the job entered its current execution state.", + "description": "The time at which the job entered its current execution state." + }, + "executionInfo": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the job started running.", + "description": "'Running' corresponds to the running state. If the job has been restarted or retried, this is the most recent time at which the job started running. This property is present only for job that are in the running or completed state." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the job completed.", + "description": "This property is only returned if the job is in completed state." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the job.", + "description": "This property is only returned if the job is in completed state." + }, + "errors": { + "title": "Contains details of various errors encountered by the service during job execution", + "type": "array", + "items": { + "$ref": "#/definitions/BatchAIError" + } + } + }, + "required": [ + "startTime" + ], + "description": "Contains information about the execution of a job in the Azure Batch service." + } + }, + "description": "Job specific properties." + }, + "Job": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JobProperties", + "description": "The properties associated with the Job." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a Job." + }, + "JobListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Job" + }, + "description": "The collection of jobs." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "RemoteLoginInformation": { + "properties": { + "nodeId": { + "type": "string", + "description": "Id of the compute node" + }, + "ipAddress": { + "type": "string", + "description": "ip address" + }, + "port": { + "type": "number", + "format": "int32", + "title": "port number" + } + }, + "description": "Contains remote login details to SSH/RDP to a compute node in cluster.", + "required": [ + "nodeId", + "ipAddress", + "port" + ] + }, + "RemoteLoginInformationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RemoteLoginInformation" + }, + "description": "The collection of returned remote login details." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "FileProperties": { + "properties": { + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The time at which the file was last modified.", + "description": "The time at which the file was last modified." + }, + "contentLength": { + "type": "integer", + "format": "int64", + "title": "The file size.", + "description": "The file size." + } + }, + "description": "File specific properties." + }, + "File": { + "properties": { + "name": { + "type": "string", + "description": "Name of the file." + }, + "isDirectory": { + "type": "boolean", + "description": "Indicates if the file is a directory." + }, + "downloadUrl": { + "type": "string", + "title": "Will contain an URL to download the corresponding file. The downloadUrl is not returned for directories." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FileProperties", + "description": "The properties associated with the file. The properties are not returned for directories." + } + }, + "description": "Properties of the file or directory.", + "required": [ + "name", + "isDirectory" + ] + }, + "FileListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/File" + }, + "description": "The collection of returned job directories and files." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource" + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the resource" + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags of the resource" + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + } + }, + "description": "A definition of an Azure proxy resource.", + "x-ms-azure-resource": true + }, + "ToolType": { + "type": "string", + "description": "The toolkit type of this job.", + "enum": [ + "cntk", + "tensorflow", + "caffe", + "caffe2", + "chainer", + "horovod", + "mpi", + "custom" + ], + "x-ms-enum": { + "name": "ToolType", + "modelAsString": true + } + }, + "NameValuePair": { + "properties": { + "name": { + "type": "string", + "title": "The name in the name-value pair." + }, + "value": { + "type": "string", + "title": "The value in the name-value pair." + } + }, + "description": "Represents a name-value pair." + }, + "EnvironmentVariable": { + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name", + "value" + ], + "description": "A collection of environment variables to set." + }, + "EnvironmentVariableWithSecretValue": { + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable to store the secret value." + }, + "value": { + "type": "string", + "title": "The value of the environment variable. This value will never be reported back by Batch AI." + }, + "valueSecretReference": { + "title": "Specifies the location of the Azure KeyVault secret which will be used as the environment variable value.", + "description": "Specifies KeyVault Store and Secret which contains the value for the environment variable. One of value or valueSecretReference must be provided.", + "$ref": "#/definitions/KeyVaultSecretReference" + } + }, + "required": [ + "name" + ], + "description": "A collection of environment variables with secret values to set." + }, + "ImageSourceRegistry": { + "properties": { + "serverUrl": { + "type": "string", + "title": "URL for image repository." + }, + "image": { + "type": "string", + "title": "The name of the image in image repository." + }, + "credentials": { + "title": "Information to access the private Docker repository.", + "$ref": "#/definitions/PrivateRegistryCredentials" + } + }, + "description": "Details of the container image such as name, URL and credentials.", + "required": [ + "image" + ] + }, + "PrivateRegistryCredentials": { + "properties": { + "username": { + "type": "string", + "title": "User name to login." + }, + "password": { + "type": "string", + "title": "Password to login.", + "description": "One of password or passwordSecretReference must be specified." + }, + "passwordSecretReference": { + "title": "Specifies the location of the password, which is a Key Vault Secret.", + "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of password or passwordSecretReference must be specified.", + "$ref": "#/definitions/KeyVaultSecretReference" + } + }, + "description": "Credentials to access a container image in a private repository.", + "required": [ + "username" + ] + }, + "ContainerSettings": { + "properties": { + "imageSourceRegistry": { + "title": "Registry to download the container from.", + "$ref": "#/definitions/ImageSourceRegistry" + } + }, + "description": "Settings for the container to be downloaded.", + "required": [ + "imageSourceRegistry" + ] + }, + "InputDirectory": { + "properties": { + "id": { + "type": "string", + "title": "The id for the input directory.", + "description": "The path of the input directory will be available as a value of an environment variable with AZ_BATCHAI_INPUT_ name, where is the value of id attribute." + }, + "path": { + "type": "string", + "title": "The path to the input directory." + } + }, + "description": "Input directory for the job.", + "required": [ + "id", + "path" + ] + }, + "OutputDirectory": { + "properties": { + "id": { + "type": "string", + "title": "The name for the output directory.", + "description": "The path of the output directory will be available as a value of an environment variable with AZ_BATCHAI_OUTPUT_ name, where is the value of id attribute." + }, + "pathPrefix": { + "type": "string", + "title": "The prefix path where the output directory will be created.", + "description": "NOTE: This is an absolute path to prefix. E.g. $AZ_BATCHAI_MOUNT_ROOT/MyNFS/MyLogs. You can find the full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix." + }, + "pathSuffix": { + "type": "string", + "title": "The suffix path where the output directory will be created.", + "description": "The suffix path where the output directory will be created. E.g. models. You can find the full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix." + } + }, + "description": "Output directory for the job.", + "required": [ + "id", + "pathPrefix" + ] + }, + "AzureStorageCredentialsInfo": { + "properties": { + "accountKey": { + "type": "string", + "title": "Storage account key.", + "description": "One of accountKey or accountKeySecretReference must be specified." + }, + "accountKeySecretReference": { + "title": "Specifies the location of the storage account key, which is a Key Vault Secret.", + "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of accountKey or accountKeySecretReference must be specified.", + "$ref": "#/definitions/KeyVaultSecretReference" + } + }, + "description": "Credentials to access Azure File Share." + }, + "AzureFileShareReference": { + "properties": { + "accountName": { + "type": "string", + "title": "Name of the storage account." + }, + "azureFileUrl": { + "type": "string", + "title": "URL to access the Azure File." + }, + "credentials": { + "title": "Information of the Azure File credentials.", + "$ref": "#/definitions/AzureStorageCredentialsInfo" + }, + "relativeMountPath": { + "type": "string", + "title": "Specifies the relative path on the compute node where the Azure file share will be mounted.", + "description": "Note that all cluster level file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level file shares will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT." + }, + "fileMode": { + "type": "string", + "title": "Specifies the file mode.", + "description": "Default value is 0777. Valid only if OS is linux.", + "default": "0777" + }, + "directoryMode": { + "type": "string", + "title": "Specifies the directory Mode.", + "description": "Default value is 0777. Valid only if OS is linux.", + "default": "0777" + } + }, + "description": "Details of the Azure File Share to mount on the cluster.", + "required": [ + "accountName", + "azureFileUrl", + "credentials", + "relativeMountPath" + ] + }, + "AzureBlobFileSystemReference": { + "properties": { + "accountName": { + "type": "string", + "title": "Name of the Azure Blob Storage account." + }, + "containerName": { + "type": "string", + "title": "Name of the Azure Blob Storage container to mount on the cluster." + }, + "credentials": { + "title": "Information of the Azure Blob Storage account credentials.", + "$ref": "#/definitions/AzureStorageCredentialsInfo" + }, + "relativeMountPath": { + "type": "string", + "title": "Specifies the relative path on the compute node where the Azure Blob file system will be mounted.", + "description": "Note that all cluster level blob file systems will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level blob file systems will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT." + }, + "mountOptions": { + "type": "string", + "title": "Specifies the various mount options that can be used to configure Blob file system." + } + }, + "description": "Provides required information, for the service to be able to mount Azure Blob Storage container on the cluster nodes.", + "required": [ + "accountName", + "containerName", + "credentials", + "relativeMountPath" + ] + }, + "FileServerReference": { + "properties": { + "fileServer": { + "title": "Reference to the file server resource.", + "$ref": "#/definitions/ResourceId" + }, + "sourceDirectory": { + "type": "string", + "title": "Specifies the source directory in File Server that needs to be mounted.", + "description": "If this property is not specified, the entire File Server will be mounted." + }, + "relativeMountPath": { + "type": "string", + "title": "Specifies the relative path on the compute node where the File Server will be mounted.", + "description": "Note that all cluster level file servers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and job level file servers will be mouted under $AZ_BATCHAI_JOB_MOUNT_ROOT." + }, + "mountOptions": { + "type": "string", + "title": "Specifies the mount options for File Server." + } + }, + "description": "Provides required information, for the service to be able to mount Azure FileShare on the cluster nodes.", + "required": [ + "fileServer", + "relativeMountPath" + ] + }, + "UnmanagedFileSystemReference": { + "properties": { + "mountCommand": { + "title": "Command used to mount the unmanaged file system.", + "type": "string" + }, + "relativeMountPath": { + "type": "string", + "title": "Specifies the relative path on the compute cluster node where the file system will be mounted.", + "description": "Note that all cluster level unmanaged file system will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and job level unmanaged file system will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT." + } + }, + "description": "Details of the file system to mount on the compute cluster nodes.", + "required": [ + "mountCommand", + "relativeMountPath" + ] + }, + "MountVolumes": { + "properties": { + "azureFileShares": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFileShareReference" + }, + "title": "Azure File Share setup configuration.", + "description": "References to Azure File Shares that are to be mounted to the cluster nodes." + }, + "azureBlobFileSystems": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureBlobFileSystemReference" + }, + "title": "Azure Blob FileSystem setup configuration.", + "description": "References to Azure Blob FUSE that are to be mounted to the cluster nodes." + }, + "fileServers": { + "type": "array", + "items": { + "$ref": "#/definitions/FileServerReference" + }, + "title": "References to a list of file servers that are mounted to the cluster node." + }, + "unmanagedFileSystems": { + "type": "array", + "items": { + "$ref": "#/definitions/UnmanagedFileSystemReference" + }, + "title": "References to a list of file servers that are mounted to the cluster node." + } + }, + "description": "Details of volumes to mount on the cluster." + }, + "CNTKsettings": { + "properties": { + "languageType": { + "type": "string", + "title": "Specifies the language type to use for launching CNTK (aka Microsoft Cognitive Toolkit) job.", + "description": "Valid values are 'BrainScript' or 'Python'." + }, + "configFilePath": { + "type": "string", + "title": "Specifies the path of the config file.", + "description": "This property can be specified only if the languageType is 'BrainScript'." + }, + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job.", + "description": "This property can be specified only if the languageType is 'Python'." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter.", + "description": "This property can be specified only if the languageType is 'Python'." + }, + "commandLineArgs": { + "type": "string", + "title": "Command line arguments that needs to be passed to the python script or CNTK.exe." + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes parameter that is passed to MPI runtime.", + "description": "The default value for this property is equal to nodeCount property" + } + }, + "description": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job." + }, + "CaffeSettings": { + "properties": { + "configFilePath": { + "type": "string", + "title": "Specifies the path of the config file.", + "description": "This property cannot be specified if pythonScriptFilePath is specified." + }, + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job.", + "description": "This property cannot be specified if configFilePath is specified." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter.", + "description": "This property can be specified only if the pythonScriptFilePath is specified." + }, + "commandLineArgs": { + "type": "string", + "title": "Command line arguments that needs to be passed to the Caffe job." + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes parameter that is passed to MPI runtime.", + "description": "The default value for this property is equal to nodeCount property" + } + }, + "description": "Specifies the settings for Caffe job." + }, + "Caffe2Settings": { + "properties": { + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter." + }, + "commandLineArgs": { + "type": "string", + "title": "Command line arguments that needs to be passed to the python script" + } + }, + "description": "Specifies the settings for Caffe2 job.", + "required": [ + "pythonScriptFilePath" + ] + }, + "ChainerSettings": { + "properties": { + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter." + }, + "commandLineArgs": { + "type": "string", + "title": "Command line arguments that needs to be passed to the python script" + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes parameter that is passed to MPI runtime.", + "description": "The default value for this property is equal to nodeCount property" + } + }, + "description": "Specifies the settings for Chainer job.", + "required": [ + "pythonScriptFilePath" + ] + }, + "CustomToolkitSettings": { + "properties": { + "commandLine": { + "type": "string", + "title": "The command line to execute the custom toolkit Job." + } + }, + "description": "Specifies the settings for a custom tool kit job." + }, + "CustomMpiSettings": { + "properties": { + "commandLine": { + "type": "string", + "title": "The program and program command line parameters to be executed by mpi runtime." + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes parameter that is passed to MPI runtime.", + "description": "The default value for this property is equal to nodeCount property" + } + }, + "description": "Specifies the settings for a custom tool kit job.", + "required": [ + "commandLine" + ] + }, + "JobPreparation": { + "properties": { + "commandLine": { + "type": "string", + "title": "The command line to execute.", + "description": "If containerSettings is specified on the job, this commandLine will be executed in the same container as job. Otherwise it will be executed on the node." + } + }, + "description": "Specifies the settings for job preparation.", + "required": [ + "commandLine" + ] + }, + "PyTorchSettings": { + "properties": { + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter." + }, + "commandLineArgs": { + "type": "string", + "title": "Specifies the command line arguments for the master task." + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes to launch for the job execution.", + "description": "The default value for this property is equal to nodeCount property." + }, + "communicationBackend": { + "type": "string", + "title": "Type of the communication backend for distributed jobs.", + "description": "Valid values are 'TCP', 'Gloo' or 'MPI'. Not required for non-distributed jobs." + } + }, + "description": "Specifies the settings for pyTorch job.", + "required": [ + "pythonScriptFilePath" + ] + }, + "HorovodSettings": { + "properties": { + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter." + }, + "commandLineArgs": { + "type": "string", + "title": "Command line arguments that needs to be passed to the python script" + }, + "processCount": { + "type": "integer", + "format": "int32", + "title": "Number of processes parameter that is passed to MPI runtime.", + "description": "The default value for this property is equal to nodeCount property" + } + }, + "description": "Specifies the settings for Chainer job.", + "required": [ + "pythonScriptFilePath" + ] + }, + "TensorFlowSettings": { + "properties": { + "pythonScriptFilePath": { + "type": "string", + "title": "The path and file name of the python script to execute the job." + }, + "pythonInterpreterPath": { + "type": "string", + "title": "The path to python interpreter." + }, + "masterCommandLineArgs": { + "type": "string", + "title": "Specifies the command line arguments for the master task." + }, + "workerCommandLineArgs": { + "type": "string", + "title": "Specifies the command line arguments for the worker task.", + "description": "This property is optional for single machine training." + }, + "parameterServerCommandLineArgs": { + "type": "string", + "title": "Specifies the command line arguments for the parameter server task.", + "description": "This property is optional for single machine training." + }, + "workerCount": { + "type": "integer", + "format": "int32", + "title": "The number of worker tasks.", + "description": "If specified, the value must be less than or equal to (nodeCount * numberOfGPUs per VM). If not specified, the default value is equal to nodeCount. This property can be specified only for distributed TensorFlow training" + }, + "parameterServerCount": { + "type": "integer", + "format": "int32", + "title": "The number of parmeter server tasks.", + "description": "If specified, the value must be less than or equal to nodeCount. If not specified, the default value is equal to 1 for distributed TensorFlow training (This property is not applicable for single machine training). This property can be specified only for distributed TensorFlow training." + } + }, + "description": "Specifies the settings for TensorFlow job.", + "required": [ + "pythonScriptFilePath" + ] + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from the Batch AI service." + } + }, + "description": "An error response from the Batch AI service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Batch AI service." + }, + "BatchAIError": { + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Batch AI service." + }, + "Operation": { + "title": "A REST API operation", + "description": "Details of a REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete, or listKeys/action", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties of the operation.", + "type": "object" + } + } + }, + "OperationListResult": { + "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "description": "Contains the list of all operations supported by BatchAI resource provider", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "WorkspaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + }, + "description": "The collection of workspaces." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "WorkspaceCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the Workspace." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user specified tags associated with the Workspace." + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "WorkspaceProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the workspace", + "enum": [ + "creating", + "deleting", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The time at which the workspace entered its current provisioning state.", + "description": "The time at which the workspace entered its current provisioning state." + } + }, + "description": "Workspace specific properties." + }, + "Workspace": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties associated with the workspace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes Batch AI Workspace." + }, + "ExperimentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Experiment" + }, + "description": "The collection of experiments." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ExperimentCreateParameters": { + "properties": { + }, + "description": "Parameters supplied to the Create operation." + }, + "ExperimentProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the experiment", + "enum": [ + "creating", + "deleting", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "The time at which the experiment entered its current provisioning state.", + "description": "The time at which the experiment entered its current provisioning state." + } + }, + "description": "Experiment specific properties." + }, + "Experiment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExperimentProperties", + "description": "The properties associated with the experiment." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about the experiment." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscriptionID for the Azure user." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "pattern": "^[-\\w\\._]+$" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w_]+$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "The name of the cluster within the specified resource group. Cluster names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long." + }, + "JobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w_]+$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "The name of the job within the specified resource group. Job names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long." + }, + "FileServerNameParameter": { + "name": "fileServerName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w_]+$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "The name of the file server within the specified resource group. File server names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Specifies the version of API used for this request." + }, + "MaxResultsParameter": { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method", + "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "OutputDirectoryIdParameter": { + "name": "outputdirectoryid", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of the job output directory. This is the OutputDirectory-->id parameter that is given by the user during Create Job.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "DownloadLinkExpiryParameter": { + "name": "linkexpiryinminutes", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 5, + "maximum": 600, + "default": 60, + "x-ms-parameter-location": "method", + "description": "The number of minutes after which the download link will expire.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "Directory": { + "name": "directory", + "in": "query", + "default": ".", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The path to the directory.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w_]+$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "The name of the workspace. Workspace names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long." + }, + "ExperimentNameParameter": { + "name": "experimentName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w_]+$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "The name of the experiment. Experiment names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long." + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json new file mode 100644 index 000000000000..49bad0763fc4 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "clusterName": "demo_cluster", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "ipAddress": "13.84.190.124", + "port": 50000 + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "ipAddress": "13.84.190.124", + "port": 50001 + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json new file mode 100644 index 000000000000..6ae0714066d2 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "clusterName": "demo_cluster", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + }, + "204": { + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json new file mode 100644 index 000000000000..bb9bfe17576c --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + }, + "204": { + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json new file mode 100644 index 000000000000..c0dfc900cc9c --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "fileServerName": "demo_nfs", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + }, + "204": { + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json new file mode 100644 index 000000000000..ad639684ee1c --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + }, + "204": { + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json new file mode 100644 index 000000000000..1234a997beea --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + }, + "204": { + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json new file mode 100644 index 000000000000..0b8d6229f5b8 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "clusterName": "demo_cluster", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "resizing", + "creationTime": "2017-09-27T21:50:02.377Z", + "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z", + "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "manual": { + "targetNodeCount": 1, + "nodeDeallocationOption": "requeue" + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ], + "fileServers": [ + { + "fileServer": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b" + }, + "relativeMountPath": "nfs", + "mountOptions": "rw" + } + ] + } + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + } + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json new file mode 100644 index 000000000000..08f1a3d24d49 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/experiments/demo_experiment", + "name": "demo_experiment", + "type": "Microsoft.BatchAI/Experiments", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json new file mode 100644 index 000000000000..9642adc5f790 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "fileServerName": "demo_nfs", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b", + "name": "fileservercedd134b", + "type": "Microsoft.BatchAI/FileServers", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "creationTime": "2017-09-27T21:45:28.159Z", + "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z", + "vmSize": "STANDARD_NC6", + "sshConfiguration": { + "userAccountSettings": { + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "cachingType": "none", + "diskCount": 2, + "storageAccountType": "Standard_LRS" + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + }, + "mountSettings": { + "mountPoint": "/mnt/data", + "fileServerPublicIP": "13.90.141.66", + "fileServerInternalIP": "10.0.0.4" + } + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json new file mode 100644 index 000000000000..1af51a3eb906 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job", + "name": "job", + "type": "Microsoft.BatchAI/Jobs", + "properties": { + "priority": "normal", + "cluster": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster" + }, + "nodeCount": 1, + "containerSettings": { + "imageSourceRegistry": { + "image": "ubuntu" + } + }, + "toolType": "custom", + "customToolkitSettings": { + "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt" + }, + "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles", + "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/00000000-0000-0000-0000-000000000000/experiments/demo_experiment/00000000-0000-0000-0000-000000000000/jobs/demo_job/00000000-0000-0000-0000-000000000000", + "inputDirectories": [ + { + "id": "INPUT", + "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input" + } + ], + "outputDirectories": [ + { + "id": "OUTPUTS", + "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/", + "pathSuffix": "files" + } + ], + "constraints": { + "maxWallClockTime": "P7D" + }, + "creationTime": "2017-09-27T23:36:52.611Z", + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z", + "executionState": "running", + "executionStateTransitionTime": "2017-09-27T23:36:56.395Z", + "executionInfo": { + "startTime": "2017-09-27T23:36:54.115Z" + } + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json new file mode 100644 index 000000000000..5bc7d86f5a20 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace", + "name": "demo_workspace", + "type": "Microsoft.BatchAI/Workspace", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json new file mode 100644 index 000000000000..13b7d5aafe00 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "ipAddress": "13.84.190.124", + "port": 50000 + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListCluster.json new file mode 100644 index 000000000000..a1fa99ebba1b --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListCluster.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "resizing", + "creationTime": "2017-09-27T22:28:07.645Z", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "manual": { + "targetNodeCount": 1, + "nodeDeallocationOption": "requeue" + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByResourceGroup.json new file mode 100644 index 000000000000..f46b5370d617 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByResourceGroup.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "resizing", + "creationTime": "2017-09-27T22:28:07.645Z", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "manual": { + "targetNodeCount": 1, + "nodeDeallocationOption": "requeue" + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json new file mode 100644 index 000000000000..0813f5907d56 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "resizing", + "creationTime": "2017-09-27T22:28:07.645Z", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "manual": { + "targetNodeCount": 1, + "nodeDeallocationOption": "requeue" + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json new file mode 100644 index 000000000000..666e3628ab0a --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/experiments/demo_experiment", + "name": "demo_experiment", + "type": "Microsoft.BatchAI/Experiments", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServer.json new file mode 100644 index 000000000000..5fd739b68745 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServer.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b", + "name": "fileservercedd134b", + "type": "Microsoft.BatchAI/FileServers", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "creationTime": "2017-09-27T21:45:28.159Z", + "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z", + "vmSize": "STANDARD_NC6", + "sshConfiguration": { + "userAccountSettings": { + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "cachingType": "none", + "diskCount": 2, + "storageAccountType": "Standard_LRS" + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + }, + "mountSettings": { + "mountPoint": "/mnt/data", + "fileServerPublicIP": "13.90.141.66", + "fileServerInternalIP": "10.0.0.4" + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByResourceGroup.json new file mode 100644 index 000000000000..b27409ff2f5e --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b", + "name": "fileservercedd134b", + "type": "Microsoft.BatchAI/FileServers", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "creationTime": "2017-09-27T21:45:28.159Z", + "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z", + "vmSize": "STANDARD_NC6", + "sshConfiguration": { + "userAccountSettings": { + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "cachingType": "none", + "diskCount": 2, + "storageAccountType": "Standard_LRS" + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + }, + "mountSettings": { + "mountPoint": "/mnt/data", + "fileServerPublicIP": "13.90.141.66", + "fileServerInternalIP": "10.0.0.4" + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json new file mode 100644 index 000000000000..a24a9b9fc62e --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b", + "name": "fileservercedd134b", + "type": "Microsoft.BatchAI/FileServers", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "creationTime": "2017-09-27T21:45:28.159Z", + "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z", + "vmSize": "STANDARD_NC6", + "sshConfiguration": { + "userAccountSettings": { + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "cachingType": "none", + "diskCount": 2, + "storageAccountType": "Standard_LRS" + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + }, + "mountSettings": { + "mountPoint": "/mnt/data", + "fileServerPublicIP": "13.90.141.66", + "fileServerInternalIP": "10.0.0.4" + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json new file mode 100644 index 000000000000..a5215dcc0cbf --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experimnet", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/jobs/demo_job", + "name": "demo_job", + "type": "Microsoft.BatchAI/Jobs", + "properties": { + "priority": "normal", + "cluster": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster" + }, + "nodeCount": 1, + "containerSettings": { + "imageSourceRegistry": { + "image": "ubuntu" + } + }, + "toolType": "custom", + "customToolkitSettings": { + "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt" + }, + "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles", + "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/00000000-0000-0000-0000-000000000000/experiments/demo_experiment/00000000-0000-0000-0000-000000000000/jobs/demo_job/00000000-0000-0000-0000-000000000000", + "inputDirectories": [ + { + "id": "INPUT", + "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input" + } + ], + "outputDirectories": [ + { + "id": "OUTPUTS", + "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/", + "pathSuffix": "files" + } + ], + "constraints": { + "maxWallClockTime": "P7D" + }, + "creationTime": "2017-09-27T23:36:52.611Z", + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z", + "executionState": "running", + "executionStateTransitionTime": "2017-09-27T23:36:56.395Z", + "executionInfo": { + "startTime": "2017-09-27T23:36:54.115Z" + } + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json new file mode 100644 index 000000000000..ee68e75cb258 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.BatchAI/clusters/read", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Clusters", + "operation": "List or get Batch AI clusters", + "description": "Lists Batch AI clusters or gets the properties of a Batch AI cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/clusters/write", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Clusters", + "operation": "Create or update Batch AI cluster", + "description": "Creates a new Batch AI cluster or updates an existing Batch AI cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/clusters/delete", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Clusters", + "operation": "Delete Batch AI cluster", + "description": "Deletes a Batch AI cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/clusters/listRemoteLoginInformation", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Clusters", + "operation": "List Batch AI cluster remote-login information", + "description": "Lists remote-login information for a Batch AI cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/jobs/read", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Jobs", + "operation": "List or get Batch AI jobs", + "description": "Lists Batch AI jobs or gets the properties of a Batch AI job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/jobs/write", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Jobs", + "operation": "Create or update Batch AI job", + "description": "Creates a new Batch AI job or updates an existing Batch AI job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/jobs/delete", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Jobs", + "operation": "Delete Batch AI job", + "description": "Deletes a Batch AI job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/jobs/terminate/action", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Jobs", + "operation": "Terminate Batch AI job", + "description": "Terminates a Batch AI job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/jobs/listRemoteLoginInformation", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Jobs", + "operation": "List Batch AI job remote-login information", + "description": "Lists remote-login information for a Batch AI job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/fileservers/read", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Fileservers", + "operation": "List or get Batch AI fileservers", + "description": "Lists Batch AI fileservers or gets the properties of a Batch AI fileserver" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/fileservers/write", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Fileservers", + "operation": "Create or update Batch AI fileserver", + "description": "Creates a new Batch AI fileserver or updates an existing Batch AI fileserver" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BatchAI/fileservers/delete", + "display": { + "provider": "Microsoft Batch AI", + "resource": "Batch AI Fileservers", + "operation": "Delete Batch AI filserver", + "description": "Deletes a Batch AI fileserver" + }, + "origin": "user,system" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json new file mode 100644 index 000000000000..9b35dc3c0667 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "outputdirectoryid": "stdouterr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "stderr-job_prep.txt", + "isDirectory": false, + "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stderr.txt?sv=2016-05-31&sr=f&sig=CNPJmjDQT9Anld9%2FdnQ52ZBpfOff2el8r4el6J%2BnpJE%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", + "properties": { + "lastModified": "2017-09-28T00:22:19Z", + "contentLength": 0 + } + }, + { + "name": "stdout-job_prep.txt", + "isDirectory": false, + "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stdout.txt?sv=2016-05-31&sr=f&sig=yK%2F5acWSTdcmBZGGL9%2F3IqeZ7N%2B1sRXfwB%2FaCkoRS%2Bc%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", + "properties": { + "lastModified": "2017-09-28T00:22:19Z", + "contentLength": 720 + } + }, + { + "name": "stderr.txt", + "isDirectory": false, + "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stderr.txt?sv=2016-05-31&sr=f&sig=TdvHhdQjvWWA0Z7aPb0oZpPgGbBPOyDarNXWHFnRS3c%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", + "properties": { + "lastModified": "2017-09-28T00:22:19Z", + "contentLength": 0 + } + }, + { + "name": "stdout.txt", + "isDirectory": false, + "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stdout.txt?sv=2016-05-31&sr=f&sig=nyydEjNnYpQfovknJc%2B5G%2F05g0IV4acWKlfkM35lh00%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", + "properties": { + "lastModified": "2017-09-28T00:22:19Z", + "contentLength": 32 + } + }, + { + "name": "counters", + "isDirectory": true + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json new file mode 100644 index 000000000000..687096f7956d --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 51, + "limit": 250, + "name": { + "value": "Number of Active Jobs", + "localizedValue": "Number of Active Jobs" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": 250, + "name": { + "value": "Number of Clusters", + "localizedValue": "Number of Clusters" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json new file mode 100644 index 000000000000..e8feb4a770b2 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace", + "name": "demo_workspace", + "type": "Microsoft.BatchAI/Workspaces", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json new file mode 100644 index 000000000000..01a047a3b726 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "demo_resource_group", + "api-version": "2018-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace", + "name": "demo_workspace", + "type": "Microsoft.BatchAI/Workspaces", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" + } + } + ] + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json new file mode 100644 index 000000000000..449ac586dd4c --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "clusterName": "demo_cluster", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "properties": { + "scaleSettings": { + "autoScale": { + "minimumNodeCount": 0, + "maximumNodeCount": 10 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "steady", + "creationTime": "2017-09-27T21:43:55.215Z", + "allocationStateTransitionTime": "2017-09-27T21:43:57.664Z", + "provisioningStateTransitionTime": "2017-09-27T21:43:56.238Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "autoScale": { + "minimumNodeCount": 0, + "maximumNodeCount": 10, + "initialNodeCount": 0 + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ] + } + } + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json new file mode 100644 index 000000000000..fbb6105653a5 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "clusterName": "demo_cluster", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "location": "eastus", + "properties": { + "scaleSettings": { + "manual": { + "nodeDeallocationOption": "requeue", + "targetNodeCount": 1 + } + }, + "userAccountSettings": { + "adminUserPassword": "admin_user_password", + "adminUserSshPublicKey": "ssh-rsa AAAAB3NzaC1yc...", + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "fileServers": [ + { + "fileServer": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspaces/fileservers/fileservercedd134b" + }, + "mountOptions": "rw", + "relativeMountPath": "nfs" + } + ], + "azureFileShares": [ + { + "relativeMountPath": "azfiles", + "directoryMode": "0777", + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "fileMode": "0777", + "credentials": { + "accountKey": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000==" + } + } + ] + } + }, + "vmPriority": "dedicated", + "vmSize": "STANDARD_NC6" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster", + "name": "demo_cluster", + "type": "Microsoft.BatchAI/Clusters", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "allocationState": "resizing", + "creationTime": "2017-09-27T21:50:02.377Z", + "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z", + "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z", + "vmSize": "STANDARD_NC6", + "currentNodeCount": 0, + "nodeStateCounts": { + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "preparingNodeCount": 0, + "leavingNodeCount": 0 + }, + "vmPriority": "dedicated", + "scaleSettings": { + "manual": { + "targetNodeCount": 1, + "nodeDeallocationOption": "requeue" + } + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04-LTS", + "version": "latest" + } + }, + "userAccountSettings": { + "adminUserName": "admin_user_name" + }, + "nodeSetup": { + "mountVolumes": { + "azureFileShares": [ + { + "accountName": "storage_account_name", + "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name", + "credentials": {}, + "relativeMountPath": "azfiles", + "fileMode": "0777", + "directoryMode": "0777" + } + ], + "fileServers": [ + { + "fileServer": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspaces/fileservers/fileservercedd134b" + }, + "relativeMountPath": "nfs", + "mountOptions": "rw" + } + ] + } + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + } + } + } + } + } +} + diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json new file mode 100644 index 000000000000..7522583b44d8 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "properties": { + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment", + "name": "demo_experiment", + "type": "Microsoft.BatchAI/Experiments", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" + } + } + } + } +} + diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json new file mode 100644 index 000000000000..26241edd06a2 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "fileServerName": "demo_nfs", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "location": "eastus", + "properties": { + "sshConfiguration": { + "userAccountSettings": { + "adminUserPassword": "admin_user_password", + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "storageAccountType": "Standard_LRS", + "diskCount": 2 + }, + "vmSize": "STANDARD_NC6" + } + } + }, + "responses": { + "200": { + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b", + "name": "demo_nfs", + "type": "Microsoft.BatchAI/FileServers", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "creationTime": "2017-09-27T21:45:28.159Z", + "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z", + "vmSize": "STANDARD_NC6", + "sshConfiguration": { + "userAccountSettings": { + "adminUserName": "admin_user_name" + } + }, + "dataDisks": { + "diskSizeInGB": 10, + "cachingType": "none", + "diskCount": 2, + "storageAccountType": "Standard_LRS" + }, + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1" + }, + "mountSettings": { + "mountPoint": "/mnt/data", + "fileServerPublicIP": "13.90.141.66", + "fileServerInternalIP": "10.0.0.4" + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json new file mode 100644 index 000000000000..5bfc0ebd1b22 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "properties": { + "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles", + "cluster": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster" + }, + "nodeCount": 1, + "customToolkitSettings": { + "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt" + }, + "inputDirectories": [ + { + "id": "INPUT", + "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input" + } + ], + "priority": "normal", + "containerSettings": { + "imageSourceRegistry": { + "image": "ubuntu" + } + }, + "outputDirectories": [ + { + "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/", + "id": "OUTPUTS", + "pathSuffix": "files" + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job", + "name": "demo_job", + "type": "Microsoft.BatchAI/Job", + "properties": { + "priority": "normal", + "cluster": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster" + }, + "nodeCount": 1, + "containerSettings": { + "imageSourceRegistry": { + "image": "ubuntu" + } + }, + "toolType": "custom", + "customToolkitSettings": { + "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt" + }, + "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles", + "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/00000000-0000-0000-0000-000000000000/experiments/demo_experiment/00000000-0000-0000-0000-000000000000/jobs/demo_job/00000000-0000-0000-0000-000000000000", + "inputDirectories": [ + { + "id": "INPUT", + "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input" + } + ], + "outputDirectories": [ + { + "id": "OUTPUTS", + "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/", + "pathSuffix": "files" + } + ], + "constraints": { + "maxWallClockTime": "P7D" + }, + "creationTime": "2017-09-27T23:36:52.611Z", + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z", + "executionState": "running", + "executionStateTransitionTime": "2017-09-27T23:36:56.395Z", + "executionInfo": { + "startTime": "2017-09-27T23:36:54.115Z" + } + } + } + } + } +} diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json new file mode 100644 index 000000000000..9c3b33f17618 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace", + "name": "demo_worksapce", + "type": "Microsoft.BatchAI/Workspaces", + "location": "eastus", + "properties": { + "provisioningState": "succeeded", + "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" + } + } + } + } +} + diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json new file mode 100644 index 000000000000..9376a6b307f8 --- /dev/null +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "demo_resource_group", + "workspaceName": "demo_workspace", + "experimentName": "demo_experiment", + "jobName": "demo_job", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2018-05-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01", + "Retry-After": 15 + } + }, + "200": { + } + } +} diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md index 704485786417..933b67bd1fb9 100644 --- a/specification/batchai/resource-manager/readme.md +++ b/specification/batchai/resource-manager/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Batch AI. ``` yaml openapi-type: arm -tag: package-2018-03 +tag: package-2018-05 ``` @@ -42,10 +42,19 @@ input-file: These settings apply only when `--tag=package-2018-03` is specified on the command line. ``` yaml $(tag) == 'package-2018-03' -input-file: +input-file: - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json ``` +### Tag: package-2018-05 + +These settings apply only when `--tag=package-2018-05` is specified on the command line. + +``` yaml $(tag) == 'package-2018-05' +input-file: +- Microsoft.BatchAI/stable/2018-05-01/BatchAI.json +``` + --- # Code Generation @@ -143,6 +152,15 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2018-05' && $(go) +output-folder: $(go-sdk-folder)/services/batchai/mgmt/2018-05-01/batchai +``` + ## Java These settings apply only when `--java` is specified on the command line. diff --git a/specification/batchai/resource-manager/readme.nodejs.md b/specification/batchai/resource-manager/readme.nodejs.md index 3289d8712ed2..4672965e3546 100644 --- a/specification/batchai/resource-manager/readme.nodejs.md +++ b/specification/batchai/resource-manager/readme.nodejs.md @@ -7,7 +7,7 @@ Please also specify `--node-sdks-folder= Date: Fri, 20 Apr 2018 13:07:28 -0700 Subject: [PATCH 2/3] Addressed CR feedback --- .../stable/2018-05-01/BatchAI.json | 48 +++++++++++++------ .../2018-05-01/examples/GetExperiment.json | 1 + .../2018-05-01/examples/GetWorkspace.json | 1 + .../examples/ListExperimentByWorkspace.json | 1 + .../2018-05-01/examples/ListWorkspace.json | 1 + .../ListWorkspaceByResourceGroup.json | 1 + .../2018-05-01/examples/PutExperiment.json | 1 + .../stable/2018-05-01/examples/PutJob.json | 2 +- .../2018-05-01/examples/PutWorkspace.json | 1 + 9 files changed, 42 insertions(+), 15 deletions(-) diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json index a833204e54cc..bf9ec4a0772c 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json @@ -1592,7 +1592,7 @@ ], "x-ms-enum": { "name": "UsageUnit", - "modelAsString": false + "modelAsString": true } }, "currentValue": { @@ -1628,6 +1628,7 @@ "description": "The list of compute resource usages." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information." } @@ -1674,6 +1675,7 @@ "description": "The collection of File Servers." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -1858,7 +1860,7 @@ ], "x-ms-enum": { "name": "FileServerProvisioningState", - "modelAsString": false + "modelAsString": true } } }, @@ -1944,12 +1946,11 @@ "enum": [ "requeue", "terminate", - "waitforjobcompletion", - "unknown" + "waitforjobcompletion" ], "x-ms-enum": { "name": "DeallocationOption", - "modelAsString": false + "modelAsString": true } }, "ScaleSettings": { @@ -2306,7 +2307,7 @@ ], "x-ms-enum": { "name": "ProvisioningState", - "modelAsString": false + "modelAsString": true } }, "provisioningStateTransitionTime": { @@ -2326,7 +2327,7 @@ ], "x-ms-enum": { "name": "AllocationState", - "modelAsString": false + "modelAsString": true } }, "allocationStateTransitionTime": { @@ -2382,6 +2383,7 @@ "description": "The collection of returned Clusters." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -2390,7 +2392,7 @@ }, "JobBaseProperties": { "properties": { - "priority": { + "schedulingPriority": { "type": "string", "default": "normal", "enum": [ @@ -2402,8 +2404,8 @@ "name": "JobPriority", "modelAsString": true }, - "title": "Priority associated with the job.", - "description": "Priority associated with the job." + "title": "Scheduling priority associated with the job.", + "description": "Scheduling priority associated with the job." }, "cluster": { "title": "Specifies the Id of the cluster on which this job will run.", @@ -2680,7 +2682,7 @@ ], "x-ms-enum": { "name": "ProvisioningState", - "modelAsString": false + "modelAsString": true } }, "provisioningStateTransitionTime": { @@ -2703,7 +2705,7 @@ ], "x-ms-enum": { "name": "ExecutionState", - "modelAsString": false + "modelAsString": true } }, "executionStateTransitionTime": { @@ -2774,6 +2776,7 @@ "description": "The collection of jobs." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -2813,6 +2816,7 @@ "description": "The collection of returned remote login details." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -2873,6 +2877,7 @@ "description": "The collection of returned job directories and files." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -3639,6 +3644,7 @@ "title": "The list of operations supported by the resource provider." }, "nextLink": { + "readOnly": true, "type": "string", "title": "The URL to get the next set of operation list results if there are any." } @@ -3654,6 +3660,7 @@ "description": "The collection of workspaces." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -3681,6 +3688,12 @@ }, "WorkspaceProperties": { "properties": { + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Time when the Workspace was created." + }, "provisioningState": { "type": "string", "readOnly": true, @@ -3694,7 +3707,7 @@ ], "x-ms-enum": { "name": "ProvisioningState", - "modelAsString": false + "modelAsString": true } }, "provisioningStateTransitionTime": { @@ -3732,6 +3745,7 @@ "description": "The collection of experiments." }, "nextLink": { + "readOnly": true, "type": "string", "description": "The continuation token." } @@ -3745,6 +3759,12 @@ }, "ExperimentProperties": { "properties": { + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Time when the Experiment was created." + }, "provisioningState": { "type": "string", "readOnly": true, @@ -3758,7 +3778,7 @@ ], "x-ms-enum": { "name": "ProvisioningState", - "modelAsString": false + "modelAsString": true } }, "provisioningStateTransitionTime": { diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json index 08f1a3d24d49..e7e3195ec79d 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json @@ -13,6 +13,7 @@ "name": "demo_experiment", "type": "Microsoft.BatchAI/Experiments", "properties": { + "creationTime": "2017-09-27T22:27:52.611Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json index 5bc7d86f5a20..86c67ea2fdd9 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json @@ -13,6 +13,7 @@ "type": "Microsoft.BatchAI/Workspace", "location": "eastus", "properties": { + "creationTime": "2017-09-27T21:50:03.828Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json index 666e3628ab0a..d3e6990dc623 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json @@ -14,6 +14,7 @@ "name": "demo_experiment", "type": "Microsoft.BatchAI/Experiments", "properties": { + "creationTime": "2017-09-27T22:27:52.611Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json index e8feb4a770b2..4c9d5ace6f2e 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json @@ -13,6 +13,7 @@ "type": "Microsoft.BatchAI/Workspaces", "location": "eastus", "properties": { + "creationTime": "2017-09-27T22:28:08.325Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json index 01a047a3b726..a2684681d8be 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json @@ -14,6 +14,7 @@ "type": "Microsoft.BatchAI/Workspaces", "location": "eastus", "properties": { + "creationTime": "2017-09-27T22:28:08.325Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json index 7522583b44d8..46c23bd97e1e 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json @@ -23,6 +23,7 @@ "name": "demo_experiment", "type": "Microsoft.BatchAI/Experiments", "properties": { + "creationTime": "2017-09-27T21:49:52.611Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" } diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json index 5bfc0ebd1b22..271797f08f8d 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json @@ -22,7 +22,7 @@ "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input" } ], - "priority": "normal", + "schedulingPriority": "normal", "containerSettings": { "imageSourceRegistry": { "image": "ubuntu" diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json index 9c3b33f17618..405e3970491d 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json @@ -22,6 +22,7 @@ "type": "Microsoft.BatchAI/Workspaces", "location": "eastus", "properties": { + "creationTime": "2017-09-27T21:50:03.828Z", "provisioningState": "succeeded", "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z" } From 1ed70938835b3689a0effeb616d3a2c2589d2fc3 Mon Sep 17 00:00:00 2001 From: Alex Yukhanov Date: Fri, 20 Apr 2018 16:14:38 -0700 Subject: [PATCH 3/3] BatchAI. Get rid of booleans and added readonly attributes to where applicable --- .../stable/2018-05-01/BatchAI.json | 104 +++++++++++------- .../2018-05-01/examples/ListOutputFiles.json | 10 +- 2 files changed, 68 insertions(+), 46 deletions(-) diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json index bf9ec4a0772c..d707f68b8810 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json @@ -72,7 +72,7 @@ "tags": [ "Usage" ], - "operationId": "Usage_List", + "operationId": "Usages_List", "description": "Gets the current usage information as well as limits for Batch AI resources for given subscription.", "parameters": [ { @@ -1572,10 +1572,12 @@ "UsageName": { "properties": { "value": { + "readOnly": true, "type": "string", "description": "The name of the resource." }, "localizedValue": { + "readOnly": true, "type": "string", "description": "The localized name of the resource." } @@ -1585,6 +1587,7 @@ "Usage": { "properties": { "unit": { + "readOnly": true, "type": "string", "description": "An enum describing the unit of usage measurement.", "enum": [ @@ -1596,31 +1599,29 @@ } }, "currentValue": { + "readOnly": true, "type": "integer", "format": "int32", "description": "The current usage of the resource." }, "limit": { + "readOnly": true, "type": "integer", "format": "int64", "description": "The maximum permitted usage of the resource." }, "name": { + "readOnly": true, "$ref": "#/definitions/UsageName", "description": "The name of the type of usage." } }, - "required": [ - "unit", - "currentValue", - "limit", - "name" - ], "description": "Describes Batch AI Resource Usage." }, "ListUsagesResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Usage" @@ -1633,9 +1634,6 @@ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information." } }, - "required": [ - "value" - ], "description": "The List Usages operation response." }, "FileServerBaseProperties": { @@ -2055,38 +2053,36 @@ "NodeStateCounts": { "properties": { "idleNodeCount": { + "readOnly": true, "type": "integer", "format": "int32", "title": "Number of compute nodes in idle state." }, "runningNodeCount": { + "readOnly": true, "type": "integer", "format": "int32", "title": "Number of compute nodes which are running jobs." }, "preparingNodeCount": { + "readOnly": true, "type": "integer", "format": "int32", "title": "Number of compute nodes which are being prepared." }, "unusableNodeCount": { + "readOnly": true, "type": "integer", "format": "int32", "title": "Number of compute nodes which are unusable." }, "leavingNodeCount": { + "readOnly": true, "type": "integer", "format": "int32", "title": "Number of compute nodes which are leaving the cluster." } }, - "required": [ - "idleNodeCount", - "runningNodeCount", - "preparingNodeCount", - "unusableNodeCount", - "leavingNodeCount" - ], "description": "Counts of various compute node states on the cluster." }, "UserAccountSettings": { @@ -2165,7 +2161,8 @@ "properties": { "commandLine": { "type": "string", - "title": "Command Line to start Setup process." + "title": "Command line to be executed on each cluster's node after it being allocated or rebooted.", + "description": "Command line to be executed on each cluster's node after it being allocated or rebooted. The command is executed in a bash subshell as a root." }, "environmentVariables": { "type": "array", @@ -2182,12 +2179,6 @@ "title": "Collection of environment variables with secret values to be set for setup task.", "description": "Server will never report values of these variables back." }, - "runElevated": { - "type": "boolean", - "title": "Specifies whether to run the setup task under root account. The default value is false.", - "description": "Note. Non-elevated tasks are run under an account added into sudoer list and can perform sudo when required.", - "default": false - }, "stdOutErrPathPrefix": { "type": "string", "description": "The prefix of a path where the Batch AI service will upload the stdout and stderr of the setup task." @@ -2337,6 +2328,7 @@ "title": "The time at which the cluster entered its current allocation state." }, "errors": { + "readOnly": true, "title": "Contains details of various errors on the cluster including resize and node setup task", "description": "This element contains all the errors encountered by various compute nodes during node setup.", "type": "array", @@ -2376,6 +2368,7 @@ "ClusterListResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Cluster" @@ -2559,6 +2552,7 @@ "$ref": "#/definitions/MountVolumes" }, "jobOutputDirectoryPathSegment": { + "readOnly": true, "type": "string", "title": "A segment of job's output directories path created by BatchAI.", "description": "Batch AI creates job's output directories under an unique path to avoid conflicts between jobs. This value contains a path segment generated by Batch AI to make the path unique and can be used to find the output directory on the node or mounted filesystem." @@ -2693,6 +2687,7 @@ "description": "The time at which the job entered its current provisioning state." }, "executionState": { + "readOnly": true, "type": "string", "title": "The current state of the job.", "description": "The current state of the job. Possible values are: queued - The job is queued and able to run. A job enters this state when it is created, or when it is awaiting a retry after a failed run. running - The job is running on a compute cluster. This includes job-level preparation such as downloading resource files or set up container specified on the job - it does not necessarily mean that the job command line has started executing. terminating - The job is terminated by the user, the terminate operation is in progress. succeeded - The job has completed running succesfully and exited with exit code 0. failed - The job has finished unsuccessfully (failed with a non-zero exit code) and has exhausted its retry limit. A job is also marked as failed if an error occurred launching the job.", @@ -2718,24 +2713,28 @@ "executionInfo": { "properties": { "startTime": { + "readOnly": true, "type": "string", "format": "date-time", "title": "The time at which the job started running.", "description": "'Running' corresponds to the running state. If the job has been restarted or retried, this is the most recent time at which the job started running. This property is present only for job that are in the running or completed state." }, "endTime": { + "readOnly": true, "type": "string", "format": "date-time", "title": "The time at which the job completed.", "description": "This property is only returned if the job is in completed state." }, "exitCode": { + "readOnly": true, "type": "integer", "format": "int32", "title": "The exit code of the job.", "description": "This property is only returned if the job is in completed state." }, "errors": { + "readOnly": true, "title": "Contains details of various errors encountered by the service during job execution", "type": "array", "items": { @@ -2743,9 +2742,6 @@ } } }, - "required": [ - "startTime" - ], "description": "Contains information about the execution of a job in the Azure Batch service." } }, @@ -2769,6 +2765,7 @@ "JobListResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Job" @@ -2786,29 +2783,28 @@ "RemoteLoginInformation": { "properties": { "nodeId": { + "readOnly": true, "type": "string", "description": "Id of the compute node" }, "ipAddress": { + "readOnly": true, "type": "string", "description": "ip address" }, "port": { + "readOnly": true, "type": "number", "format": "int32", "title": "port number" } }, - "description": "Contains remote login details to SSH/RDP to a compute node in cluster.", - "required": [ - "nodeId", - "ipAddress", - "port" - ] + "description": "Contains remote login details to SSH/RDP to a compute node in cluster." }, "RemoteLoginInformationListResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/RemoteLoginInformation" @@ -2826,12 +2822,14 @@ "FileProperties": { "properties": { "lastModified": { + "readOnly": true, "type": "string", "format": "date-time", "title": "The time at which the file was last modified.", "description": "The time at which the file was last modified." }, "contentLength": { + "readOnly": true, "type": "integer", "format": "int64", "title": "The file size.", @@ -2843,14 +2841,25 @@ "File": { "properties": { "name": { + "readOnly": true, "type": "string", "description": "Name of the file." }, - "isDirectory": { - "type": "boolean", - "description": "Indicates if the file is a directory." + "fileType": { + "readOnly": true, + "type": "string", + "enum": [ + "file", + "directory" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true + }, + "description": "Contains information about file type." }, "downloadUrl": { + "readOnly": true, "type": "string", "title": "Will contain an URL to download the corresponding file. The downloadUrl is not returned for directories." }, @@ -2860,11 +2869,7 @@ "description": "The properties associated with the file. The properties are not returned for directories." } }, - "description": "Properties of the file or directory.", - "required": [ - "name", - "isDirectory" - ] + "description": "Properties of the file or directory." }, "FileListResult": { "properties": { @@ -3538,6 +3543,7 @@ "x-ms-external": true, "properties": { "error": { + "readOnly": true, "$ref": "#/definitions/CloudErrorBody", "description": "An error response from the Batch AI service." } @@ -3548,18 +3554,22 @@ "x-ms-external": true, "properties": { "code": { + "readOnly": true, "type": "string", "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, "message": { + "readOnly": true, "type": "string", "description": "A message describing the error, intended to be suitable for display in a user interface." }, "target": { + "readOnly": true, "type": "string", "description": "The target of the particular error. For example, the name of the property in error." }, "details": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/CloudErrorBody" @@ -3572,14 +3582,17 @@ "BatchAIError": { "properties": { "code": { + "readOnly": true, "type": "string", "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, "message": { + "readOnly": true, "type": "string", "description": "A message describing the error, intended to be suitable for display in a user interface." }, "details": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/NameValuePair" @@ -3595,6 +3608,7 @@ "type": "object", "properties": { "name": { + "readOnly": true, "title": "The operation name.", "description": "This is of the format {provider}/{resource}/{operation}", "type": "string" @@ -3603,25 +3617,30 @@ "description": "The object that describes the operation.", "properties": { "provider": { + "readOnly": true, "title": "Friendly name of the resource provider.", "type": "string" }, "operation": { + "readOnly": true, "title": "The operation type.", "description": "For example: read, write, delete, or listKeys/action", "type": "string" }, "resource": { + "readOnly": true, "title": "The resource type on which the operation is performed.", "type": "string" }, "description": { + "readOnly": true, "title": "The friendly name of the operation", "type": "string" } } }, "origin": { + "readOnly": true, "title": "The intended executor of the operation.", "type": "string" }, @@ -3637,6 +3656,7 @@ "description": "Contains the list of all operations supported by BatchAI resource provider", "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Operation" @@ -3653,6 +3673,7 @@ "WorkspaceListResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Workspace" @@ -3738,6 +3759,7 @@ "ExperimentListResult": { "properties": { "value": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Experiment" diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json index 9b35dc3c0667..1a9676422d27 100644 --- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json +++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json @@ -14,7 +14,7 @@ "value": [ { "name": "stderr-job_prep.txt", - "isDirectory": false, + "fileType": "file", "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stderr.txt?sv=2016-05-31&sr=f&sig=CNPJmjDQT9Anld9%2FdnQ52ZBpfOff2el8r4el6J%2BnpJE%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", "properties": { "lastModified": "2017-09-28T00:22:19Z", @@ -23,7 +23,7 @@ }, { "name": "stdout-job_prep.txt", - "isDirectory": false, + "fileType": "file", "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stdout.txt?sv=2016-05-31&sr=f&sig=yK%2F5acWSTdcmBZGGL9%2F3IqeZ7N%2B1sRXfwB%2FaCkoRS%2Bc%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", "properties": { "lastModified": "2017-09-28T00:22:19Z", @@ -32,7 +32,7 @@ }, { "name": "stderr.txt", - "isDirectory": false, + "fileType": "file", "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stderr.txt?sv=2016-05-31&sr=f&sig=TdvHhdQjvWWA0Z7aPb0oZpPgGbBPOyDarNXWHFnRS3c%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", "properties": { "lastModified": "2017-09-28T00:22:19Z", @@ -41,7 +41,7 @@ }, { "name": "stdout.txt", - "isDirectory": false, + "fileType": "file", "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stdout.txt?sv=2016-05-31&sr=f&sig=nyydEjNnYpQfovknJc%2B5G%2F05g0IV4acWKlfkM35lh00%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl", "properties": { "lastModified": "2017-09-28T00:22:19Z", @@ -50,7 +50,7 @@ }, { "name": "counters", - "isDirectory": true + "fileType": "directory" } ] }