swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Azure BatchAI Management API.
  title: BatchAI
  version: 2018-05-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-ms-code-generation-settings:
    name: BatchAIManagementClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: batchai-BatchAI
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersionParameter:
    description: Specifies the version of API used for this request.
    in: query
    name: api-version
    required: true
    type: string
  ClusterNameParameter:
    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.
    in: path
    maxLength: 64
    minLength: 1
    name: clusterName
    pattern: ^[-\w_]+$
    required: true
    type: string
    x-ms-parameter-location: method
  Directory:
    default: .
    description: The path to the directory.
    in: query
    name: directory
    required: false
    type: string
    x-ms-parameter-grouping:
      postfix: Options
    x-ms-parameter-location: method
  DownloadLinkExpiryParameter:
    default: 60
    description: The number of minutes after which the download link will expire.
    format: int32
    in: query
    maximum: 600
    minimum: 5
    name: linkexpiryinminutes
    required: false
    type: integer
    x-ms-parameter-grouping:
      postfix: Options
    x-ms-parameter-location: method
  ExperimentNameParameter:
    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.
    in: path
    maxLength: 64
    minLength: 1
    name: experimentName
    pattern: ^[-\w_]+$
    required: true
    type: string
    x-ms-parameter-location: method
  FileServerNameParameter:
    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.
    in: path
    maxLength: 64
    minLength: 1
    name: fileServerName
    pattern: ^[-\w_]+$
    required: true
    type: string
    x-ms-parameter-location: method
  JobNameParameter:
    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.
    in: path
    maxLength: 64
    minLength: 1
    name: jobName
    pattern: ^[-\w_]+$
    required: true
    type: string
    x-ms-parameter-location: method
  MaxResultsParameter:
    default: 1000
    description: The maximum number of items to return in the response. A maximum of 1000 files can be returned.
    format: int32
    in: query
    maximum: 1000
    minimum: 1
    name: maxresults
    required: false
    type: integer
    x-ms-client-name: maxResults
    x-ms-parameter-grouping:
      postfix: Options
    x-ms-parameter-location: method
  OutputDirectoryIdParameter:
    description: Id of the job output directory. This is the OutputDirectory-->id parameter that is given by the user during Create Job.
    in: query
    name: outputdirectoryid
    required: true
    type: string
    x-ms-parameter-grouping:
      postfix: Options
    x-ms-parameter-location: method
  ResourceGroupNameParameter:
    description: Name of the resource group to which the resource belongs.
    in: path
    name: resourceGroupName
    pattern: ^[-\w\._]+$
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The subscriptionID for the Azure user.
    in: path
    name: subscriptionId
    required: true
    type: string
  WorkspaceNameParameter:
    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.
    in: path
    maxLength: 64
    minLength: 1
    name: workspaceName
    pattern: ^[-\w_]+$
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.BatchAI/operations:
    get:
      description: Lists available operations for the Microsoft.BatchAI provider.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OperationListResult"
      tags:
        - Operations
      x-ms-examples:
        Create or update cluster:
          parameters:
            api-version: 2018-05-01
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Lists Batch AI workspaces or gets the properties of a Batch AI workspace
                      operation: List or get Batch AI workspaces
                      provider: Microsoft Batch AI
                      resource: Batch AI Workspaces
                    name: Microsoft.BatchAI/workspaces/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Creates a new Batch AI workspace or updates an existing Batch AI workspace
                      operation: Create or update Batch AI workspace
                      provider: Microsoft Batch AI
                      resource: Batch AI Workspaces
                    name: Microsoft.BatchAI/workspaces/write
                    origin: user,system
                    properties: null
                  - display:
                      description: Deletes a Batch AI workspace
                      operation: Delete Batch AI workspace
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/workspaces/delete
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI experiments or gets the properties of a Batch AI experiment
                      operation: List or get Batch AI experiements
                      provider: Microsoft Batch AI
                      resource: Batch AI Experiments
                    name: Microsoft.BatchAI/workspaces/experiments/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Creates a new Batch AI experiment or updates an existing Batch AI experiment
                      operation: Create or update Batch AI experiement
                      provider: Microsoft Batch AI
                      resource: Batch AI Experiments
                    name: Microsoft.BatchAI/workspaces/experiments/write
                    origin: user,system
                    properties: null
                  - display:
                      description: Deletes a Batch AI experiment
                      operation: Delete Batch AI experiment
                      provider: Microsoft Batch AI
                      resource: Batch AI Experiments
                    name: Microsoft.BatchAI/workspaces/experiments/delete
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI clusters or gets the properties of a Batch AI cluster
                      operation: List or get Batch AI clusters
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/clusters/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI clusters or gets the properties of a Batch AI cluster
                      operation: List or get Batch AI clusters
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/workspaces/clusters/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Creates a new Batch AI cluster or updates an existing Batch AI cluster
                      operation: Create or update Batch AI cluster
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/workspaces/clusters/write
                    origin: user,system
                    properties: null
                  - display:
                      description: Deletes a Batch AI cluster
                      operation: Delete Batch AI cluster
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/workspaces/clusters/delete
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists remote-login information for a Batch AI cluster
                      operation: List Batch AI cluster remote-login information
                      provider: Microsoft Batch AI
                      resource: Batch AI Clusters
                    name: Microsoft.BatchAI/workspaces/clusters/remoteLoginInformation/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI jobs or gets the properties of a Batch AI job
                      operation: List or get Batch AI jobs
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Creates a new Batch AI job or updates an existing Batch AI job
                      operation: Create or update Batch AI job
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/write
                    origin: user,system
                    properties: null
                  - display:
                      description: Deletes a Batch AI job
                      operation: Delete Batch AI job
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/delete
                    origin: user,system
                    properties: null
                  - display:
                      description: Terminates a Batch AI job
                      operation: Terminate Batch AI job
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/terminate/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists remote-login information for a Batch AI job
                      operation: List Batch AI job remote-login information
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/remoteLoginInformation/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists output files for a Batch AI job
                      operation: List Batch AI job output files
                      provider: Microsoft Batch AI
                      resource: Batch AI Jobs
                    name: Microsoft.BatchAI/workspaces/experiments/jobs/listoutputfiles/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI fileservers or gets the properties of a Batch AI fileserver
                      operation: List or get Batch AI fileservers
                      provider: Microsoft Batch AI
                      resource: Batch AI Fileservers
                    name: Microsoft.BatchAI/fileservers/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Lists Batch AI fileservers or gets the properties of a Batch AI fileserver
                      operation: List or get Batch AI fileservers
                      provider: Microsoft Batch AI
                      resource: Batch AI Fileservers
                    name: Microsoft.BatchAI/workspaces/fileservers/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Creates a new Batch AI fileserver or updates an existing Batch AI fileserver
                      operation: Create or update Batch AI fileserver
                      provider: Microsoft Batch AI
                      resource: Batch AI Fileservers
                    name: Microsoft.BatchAI/workspaces/fileservers/write
                    origin: user,system
                    properties: null
                  - display:
                      description: Deletes a Batch AI fileserver
                      operation: Delete Batch AI filserver
                      provider: Microsoft Batch AI
                      resource: Batch AI Fileservers
                    name: Microsoft.BatchAI/workspaces/fileservers/delete
                    origin: user,system
                    properties: null
                  - display:
                      description: Gets Batch AI usages of the specified subscription at the specified Azure region
                      operation: Get Batch AI Usages
                      provider: Microsoft Batch AI
                      resource: Batch AI Usages
                    name: Microsoft.BatchAI/locations/usages/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Registers the subscription for the Batch AI Resource Provider and enables the creation of Batch AI resources
                      operation: Register the Batch AI Resource Provider
                      provider: Microsoft Batch AI
                      resource: Batch AI Resource Provider
                    name: Microsoft.BatchAI/register/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Unregisters the subscription for the Batch AI Resource Provider preventing the creation of Batch AI resources
                      operation: Unregister the Batch AI Resource Provider
                      provider: Microsoft Batch AI
                      resource: Batch AI Resource Provider
                    name: Microsoft.BatchAI/unregister/action
                    origin: user,system
                    properties: null
                  - display:
                      description: Gets Batch AI async operation result at the specified Azure region
                      operation: Get Batch AI Opreation Result
                      provider: Microsoft Batch AI
                      resource: Batch AI Operation Results
                    name: Microsoft.BatchAI/locations/operationresults/read
                    origin: user,system
                    properties: null
                  - display:
                      description: Gets Batch AI async operation status at the specified Azure region
                      operation: Get Batch AI Opreation Status
                      provider: Microsoft Batch AI
                      resource: Batch AI Operation Statuses
                    name: Microsoft.BatchAI/locations/operationstatuses/read
                    origin: user,system
                    properties: null
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages":
    get:
      description: Gets the current usage information as well as limits for Batch AI resources for given subscription.
      operationId: Usages_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: The location for which resource usage is queried.
          in: path
          name: location
          pattern: ^[-\w\._]+$
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ListUsagesResult"
      tags:
        - Usage
      x-ms-examples:
        Create or update cluster:
          parameters:
            api-version: 2018-05-01
            location: eastus
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - currentValue: 5
                    limit: 20
                    name:
                      localizedValue: Clusters
                      value: Clusters
                    unit: Count
                  - currentValue: 49
                    limit: 600
                    name:
                      localizedValue: Total Cluster Dedicated Regional vCPUs
                      value: Total Cluster Dedicated Regional vCPUs
                    unit: Count
                  - currentValue: 1
                    limit: 600
                    name:
                      localizedValue: Standard D Family Cluster Dedicated vCPUs
                      value: Standard D Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 600
                    name:
                      localizedValue: Standard Dv2 Family Cluster Dedicated vCPUs
                      value: Standard Dv2 Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 48
                    limit: 600
                    name:
                      localizedValue: Standard NC Family Cluster Dedicated vCPUs
                      value: Standard NC Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard NCv2 Family Cluster Dedicated vCPUs
                      value: Standard NCv2 Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard NCv3 Family Cluster Dedicated vCPUs
                      value: Standard NCv3 Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard ND Family Cluster Dedicated vCPUs
                      value: Standard ND Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 600
                    name:
                      localizedValue: Standard NV Family Cluster Dedicated vCPUs
                      value: Standard NV Family Cluster Dedicated vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 150
                    name:
                      localizedValue: Total Cluster Low Priority Regional vCPUs
                      value: Total Cluster LowPriority Regional vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 150
                    name:
                      localizedValue: Standard D Family Cluster Low Priority vCPUs
                      value: Standard D Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 150
                    name:
                      localizedValue: Standard Dv2 Family Cluster Low Priority vCPUs
                      value: Standard Dv2 Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 150
                    name:
                      localizedValue: Standard NC Family Cluster Low Priority vCPUs
                      value: Standard NC Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard NCv2 Family Cluster Low Priority vCPUs
                      value: Standard NCv2 Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard NCv3 Family Cluster Low Priority vCPUs
                      value: Standard NCv3 Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 0
                    name:
                      localizedValue: Standard ND Family Cluster Low Priority vCPUs
                      value: Standard ND Family Cluster LowPriority vCPUs
                    unit: Count
                  - currentValue: 0
                    limit: 150
                    name:
                      localizedValue: Standard NV Family Cluster Low Priority vCPUs
                      value: Standard NV Family Cluster LowPriority vCPUs
                    unit: Count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces":
    get:
      description: Gets a list of Workspaces associated with the given subscription.
      operationId: Workspaces_List
      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"
      tags:
        - Workspace
      x-ms-examples:
        List file servers:
          parameters:
            api-version: 2018-05-01
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace
                    location: eastus
                    name: demo_workspace
                    properties:
                      creationTime: 2017-09-27T22:28:08.325Z
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T22:28:08.327Z
                    type: Microsoft.BatchAI/Workspaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces":
    get:
      description: Gets a list of Workspaces within the specified resource group.
      operationId: Workspaces_ListByResourceGroup
      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"
      tags:
        - Workspace
      x-ms-examples:
        List workspaces:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace
                    location: eastus
                    name: demo_workspace
                    properties:
                      creationTime: 2017-09-27T22:28:08.325Z
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T22:28:08.327Z
                    type: Microsoft.BatchAI/Workspaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}":
    delete:
      description: Deletes a Workspace.
      operationId: Workspaces_Delete
      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"
      tags:
        - Workspace
      x-ms-examples:
        Delete a workspace:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about a Workspace.
      operationId: Workspaces_Get
      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"
      tags:
        - Workspace
      x-ms-examples:
        Get a workspace information:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace
                location: eastus
                name: demo_workspace
                properties:
                  creationTime: 2017-09-27T21:50:03.828Z
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                type: Microsoft.BatchAI/Workspace
    patch:
      description: Updates properties of a Workspace.
      operationId: Workspaces_Update
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - description: Additional parameters for workspace update.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/WorkspaceUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The operation was successful. The response contains the Workspace entity.
          schema:
            $ref: "#/definitions/Workspace"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Workspace
      x-ms-examples:
        Update workspace tags:
          parameters:
            api-version: 2018-05-01
            parameters:
              tags:
                key1: value1
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace
                location: eastus
                name: demo_worksapce
                properties:
                  creationTime: 2017-09-27T21:50:03.828Z
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                tags:
                  key1: value1
                type: Microsoft.BatchAI/Workspaces
    put:
      description: Creates a Workspace.
      operationId: Workspaces_Create
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - description: Workspace creation parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/WorkspaceCreateParameters"
        - $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"
      tags:
        - Workspace
      x-ms-examples:
        Create a workspace:
          parameters:
            api-version: 2018-05-01
            parameters:
              location: eastus
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace
                location: eastus
                name: demo_worksapce
                properties:
                  creationTime: 2017-09-27T21:50:03.828Z
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                type: Microsoft.BatchAI/Workspaces
            "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
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters":
    get:
      description: Gets information about Clusters associated with the given Workspace.
      operationId: Clusters_ListByWorkspace
      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"
      tags:
        - Cluster
      x-ms-examples:
        Get a list of cluster in a workspace:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                    properties:
                      allocationState: resizing
                      allocationStateTransitionTime: 2017-09-27T22:28:08.998Z
                      creationTime: 2017-09-27T22:28:07.645Z
                      currentNodeCount: 0
                      nodeSetup:
                        mountVolumes:
                          azureFileShares:
                            - accountName: storage_account_name
                              azureFileUrl: https://storage_account_name.file.core.windows.net/azure_file_share_name
                              credentials: {}
                              directoryMode: "0777"
                              fileMode: "0777"
                              relativeMountPath: azfiles
                      nodeStateCounts:
                        idleNodeCount: 0
                        leavingNodeCount: 0
                        preparingNodeCount: 0
                        runningNodeCount: 0
                        unusableNodeCount: 0
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T22:28:08.327Z
                      scaleSettings:
                        manual:
                          nodeDeallocationOption: requeue
                          targetNodeCount: 1
                      userAccountSettings:
                        adminUserName: admin_user_name
                      virtualMachineConfiguration:
                        imageReference:
                          offer: UbuntuServer
                          publisher: Canonical
                          sku: 16.04-LTS
                          version: latest
                      vmPriority: dedicated
                      vmSize: STANDARD_NC6
                    type: Microsoft.BatchAI/Clusters
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}":
    delete:
      description: Deletes a Cluster.
      operationId: Clusters_Delete
      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"
      tags:
        - Cluster
      x-ms-examples:
        Delete a cluster:
          parameters:
            api-version: 2018-05-01
            clusterName: demo_cluster
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about a Cluster.
      operationId: Clusters_Get
      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"
      tags:
        - Cluster
      x-ms-examples:
        Get a cluster's information:
          parameters:
            api-version: 2018-05-01
            clusterName: demo_cluster
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                properties:
                  allocationState: resizing
                  allocationStateTransitionTime: 2017-09-27T21:50:04.521Z
                  creationTime: 2017-09-27T21:50:02.377Z
                  currentNodeCount: 0
                  nodeSetup:
                    mountVolumes:
                      azureFileShares:
                        - accountName: storage_account_name
                          azureFileUrl: https://storage_account_name.file.core.windows.net/azure_file_share_name
                          credentials: {}
                          directoryMode: "0777"
                          fileMode: "0777"
                          relativeMountPath: azfiles
                      fileServers:
                        - fileServer:
                            id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b
                          mountOptions: rw
                          relativeMountPath: nfs
                  nodeStateCounts:
                    idleNodeCount: 0
                    leavingNodeCount: 0
                    preparingNodeCount: 0
                    runningNodeCount: 0
                    unusableNodeCount: 0
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                  scaleSettings:
                    manual:
                      nodeDeallocationOption: requeue
                      targetNodeCount: 1
                  subnet:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1
                  userAccountSettings:
                    adminUserName: admin_user_name
                  virtualMachineConfiguration:
                    imageReference:
                      offer: UbuntuServer
                      publisher: Canonical
                      sku: 16.04-LTS
                      version: latest
                  vmPriority: dedicated
                  vmSize: STANDARD_NC6
                type: Microsoft.BatchAI/Clusters
    patch:
      description: Updates properties of a Cluster.
      operationId: Clusters_Update
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - $ref: "#/parameters/ClusterNameParameter"
        - description: Additional parameters for cluster update.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ClusterUpdateParameters"
        - $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"
      tags:
        - Cluster
      x-ms-examples:
        Resize a cluster:
          parameters:
            api-version: 2018-05-01
            clusterName: demo_cluster
            parameters:
              properties:
                scaleSettings:
                  autoScale:
                    maximumNodeCount: 10
                    minimumNodeCount: 0
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                properties:
                  allocationState: steady
                  allocationStateTransitionTime: 2017-09-27T21:43:57.664Z
                  creationTime: 2017-09-27T21:43:55.215Z
                  currentNodeCount: 0
                  nodeSetup:
                    mountVolumes:
                      azureFileShares:
                        - accountName: storage_account_name
                          azureFileUrl: https://storage_account_name.file.core.windows.net/azure_file_share_name
                          credentials: {}
                          directoryMode: "0777"
                          fileMode: "0777"
                          relativeMountPath: azfiles
                  nodeStateCounts:
                    idleNodeCount: 0
                    leavingNodeCount: 0
                    preparingNodeCount: 0
                    runningNodeCount: 0
                    unusableNodeCount: 0
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:43:56.238Z
                  scaleSettings:
                    autoScale:
                      initialNodeCount: 0
                      maximumNodeCount: 10
                      minimumNodeCount: 0
                  userAccountSettings:
                    adminUserName: admin_user_name
                  virtualMachineConfiguration:
                    imageReference:
                      offer: UbuntuServer
                      publisher: Canonical
                      sku: 16.04-LTS
                      version: latest
                  vmPriority: dedicated
                  vmSize: STANDARD_NC6
                type: Microsoft.BatchAI/Clusters
    put:
      description: Creates a Cluster in the given Workspace.
      operationId: Clusters_Create
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - $ref: "#/parameters/ClusterNameParameter"
        - description: The parameters to provide for the Cluster creation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ClusterCreateParameters"
        - $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"
      tags:
        - Cluster
      x-ms-examples:
        Create a cluster:
          parameters:
            api-version: 2018-05-01
            clusterName: demo_cluster
            parameters:
              properties:
                nodeSetup:
                  mountVolumes:
                    azureFileShares:
                      - accountName: storage_account_name
                        azureFileUrl: https://storage_account_name.file.core.windows.net/azure_file_share_name
                        credentials:
                          accountKey: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000==
                        directoryMode: "0777"
                        fileMode: "0777"
                        relativeMountPath: azfiles
                    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
                scaleSettings:
                  manual:
                    nodeDeallocationOption: requeue
                    targetNodeCount: 1
                userAccountSettings:
                  adminUserName: admin_user_name
                  adminUserPassword: admin_user_password
                  adminUserSshPublicKey: ssh-rsa AAAAB3NzaC1yc...
                vmPriority: dedicated
                vmSize: STANDARD_NC6
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                properties:
                  allocationState: resizing
                  allocationStateTransitionTime: 2017-09-27T21:50:04.521Z
                  creationTime: 2017-09-27T21:50:02.377Z
                  currentNodeCount: 0
                  nodeSetup:
                    mountVolumes:
                      azureFileShares:
                        - accountName: storage_account_name
                          azureFileUrl: https://storage_account_name.file.core.windows.net/azure_file_share_name
                          credentials: {}
                          directoryMode: "0777"
                          fileMode: "0777"
                          relativeMountPath: azfiles
                      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
                  nodeStateCounts:
                    idleNodeCount: 0
                    leavingNodeCount: 0
                    preparingNodeCount: 0
                    runningNodeCount: 0
                    unusableNodeCount: 0
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                  scaleSettings:
                    manual:
                      nodeDeallocationOption: requeue
                      targetNodeCount: 1
                  subnet:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1
                  userAccountSettings:
                    adminUserName: admin_user_name
                  virtualMachineConfiguration:
                    imageReference:
                      offer: UbuntuServer
                      publisher: Canonical
                      sku: 16.04-LTS
                      version: latest
                  vmPriority: dedicated
                  vmSize: STANDARD_NC6
                type: Microsoft.BatchAI/Clusters
            "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
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation":
    post:
      description: Get the IP address, port of all the compute nodes in the Cluster.
      operationId: Clusters_ListRemoteLoginInformation
      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"
      tags:
        - Cluster
      x-ms-examples:
        "Get remote login information for a cluster's nodes ":
          parameters:
            api-version: 2018-05-01
            clusterName: demo_cluster
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                value:
                  - ipAddress: 13.84.190.124
                    nodeId: tvm-3601533753_1-20170719t162906z
                    port: 50000
                  - ipAddress: 13.84.190.124
                    nodeId: tvm-3601533753_2-20170719t162906z
                    port: 50001
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments":
    get:
      description: Gets a list of Experiments within the specified Workspace.
      operationId: Experiments_ListByWorkspace
      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"
      tags:
        - Experiment
      x-ms-examples:
        List experiments:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                    properties:
                      creationTime: 2017-09-27T22:27:52.611Z
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T22:28:08.327Z
                    type: Microsoft.BatchAI/Experiments
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}":
    delete:
      description: Deletes an Experiment.
      operationId: Experiments_Delete
      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"
      tags:
        - Experiment
      x-ms-examples:
        Delete an experiment:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about an Experiment.
      operationId: Experiments_Get
      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"
      tags:
        - Experiment
      x-ms-examples:
        Get an experiment information:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                properties:
                  creationTime: 2017-09-27T22:27:52.611Z
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T22:28:08.327Z
                type: Microsoft.BatchAI/Experiments
    put:
      description: Creates an Experiment.
      operationId: Experiments_Create
      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 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"
      tags:
        - Experiment
      x-ms-examples:
        Create an experiment:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            parameters:
              properties: {}
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "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
                properties:
                  creationTime: 2017-09-27T21:49:52.611Z
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:50:03.828Z
                type: Microsoft.BatchAI/Experiments
            "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
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs":
    get:
      description: Gets a list of Jobs within the specified Experiment.
      operationId: Jobs_ListByExperiment
      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"
      tags:
        - Job
      x-ms-examples:
        List jobs in an experiment:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experimnet
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                    properties:
                      cluster:
                        id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster
                      constraints:
                        maxWallClockTime: P7D
                      containerSettings:
                        imageSourceRegistry:
                          image: ubuntu
                      creationTime: 2017-09-27T23:36:52.611Z
                      customToolkitSettings:
                        commandLine: echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt
                      executionInfo:
                        startTime: 2017-09-27T23:36:54.115Z
                      executionState: running
                      executionStateTransitionTime: 2017-09-27T23:36:56.395Z
                      inputDirectories:
                        - id: INPUT
                          path: $AZ_BATCHAI_MOUNT_ROOT/azfiles/input
                      jobOutputDirectoryPathSegment: 00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job/00000000-0000-0000-0000-000000000000
                      nodeCount: 1
                      outputDirectories:
                        - id: OUTPUTS
                          pathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles/
                          pathSuffix: files
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T23:36:53.701Z
                      schedulingPriority: normal
                      stdOutErrPathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles
                      toolType: custom
                    type: Microsoft.BatchAI/Jobs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}":
    delete:
      description: Deletes a Job.
      operationId: Jobs_Delete
      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"
      tags:
        - Job
      x-ms-examples:
        Delete a job:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about a Job.
      operationId: Jobs_Get
      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"
      tags:
        - Job
      x-ms-examples:
        Get job's information:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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: demo_job
                properties:
                  cluster:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster
                  constraints:
                    maxWallClockTime: P7D
                  containerSettings:
                    imageSourceRegistry:
                      image: ubuntu
                  creationTime: 2017-09-27T23:36:52.611Z
                  customToolkitSettings:
                    commandLine: echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt
                  executionInfo:
                    startTime: 2017-09-27T23:36:54.115Z
                  executionState: running
                  executionStateTransitionTime: 2017-09-27T23:36:56.395Z
                  inputDirectories:
                    - id: INPUT
                      path: $AZ_BATCHAI_MOUNT_ROOT/azfiles/input
                  jobOutputDirectoryPathSegment: 00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job/00000000-0000-0000-0000-000000000000
                  nodeCount: 1
                  outputDirectories:
                    - id: OUTPUTS
                      pathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles/
                      pathSuffix: files
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T23:36:53.701Z
                  schedulingPriority: normal
                  stdOutErrPathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles
                  toolType: custom
                type: Microsoft.BatchAI/Jobs
    put:
      description: Creates a Job in the given Experiment.
      operationId: Jobs_Create
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
        - $ref: "#/parameters/JobNameParameter"
        - description: The parameters to provide for job creation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/JobCreateParameters"
        - $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"
      tags:
        - Job
      x-ms-examples:
        Create a job:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            parameters:
              properties:
                cluster:
                  id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster
                containerSettings:
                  imageSourceRegistry:
                    image: ubuntu
                customToolkitSettings:
                  commandLine: echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt
                inputDirectories:
                  - id: INPUT
                    path: $AZ_BATCHAI_MOUNT_ROOT/azfiles/input
                nodeCount: 1
                outputDirectories:
                  - id: OUTPUTS
                    pathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles/
                    pathSuffix: files
                schedulingPriority: normal
                stdOutErrPathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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: demo_job
                properties:
                  cluster:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster
                  constraints:
                    maxWallClockTime: P7D
                  containerSettings:
                    imageSourceRegistry:
                      image: ubuntu
                  creationTime: 2017-09-27T23:36:52.611Z
                  customToolkitSettings:
                    commandLine: echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt
                  executionInfo:
                    startTime: 2017-09-27T23:36:54.115Z
                  executionState: running
                  executionStateTransitionTime: 2017-09-27T23:36:56.395Z
                  inputDirectories:
                    - id: INPUT
                      path: $AZ_BATCHAI_MOUNT_ROOT/azfiles/input
                  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
                  nodeCount: 1
                  outputDirectories:
                    - id: OUTPUTS
                      pathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles/
                      pathSuffix: files
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T23:36:53.701Z
                  schedulingPriority: normal
                  stdOutErrPathPrefix: $AZ_BATCHAI_MOUNT_ROOT/azfiles
                  toolType: custom
                type: Microsoft.BatchAI/Job
            "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
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles":
    post:
      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).
      operationId: Jobs_ListOutputFiles
      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"
      tags:
        - Job
      x-ms-examples:
        List a job's files:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            outputdirectoryid: stdouterr
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                value:
                  - 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
                    fileType: file
                    name: stderr-job_prep.txt
                    properties:
                      contentLength: 0
                      lastModified: 2017-09-28T00:22:19Z
                  - 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
                    fileType: file
                    name: stdout-job_prep.txt
                    properties:
                      contentLength: 720
                      lastModified: 2017-09-28T00:22:19Z
                  - 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
                    fileType: file
                    name: stderr.txt
                    properties:
                      contentLength: 0
                      lastModified: 2017-09-28T00:22:19Z
                  - 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
                    fileType: file
                    name: stdout.txt
                    properties:
                      contentLength: 32
                      lastModified: 2017-09-28T00:22:19Z
                  - fileType: directory
                    name: counters
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation":
    post:
      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.
      operationId: Jobs_ListRemoteLoginInformation
      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"
      tags:
        - Job
      x-ms-examples:
        Get information about nodes which ran a job:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                value:
                  - ipAddress: 13.84.190.124
                    nodeId: tvm-3601533753_1-20170719t162906z
                    port: 50000
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate":
    post:
      description: Terminates a job.
      operationId: Jobs_Terminate
      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"
      tags:
        - Job
      x-ms-examples:
        Terminate a job:
          parameters:
            api-version: 2018-05-01
            experimentName: demo_experiment
            jobName: demo_job
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers":
    get:
      description: Gets a list of File Servers associated with the specified workspace.
      operationId: FileServers_ListByWorkspace
      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"
      tags:
        - FileServer
      x-ms-examples:
        Get a list of file servers:
          parameters:
            api-version: 2018-05-01
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          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
                    properties:
                      creationTime: 2017-09-27T21:45:28.159Z
                      dataDisks:
                        cachingType: none
                        diskCount: 2
                        diskSizeInGB: 10
                        storageAccountType: Standard_LRS
                      mountSettings:
                        fileServerInternalIP: 10.0.0.4
                        fileServerPublicIP: 13.90.141.66
                        mountPoint: /mnt/data
                      provisioningState: succeeded
                      provisioningStateTransitionTime: 2017-09-27T21:49:25.416Z
                      sshConfiguration:
                        userAccountSettings:
                          adminUserName: admin_user_name
                      subnet:
                        id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1
                      vmSize: STANDARD_NC6
                    type: Microsoft.BatchAI/FileServers
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}":
    delete:
      description: Deletes a File Server.
      operationId: FileServers_Delete
      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"
      tags:
        - FileServer
      x-ms-examples:
        Delete a file server:
          parameters:
            api-version: 2018-05-01
            fileServerName: demo_nfs
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200": {}
            "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
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about a File Server.
      operationId: FileServers_Get
      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"
      tags:
        - FileServer
      x-ms-examples:
        Get a file server's information:
          parameters:
            api-version: 2018-05-01
            fileServerName: demo_nfs
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b
                name: fileservercedd134b
                properties:
                  creationTime: 2017-09-27T21:45:28.159Z
                  dataDisks:
                    cachingType: none
                    diskCount: 2
                    diskSizeInGB: 10
                    storageAccountType: Standard_LRS
                  mountSettings:
                    fileServerInternalIP: 10.0.0.4
                    fileServerPublicIP: 13.90.141.66
                    mountPoint: /mnt/data
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:49:25.416Z
                  sshConfiguration:
                    userAccountSettings:
                      adminUserName: admin_user_name
                  subnet:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1
                  vmSize: STANDARD_NC6
                type: Microsoft.BatchAI/FileServers
    put:
      description: Creates a File Server in the given workspace.
      operationId: FileServers_Create
      parameters:
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/WorkspaceNameParameter"
        - $ref: "#/parameters/FileServerNameParameter"
        - description: The parameters to provide for File Server creation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/FileServerCreateParameters"
        - $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"
      tags:
        - FileServer
      x-ms-examples:
        Create a file server:
          parameters:
            api-version: 2018-05-01
            fileServerName: demo_nfs
            parameters:
              properties:
                dataDisks:
                  diskCount: 2
                  diskSizeInGB: 10
                  storageAccountType: Standard_LRS
                sshConfiguration:
                  userAccountSettings:
                    adminUserName: admin_user_name
                    adminUserPassword: admin_user_password
                vmSize: STANDARD_NC6
            resourceGroupName: demo_resource_group
            subscriptionId: 00000000-0000-0000-0000-000000000000
            workspaceName: demo_workspace
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b
                name: demo_nfs
                properties:
                  creationTime: 2017-09-27T21:45:28.159Z
                  dataDisks:
                    cachingType: none
                    diskCount: 2
                    diskSizeInGB: 10
                    storageAccountType: Standard_LRS
                  mountSettings:
                    fileServerInternalIP: 10.0.0.4
                    fileServerPublicIP: 13.90.141.66
                    mountPoint: /mnt/data
                  provisioningState: succeeded
                  provisioningStateTransitionTime: 2017-09-27T21:49:25.416Z
                  sshConfiguration:
                    userAccountSettings:
                      adminUserName: admin_user_name
                  subnet:
                    id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1
                  vmSize: STANDARD_NC6
                type: Microsoft.BatchAI/FileServers
            "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
      x-ms-long-running-operation: true
