{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Azure DevTest Labs REST API version 2015-05-21-preview.",
    "title": "DevTestLabsClient",
    "version": "2015-05-21-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/preview/2015-05-21-preview/DTL.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "devtestlabs-DTL",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "oauth2": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "OAuth2 Implicit Grant",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "Access Microsoft Azure"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "oauth2": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "api-version": {
      "default": "2015-05-21-preview",
      "description": "Client API version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "subscriptionId": {
      "description": "The subscription ID.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs": {
      "get": {
        "consumes": [],
        "description": "List labs.",
        "operationId": "Lab_ListBySubscription",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Lab]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-odata": "#/definitions/Lab",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs": {
      "get": {
        "consumes": [],
        "description": "List labs.",
        "operationId": "Lab_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Lab]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-odata": "#/definitions/Lab",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources": {
      "get": {
        "consumes": [],
        "description": "List artifact sources.",
        "operationId": "ArtifactSource_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[ArtifactSource]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "ArtifactSource"
        ],
        "x-ms-odata": "#/definitions/ArtifactSource",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts": {
      "get": {
        "consumes": [],
        "description": "List artifacts.",
        "operationId": "Artifact_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "artifactSourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Artifact]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Artifact"
        ],
        "x-ms-odata": "#/definitions/Artifact",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}": {
      "get": {
        "consumes": [],
        "description": "Get artifact.",
        "operationId": "Artifact_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "artifactSourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Artifact"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Generates an ARM template for the given artifact, uploads the required files to a storage account, and validates the generated artifact.",
        "operationId": "Artifact_GenerateArmTemplate",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "artifactSourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "generateArmTemplateRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GenerateArmTemplateRequest"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ArmTemplateInfo"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Artifact"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete artifact source.",
        "operationId": "ArtifactSource_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "ArtifactSource"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Get artifact source.",
        "operationId": "ArtifactSource_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "ArtifactSource"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of artifact sources.",
        "operationId": "ArtifactSource_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "artifactSource",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "ArtifactSource"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing artifact source.",
        "operationId": "ArtifactSource_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the artifact source.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "artifactSource",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ArtifactSource"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "ArtifactSource"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights": {
      "get": {
        "consumes": [],
        "description": "List cost insights.",
        "operationId": "CostInsight_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[CostInsight]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CostInsight"
        ],
        "x-ms-odata": "#/definitions/CostInsight",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}": {
      "get": {
        "consumes": [],
        "description": "Get cost insight.",
        "operationId": "CostInsight_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the cost insight.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CostInsight"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CostInsight"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData": {
      "post": {
        "consumes": [],
        "description": "Refresh Lab's Cost Insight Data. This operation can take a while to complete.",
        "operationId": "CostInsight_RefreshData",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the cost insight.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CostInsight"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs": {
      "get": {
        "consumes": [],
        "description": "List costs.",
        "operationId": "Cost_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Cost]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Cost"
        ],
        "x-ms-odata": "#/definitions/Cost",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}": {
      "get": {
        "consumes": [],
        "description": "Get cost.",
        "operationId": "Cost_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the cost.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Cost"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Cost"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData": {
      "post": {
        "consumes": [],
        "description": "Refresh Lab's Cost Data. This operation can take a while to complete.",
        "operationId": "Cost_RefreshData",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the cost.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Cost"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages": {
      "get": {
        "consumes": [],
        "description": "List custom images.",
        "operationId": "CustomImage_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[CustomImage]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CustomImage"
        ],
        "x-ms-odata": "#/definitions/CustomImage",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete custom image. This operation can take a while to complete.",
        "operationId": "CustomImage_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the custom image.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CustomImage"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "consumes": [],
        "description": "Get custom image.",
        "operationId": "CustomImage_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the custom image.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CustomImage"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CustomImage"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing custom image. This operation can take a while to complete.",
        "operationId": "CustomImage_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the custom image.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "customImage",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CustomImage"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CustomImage"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/CustomImage"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "CustomImage"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas": {
      "get": {
        "consumes": [],
        "description": "List formulas.",
        "operationId": "Formula_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Formula]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Formula"
        ],
        "x-ms-odata": "#/definitions/Formula",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete formula.",
        "operationId": "Formula_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the formula.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Formula"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Get formula.",
        "operationId": "Formula_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the formula.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Formula"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Formula"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing Formula. This operation can take a while to complete.",
        "operationId": "Formula_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the formula.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "formula",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Formula"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Formula"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Formula"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Formula"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages": {
      "get": {
        "consumes": [],
        "description": "List gallery images.",
        "operationId": "GalleryImage_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[GalleryImage]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "GalleryImage"
        ],
        "x-ms-odata": "#/definitions/GalleryImage",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Evaluates Lab Policy.",
        "operationId": "PolicySet_EvaluatePolicies",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "evaluatePoliciesRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EvaluatePoliciesRequest"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EvaluatePoliciesResponse"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "PolicySet"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies": {
      "get": {
        "consumes": [],
        "description": "List policies.",
        "operationId": "Policy_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "policySetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Policy]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Policy"
        ],
        "x-ms-odata": "#/definitions/Policy",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete policy.",
        "operationId": "Policy_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "policySetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Policy"
        ]
      },
      "get": {
        "consumes": [],
        "description": "Get policy.",
        "operationId": "Policy_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "policySetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Policy"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of policies.",
        "operationId": "Policy_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "policySetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "policy",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Policy"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing policy.",
        "operationId": "Policy_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy set.",
            "in": "path",
            "name": "policySetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the policy.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "policy",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Policy"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules": {
      "get": {
        "consumes": [],
        "description": "List schedules.",
        "operationId": "Schedule_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[Schedule]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ],
        "x-ms-odata": "#/definitions/Schedule",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete schedule. This operation can take a while to complete.",
        "operationId": "Schedule_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the schedule.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "consumes": [],
        "description": "Get schedule.",
        "operationId": "Schedule_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the schedule.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of schedules.",
        "operationId": "Schedule_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the schedule.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "schedule",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing schedule. This operation can take a while to complete.",
        "operationId": "Schedule_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the schedule.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "schedule",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Schedule"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute": {
      "post": {
        "consumes": [],
        "description": "Execute a schedule. This operation can take a while to complete.",
        "operationId": "Schedule_Execute",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the schedule.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Schedule"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines": {
      "get": {
        "consumes": [],
        "description": "List virtual machines.",
        "operationId": "VirtualMachine_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[LabVirtualMachine]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-odata": "#/definitions/LabVirtualMachine",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete virtual machine. This operation can take a while to complete.",
        "operationId": "VirtualMachine_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "consumes": [],
        "description": "Get virtual machine.",
        "operationId": "VirtualMachine_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of virtual machines.",
        "operationId": "VirtualMachine_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "labVirtualMachine",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing Virtual Machine. This operation can take a while to complete.",
        "operationId": "VirtualMachine_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "labVirtualMachine",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Apply artifacts to Lab VM. This operation can take a while to complete.",
        "operationId": "VirtualMachine_ApplyArtifacts",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "applyArtifactsRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApplyArtifactsRequest"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start": {
      "post": {
        "consumes": [],
        "description": "Start a Lab VM. This operation can take a while to complete.",
        "operationId": "VirtualMachine_Start",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop": {
      "post": {
        "consumes": [],
        "description": "Stop a Lab VM. This operation can take a while to complete.",
        "operationId": "VirtualMachine_Stop",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual Machine.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualMachine"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks": {
      "get": {
        "consumes": [],
        "description": "List virtual networks.",
        "operationId": "VirtualNetwork_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "in": "query",
            "name": "$orderBy",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[VirtualNetwork]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualNetwork"
        ],
        "x-ms-odata": "#/definitions/VirtualNetwork",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete virtual network. This operation can take a while to complete.",
        "operationId": "VirtualNetwork_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualNetwork"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "consumes": [],
        "description": "Get virtual network.",
        "operationId": "VirtualNetwork_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualNetwork"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of virtual networks.",
        "operationId": "VirtualNetwork_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "virtualNetwork",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualNetwork"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing virtual network. This operation can take a while to complete.",
        "operationId": "VirtualNetwork_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "labName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "virtualNetwork",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "VirtualNetwork"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}": {
      "delete": {
        "consumes": [],
        "description": "Delete lab. This operation can take a while to complete.",
        "operationId": "Lab_DeleteResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "consumes": [],
        "description": "Get lab.",
        "operationId": "Lab_GetResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ]
      },
      "patch": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Modify properties of labs.",
        "operationId": "Lab_PatchResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "lab",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create or replace an existing Lab. This operation can take a while to complete.",
        "operationId": "Lab_CreateOrUpdateResource",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "lab",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Lab"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Create virtual machines in a Lab. This operation can take a while to complete.",
        "operationId": "Lab_CreateEnvironment",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "labVirtualMachine",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LabVirtualMachine"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "description": "Generate a URI for uploading custom disk images to a Lab.",
        "operationId": "Lab_GenerateUploadUri",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "generateUploadUriParameter",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GenerateUploadUriParameter"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/GenerateUploadUriResponse"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds": {
      "post": {
        "consumes": [],
        "description": "List disk images available for custom image creation.",
        "operationId": "Lab_ListVhds",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the lab.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponseWithContinuation[LabVhd]"
            }
          },
          "default": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "user_impersonation"
            ]
          }
        ],
        "tags": [
          "Lab"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "definitions": {
    "ApplyArtifactsRequest": {
      "description": "Request body for applying artifacts to a virtual machine.",
      "properties": {
        "artifacts": {
          "description": "The list of artifacts to apply.",
          "items": {
            "$ref": "#/definitions/ArtifactInstallProperties"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ArmTemplateInfo": {
      "description": "Information about a generated ARM template.",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/Object",
          "description": "The parameters of the ARM template."
        },
        "template": {
          "$ref": "#/definitions/Object",
          "description": "The template's contents."
        }
      },
      "type": "object"
    },
    "Artifact": {
      "description": "An artifact.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ArtifactProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "ArtifactDeploymentStatusProperties": {
      "description": "Properties of an artifact deployment.",
      "properties": {
        "artifactsApplied": {
          "description": "The total count of the artifacts that were successfully applied.",
          "format": "int32",
          "type": "integer"
        },
        "deploymentStatus": {
          "description": "The deployment status of the artifact.",
          "type": "string"
        },
        "totalArtifacts": {
          "description": "The total count of the artifacts that were tentatively applied.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ArtifactInstallProperties": {
      "description": "Properties of an artifact.",
      "properties": {
        "artifactId": {
          "description": "The artifact's identifier.",
          "type": "string"
        },
        "parameters": {
          "description": "The parameters of the artifact.",
          "items": {
            "$ref": "#/definitions/ArtifactParameterProperties"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ArtifactParameterProperties": {
      "description": "Properties of an artifact parameter.",
      "properties": {
        "name": {
          "description": "The name of the artifact parameter.",
          "type": "string"
        },
        "value": {
          "description": "The value of the artifact parameter.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ArtifactProperties": {
      "description": "Properties of an artifact.",
      "properties": {
        "description": {
          "description": "The description of the artifact.",
          "type": "string"
        },
        "filePath": {
          "description": "The file path of the artifact.",
          "type": "string"
        },
        "icon": {
          "description": "The icon of the artifact.",
          "type": "string"
        },
        "parameters": {
          "$ref": "#/definitions/Object",
          "description": "The parameters of the artifact."
        },
        "targetOsType": {
          "description": "Gets or sets the type of the target os.",
          "type": "string"
        },
        "title": {
          "description": "The title of the artifact.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ArtifactSource": {
      "description": "Properties of an artifact source.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ArtifactSourceProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "ArtifactSourceProperties": {
      "description": "Properties of an artifact source.",
      "properties": {
        "branchRef": {
          "description": "The branch reference of the artifact source.",
          "type": "string"
        },
        "displayName": {
          "description": "The display name of the artifact source.",
          "type": "string"
        },
        "folderPath": {
          "description": "The folder path of the artifact source.",
          "type": "string"
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "securityToken": {
          "description": "The security token of the artifact source.",
          "type": "string"
        },
        "sourceType": {
          "description": "The type of the artifact source.",
          "enum": [
            "VsoGit",
            "GitHub"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SourceControlType"
          }
        },
        "status": {
          "description": "The status of the artifact source.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "EnableStatus"
          }
        },
        "uri": {
          "description": "The URI of the artifact source.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CloudError": {
      "properties": {
        "error": {
          "$ref": "#/definitions/CloudErrorBody"
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "CloudErrorBody": {
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "$ref": "#/definitions/CloudErrorBody"
          },
          "type": "array"
        },
        "message": {
          "type": "string"
        },
        "target": {
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "Cost": {
      "description": "A cost item.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/CostProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "CostInsight": {
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/CostInsightProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "CostInsightProperties": {
      "properties": {
        "currencyCode": {
          "type": "string"
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "vmCosts": {
          "items": {
            "$ref": "#/definitions/VMCostProperties"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CostPerDayProperties": {
      "description": "The per-day properties of a cost item.",
      "properties": {
        "cost": {
          "description": "The cost of the cost item.",
          "format": "double",
          "type": "number"
        },
        "costType": {
          "description": "The type of the cost.",
          "enum": [
            "Unavailable",
            "Reported",
            "Projected"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CostPropertyType"
          }
        },
        "date": {
          "description": "The date of the cost item.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CostProperties": {
      "description": "Properties of a cost item.",
      "properties": {
        "costs": {
          "description": "The per-day costs items of the cost.",
          "items": {
            "$ref": "#/definitions/CostPerDayProperties"
          },
          "type": "array"
        },
        "currencyCode": {
          "description": "The currency code of the cost.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CustomImage": {
      "description": "A custom image.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/CustomImageProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "CustomImageProperties": {
      "description": "Properties of a custom image.",
      "properties": {
        "author": {
          "description": "The author of the custom image.",
          "type": "string"
        },
        "creationDate": {
          "description": "The creation date of the custom image.",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The description of the custom image.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type of the custom image.",
          "enum": [
            "Windows",
            "Linux",
            "None"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CustomImageOsType"
          }
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "vhd": {
          "$ref": "#/definitions/CustomImagePropertiesCustom",
          "description": "The VHD from which the image is to be created."
        },
        "vm": {
          "$ref": "#/definitions/CustomImagePropertiesFromVm",
          "description": ""
        }
      },
      "type": "object"
    },
    "CustomImagePropertiesCustom": {
      "description": "Properties for creating a custom image from a VHD.",
      "properties": {
        "imageName": {
          "description": "The image name.",
          "type": "string"
        },
        "sysPrep": {
          "description": "Indicates whether sysprep has been run on the VHD.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "CustomImagePropertiesFromVm": {
      "description": "Properties for creating a custom image from a virtual machine.",
      "properties": {
        "linuxOsInfo": {
          "$ref": "#/definitions/LinuxOsInfo",
          "description": "The Linux OS information of the VM."
        },
        "sourceVmId": {
          "description": "The source vm identifier.",
          "type": "string"
        },
        "sysPrep": {
          "description": "Indicates whether sysprep has been run on the VHD.",
          "type": "boolean"
        },
        "windowsOsInfo": {
          "$ref": "#/definitions/WindowsOsInfo",
          "description": "The Windows OS information of the VM."
        }
      },
      "type": "object"
    },
    "DayDetails": {
      "description": "Properties of a daily schedule.",
      "properties": {
        "time": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "EvaluatePoliciesProperties": {
      "description": "Properties for evaluating a policy set.",
      "properties": {
        "factData": {
          "description": "The fact data.",
          "type": "string"
        },
        "factName": {
          "description": "The fact name.",
          "type": "string"
        },
        "valueOffset": {
          "description": "The value offset.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EvaluatePoliciesRequest": {
      "description": "Request body for evaluating a policy set.",
      "properties": {
        "policies": {
          "description": "Policies to evaluate.",
          "items": {
            "$ref": "#/definitions/EvaluatePoliciesProperties"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EvaluatePoliciesResponse": {
      "description": "Response body for evaluating a policy set.",
      "properties": {
        "results": {
          "description": "Results of evaluating a policy set.",
          "items": {
            "$ref": "#/definitions/PolicySetResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Formula": {
      "description": "A formula.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/FormulaProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "FormulaProperties": {
      "description": "Properties of a formula.",
      "properties": {
        "author": {
          "description": "The author of the formula.",
          "type": "string"
        },
        "creationDate": {
          "description": "The creation date of the formula.",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The description of the formula.",
          "type": "string"
        },
        "formulaContent": {
          "$ref": "#/definitions/LabVirtualMachine",
          "description": "The content of the formula."
        },
        "osType": {
          "description": "The OS type of the formula.",
          "type": "string"
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "vm": {
          "$ref": "#/definitions/FormulaPropertiesFromVm",
          "description": "Information about a VM from which a formula is to be created."
        }
      },
      "type": "object"
    },
    "FormulaPropertiesFromVm": {
      "description": "Information about a VM from which a formula is to be created.",
      "properties": {
        "labVmId": {
          "description": "The identifier of the VM from which a formula is to be created.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GalleryImage": {
      "description": "A gallery image.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/GalleryImageProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "GalleryImageProperties": {
      "description": "Properties of a gallery image.",
      "properties": {
        "author": {
          "description": "The author of the gallery image.",
          "type": "string"
        },
        "createdDate": {
          "description": "The creation date of the gallery image.",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The description of the gallery image.",
          "type": "string"
        },
        "enabled": {
          "description": "Indicates whether this gallery image is enabled.",
          "type": "boolean"
        },
        "icon": {
          "description": "The icon of the gallery image.",
          "type": "string"
        },
        "imageReference": {
          "$ref": "#/definitions/GalleryImageReference",
          "description": "The image reference of the gallery image."
        }
      },
      "type": "object"
    },
    "GalleryImageReference": {
      "description": "The reference information for an Azure Marketplace image.",
      "properties": {
        "offer": {
          "description": "The offer of the gallery image.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type of the gallery image.",
          "type": "string"
        },
        "publisher": {
          "description": "The publisher of the gallery image.",
          "type": "string"
        },
        "sku": {
          "description": "The SKU of the gallery image.",
          "type": "string"
        },
        "version": {
          "description": "The version of the gallery image.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenerateArmTemplateRequest": {
      "description": "Parameters for generating an ARM template for deploying artifacts.",
      "properties": {
        "location": {
          "description": "The location of the virtual machine.",
          "type": "string"
        },
        "parameters": {
          "description": "The parameters of the ARM template.",
          "items": {
            "$ref": "#/definitions/ParameterInfo"
          },
          "type": "array"
        },
        "virtualMachineName": {
          "description": "The resource name of the virtual machine.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenerateUploadUriParameter": {
      "description": "Properties for generating an upload URI.",
      "properties": {
        "blobName": {
          "description": "The blob name of the upload URI.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenerateUploadUriResponse": {
      "description": "Response body for generating an upload URI.",
      "properties": {
        "uploadUri": {
          "description": "The upload URI for the VHD.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HourDetails": {
      "description": "Properties of an hourly schedule.",
      "properties": {
        "minute": {
          "description": "Minutes of the hour the schedule will run.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Lab": {
      "description": "A lab.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LabProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "LabProperties": {
      "description": "Properties of a lab.",
      "properties": {
        "artifactsStorageAccount": {
          "description": "The artifact storage account of the lab.",
          "type": "string"
        },
        "createdDate": {
          "description": "The creation date of the lab.",
          "format": "date-time",
          "type": "string"
        },
        "defaultStorageAccount": {
          "description": "The lab's default storage account.",
          "type": "string"
        },
        "defaultVirtualNetworkId": {
          "description": "The default virtual network identifier of the lab.",
          "type": "string"
        },
        "labStorageType": {
          "description": "The type of the lab storage.",
          "enum": [
            "Standard",
            "Premium"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "LabStorageType"
          }
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "storageAccounts": {
          "description": "The storage accounts of the lab.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "vaultName": {
          "description": "The name of the key vault of the lab.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabVhd": {
      "description": "Properties of a VHD in the lab.",
      "properties": {
        "id": {
          "description": "The absolute URI of the VHD.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabVirtualMachine": {
      "description": "A virtual machine.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LabVirtualMachineProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "LabVirtualMachineProperties": {
      "description": "Properties of a virtual machine.",
      "properties": {
        "artifactDeploymentStatus": {
          "$ref": "#/definitions/ArtifactDeploymentStatusProperties",
          "description": "The artifact deployment status for the virtual machine."
        },
        "artifacts": {
          "description": "The artifacts to be installed on the virtual machine.",
          "items": {
            "$ref": "#/definitions/ArtifactInstallProperties"
          },
          "type": "array"
        },
        "computeId": {
          "description": "The resource identifier (Microsoft.Compute) of the virtual machine.",
          "type": "string"
        },
        "createdByUser": {
          "description": "The email address of creator of the virtual machine.",
          "type": "string"
        },
        "createdByUserId": {
          "description": "The object identifier of the creator of the virtual machine.",
          "type": "string"
        },
        "customImageId": {
          "description": "The custom image identifier of the virtual machine.",
          "type": "string"
        },
        "disallowPublicIpAddress": {
          "description": "Indicates whether the virtual machine is to be created without a public IP address.",
          "type": "boolean"
        },
        "fqdn": {
          "description": "The fully-qualified domain name of the virtual machine.",
          "type": "string"
        },
        "galleryImageReference": {
          "$ref": "#/definitions/GalleryImageReference",
          "description": "The Microsoft Azure Marketplace image reference of the virtual machine."
        },
        "isAuthenticationWithSshKey": {
          "description": "A value indicating whether this virtual machine uses an SSH key for authentication.",
          "type": "boolean"
        },
        "labSubnetName": {
          "description": "The lab subnet name of the virtual machine.",
          "type": "string"
        },
        "labVirtualNetworkId": {
          "description": "The lab virtual network identifier of the virtual machine.",
          "type": "string"
        },
        "notes": {
          "description": "The notes of the virtual machine.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type of the virtual machine.",
          "type": "string"
        },
        "ownerObjectId": {
          "description": "The object identifier of the owner of the virtual machine.",
          "type": "string"
        },
        "password": {
          "description": "The password of the virtual machine administrator.",
          "type": "string"
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "size": {
          "description": "The size of the virtual machine.",
          "type": "string"
        },
        "sshKey": {
          "description": "The SSH key of the virtual machine administrator.",
          "type": "string"
        },
        "userName": {
          "description": "The user name of the virtual machine.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LinuxOsInfo": {
      "description": "Information about a Linux OS.",
      "properties": {
        "linuxOsState": {
          "description": "The state of the Linux OS.",
          "enum": [
            "NonDeprovisioned",
            "DeprovisionRequested",
            "DeprovisionApplied"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "LinuxOsState"
          }
        }
      },
      "type": "object"
    },
    "Object": {
      "properties": {},
      "type": "object"
    },
    "ParameterInfo": {
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Policy": {
      "description": "A Policy.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/PolicyProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "PolicyProperties": {
      "description": "Properties of a Policy.",
      "properties": {
        "description": {
          "description": "The description of the policy.",
          "type": "string"
        },
        "evaluatorType": {
          "description": "The evaluator type of the policy.",
          "enum": [
            "AllowedValuesPolicy",
            "MaxValuePolicy"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "PolicyEvaluatorType"
          }
        },
        "factData": {
          "description": "The fact data of the policy.",
          "type": "string"
        },
        "factName": {
          "description": "The fact name of the policy.",
          "enum": [
            "UserOwnedLabVmCount",
            "LabVmCount",
            "LabVmSize",
            "GalleryImage",
            "UserOwnedLabVmCountInSubnet"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "PolicyFactName"
          }
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "status": {
          "description": "The status of the policy.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "PolicyStatus"
          }
        },
        "threshold": {
          "description": "The threshold of the policy.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PolicySetResult": {
      "description": "Result of a policy set evaluation.",
      "properties": {
        "hasError": {
          "description": "A value indicating whether this policy set evaluation has discovered violations.",
          "type": "boolean"
        },
        "policyViolations": {
          "description": "The list of policy violations.",
          "items": {
            "$ref": "#/definitions/PolicyViolation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PolicyViolation": {
      "description": "Policy violation.",
      "properties": {
        "code": {
          "description": "The code of the policy violation.",
          "type": "string"
        },
        "message": {
          "description": "The message of the policy violation.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[ArtifactSource]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/ArtifactSource"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Artifact]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Artifact"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[CostInsight]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/CostInsight"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Cost]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Cost"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[CustomImage]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/CustomImage"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Formula]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Formula"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[GalleryImage]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/GalleryImage"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[LabVhd]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/LabVhd"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[LabVirtualMachine]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/LabVirtualMachine"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Lab]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Lab"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Policy]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Policy"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[Schedule]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/Schedule"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ResponseWithContinuation[VirtualNetwork]": {
      "description": "The response of a list operation.",
      "properties": {
        "nextLink": {
          "description": "Link for next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Results of the list operation.",
          "items": {
            "$ref": "#/definitions/VirtualNetwork"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Schedule": {
      "description": "A schedule.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ScheduleProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "ScheduleProperties": {
      "description": "Properties of a schedule.",
      "properties": {
        "dailyRecurrence": {
          "$ref": "#/definitions/DayDetails",
          "description": "The daily recurrence of the schedule."
        },
        "hourlyRecurrence": {
          "$ref": "#/definitions/HourDetails",
          "description": "The hourly recurrence of the schedule."
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "status": {
          "description": "The status of the schedule.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "EnableStatus"
          }
        },
        "taskType": {
          "description": "The task type of the schedule.",
          "enum": [
            "LabVmsShutdownTask",
            "LabVmsStartupTask",
            "LabBillingTask"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "TaskType"
          }
        },
        "timeZoneId": {
          "description": "The time zone id.",
          "type": "string"
        },
        "weeklyRecurrence": {
          "$ref": "#/definitions/WeekDetails",
          "description": "The weekly recurrence of the schedule."
        }
      },
      "type": "object"
    },
    "Subnet": {
      "properties": {
        "allowPublicIp": {
          "enum": [
            "Default",
            "Deny",
            "Allow"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UsagePermissionType"
          }
        },
        "labSubnetName": {
          "type": "string"
        },
        "resourceId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "SubnetOverride": {
      "description": "Property overrides on a subnet of a virtual network.",
      "properties": {
        "labSubnetName": {
          "description": "The name given to the subnet within the lab.",
          "type": "string"
        },
        "resourceId": {
          "description": "The resource identifier of the subnet.",
          "type": "string"
        },
        "useInVmCreationPermission": {
          "description": "Indicates whether this subnet can be used during virtual machine creation.",
          "enum": [
            "Default",
            "Deny",
            "Allow"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UsagePermissionType"
          }
        },
        "usePublicIpAddressPermission": {
          "description": "Indicates whether public IP addresses can be assigned to virtual machines on this subnet.",
          "enum": [
            "Default",
            "Deny",
            "Allow"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UsagePermissionType"
          }
        }
      },
      "type": "object"
    },
    "SubscriptionNotification": {
      "properties": {
        "properties": {
          "$ref": "#/definitions/SubscriptionNotificationProperties"
        },
        "registrationDate": {
          "type": "string"
        },
        "state": {
          "enum": [
            "NotDefined",
            "Registered",
            "Unregistered",
            "Warned",
            "Suspended",
            "Deleted"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SubscriptionNotificationState"
          }
        }
      },
      "type": "object"
    },
    "SubscriptionNotificationProperties": {
      "properties": {
        "tenantId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "VMCostProperties": {
      "properties": {
        "cost": {
          "format": "double",
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "resourceGroupName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "VirtualNetwork": {
      "description": "A virtual network.",
      "properties": {
        "id": {
          "description": "The identifier of the resource.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/VirtualNetworkProperties",
          "description": "The properties of the resource.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource.",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "VirtualNetworkProperties": {
      "description": "Properties of a virtual network.",
      "properties": {
        "allowedSubnets": {
          "description": "The allowed subnets of the virtual network.",
          "items": {
            "$ref": "#/definitions/Subnet"
          },
          "type": "array"
        },
        "description": {
          "description": "The description of the virtual network.",
          "type": "string"
        },
        "externalProviderResourceId": {
          "description": "The Microsoft.Network resource identifier of the virtual network.",
          "type": "string"
        },
        "provisioningState": {
          "description": "The provisioning status of the resource.",
          "type": "string"
        },
        "subnetOverrides": {
          "description": "The subnet overrides of the virtual network.",
          "items": {
            "$ref": "#/definitions/SubnetOverride"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "WeekDetails": {
      "description": "Properties of a weekly schedule.",
      "properties": {
        "time": {
          "description": "The time of the day.",
          "type": "string"
        },
        "weekdays": {
          "description": "The days of the week.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "WindowsOsInfo": {
      "description": "Information about a Windows OS.",
      "properties": {
        "windowsOsState": {
          "description": "The state of the Windows OS.",
          "enum": [
            "NonSysprepped",
            "SysprepRequested",
            "SysprepApplied"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "WindowsOsState"
          }
        }
      },
      "type": "object"
    }
  }
}