definitions:
  AppInsightsReference:
    description: Azure Application Insights information for performance counters reporting.
    properties:
      component:
        $ref: "#/definitions/ResourceId"
        description: Azure Application Insights component resource ID.
        title: Component ID.
      instrumentationKey:
        description: Value of the Azure Application Insights instrumentation key.
        title: Instrumentation Key.
        type: string
      instrumentationKeySecretReference:
        $ref: "#/definitions/KeyVaultSecretReference"
        description: KeyVault Store and Secret which contains Azure Application Insights instrumentation key. One of instrumentationKey or instrumentationKeySecretReference must be specified.
        title: Instrumentation key KeyVault Secret reference.
    required:
      - component
  AutoScaleSettings:
    description: Auto-scale settings for the cluster. The system automatically scales the cluster up and down (within minimumNodeCount and maximumNodeCount) based on the number of queued and running jobs assigned to the cluster.
    properties:
      initialNodeCount:
        default: 0
        description: "The number of compute nodes to allocate on cluster creation. Note that this value is used only during cluster creation. Default: 0."
        format: int32
        title: Initial node count.
        type: integer
      maximumNodeCount:
        description: The maximum number of compute nodes the cluster can have.
        format: int32
        title: Maximum node count.
        type: integer
      minimumNodeCount:
        description: The minimum number of compute nodes the Batch AI service will try to allocate for the cluster. Note, the actual number of nodes can be less than the specified value if the subscription has not enough quota to fulfill the request.
        format: int32
        title: Minimum node count.
        type: integer
    required:
      - minimumNodeCount
      - maximumNodeCount
  AzureBlobFileSystemReference:
    description: Azure Blob Storage Container mounting configuration.
    properties:
      accountName:
        description: Name of the Azure storage account.
        title: Account name.
        type: string
      containerName:
        description: Name of the Azure Blob Storage container to mount on the cluster.
        title: Container name.
        type: string
      credentials:
        $ref: "#/definitions/AzureStorageCredentialsInfo"
        description: Information about the Azure storage credentials.
        title: Credentials.
      mountOptions:
        description: Mount options for mounting blobfuse file system.
        title: Mount options.
        type: string
      relativeMountPath:
        description: The relative path on the compute node where the Azure File container will be mounted. Note that all cluster level containers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level containers will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT.
        title: Relative mount path.
        type: string
    required:
      - accountName
      - containerName
      - credentials
      - relativeMountPath
  AzureFileShareReference:
    description: Azure File Share mounting configuration.
    properties:
      accountName:
        description: Name of the Azure storage account.
        title: Account name.
        type: string
      azureFileUrl:
        description: URL to access the Azure File.
        title: Azure File URL.
        type: string
      credentials:
        $ref: "#/definitions/AzureStorageCredentialsInfo"
        description: Information about the Azure storage credentials.
        title: Credentials.
      directoryMode:
        default: "0777"
        description: "File mode for directories on the mounted file share. Default value: 0777."
        title: Directory mode.
        type: string
      fileMode:
        default: "0777"
        description: "File mode for files on the mounted file share. Default value: 0777."
        title: File mode.
        type: string
      relativeMountPath:
        description: The relative path on the compute node where the Azure File share will be mounted. 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.
        title: Relative mount path.
        type: string
    required:
      - accountName
      - azureFileUrl
      - credentials
      - relativeMountPath
  AzureStorageCredentialsInfo:
    description: Azure storage account credentials.
    properties:
      accountKey:
        description: Storage account key. One of accountKey or accountKeySecretReference must be specified.
        title: Account key.
        type: string
      accountKeySecretReference:
        $ref: "#/definitions/KeyVaultSecretReference"
        description: Information about KeyVault secret storing the storage account key. One of accountKey or accountKeySecretReference must be specified.
        title: Account key secret reference.
  BatchAIError:
    description: An error response from the Batch AI service.
    properties:
      code:
        description: An identifier of the error. Codes are invariant and are intended to be consumed programmatically.
        readOnly: true
        type: string
      details:
        description: A list of additional details about the error.
        items:
          $ref: "#/definitions/NameValuePair"
        readOnly: true
        type: array
      message:
        description: A message describing the error, intended to be suitable for display in a user interface.
        readOnly: true
        type: string
  CNTKsettings:
    description: CNTK (aka Microsoft Cognitive Toolkit) job settings.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the python script or cntk executable.
        title: Command line arguments.
        type: string
      configFilePath:
        description: Specifies the path of the BrainScript config file. This property can be specified only if the languageType is 'BrainScript'.
        title: Config file path.
        type: string
      languageType:
        description: The language to use for launching CNTK (aka Microsoft Cognitive Toolkit) job. Valid values are 'BrainScript' or 'Python'.
        title: Language type.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter. This property can be specified only if the languageType is 'Python'.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: Python script to execute. This property can be specified only if the languageType is 'Python'.
        title: Python script file path.
        type: string
  Caffe2Settings:
    description: Caffe2 job settings.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the python script.
        title: Command line arguments.
        type: string
      pythonInterpreterPath:
        description: The path to the Python interpreter.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: The python script to execute.
        title: Python script file path.
        type: string
    required:
      - pythonScriptFilePath
  CaffeSettings:
    description: Caffe job settings.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the Caffe job.
        title: Command line arguments.
        type: string
      configFilePath:
        description: Path of the config file for the job. This property cannot be specified if pythonScriptFilePath is specified.
        title: Config file path.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter. The property can be specified only if the pythonScriptFilePath is specified.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: Python script to execute. This property cannot be specified if configFilePath is specified.
        title: Python script file path.
        type: string
  ChainerSettings:
    description: Chainer job settings.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the python script.
        title: Command line arguments.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: The python script to execute.
        title: Python script file path.
        type: string
    required:
      - pythonScriptFilePath
  CloudError:
    description: An error response from the Batch AI service.
    properties:
      error:
        $ref: "#/definitions/CloudErrorBody"
        description: An error response from the Batch AI service.
        readOnly: true
    x-ms-external: true
  CloudErrorBody:
    description: An error response from the Batch AI service.
    properties:
      code:
        description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
        readOnly: true
        type: string
      details:
        description: A list of additional details about the error.
        items:
          $ref: "#/definitions/CloudErrorBody"
        readOnly: true
        type: array
      message:
        description: A message describing the error, intended to be suitable for display in a user interface.
        readOnly: true
        type: string
      target:
        description: The target of the particular error. For example, the name of the property in error.
        readOnly: true
        type: string
    x-ms-external: true
  Cluster:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Information about a Cluster.
    properties:
      properties:
        $ref: "#/definitions/ClusterProperties"
        description: The properties associated with the Cluster.
        x-ms-client-flatten: true
  ClusterBaseProperties:
    description: The properties of a Cluster.
    properties:
      nodeSetup:
        $ref: "#/definitions/NodeSetup"
        description: Setup to be performed on each compute node in the cluster.
        title: Node setup.
      scaleSettings:
        $ref: "#/definitions/ScaleSettings"
        description: Scale settings for the cluster. Batch AI service supports manual and auto scale clusters.
        title: Scale settings.
      subnet:
        $ref: "#/definitions/ResourceId"
        description: Existing virtual network subnet to put the cluster nodes in. Note, if a File Server mount configured in node setup, the File Server's subnet will be used automatically.
        title: Subnet.
      userAccountSettings:
        $ref: "#/definitions/UserAccountSettings"
        description: Settings for an administrator user account that will be created on each compute node in the cluster.
        title: User account settings.
      virtualMachineConfiguration:
        $ref: "#/definitions/VirtualMachineConfiguration"
        description: OS image configuration for cluster nodes. All nodes in a cluster have the same OS image.
        title: VM configuration.
      vmPriority:
        default: dedicated
        description: "VM priority. Allowed values are: dedicated (default) and lowpriority."
        enum:
          - dedicated
          - lowpriority
        title: VM priority.
        type: string
        x-ms-enum:
          modelAsString: false
          name: VmPriority
      vmSize:
        description: The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace see Sizes for Virtual Machines (Linux). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).
        title: VM size.
        type: string
    required:
      - vmSize
      - userAccountSettings
  ClusterCreateParameters:
    description: Cluster creation operation.
    properties:
      properties:
        $ref: "#/definitions/ClusterBaseProperties"
        description: The properties of the Cluster.
        x-ms-client-flatten: true
  ClusterListResult:
    description: Values returned by the List Clusters operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of returned Clusters.
        items:
          $ref: "#/definitions/Cluster"
        readOnly: true
        type: array
  ClusterProperties:
    description: Cluster properties.
    properties:
      allocationState:
        description: "Allocation state of the cluster. Possible values are: steady - 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 - Indicates that the cluster is resizing; that is, compute nodes are being added to or removed from the cluster."
        enum:
          - steady
          - resizing
        readOnly: true
        title: Allocation state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: AllocationState
      allocationStateTransitionTime:
        description: The time at which the cluster entered its current allocation state.
        format: date-time
        readOnly: true
        title: Allocation state transition time.
        type: string
      creationTime:
        description: The time when the cluster was created.
        format: date-time
        readOnly: true
        title: Creation time.
        type: string
      currentNodeCount:
        description: The number of compute nodes currently assigned to the cluster.
        format: int32
        readOnly: true
        title: Current node count.
        type: integer
      errors:
        description: Collection of errors encountered by various compute nodes during node setup.
        items:
          $ref: "#/definitions/BatchAIError"
        readOnly: true
        title: Errors.
        type: array
      nodeSetup:
        $ref: "#/definitions/NodeSetup"
        description: Setup (mount file systems, performance counters settings and custom setup task) to be performed on each compute node in the cluster.
        title: Node setup.
      nodeStateCounts:
        $ref: "#/definitions/NodeStateCounts"
        description: Counts of various node states on the cluster.
        readOnly: true
        title: Node state counts.
      provisioningState:
        description: "Provisioning state of the cluster. 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
        readOnly: true
        title: Provisioning state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
        x-nullable: false
      provisioningStateTransitionTime:
        description: Time when the provisioning state was changed.
        format: date-time
        readOnly: true
        title: Provisioning State Transition time.
        type: string
      scaleSettings:
        $ref: "#/definitions/ScaleSettings"
        description: Scale settings of the cluster.
        title: Scale settings.
      subnet:
        $ref: "#/definitions/ResourceId"
        description: Virtual network subnet resource ID the cluster nodes belong to.
        title: Subnet.
      userAccountSettings:
        $ref: "#/definitions/UserAccountSettings"
        description: Administrator user account settings which can be used to SSH to compute nodes.
        title: User account settings.
      virtualMachineConfiguration:
        $ref: "#/definitions/VirtualMachineConfiguration"
        description: Virtual machine configuration (OS image) of the compute nodes. All nodes in a cluster have the same OS image configuration.
        title: VM configuration.
      vmPriority:
        default: dedicated
        description: VM priority of cluster nodes.
        enum:
          - dedicated
          - lowpriority
        title: VM priority.
        type: string
        x-ms-enum:
          modelAsString: false
          name: VmPriority
      vmSize:
        description: The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size.
        title: VM size.
        type: string
  ClusterUpdateParameters:
    description: Cluster update parameters.
    properties:
      properties:
        $ref: "#/definitions/ClusterUpdateProperties"
        description: The properties of the Cluster.
        x-ms-client-flatten: true
  ClusterUpdateProperties:
    description: The properties of a Cluster that need to be updated.
    properties:
      scaleSettings:
        $ref: "#/definitions/ScaleSettings"
        description: Desired scale settings for the cluster. Batch AI service supports manual and auto scale clusters.
        title: Scale settings.
  ContainerSettings:
    description: Docker container settings.
    properties:
      imageSourceRegistry:
        $ref: "#/definitions/ImageSourceRegistry"
        description: Information about docker image and docker registry to download the container from.
        title: Image source registry.
      shmSize:
        description: Size of /dev/shm. Please refer to docker documentation for supported argument formats.
        title: /dev/shm size.
        type: string
    required:
      - imageSourceRegistry
  CustomMpiSettings:
    description: Custom MPI job settings.
    properties:
      commandLine:
        description: The command line to be executed by mpi runtime on each compute node.
        title: Command line.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
    required:
      - commandLine
  CustomToolkitSettings:
    description: Custom tool kit job settings.
    properties:
      commandLine:
        description: The command line to execute on the master node.
        title: Command line.
        type: string
  DataDisks:
    description: Data disks settings.
    properties:
      cachingType:
        default: none
        description: Caching type for the disks. Available values are none (default), readonly, readwrite. Caching type can be set only for VM sizes supporting premium storage.
        enum:
          - none
          - readonly
          - readwrite
        title: Caching type.
        type: string
        x-ms-enum:
          modelAsString: false
          name: CachingType
      diskCount:
        description: Number of data disks attached to the File Server. If multiple disks attached, they will be configured in RAID level 0.
        format: int32
        readOnly: false
        title: Number of data disks.
        type: integer
      diskSizeInGB:
        description: Disk size in GB for the blank data disks.
        format: int32
        readOnly: false
        title: Disk size in GB.
        type: integer
      storageAccountType:
        description: "Type of storage account to be used on the disk. Possible values are: Standard_LRS or Premium_LRS. Premium storage account type can only be used with VM sizes supporting premium storage."
        enum:
          - Standard_LRS
          - Premium_LRS
        readOnly: false
        title: Storage account type.
        type: string
        x-ms-enum:
          modelAsString: true
          name: StorageAccountType
    required:
      - diskSizeInGB
      - diskCount
      - storageAccountType
  DeallocationOption:
    default: requeue
    description: "Actions which should be performed when compute nodes are removed from the cluster. Possible values are: requeue (default) - Terminate running jobs and requeue them so 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. waitforjobcompletion - Allow currently running jobs to complete. Schedule no new jobs while waiting. Remove compute nodes when all jobs have completed."
    enum:
      - requeue
      - terminate
      - waitforjobcompletion
    title: Deallocation options.
    type: string
    x-ms-enum:
      modelAsString: true
      name: DeallocationOption
  EnvironmentVariable:
    description: An environment variable definition.
    properties:
      name:
        description: The name of the environment variable.
        title: Name.
        type: string
      value:
        description: The value of the environment variable.
        title: Value.
        type: string
    required:
      - name
      - value
  EnvironmentVariableWithSecretValue:
    description: An environment variable with secret value definition.
    properties:
      name:
        description: The name of the environment variable to store the secret value.
        title: Name.
        type: string
      value:
        description: The value of the environment variable. This value will never be reported back by Batch AI.
        title: Value.
        type: string
      valueSecretReference:
        $ref: "#/definitions/KeyVaultSecretReference"
        description: KeyVault store and secret which contains the value for the environment variable. One of value or valueSecretReference must be provided.
        title: KeyVault secret reference.
    required:
      - name
  Experiment:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Experiment information.
    properties:
      properties:
        $ref: "#/definitions/ExperimentProperties"
        description: The properties associated with the experiment.
        x-ms-client-flatten: true
  ExperimentListResult:
    description: Values returned by the List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of experiments.
        items:
          $ref: "#/definitions/Experiment"
        readOnly: true
        type: array
  ExperimentProperties:
    description: Experiment properties.
    properties:
      creationTime:
        description: Time when the Experiment was created.
        format: date-time
        readOnly: true
        title: Creation time.
        type: string
      provisioningState:
        description: The provisioned state of the experiment
        enum:
          - creating
          - deleting
          - succeeded
          - failed
        readOnly: true
        title: Provisioning state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
        x-nullable: false
      provisioningStateTransitionTime:
        description: The time at which the experiment entered its current provisioning state.
        format: date-time
        readOnly: true
        title: Provisioning state transition time.
        type: string
  File:
    description: Properties of the file or directory.
    properties:
      downloadUrl:
        description: URL to download the corresponding file. The downloadUrl is not returned for directories.
        readOnly: true
        title: Download URL.
        type: string
      fileType:
        description: Type of the file. Possible values are file and directory.
        enum:
          - file
          - directory
        readOnly: true
        title: File type.
        type: string
        x-ms-enum:
          modelAsString: true
          name: FileType
      name:
        description: Name of the file.
        readOnly: true
        title: Name.
        type: string
      properties:
        $ref: "#/definitions/FileProperties"
        description: The properties associated with the file. The properties are not returned for directories.
        title: Properties.
        x-ms-client-flatten: true
  FileListResult:
    description: Values returned by the List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of returned job directories and files.
        items:
          $ref: "#/definitions/File"
        readOnly: true
        type: array
  FileProperties:
    description: File properties.
    properties:
      contentLength:
        description: The file of the size.
        format: int64
        readOnly: true
        title: Content length.
        type: integer
      lastModified:
        description: The time at which the file was last modified.
        format: date-time
        readOnly: true
        title: Last modified time.
        type: string
  FileServer:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: File Server information.
    properties:
      properties:
        $ref: "#/definitions/FileServerProperties"
        description: File Server properties.
        x-ms-client-flatten: true
  FileServerBaseProperties:
    description: The properties of a file server.
    properties:
      dataDisks:
        $ref: "#/definitions/DataDisks"
        description: Settings for the data disks which will be created for the File Server.
        title: Data disks.
      sshConfiguration:
        $ref: "#/definitions/SshConfiguration"
        description: SSH configuration for the File Server node.
        title: SSH configuration.
      subnet:
        $ref: "#/definitions/ResourceId"
        description: Identifier of an existing virtual network subnet to put the File Server in. If not provided, a new virtual network and subnet will be created.
        title: Subnet identifier.
      vmSize:
        description: The size of the virtual machine for the File Server. For information about available VM sizes from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux).
        title: VM size.
        type: string
    required:
      - vmSize
      - sshConfiguration
      - dataDisks
  FileServerCreateParameters:
    description: File Server creation parameters.
    properties:
      properties:
        $ref: "#/definitions/FileServerBaseProperties"
        description: The properties of the File Server.
        x-ms-client-flatten: true
  FileServerListResult:
    description: Values returned by the File Server List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of File Servers.
        items:
          $ref: "#/definitions/FileServer"
        type: array
  FileServerProperties:
    description: File Server properties.
    properties:
      creationTime:
        description: Time when the FileServer was created.
        format: date-time
        readOnly: true
        title: Creation time.
        type: string
      dataDisks:
        $ref: "#/definitions/DataDisks"
        description: Information about disks attached to File Server VM.
        title: Data disks configuration.
      mountSettings:
        $ref: "#/definitions/MountSettings"
        description: File Server mount settings.
        readOnly: true
        title: Mount settings.
      provisioningState:
        description: "Provisioning state of the File Server. 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 error code. Details about the error code are specified in the message field; succeeded - The File Server creation has succeeded."
        enum:
          - creating
          - updating
          - deleting
          - succeeded
          - failed
        readOnly: true
        title: Provisioning state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: FileServerProvisioningState
        x-nullable: false
      provisioningStateTransitionTime:
        description: Time when the provisioning state was changed.
        format: date-time
        readOnly: true
        title: Provisioning State Transition time.
        type: string
      sshConfiguration:
        $ref: "#/definitions/SshConfiguration"
        description: SSH configuration for accessing the File Server node.
        title: SSH configuration.
      subnet:
        $ref: "#/definitions/ResourceId"
        description: File Server virtual network subnet resource ID.
        title: Subnet.
      vmSize:
        description: VM size of the File Server.
        title: VM size.
        type: string
  FileServerReference:
    description: File Server mounting configuration.
    properties:
      fileServer:
        $ref: "#/definitions/ResourceId"
        description: Resource ID of the existing File Server to be mounted.
        title: File server.
      mountOptions:
        description: Mount options to be passed to mount command.
        title: Mount options.
        type: string
      relativeMountPath:
        description: The relative path on the compute node where the File Server will be mounted. Note that all cluster level file servers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level file servers will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT.
        title: Relative mount path.
        type: string
      sourceDirectory:
        description: File Server directory that needs to be mounted. If this property is not specified, the entire File Server will be mounted.
        title: Source directory.
        type: string
    required:
      - fileServer
      - relativeMountPath
  HorovodSettings:
    description: Specifies the settings for Horovod job.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the python script.
        title: Command line arguments.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: The python script to execute.
        title: Python script file path.
        type: string
    required:
      - pythonScriptFilePath
  ImageReference:
    description: The OS image reference.
    properties:
      offer:
        description: Offer of the image.
        title: Offer.
        type: string
      publisher:
        description: Publisher of the image.
        title: Publisher.
        type: string
      sku:
        description: SKU of the image.
        title: SKU.
        type: string
      version:
        description: Version of the image.
        title: Version.
        type: string
      virtualMachineImageId:
        description: The ARM resource identifier of the virtual machine image for the compute nodes. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}. 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.
        title: Custom VM image resource ID.
        type: string
    required:
      - publisher
      - offer
      - sku
  ImageSourceRegistry:
    description: Information about docker image for the job.
    properties:
      credentials:
        $ref: "#/definitions/PrivateRegistryCredentials"
        description: Credentials to access the private docker repository.
        title: Credentials.
      image:
        description: The name of the image in the image repository.
        title: Image.
        type: string
      serverUrl:
        description: URL for image repository.
        title: Server URL.
        type: string
    required:
      - image
  InputDirectory:
    description: Input directory for the job.
    properties:
      id:
        description: The ID for the input directory. The job can use AZ_BATCHAI_INPUT_<id> environment variable to find the directory path, where <id> is the value of id attribute.
        title: ID.
        type: string
      path:
        description: The path to the input directory.
        title: Path.
        type: string
    required:
      - id
      - path
  Job:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Information about a Job.
    properties:
      properties:
        $ref: "#/definitions/JobProperties"
        description: The properties associated with the Job.
        x-ms-client-flatten: true
  JobBaseProperties:
    description: The properties of a Batch AI Job.
    properties:
      caffe2Settings:
        $ref: "#/definitions/Caffe2Settings"
        description: Settings for Caffe2 job.
        title: Caffe2 settings.
      caffeSettings:
        $ref: "#/definitions/CaffeSettings"
        description: Settings for Caffe job.
        title: Caffe settings.
      chainerSettings:
        $ref: "#/definitions/ChainerSettings"
        description: Settings for Chainer job.
        title: Chainer settings.
      cluster:
        $ref: "#/definitions/ResourceId"
        description: Resource ID of the cluster on which this job will run.
        title: Cluster.
      cntkSettings:
        $ref: "#/definitions/CNTKsettings"
        description: Settings for CNTK (aka Microsoft Cognitive Toolkit) job.
        title: CNTK settings.
      constraints:
        description: Constraints associated with the Job.
        properties:
          maxWallClockTime:
            default: 7.00:00:00
            description: "Max time the job can run. Default value: 1 week."
            format: duration
            title: Max wall clock time.
            type: string
      containerSettings:
        $ref: "#/definitions/ContainerSettings"
        description: Docker container settings for the job. If not provided, the job will run directly on the node.
        title: Container settings.
      customMpiSettings:
        $ref: "#/definitions/CustomMpiSettings"
        description: Settings for custom MPI job.
        title: Custom MPI settings.
      customToolkitSettings:
        $ref: "#/definitions/CustomToolkitSettings"
        description: Settings for custom tool kit job.
        title: Custom tool kit job.
      environmentVariables:
        description: A list of user defined environment variables which will be setup for the job.
        items:
          $ref: "#/definitions/EnvironmentVariable"
        title: Environment variables.
        type: array
      horovodSettings:
        $ref: "#/definitions/HorovodSettings"
        description: Settings for Horovod job.
        title: Horovod settings.
      inputDirectories:
        description: A list of input directories for the job.
        items:
          $ref: "#/definitions/InputDirectory"
        title: Input directories.
        type: array
      jobPreparation:
        $ref: "#/definitions/JobPreparation"
        description: A command line to be executed on each node allocated for the job before tool kit is launched.
        title: Job preparation.
      mountVolumes:
        $ref: "#/definitions/MountVolumes"
        description: Information on mount volumes to be used by the job. These volumes will be mounted before the job execution and will be unmounted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.
        title: Mount volumes.
      nodeCount:
        description: Number of compute nodes to run the job on. The job will be gang scheduled on that many compute nodes.
        format: int32
        title: Node count.
        type: integer
      outputDirectories:
        description: A list of output directories for the job.
        items:
          $ref: "#/definitions/OutputDirectory"
        title: Output directories.
        type: array
      pyTorchSettings:
        $ref: "#/definitions/PyTorchSettings"
        description: Settings for pyTorch job.
        title: pyTorch settings.
      schedulingPriority:
        default: normal
        description: "Scheduling priority associated with the job. Possible values: low, normal, high."
        enum:
          - low
          - normal
          - high
        title: Scheduling priority.
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobPriority
      secrets:
        description: A list of user defined environment variables with secret values which will be setup for the job. Server will never report values of these variables back.
        items:
          $ref: "#/definitions/EnvironmentVariableWithSecretValue"
        title: Secrets.
        type: array
      stdOutErrPathPrefix:
        description: The path where the Batch AI service will store stdout, stderror and execution log of the job.
        title: Standard output path prefix.
        type: string
      tensorFlowSettings:
        $ref: "#/definitions/TensorFlowSettings"
        description: Settings for Tensor Flow job.
        title: TensorFlow settings.
    required:
      - cluster
      - nodeCount
      - stdOutErrPathPrefix
  JobCreateParameters:
    description: Job creation parameters.
    properties:
      properties:
        $ref: "#/definitions/JobBaseProperties"
        description: The properties of the Job.
        x-ms-client-flatten: true
  JobListResult:
    description: Values returned by the List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of jobs.
        items:
          $ref: "#/definitions/Job"
        readOnly: true
        type: array
  JobPreparation:
    description: Job preparation settings.
    properties:
      commandLine:
        description: The command line to execute. 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.
        title: Command line.
        type: string
    required:
      - commandLine
  JobProperties:
    description: Job properties.
    properties:
      caffe2Settings:
        $ref: "#/definitions/Caffe2Settings"
        title: Specifies the settings for Caffe2 job.
      caffeSettings:
        $ref: "#/definitions/CaffeSettings"
        title: Specifies the settings for Caffe job.
      chainerSettings:
        $ref: "#/definitions/ChainerSettings"
        title: Specifies the settings for Chainer job.
      cluster:
        $ref: "#/definitions/ResourceId"
        description: Resource ID of the cluster associated with the job.
        title: Cluster.
      cntkSettings:
        $ref: "#/definitions/CNTKsettings"
        title: Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.
      constraints:
        description: Constraints associated with the Job.
        properties:
          maxWallClockTime:
            default: 7.00:00:00
            description: "Max time the job can run. Default value: 1 week."
            format: duration
            title: Max wall clock time.
            type: string
      containerSettings:
        $ref: "#/definitions/ContainerSettings"
        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.
        title: If provided the job will run in the specified container.
      creationTime:
        description: The creation time of the job.
        format: date-time
        readOnly: true
        title: Creation time.
        type: string
      customMpiSettings:
        $ref: "#/definitions/CustomMpiSettings"
        title: Specifies the settings for custom MPI job.
      customToolkitSettings:
        $ref: "#/definitions/CustomToolkitSettings"
        title: Specifies the settings for custom tool kit job.
      environmentVariables:
        description: A collection of user defined environment variables to be setup for the job.
        items:
          $ref: "#/definitions/EnvironmentVariable"
        title: Environment variables.
        type: array
      executionInfo:
        description: Information about the execution of a job.
        properties:
          endTime:
            description: The time at which the job completed. This property is only returned if the job is in completed state.
            format: date-time
            readOnly: true
            title: End time.
            type: string
          errors:
            description: A collection of errors encountered by the service during job execution.
            items:
              $ref: "#/definitions/BatchAIError"
            readOnly: true
            title: Errors.
            type: array
          exitCode:
            description: The exit code of the job. This property is only returned if the job is in completed state.
            format: int32
            readOnly: true
            title: Exit code.
            type: integer
          startTime:
            description: The time at which the job started running. '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.
            format: date-time
            readOnly: true
            title: Start time.
            type: string
      executionState:
        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 successfully 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
        readOnly: true
        title: Execution state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: ExecutionState
      executionStateTransitionTime:
        description: The time at which the job entered its current execution state.
        format: date-time
        readOnly: true
        title: Execution state transition time.
        type: string
      horovodSettings:
        $ref: "#/definitions/HorovodSettings"
        title: Specifies the settings for Horovod job.
      inputDirectories:
        description: A list of input directories for the job.
        items:
          $ref: "#/definitions/InputDirectory"
        title: Input directories.
        type: array
      jobOutputDirectoryPathSegment:
        description: A segment of job's output directories path created by Batch AI. 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.
        readOnly: true
        title: Output directory path segment.
        type: string
      jobPreparation:
        $ref: "#/definitions/JobPreparation"
        description: The specified actions will run on all the nodes that are part of the job
        title: Specifies the actions to be performed before tool kit is launched.
      mountVolumes:
        $ref: "#/definitions/MountVolumes"
        description: Collection of mount volumes available to the job during execution. These volumes are mounted before the job execution and unmounted after the job completion. The volumes are mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.
        title: Mount volumes.
      nodeCount:
        description: The job will be gang scheduled on that many compute nodes
        format: int32
        title: Number of compute nodes to run the job on.
        type: integer
      outputDirectories:
        description: A list of output directories for the job.
        items:
          $ref: "#/definitions/OutputDirectory"
        title: Output directories.
        type: array
      provisioningState:
        description: The provisioned state of the Batch AI job
        enum:
          - creating
          - deleting
          - succeeded
          - failed
        readOnly: true
        title: Provisioning state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
        x-nullable: false
      provisioningStateTransitionTime:
        description: The time at which the job entered its current provisioning state.
        format: date-time
        readOnly: true
        title: Provisioning state transition time.
        type: string
      pyTorchSettings:
        $ref: "#/definitions/PyTorchSettings"
        title: Specifies the settings for pyTorch job.
      schedulingPriority:
        default: normal
        description: Scheduling priority associated with the job.
        enum:
          - low
          - normal
          - high
        title: Scheduling priority.
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobPriority
      secrets:
        description: A collection of user defined environment variables with secret values to be setup for the job. Server will never report values of these variables back.
        items:
          $ref: "#/definitions/EnvironmentVariableWithSecretValue"
        title: Secrets.
        type: array
      stdOutErrPathPrefix:
        description: The path where the Batch AI service stores stdout, stderror and execution log of the job.
        title: Standard output directory path prefix.
        type: string
      tensorFlowSettings:
        $ref: "#/definitions/TensorFlowSettings"
        title: Specifies the settings for Tensor Flow job.
      toolType:
        $ref: "#/definitions/ToolType"
        description: "Possible values are: cntk, tensorflow, caffe, caffe2, chainer, pytorch, custom, custommpi, horovod."
        title: The toolkit type of this job.
  KeyVaultSecretReference:
    description: Key Vault Secret reference.
    properties:
      secretUrl:
        description: The URL referencing a secret in the Key Vault.
        title: Secret URL.
        type: string
      sourceVault:
        $ref: "#/definitions/ResourceId"
        description: Fully qualified resource identifier of the Key Vault.
        title: Key Vault resource identifier.
    required:
      - sourceVault
      - secretUrl
  ListUsagesResult:
    description: The List Usages operation response.
    properties:
      nextLink:
        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.
        readOnly: true
        type: string
      value:
        description: The list of compute resource usages.
        items:
          $ref: "#/definitions/Usage"
        readOnly: true
        type: array
  ManualScaleSettings:
    description: Manual scale settings for the cluster.
    properties:
      nodeDeallocationOption:
        $ref: "#/definitions/DeallocationOption"
        default: requeue
        description: An action to be performed when the cluster size is decreasing. The default value is requeue.
        title: Node deallocation options.
      targetNodeCount:
        default: 0
        description: The desired number of compute nodes in the Cluster. Default is 0.
        format: int32
        title: Target node count.
        type: integer
    required:
      - targetNodeCount
  MountSettings:
    description: File Server mount Information.
    properties:
      fileServerInternalIP:
        description: Internal IP address of the File Server which can be used to access the File Server from within the subnet.
        title: Internal IP.
        type: string
      fileServerPublicIP:
        description: Public IP address of the File Server which can be used to SSH to the node from outside of the subnet.
        title: Public IP.
        type: string
      mountPoint:
        description: Path where the data disks are mounted on the File Server.
        title: Mount Point.
        type: string
  MountVolumes:
    description: Details of volumes to mount on the cluster.
    properties:
      azureBlobFileSystems:
        description: A collection of Azure Blob Containers that are to be mounted to the cluster nodes.
        items:
          $ref: "#/definitions/AzureBlobFileSystemReference"
        title: Azure Blob file systems.
        type: array
      azureFileShares:
        description: A collection of Azure File Shares that are to be mounted to the cluster nodes.
        items:
          $ref: "#/definitions/AzureFileShareReference"
        title: Azure File Shares.
        type: array
      fileServers:
        description: A collection of Batch AI File Servers that are to be mounted to the cluster nodes.
        items:
          $ref: "#/definitions/FileServerReference"
        title: File Servers.
        type: array
      unmanagedFileSystems:
        description: A collection of unmanaged file systems that are to be mounted to the cluster nodes.
        items:
          $ref: "#/definitions/UnmanagedFileSystemReference"
        title: Unmanaged file systems.
        type: array
  NameValuePair:
    description: Name-value pair.
    properties:
      name:
        description: The name in the name-value pair.
        title: Name.
        type: string
      value:
        description: The value in the name-value pair.
        title: Value.
        type: string
  NodeSetup:
    description: Node setup settings.
    properties:
      mountVolumes:
        $ref: "#/definitions/MountVolumes"
        description: Mount volumes to be available to setup task and all jobs executing on the cluster. The volumes will be mounted at location specified by $AZ_BATCHAI_MOUNT_ROOT environment variable.
        title: Mount volumes.
      performanceCountersSettings:
        $ref: "#/definitions/PerformanceCountersSettings"
        description: Settings for performance counters collecting and uploading.
        title: Performance counters settings.
      setupTask:
        $ref: "#/definitions/SetupTask"
        description: Setup task to run on cluster nodes when nodes got created or rebooted. The setup task code needs to be idempotent. Generally the setup task is used to download static data that is required for all jobs that run on the cluster VMs and/or to download/install software.
        title: Setup task.
  NodeStateCounts:
    description: Counts of various compute node states on the cluster.
    properties:
      idleNodeCount:
        description: Number of compute nodes in idle state.
        format: int32
        readOnly: true
        title: Idle node count.
        type: integer
      leavingNodeCount:
        description: Number of compute nodes which are leaving the cluster.
        format: int32
        readOnly: true
        title: Leaving node count.
        type: integer
      preparingNodeCount:
        description: Number of compute nodes which are being prepared.
        format: int32
        readOnly: true
        title: Preparing node count.
        type: integer
      runningNodeCount:
        description: Number of compute nodes which are running jobs.
        format: int32
        readOnly: true
        title: Running node count.
        type: integer
      unusableNodeCount:
        description: Number of compute nodes which are in unusable state.
        format: int32
        readOnly: true
        title: Unusable node count.
        type: integer
  Operation:
    description: Details of a REST API operation
    properties:
      display:
        description: The object that describes the operation.
        properties:
          description:
            readOnly: true
            title: The friendly name of the operation.
            type: string
          operation:
            description: "For example: read, write, delete, or listKeys/action"
            readOnly: true
            title: The operation type.
            type: string
          provider:
            readOnly: true
            title: Friendly name of the resource provider.
            type: string
          resource:
            readOnly: true
            title: The resource type on which the operation is performed.
            type: string
      name:
        description: This is of the format {provider}/{resource}/{operation}
        readOnly: true
        title: The operation name.
        type: string
      origin:
        readOnly: true
        title: The intended executor of the operation.
        type: string
      properties:
        title: Properties of the operation.
        type: object
        x-ms-client-flatten: true
    title: A REST API operation.
    type: object
  OperationListResult:
    description: Contains the list of all operations supported by BatchAI resource provider
    properties:
      nextLink:
        readOnly: true
        title: The URL to get the next set of operation list results if there are any.
        type: string
      value:
        items:
          $ref: "#/definitions/Operation"
        readOnly: true
        title: The list of operations supported by the resource provider.
        type: array
    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.
  OutputDirectory:
    description: Output directory for the job.
    properties:
      id:
        description: The ID of the output directory. The job can use AZ_BATCHAI_OUTPUT_<id> environment variable to find the directory path, where <id> is the value of id attribute.
        title: ID.
        type: string
      pathPrefix:
        description: The prefix path where the output directory will be created. Note, this is an absolute path to prefix. E.g. $AZ_BATCHAI_MOUNT_ROOT/MyNFS/MyLogs. The full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix.
        title: Path prefix.
        type: string
      pathSuffix:
        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.
        title: Path suffix.
        type: string
    required:
      - id
      - pathPrefix
  PerformanceCountersSettings:
    description: Performance counters reporting settings.
    properties:
      appInsightsReference:
        $ref: "#/definitions/AppInsightsReference"
        description: Azure Application Insights information for performance counters reporting. If provided, Batch AI will upload node performance counters to the corresponding Azure Application Insights account.
        title: Azure Application Insights reference.
    required:
      - appInsightsReference
  PrivateRegistryCredentials:
    description: Credentials to access a container image in a private repository.
    properties:
      password:
        description: User password to login to the docker repository. One of password or passwordSecretReference must be specified.
        title: Password.
        type: string
      passwordSecretReference:
        $ref: "#/definitions/KeyVaultSecretReference"
        description: KeyVault Secret storing the password. 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.
        title: Password secret reference.
      username:
        description: User name to login to the repository.
        title: User name.
        type: string
    required:
      - username
  ProxyResource:
    description: A definition of an Azure proxy resource.
    properties:
      id:
        description: The ID of the resource.
        readOnly: true
        type: string
      name:
        description: The name of the resource.
        readOnly: true
        type: string
      type:
        description: The type of the resource.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  PyTorchSettings:
    description: pyTorch job settings.
    properties:
      commandLineArgs:
        description: Command line arguments that need to be passed to the python script.
        title: Command line arguments.
        type: string
      communicationBackend:
        description: Type of the communication backend for distributed jobs. Valid values are 'TCP', 'Gloo' or 'MPI'. Not required for non-distributed jobs.
        title: Communication backend.
        type: string
      processCount:
        description: Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property
        format: int32
        title: Process count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: The python script to execute.
        title: Python script file path.
        type: string
    required:
      - pythonScriptFilePath
  RemoteLoginInformation:
    description: Login details to SSH to a compute node in cluster.
    properties:
      ipAddress:
        description: Public IP address of the compute node.
        readOnly: true
        title: IP address.
        type: string
      nodeId:
        description: ID of the compute node.
        readOnly: true
        title: Node ID.
        type: string
      port:
        description: SSH port number of the node.
        format: int32
        readOnly: true
        title: Port.
        type: number
  RemoteLoginInformationListResult:
    description: Values returned by the List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of returned remote login details.
        items:
          $ref: "#/definitions/RemoteLoginInformation"
        readOnly: true
        type: array
  Resource:
    description: A definition of an Azure resource.
    properties:
      id:
        description: The ID of the resource
        readOnly: true
        type: string
      location:
        description: The location of the resource
        readOnly: true
        type: string
      name:
        description: The name of the resource
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: The tags of the resource
        readOnly: true
        type: object
      type:
        description: The type of the resource
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ResourceId:
    description: Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.
    properties:
      id:
        description: The ID of the resource
        type: string
    required:
      - id
    x-ms-azure-resource: true
  ScaleSettings:
    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.
    properties:
      autoScale:
        $ref: "#/definitions/AutoScaleSettings"
        description: Auto-scale settings for the cluster.
        title: Auto-scale settings.
      manual:
        $ref: "#/definitions/ManualScaleSettings"
        description: Manual scale settings for the cluster.
        title: Manual scale settings.
  SetupTask:
    description: Specifies a setup task which can be used to customize the compute nodes of the cluster.
    properties:
      commandLine:
        description: The 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.
        title: Command line.
        type: string
      environmentVariables:
        description: A collection of user defined environment variables to be set for setup task.
        items:
          $ref: "#/definitions/EnvironmentVariable"
        title: Environment variables.
        type: array
      secrets:
        description: A collection of user defined environment variables with secret values to be set for the setup task. Server will never report values of these variables back.
        items:
          $ref: "#/definitions/EnvironmentVariableWithSecretValue"
        title: Secrets.
        type: array
      stdOutErrPathPrefix:
        description: The prefix of a path where the Batch AI service will upload the stdout, stderr and execution log of the setup task.
        title: Output path prefix.
        type: string
      stdOutErrPathSuffix:
        description: A path segment appended by Batch AI to stdOutErrPathPrefix to form a path where stdout, stderr and execution log of the setup task will be uploaded. Batch AI creates the setup task output directories under an unique path to avoid conflicts between different clusters. The full path can be obtained by concatenation of stdOutErrPathPrefix and stdOutErrPathSuffix.
        readOnly: true
        title: Output path suffix.
        type: string
    required:
      - commandLine
      - stdOutErrPathPrefix
  SshConfiguration:
    description: SSH configuration.
    properties:
      publicIPsToAllow:
        description: List of source IP ranges to allow SSH connection from. The default value is '*' (all source IPs are allowed). Maximum number of IP ranges that can be specified is 400.
        items:
          type: string
        title: Allowed public IPs.
        type: array
      userAccountSettings:
        $ref: "#/definitions/UserAccountSettings"
        description: Settings for administrator user account to be created on a node. The account can be used to establish SSH connection to the node.
        title: User account settings.
    required:
      - userAccountSettings
  TensorFlowSettings:
    description: TensorFlow job settings.
    properties:
      masterCommandLineArgs:
        description: Command line arguments that need to be passed to the python script for the master task.
        title: Master command line arguments.
        type: string
      parameterServerCommandLineArgs:
        description: Command line arguments that need to be passed to the python script for the parameter server. Optional for single process jobs.
        title: Parameter server command line arguments.
        type: string
      parameterServerCount:
        description: The number of parameter server tasks. 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 can be specified only for distributed TensorFlow training.
        format: int32
        title: Parameter server count.
        type: integer
      pythonInterpreterPath:
        description: The path to the Python interpreter.
        title: Python interpreter path.
        type: string
      pythonScriptFilePath:
        description: The python script to execute.
        title: Python script file path.
        type: string
      workerCommandLineArgs:
        description: Command line arguments that need to be passed to the python script for the worker task. Optional for single process jobs.
        title: Worker command line arguments.
        type: string
      workerCount:
        description: The number of worker tasks. 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.
        format: int32
        title: Worker count.
        type: integer
    required:
      - pythonScriptFilePath
  ToolType:
    description: The toolkit type of the job.
    enum:
      - cntk
      - tensorflow
      - caffe
      - caffe2
      - chainer
      - horovod
      - custommpi
      - custom
    title: Toolkit type.
    type: string
    x-ms-enum:
      modelAsString: true
      name: ToolType
  UnmanagedFileSystemReference:
    description: Unmanaged file system mounting configuration.
    properties:
      mountCommand:
        description: Mount command line. Note, Batch AI will append mount path to the command on its own.
        title: Mount command.
        type: string
      relativeMountPath:
        description: The relative path on the compute node where the unmanaged file system will be mounted. Note that all cluster level unmanaged file systems will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level unmanaged file systems will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT.
        title: Relative mount path.
        type: string
    required:
      - mountCommand
      - relativeMountPath
  Usage:
    description: Describes Batch AI Resource Usage.
    properties:
      currentValue:
        description: The current usage of the resource.
        format: int32
        readOnly: true
        type: integer
      limit:
        description: The maximum permitted usage of the resource.
        format: int64
        readOnly: true
        type: integer
      name:
        $ref: "#/definitions/UsageName"
        description: The name of the type of usage.
        readOnly: true
      unit:
        description: An enum describing the unit of usage measurement.
        enum:
          - Count
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: UsageUnit
  UsageName:
    description: The Usage Names.
    properties:
      localizedValue:
        description: The localized name of the resource.
        readOnly: true
        type: string
      value:
        description: The name of the resource.
        readOnly: true
        type: string
  UserAccountSettings:
    description: Settings for user account that gets created on each on the nodes of a cluster.
    properties:
      adminUserName:
        description: Name of the administrator user account which can be used to SSH to nodes.
        title: User name.
        type: string
      adminUserPassword:
        description: Password of the administrator user account.
        title: Password.
        type: string
      adminUserSshPublicKey:
        description: SSH public key of the administrator user account.
        title: SSH public key.
        type: string
    required:
      - adminUserName
  VirtualMachineConfiguration:
    description: VM configuration.
    properties:
      imageReference:
        $ref: "#/definitions/ImageReference"
        description: OS image reference for cluster nodes.
        title: Image reference.
  Workspace:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Batch AI Workspace information.
    properties:
      properties:
        $ref: "#/definitions/WorkspaceProperties"
        description: The properties associated with the workspace.
        x-ms-client-flatten: true
  WorkspaceCreateParameters:
    description: Workspace creation parameters.
    properties:
      location:
        description: The region in which to create the Workspace.
        title: Location.
        type: string
      tags:
        additionalProperties:
          type: string
        description: The user specified tags associated with the Workspace.
        title: Tags.
        type: object
    required:
      - location
  WorkspaceListResult:
    description: Values returned by the List operation.
    properties:
      nextLink:
        description: The continuation token.
        readOnly: true
        type: string
      value:
        description: The collection of workspaces.
        items:
          $ref: "#/definitions/Workspace"
        readOnly: true
        type: array
  WorkspaceProperties:
    description: Workspace specific properties.
    properties:
      creationTime:
        description: Time when the Workspace was created.
        format: date-time
        readOnly: true
        title: Creation time.
        type: string
      provisioningState:
        description: The provisioned state of the Workspace
        enum:
          - creating
          - deleting
          - succeeded
          - failed
        readOnly: true
        title: Provisioning state.
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
        x-nullable: false
      provisioningStateTransitionTime:
        description: The time at which the workspace entered its current provisioning state.
        format: date-time
        readOnly: true
        title: Provisioning state transition time.
        type: string
  WorkspaceUpdateParameters:
    description: Workspace update parameters.
    properties:
      tags:
        additionalProperties:
          type: string
        description: The user specified tags associated with the Workspace.
        title: Tags.
        type: object
