From 68a22fd8ded2a12693650f3e658d0d3a495b182e Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:34:37 -0700 Subject: [PATCH 01/21] Adds base for updating Microsoft.LabServices from version stable/2018-10-15 to version 2021-10-01-preview --- .../preview/2021-10-01-preview/ML.json | 5600 +++++++++++++++++ .../examples/Labs_List.json | 60 + 2 files changed, 5660 insertions(+) create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json new file mode 100644 index 000000000000..7c6a769f539c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json @@ -0,0 +1,5600 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-10-15", + "title": "ManagedLabsClient", + "description": "The Managed Labs Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.LabServices/operations": { + "get": { + "tags": [ + "ProviderOperations" + ], + "description": "Result of the request to list REST API operations", + "operationId": "ProviderOperations_List", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProviderOperationResult" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.LabServices/users/{userName}/getEnvironment": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Gets the virtual machine details", + "operationId": "GlobalUsers_GetEnvironment", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "environmentOperationsPayload", + "in": "body", + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentOperationsPayload" + } + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=environment)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetEnvironmentResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/getOperationBatchStatus": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Get batch operation status", + "operationId": "GlobalUsers_GetOperationBatchStatus", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "operationBatchStatusPayload", + "in": "body", + "description": "Payload to get the status of an operation", + "required": true, + "schema": { + "$ref": "#/definitions/OperationBatchStatusPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationBatchStatusResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/getOperationStatus": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Gets the status of long running operation", + "operationId": "GlobalUsers_GetOperationStatus", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "operationStatusPayload", + "in": "body", + "description": "Payload to get the status of an operation", + "required": true, + "schema": { + "$ref": "#/definitions/OperationStatusPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatusResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Get personal preferences for a user", + "operationId": "GlobalUsers_GetPersonalPreferences", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "personalPreferencesOperationsPayload", + "in": "body", + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "required": true, + "schema": { + "$ref": "#/definitions/PersonalPreferencesOperationsPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetPersonalPreferencesResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/listEnvironments": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "List Environments for the user", + "operationId": "GlobalUsers_ListEnvironments", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "listEnvironmentsPayload", + "in": "body", + "description": "Represents the payload to list environments owned by a user", + "required": true, + "schema": { + "$ref": "#/definitions/ListEnvironmentsPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListEnvironmentsResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/listLabs": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "List labs for the user.", + "operationId": "GlobalUsers_ListLabs", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListLabsResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/register": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Register a user to a managed lab", + "operationId": "GlobalUsers_Register", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "registerPayload", + "in": "body", + "description": "Represents payload for Register action.", + "required": true, + "schema": { + "$ref": "#/definitions/RegisterPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/providers/Microsoft.LabServices/users/{userName}/resetPassword": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Resets the user password on an environment This operation can take a while to complete", + "operationId": "GlobalUsers_ResetPassword", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "resetPasswordPayload", + "in": "body", + "description": "Represents the payload for resetting passwords.", + "required": true, + "schema": { + "$ref": "#/definitions/ResetPasswordPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.LabServices/users/{userName}/startEnvironment": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Starts an environment by starting all resources inside the environment. This operation can take a while to complete", + "operationId": "GlobalUsers_StartEnvironment", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "environmentOperationsPayload", + "in": "body", + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentOperationsPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.LabServices/users/{userName}/stopEnvironment": { + "post": { + "tags": [ + "GlobalUsers" + ], + "description": "Stops an environment by stopping all resources inside the environment This operation can take a while to complete", + "operationId": "GlobalUsers_StopEnvironment", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "environmentOperationsPayload", + "in": "body", + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentOperationsPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labaccounts": { + "get": { + "tags": [ + "LabAccounts" + ], + "description": "List lab accounts in a subscription.", + "operationId": "LabAccounts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResponseWithContinuation[LabAccount]" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/LabAccount" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{locationName}/operations/{operationName}": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get operation", + "operationId": "Operations_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "name": "operationName", + "in": "path", + "description": "The name of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts": { + "get": { + "tags": [ + "LabAccounts" + ], + "description": "List lab accounts in a resource group.", + "operationId": "LabAccounts_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResponseWithContinuation[LabAccount]" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/LabAccount" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}": { + "get": { + "tags": [ + "LabAccounts" + ], + "description": "Get lab account", + "operationId": "LabAccounts_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabAccount" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "LabAccounts" + ], + "description": "Create or replace an existing Lab Account.", + "operationId": "LabAccounts_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labAccount", + "in": "body", + "description": "Represents a lab account.", + "required": true, + "schema": { + "$ref": "#/definitions/LabAccount" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabAccount" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/LabAccount" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "delete": { + "tags": [ + "LabAccounts" + ], + "description": "Delete lab account. This operation can take a while to complete", + "operationId": "LabAccounts_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "LabAccounts" + ], + "description": "Modify properties of lab accounts.", + "operationId": "LabAccounts_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labAccount", + "in": "body", + "description": "Represents a lab account.", + "required": true, + "schema": { + "$ref": "#/definitions/LabAccountFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabAccount" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/createLab": { + "post": { + "tags": [ + "LabAccounts" + ], + "description": "Create a lab in a lab account.", + "operationId": "LabAccounts_CreateLab", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "createLabProperties", + "in": "body", + "description": "Properties for creating a managed lab and a default environment setting", + "required": true, + "schema": { + "$ref": "#/definitions/CreateLabProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages": { + "get": { + "tags": [ + "GalleryImages" + ], + "description": "List gallery images in a given lab account.", + "operationId": "GalleryImages_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=author)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GalleryImage" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}": { + "get": { + "tags": [ + "GalleryImages" + ], + "description": "Get gallery image", + "operationId": "GalleryImages_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "galleryImageName", + "in": "path", + "description": "The name of the gallery Image.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=author)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "GalleryImages" + ], + "description": "Create or replace an existing Gallery Image.", + "operationId": "GalleryImages_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "galleryImageName", + "in": "path", + "description": "The name of the gallery Image.", + "required": true, + "type": "string" + }, + { + "name": "galleryImage", + "in": "body", + "description": "Represents an image from the Azure Marketplace", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "delete": { + "tags": [ + "GalleryImages" + ], + "description": "Delete gallery image.", + "operationId": "GalleryImages_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "galleryImageName", + "in": "path", + "description": "The name of the gallery Image.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "patch": { + "tags": [ + "GalleryImages" + ], + "description": "Modify properties of gallery images.", + "operationId": "GalleryImages_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "galleryImageName", + "in": "path", + "description": "The name of the gallery Image.", + "required": true, + "type": "string" + }, + { + "name": "galleryImage", + "in": "body", + "description": "Represents an image from the Azure Marketplace", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/getRegionalAvailability": { + "post": { + "tags": [ + "LabAccounts" + ], + "description": "Get regional availability information for each size category configured under a lab account", + "operationId": "LabAccounts_GetRegionalAvailability", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetRegionalAvailabilityResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs": { + "get": { + "tags": [ + "Labs" + ], + "description": "List labs in a given lab account.", + "operationId": "Labs_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=maxUsersInLab)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Lab", + "x-ms-examples": { + "Labs_List": { + "$ref": "./examples/Labs_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}": { + "get": { + "tags": [ + "Labs" + ], + "description": "Get lab", + "operationId": "Labs_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=maxUsersInLab)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "Labs" + ], + "description": "Create or replace an existing Lab.", + "operationId": "Labs_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "lab", + "in": "body", + "description": "Represents a 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": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "delete": { + "tags": [ + "Labs" + ], + "description": "Delete lab. This operation can take a while to complete", + "operationId": "Labs_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Labs" + ], + "description": "Modify properties of labs.", + "operationId": "Labs_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "lab", + "in": "body", + "description": "Represents a lab.", + "required": true, + "schema": { + "$ref": "#/definitions/LabFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers": { + "post": { + "tags": [ + "Labs" + ], + "description": "Add users to a lab", + "operationId": "Labs_AddUsers", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "addUsersPayload", + "in": "body", + "description": "Payload for Add Users operation on a Lab.", + "required": true, + "schema": { + "$ref": "#/definitions/AddUsersPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings": { + "get": { + "tags": [ + "EnvironmentSettings" + ], + "description": "List environment setting in a given lab.", + "operationId": "EnvironmentSettings_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=publishingState)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResponseWithContinuation[EnvironmentSetting]" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/EnvironmentSetting" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}": { + "get": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Get environment setting", + "operationId": "EnvironmentSettings_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=publishingState)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Create or replace an existing Environment Setting. This operation can take a while to complete", + "operationId": "EnvironmentSettings_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentSetting", + "in": "body", + "description": "Represents settings of an environment, from which environment instances would be created", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Delete environment setting. This operation can take a while to complete", + "operationId": "EnvironmentSettings_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Modify properties of environment setting.", + "operationId": "EnvironmentSettings_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentSetting", + "in": "body", + "description": "Represents settings of an environment, from which environment instances would be created", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentSettingFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/claimAny": { + "post": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Claims a random environment for a user in an environment settings", + "operationId": "EnvironmentSettings_ClaimAny", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments": { + "get": { + "tags": [ + "Environments" + ], + "description": "List environments in a given environment setting.", + "operationId": "Environments_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=networkInterface)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResponseWithContinuation[Environment]" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Environment" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}": { + "get": { + "tags": [ + "Environments" + ], + "description": "Get environment", + "operationId": "Environments_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=networkInterface)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "Environments" + ], + "description": "Create or replace an existing Environment.", + "operationId": "Environments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "environment", + "in": "body", + "description": "Represents an environment instance", + "required": true, + "schema": { + "$ref": "#/definitions/Environment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "delete": { + "tags": [ + "Environments" + ], + "description": "Delete environment. This operation can take a while to complete", + "operationId": "Environments_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Environments" + ], + "description": "Modify properties of environments.", + "operationId": "Environments_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "environment", + "in": "body", + "description": "Represents an environment instance", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/claim": { + "post": { + "tags": [ + "Environments" + ], + "description": "Claims the environment and assigns it to the user", + "operationId": "Environments_Claim", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/resetPassword": { + "post": { + "tags": [ + "Environments" + ], + "description": "Resets the user password on an environment This operation can take a while to complete", + "operationId": "Environments_ResetPassword", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "resetPasswordPayload", + "in": "body", + "description": "Represents the payload for resetting passwords.", + "required": true, + "schema": { + "$ref": "#/definitions/ResetPasswordPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/start": { + "post": { + "tags": [ + "Environments" + ], + "description": "Starts an environment by starting all resources inside the environment. This operation can take a while to complete", + "operationId": "Environments_Start", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/stop": { + "post": { + "tags": [ + "Environments" + ], + "description": "Stops an environment by stopping all resources inside the environment This operation can take a while to complete", + "operationId": "Environments_Stop", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/publish": { + "post": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Provisions/deprovisions required resources for an environment setting based on current state of the lab/environment setting.", + "operationId": "EnvironmentSettings_Publish", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "name": "publishPayload", + "in": "body", + "description": "Payload for Publish operation on EnvironmentSetting.", + "required": true, + "schema": { + "$ref": "#/definitions/PublishPayload" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/start": { + "post": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Starts a template by starting all resources inside the template. This operation can take a while to complete", + "operationId": "EnvironmentSettings_Start", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/stop": { + "post": { + "tags": [ + "EnvironmentSettings" + ], + "description": "Starts a template by starting all resources inside the template. This operation can take a while to complete", + "operationId": "EnvironmentSettings_Stop", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "environmentSettingName", + "in": "path", + "description": "The name of the environment Setting.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register": { + "post": { + "tags": [ + "Labs" + ], + "description": "Register to managed lab.", + "operationId": "Labs_Register", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "List users in a given lab.", + "operationId": "Users_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=email)'", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResponseWithContinuation[User]" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/User" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}": { + "get": { + "tags": [ + "Users" + ], + "description": "Get user", + "operationId": "Users_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=email)'", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "put": { + "tags": [ + "Users" + ], + "description": "Create or replace an existing User.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The User registered to a lab", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Delete user. This operation can take a while to complete", + "operationId": "Users_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Users" + ], + "description": "Modify properties of users.", + "operationId": "Users_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labAccountName", + "in": "path", + "description": "The name of the lab Account.", + "required": true, + "type": "string" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The User registered to a lab", + "required": true, + "schema": { + "$ref": "#/definitions/UserFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] + } + } + }, + "definitions": { + "AddUsersPayload": { + "description": "Payload for Add Users operation on a Lab.", + "required": [ + "emailAddresses" + ], + "type": "object", + "properties": { + "emailAddresses": { + "description": "List of user emails addresses to add to the lab.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CloudError": { + "description": "Error from a REST request.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "Body of an error from a REST request.", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "description": "Inner errors.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "CreateLabProperties": { + "description": "Properties for creating a managed lab and a default environment setting", + "required": [ + "labCreationParameters", + "name" + ], + "type": "object", + "properties": { + "environmentSettingCreationParameters": { + "$ref": "#/definitions/EnvironmentSettingCreationParameters", + "description": "Settings related to creating an environment setting" + }, + "labCreationParameters": { + "$ref": "#/definitions/LabCreationParameters", + "description": "Settings related to creating a lab" + }, + "name": { + "description": "The name of the resource", + "type": "string" + }, + "location": { + "description": "The location of the resource", + "type": "string" + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Environment": { + "description": "Represents an environment instance", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnvironmentProperties", + "description": "The properties of the Environment resource", + "x-ms-client-flatten": true + } + } + }, + "EnvironmentDetails": { + "description": "This represents the details about a User's environment and its state.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Environment", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the Environment", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Resource Id of the environment", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the environment. This also includes LabIsFull and NotYetProvisioned status.", + "type": "string", + "readOnly": true + }, + "virtualMachineDetails": { + "$ref": "#/definitions/VirtualMachineDetails", + "description": "Details of backing DTL virtual machine with compute and network details.", + "readOnly": true + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + }, + "environmentState": { + "description": "Publishing state of the environment setting Possible values are Creating, Created, Failed", + "type": "string", + "readOnly": true + }, + "totalUsage": { + "format": "duration", + "description": "How long the environment has been used by a lab user", + "type": "string", + "readOnly": true + }, + "passwordLastReset": { + "format": "date-time", + "description": "When the password was last reset on the environment.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentFragment": { + "description": "Represents an environment instance", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnvironmentPropertiesFragment", + "description": "The properties of the Environment resource", + "x-ms-client-flatten": true + } + } + }, + "EnvironmentOperationsPayload": { + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "required": [ + "environmentId" + ], + "type": "object", + "properties": { + "environmentId": { + "description": "The resourceId of the environment", + "type": "string" + } + } + }, + "EnvironmentProperties": { + "description": "Properties of an environment", + "type": "object", + "properties": { + "resourceSets": { + "$ref": "#/definitions/ResourceSet", + "description": "The set of a VM and the setting id it was created for" + }, + "claimedByUserObjectId": { + "description": "The AAD object Id of the user who has claimed the environment", + "type": "string", + "readOnly": true + }, + "claimedByUserPrincipalId": { + "description": "The user principal Id of the user who has claimed the environment", + "type": "string", + "readOnly": true + }, + "claimedByUserName": { + "description": "The name or email address of the user who has claimed the environment", + "type": "string", + "readOnly": true + }, + "isClaimed": { + "description": "Is the environment claimed or not", + "type": "boolean", + "readOnly": true + }, + "lastKnownPowerState": { + "description": "Last known power state of the environment", + "type": "string", + "readOnly": true + }, + "networkInterface": { + "$ref": "#/definitions/NetworkInterface", + "description": "Network details of the environment", + "readOnly": true + }, + "totalUsage": { + "format": "duration", + "description": "How long the environment has been used by a lab user", + "type": "string", + "readOnly": true + }, + "passwordLastReset": { + "format": "date-time", + "description": "When the password was last reset on the environment.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "EnvironmentPropertiesFragment": { + "description": "Properties of an environment", + "type": "object", + "properties": { + "resourceSets": { + "$ref": "#/definitions/ResourceSetFragment", + "description": "The set of a VM and the setting id it was created for" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "EnvironmentSetting": { + "description": "Represents settings of an environment, from which environment instances would be created", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnvironmentSettingProperties", + "description": "The properties of the Environment Setting resource", + "x-ms-client-flatten": true + } + } + }, + "EnvironmentSettingCreationParameters": { + "description": "Settings related to creating an environment setting", + "required": [ + "resourceSettingCreationParameters" + ], + "type": "object", + "properties": { + "resourceSettingCreationParameters": { + "$ref": "#/definitions/ResourceSettingCreationParameters", + "description": "The resource specific settings" + } + } + }, + "EnvironmentSettingFragment": { + "description": "Represents settings of an environment, from which environment instances would be created", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnvironmentSettingPropertiesFragment", + "description": "The properties of the Environment Setting resource", + "x-ms-client-flatten": true + } + } + }, + "EnvironmentSettingProperties": { + "description": "Properties of an environment setting", + "required": [ + "resourceSettings" + ], + "type": "object", + "properties": { + "publishingState": { + "description": "Describes the readiness of this environment setting", + "enum": [ + "Draft", + "Publishing", + "Published", + "PublishFailed", + "Scaling" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PublishingState", + "modelAsString": true, + "values": [ + { + "value": "Draft", + "description": "Initial state of an environment setting." + }, + { + "value": "Publishing", + "description": "Currently provisioning resources." + }, + { + "value": "Published", + "description": "All resources are currently provisioned." + }, + { + "value": "PublishFailed", + "description": "Failed to provision all the necessary resources." + }, + { + "value": "Scaling", + "description": "Currently provisioning resources without recreating VM image." + } + ] + } + }, + "configurationState": { + "description": "Describes the user's progress in configuring their environment setting", + "enum": [ + "NotApplicable", + "Completed" + ], + "type": "string", + "x-ms-enum": { + "name": "ConfigurationState", + "modelAsString": true, + "values": [ + { + "value": "NotApplicable", + "description": "User either hasn't started configuring their template\r\nor they haven't started the configuration process." + }, + { + "value": "Completed", + "description": "User is finished modifying the template." + } + ] + } + }, + "description": { + "description": "Describes the environment and its resource settings", + "type": "string" + }, + "title": { + "description": "Brief title describing the environment and its resource settings", + "type": "string" + }, + "resourceSettings": { + "$ref": "#/definitions/ResourceSettings", + "description": "The resource specific settings" + }, + "lastChanged": { + "format": "date-time", + "description": "Time when the template VM was last changed.", + "type": "string", + "readOnly": true + }, + "lastPublished": { + "format": "date-time", + "description": "Time when the template VM was last sent for publishing.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "EnvironmentSettingPropertiesFragment": { + "description": "Properties of an environment setting", + "type": "object", + "properties": { + "configurationState": { + "description": "Describes the user's progress in configuring their environment setting", + "enum": [ + "NotApplicable", + "Completed" + ], + "type": "string", + "x-ms-enum": { + "name": "ConfigurationState", + "modelAsString": true, + "values": [ + { + "value": "NotApplicable", + "description": "User either hasn't started configuring their template\r\nor they haven't started the configuration process." + }, + { + "value": "Completed", + "description": "User is finished modifying the template." + } + ] + } + }, + "description": { + "description": "Describes the environment and its resource settings", + "type": "string" + }, + "title": { + "description": "Brief title describing the environment and its resource settings", + "type": "string" + }, + "resourceSettings": { + "$ref": "#/definitions/ResourceSettingsFragment", + "description": "The resource specific settings" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "EnvironmentSize": { + "description": "Represents a size category supported by this Lab Account (small, medium or large)", + "type": "object", + "properties": { + "name": { + "description": "The size category", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "vmSizes": { + "description": "Represents a set of compute sizes that can serve this given size type", + "type": "array", + "items": { + "$ref": "#/definitions/SizeInfo" + } + }, + "maxPrice": { + "format": "decimal", + "description": "The pay-as-you-go dollar price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost. This is the maximum price of all prices within this tier.", + "type": "number", + "readOnly": true + }, + "minNumberOfCores": { + "format": "int32", + "description": "The number of cores a VM of this size has. This is the minimum number of cores within this tier.", + "type": "integer", + "readOnly": true + }, + "minMemory": { + "format": "double", + "description": "The amount of memory available (in GB). This is the minimum amount of memory within this tier.", + "type": "number", + "readOnly": true + } + } + }, + "EnvironmentSizeFragment": { + "description": "Represents a size category supported by this Lab Account (small, medium or large)", + "type": "object", + "properties": { + "name": { + "description": "The size category", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "vmSizes": { + "description": "Represents a set of compute sizes that can serve this given size type", + "type": "array", + "items": { + "$ref": "#/definitions/SizeInfoFragment" + } + } + } + }, + "GalleryImage": { + "description": "Represents an image from the Azure Marketplace", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GalleryImageProperties", + "description": "The gallery image properties", + "x-ms-client-flatten": true + } + } + }, + "GalleryImageFragment": { + "description": "Represents an image from the Azure Marketplace", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GalleryImagePropertiesFragment", + "description": "The gallery image properties", + "x-ms-client-flatten": true + } + } + }, + "GalleryImageProperties": { + "description": "The gallery image properties", + "type": "object", + "properties": { + "author": { + "description": "The author of the gallery image.", + "type": "string", + "readOnly": true + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the gallery image.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the gallery image.", + "type": "string", + "readOnly": true + }, + "imageReference": { + "$ref": "#/definitions/GalleryImageReference", + "description": "The image reference of the gallery image.", + "readOnly": true + }, + "icon": { + "description": "The icon of the gallery image.", + "type": "string", + "readOnly": true + }, + "isEnabled": { + "description": "Indicates whether this gallery image is enabled.", + "type": "boolean" + }, + "isOverride": { + "description": "Indicates whether this gallery has been overridden for this lab account", + "type": "boolean" + }, + "planId": { + "description": "The third party plan that applies to this image", + "type": "string", + "readOnly": true + }, + "isPlanAuthorized": { + "description": "Indicates if the plan has been authorized for programmatic deployment.", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "GalleryImagePropertiesFragment": { + "description": "The gallery image properties", + "type": "object", + "properties": { + "isEnabled": { + "description": "Indicates whether this gallery image is enabled.", + "type": "boolean" + }, + "isOverride": { + "description": "Indicates whether this gallery has been overridden for this lab account", + "type": "boolean" + }, + "isPlanAuthorized": { + "description": "Indicates if the plan has been authorized for programmatic deployment.", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "GalleryImageReference": { + "description": "The reference information for an Azure Marketplace image.", + "type": "object", + "properties": { + "offer": { + "description": "The offer 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" + }, + "osType": { + "description": "The OS type of the gallery image.", + "type": "string" + }, + "version": { + "description": "The version of the gallery image.", + "type": "string" + } + } + }, + "GalleryImageReferenceFragment": { + "description": "The reference information for an Azure Marketplace image.", + "type": "object", + "properties": { + "offer": { + "description": "The offer 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" + }, + "osType": { + "description": "The OS type of the gallery image.", + "type": "string" + }, + "version": { + "description": "The version of the gallery image.", + "type": "string" + } + } + }, + "GetEnvironmentResponse": { + "description": "Represents the environments details", + "type": "object", + "properties": { + "environment": { + "$ref": "#/definitions/EnvironmentDetails", + "description": "Details of the environment", + "readOnly": true + } + } + }, + "GetPersonalPreferencesResponse": { + "description": "Represents the PersonalPreferences for the user", + "type": "object", + "properties": { + "id": { + "description": "Id to be used by the cache orchestrator", + "type": "string" + }, + "favoriteLabResourceIds": { + "description": "Array of favorite lab resource ids", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GetRegionalAvailabilityResponse": { + "description": "The response model from the GetRegionalAvailability action", + "type": "object", + "properties": { + "regionalAvailability": { + "description": "Availability information for different size categories per region", + "type": "array", + "items": { + "$ref": "#/definitions/RegionalAvailability" + } + } + } + }, + "Lab": { + "description": "Represents a lab.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabAccount": { + "description": "Represents a lab account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabAccountProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabAccountFragment": { + "description": "Represents a lab account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabAccountPropertiesFragment", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabAccountProperties": { + "description": "Properties of a Lab Account.", + "type": "object", + "properties": { + "sizeConfiguration": { + "$ref": "#/definitions/SizeConfigurationProperties", + "description": "Represents the size configuration under the lab account", + "readOnly": true + }, + "enabledRegionSelection": { + "description": "Represents if region selection is enabled", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "LabAccountPropertiesFragment": { + "description": "Properties of a Lab Account.", + "type": "object", + "properties": { + "enabledRegionSelection": { + "description": "Represents if region selection is enabled", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "LabCreationParameters": { + "description": "Settings related to creating a lab", + "type": "object", + "properties": { + "maxUsersInLab": { + "format": "int32", + "description": "Maximum number of users allowed in the lab.", + "type": "integer" + } + } + }, + "LabDetails": { + "description": "This represents the details about a lab that the User is in, and its state.", + "type": "object", + "properties": { + "name": { + "description": "Name of the lab", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the lab.", + "type": "string" + }, + "id": { + "description": "The Id of the lab.", + "type": "string" + }, + "usageQuota": { + "format": "duration", + "description": "The maximum duration a user can use a VM in this lab.", + "type": "string", + "readOnly": true + } + } + }, + "LabFragment": { + "description": "Represents a lab.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabPropertiesFragment", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabProperties": { + "description": "Properties of a Lab.", + "type": "object", + "properties": { + "maxUsersInLab": { + "format": "int32", + "description": "Maximum number of users allowed in the lab.", + "type": "integer" + }, + "userQuota": { + "format": "int32", + "description": "Maximum value MaxUsersInLab can be set to, as specified by the service", + "type": "integer", + "readOnly": true + }, + "invitationCode": { + "description": "Invitation code that users can use to join a lab.", + "type": "string", + "readOnly": true + }, + "createdByObjectId": { + "description": "Object id of the user that created the lab.", + "type": "string", + "readOnly": true + }, + "usageQuota": { + "format": "duration", + "description": "Maximum duration a user can use an environment for in the lab.", + "type": "string" + }, + "userAccessMode": { + "description": "Lab user access mode (open to all vs. restricted to those listed on the lab).", + "enum": [ + "Restricted", + "Open" + ], + "type": "string", + "x-ms-enum": { + "name": "LabUserAccessMode", + "modelAsString": true, + "values": [ + { + "value": "Restricted", + "description": "Only users registered with the lab can access VMs." + }, + { + "value": "Open", + "description": "Any user can register with the lab and access its VMs." + } + ] + } + }, + "createdByUserPrincipalName": { + "description": "Lab creator name", + "type": "string", + "readOnly": true + }, + "createdDate": { + "format": "date-time", + "description": "Creation date for the lab", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "LabPropertiesFragment": { + "description": "Properties of a Lab.", + "type": "object", + "properties": { + "maxUsersInLab": { + "format": "int32", + "description": "Maximum number of users allowed in the lab.", + "type": "integer" + }, + "usageQuota": { + "format": "duration", + "description": "Maximum duration a user can use an environment for in the lab.", + "type": "string" + }, + "userAccessMode": { + "description": "Lab user access mode (open to all vs. restricted to those listed on the lab).", + "enum": [ + "Restricted", + "Open" + ], + "type": "string", + "x-ms-enum": { + "name": "LabUserAccessMode", + "modelAsString": true, + "values": [ + { + "value": "Restricted", + "description": "Only users registered with the lab can access VMs." + }, + { + "value": "Open", + "description": "Any user can register with the lab and access its VMs." + } + ] + } + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "LatestOperationResult": { + "description": "Details of the status of an operation.", + "type": "object", + "properties": { + "status": { + "description": "The current status of the operation.", + "type": "string", + "readOnly": true + }, + "errorCode": { + "description": "Error code on failure.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "requestUri": { + "description": "Request URI of the operation.", + "type": "string", + "readOnly": true + }, + "httpMethod": { + "description": "The HttpMethod - PUT/POST/DELETE for the operation.", + "type": "string", + "readOnly": true + }, + "operationUrl": { + "description": "The URL to use to check long-running operation status", + "type": "string", + "readOnly": true + } + } + }, + "LatestOperationResultFragment": { + "description": "Details of the status of an operation.", + "type": "object", + "properties": {} + }, + "ListEnvironmentsPayload": { + "description": "Represents the payload to list environments owned by a user", + "type": "object", + "properties": { + "labId": { + "description": "The resource Id of the lab", + "type": "string" + } + } + }, + "ListEnvironmentsResponse": { + "description": "Represents the list of environments owned by a user", + "type": "object", + "properties": { + "environments": { + "description": "List of all the environments", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDetails" + } + } + } + }, + "ListLabsResponse": { + "description": "Lists the labs owned by a user", + "type": "object", + "properties": { + "labs": { + "description": "List of all the labs", + "type": "array", + "items": { + "$ref": "#/definitions/LabDetails" + } + } + } + }, + "NetworkInterface": { + "description": "Network details of the environment", + "type": "object", + "properties": { + "privateIpAddress": { + "description": "PrivateIp address of the Compute VM", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "Connection information for Linux", + "type": "string", + "readOnly": true + }, + "rdpAuthority": { + "description": "Connection information for Windows", + "type": "string", + "readOnly": true + }, + "username": { + "description": "Username of the VM", + "type": "string", + "readOnly": true + } + } + }, + "NetworkInterfaceFragment": { + "description": "Network details of the environment", + "type": "object", + "properties": {} + }, + "OperationBatchStatusPayload": { + "description": "Payload to get the status of an operation", + "required": [ + "urls" + ], + "type": "object", + "properties": { + "urls": { + "description": "The operation url of long running operation", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OperationBatchStatusResponse": { + "description": "Status Details of the long running operation for an environment", + "type": "object", + "properties": { + "items": { + "description": "Gets a collection of items that contain the operation url and status.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationBatchStatusResponseItem" + }, + "readOnly": true + } + } + }, + "OperationBatchStatusResponseItem": { + "description": "Represents the status of an operation that used the batch API.", + "type": "object", + "properties": { + "operationUrl": { + "description": "status of the long running operation for an environment", + "type": "string", + "readOnly": true + }, + "status": { + "description": "status of the long running operation for an environment", + "type": "string", + "readOnly": true + } + } + }, + "OperationError": { + "description": "Error details for the operation in case of a failure.", + "type": "object", + "properties": { + "code": { + "description": "The error code of the operation error.", + "type": "string" + }, + "message": { + "description": "The error message of the operation error.", + "type": "string" + } + } + }, + "OperationMetadata": { + "description": "The REST API operation supported by ManagedLab ResourceProvider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationMetadataDisplay", + "description": "The object that describes the operations" + } + } + }, + "OperationMetadataDisplay": { + "description": "The object that describes the operations", + "type": "object", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + }, + "OperationResult": { + "description": "An Operation Result", + "type": "object", + "properties": { + "status": { + "description": "The operation status.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationError", + "description": "Error details for the operation in case of a failure." + } + } + }, + "OperationStatusPayload": { + "description": "Payload to get the status of an operation", + "required": [ + "operationUrl" + ], + "type": "object", + "properties": { + "operationUrl": { + "description": "The operation url of long running operation", + "type": "string" + } + } + }, + "OperationStatusResponse": { + "description": "Status Details of the long running operation for an environment", + "type": "object", + "properties": { + "status": { + "description": "status of the long running operation for an environment", + "type": "string", + "readOnly": true + } + } + }, + "PersonalPreferencesOperationsPayload": { + "description": "Represents payload for any Environment operations like get, start, stop, connect", + "type": "object", + "properties": { + "labAccountResourceId": { + "description": "Resource Id of the lab account", + "type": "string" + }, + "addRemove": { + "description": "Enum indicating if user is adding or removing a favorite lab", + "enum": [ + "Add", + "Remove" + ], + "type": "string", + "x-ms-enum": { + "name": "AddRemove", + "modelAsString": true, + "values": [ + { + "value": "Add", + "description": "Indicates that a user is adding a favorite lab" + }, + { + "value": "Remove", + "description": "Indicates that a user is removing a favorite lab" + } + ] + } + }, + "labResourceId": { + "description": "Resource Id of the lab to add/remove from the favorites list", + "type": "string" + } + } + }, + "ProviderOperationResult": { + "description": "Result of the request to list REST API operations", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetadata" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "PublishPayload": { + "description": "Payload for Publish operation on EnvironmentSetting.", + "type": "object", + "properties": { + "useExistingImage": { + "description": "Whether to use existing VM custom image when publishing.", + "type": "boolean" + } + } + }, + "ReferenceVm": { + "description": "Details of a Reference Vm", + "required": [ + "userName" + ], + "type": "object", + "properties": { + "userName": { + "description": "The username of the virtual machine", + "type": "string" + }, + "password": { + "description": "The password of the virtual machine. This will be set to null in GET resource API", + "type": "string" + }, + "vmStateDetails": { + "$ref": "#/definitions/VmStateDetails", + "description": "The state details for the reference virtual machine.", + "readOnly": true + }, + "vmResourceId": { + "description": "VM resource Id for the environment", + "type": "string", + "readOnly": true + } + } + }, + "ReferenceVmCreationParameters": { + "description": "Creation parameters for Reference Vm", + "required": [ + "userName", + "password" + ], + "type": "object", + "properties": { + "userName": { + "description": "The username of the virtual machine", + "type": "string" + }, + "password": { + "description": "The password of the virtual machine.", + "type": "string" + } + } + }, + "ReferenceVmFragment": { + "description": "Details of a Reference Vm", + "type": "object", + "properties": { + "userName": { + "description": "The username of the virtual machine", + "type": "string" + }, + "password": { + "description": "The password of the virtual machine. This will be set to null in GET resource API", + "type": "string" + } + } + }, + "RegionalAvailability": { + "description": "The availability information of sizes across regions", + "type": "object", + "properties": { + "region": { + "description": "Corresponding region", + "type": "string" + }, + "sizeAvailabilities": { + "description": "List of all the size information for the region", + "type": "array", + "items": { + "$ref": "#/definitions/SizeAvailability" + } + } + } + }, + "RegisterPayload": { + "description": "Represents payload for Register action.", + "type": "object", + "properties": { + "registrationCode": { + "description": "The registration code of the lab.", + "type": "string" + } + } + }, + "ResetPasswordPayload": { + "description": "Represents the payload for resetting passwords.", + "required": [ + "environmentId" + ], + "type": "object", + "properties": { + "environmentId": { + "description": "The resourceId of the environment", + "type": "string" + }, + "username": { + "description": "The username for which the password will be reset.", + "type": "string" + }, + "password": { + "description": "The password to assign to the user specified in", + "type": "string" + } + } + }, + "Resource": { + "description": "An Azure resource.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the resource.", + "type": "string" + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "ResourceSet": { + "description": "Represents a VM and the setting Id it was created for.", + "type": "object", + "properties": { + "vmResourceId": { + "description": "VM resource Id for the environment", + "type": "string" + }, + "resourceSettingId": { + "description": "resourceSettingId for the environment", + "type": "string" + } + } + }, + "ResourceSetFragment": { + "description": "Represents a VM and the setting Id it was created for.", + "type": "object", + "properties": { + "vmResourceId": { + "description": "VM resource Id for the environment", + "type": "string" + }, + "resourceSettingId": { + "description": "resourceSettingId for the environment", + "type": "string" + } + } + }, + "ResourceSettingCreationParameters": { + "description": "Represents resource specific settings", + "required": [ + "galleryImageResourceId", + "referenceVmCreationParameters" + ], + "type": "object", + "properties": { + "location": { + "description": "The location where the virtual machine will live", + "type": "string" + }, + "name": { + "description": "The name of the resource setting", + "type": "string" + }, + "galleryImageResourceId": { + "description": "The resource id of the gallery image used for creating the virtual machine", + "type": "string" + }, + "size": { + "description": "The size of the virtual machine", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "referenceVmCreationParameters": { + "$ref": "#/definitions/ReferenceVmCreationParameters", + "description": "Creation parameters for Reference Vm" + } + } + }, + "ResourceSettings": { + "description": "Represents resource specific settings", + "required": [ + "referenceVm" + ], + "type": "object", + "properties": { + "id": { + "description": "The unique id of the resource setting", + "type": "string", + "readOnly": true + }, + "galleryImageResourceId": { + "description": "The resource id of the gallery image used for creating the virtual machine", + "type": "string" + }, + "imageName": { + "description": "The name of the image used to created the environment setting", + "type": "string", + "readOnly": true + }, + "size": { + "description": "The size of the virtual machine", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "cores": { + "format": "int32", + "description": "The translated compute cores of the virtual machine", + "type": "integer", + "readOnly": true + }, + "referenceVm": { + "$ref": "#/definitions/ReferenceVm", + "description": "Details specific to Reference Vm" + } + } + }, + "ResourceSettingsFragment": { + "description": "Represents resource specific settings", + "type": "object", + "properties": { + "galleryImageResourceId": { + "description": "The resource id of the gallery image used for creating the virtual machine", + "type": "string" + }, + "size": { + "description": "The size of the virtual machine", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "referenceVm": { + "$ref": "#/definitions/ReferenceVmFragment", + "description": "Details specific to Reference Vm" + } + } + }, + "ResponseWithContinuation[Environment]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Environment" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ResponseWithContinuation[EnvironmentSetting]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ResponseWithContinuation[GalleryImage]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImage" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ResponseWithContinuation[Lab]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Lab" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ResponseWithContinuation[LabAccount]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LabAccount" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ResponseWithContinuation[User]": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "SizeAvailability": { + "description": "Represents the size information", + "type": "object", + "properties": { + "sizeCategory": { + "description": "The category of the size (Basic, Standard, Performance).", + "enum": [ + "Basic", + "Standard", + "Performance" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedLabVmSize", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "The base VM size" + }, + { + "value": "Standard", + "description": "The standard or default VM size" + }, + { + "value": "Performance", + "description": "The most performant VM size" + } + ] + } + }, + "isAvailable": { + "description": "Whether or not this size category is available", + "type": "boolean" + } + } + }, + "SizeConfigurationProperties": { + "description": "Represents the size configuration under the lab account", + "type": "object", + "properties": { + "environmentSizes": { + "description": "Represents a list of size categories supported by this Lab Account (Small, Medium, Large)", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSize" + } + } + } + }, + "SizeConfigurationPropertiesFragment": { + "description": "Represents the size configuration under the lab account", + "type": "object", + "properties": { + "environmentSizes": { + "description": "Represents a list of size categories supported by this Lab Account (Small, Medium, Large)", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSizeFragment" + } + } + } + }, + "SizeInfo": { + "description": "Contains detailed information about a size", + "type": "object", + "properties": { + "computeSize": { + "description": "Represents the actual compute size, e.g. Standard_A2_v2.", + "type": "string" + }, + "price": { + "format": "decimal", + "description": "The pay-as-you-go price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost.", + "type": "number" + }, + "numberOfCores": { + "format": "int32", + "description": "The number of cores a VM of this size has.", + "type": "integer" + }, + "memory": { + "format": "double", + "description": "The amount of memory available (in GB).", + "type": "number" + } + } + }, + "SizeInfoFragment": { + "description": "Contains detailed information about a size", + "type": "object", + "properties": { + "computeSize": { + "description": "Represents the actual compute size, e.g. Standard_A2_v2.", + "type": "string" + }, + "price": { + "format": "decimal", + "description": "The pay-as-you-go price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost.", + "type": "number" + }, + "numberOfCores": { + "format": "int32", + "description": "The number of cores a VM of this size has.", + "type": "integer" + }, + "memory": { + "format": "double", + "description": "The amount of memory available (in GB).", + "type": "number" + } + } + }, + "User": { + "description": "The User registered to a lab", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "These are the properties for the user registered under a lab.", + "x-ms-client-flatten": true + } + } + }, + "UserFragment": { + "description": "The User registered to a lab", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserPropertiesFragment", + "description": "These are the properties for the user registered under a lab.", + "x-ms-client-flatten": true + } + } + }, + "UserProperties": { + "description": "Lab User properties", + "type": "object", + "properties": { + "email": { + "description": "The user email address, as it was specified during registration.", + "type": "string", + "readOnly": true + }, + "familyName": { + "description": "The user family name, as it was specified during registration.", + "type": "string", + "readOnly": true + }, + "givenName": { + "description": "The user given name, as it was specified during registration.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The user tenant ID, as it was specified during registration.", + "type": "string", + "readOnly": true + }, + "totalUsage": { + "format": "duration", + "description": "How long the user has used his VMs in this lab", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + }, + "latestOperationResult": { + "$ref": "#/definitions/LatestOperationResult", + "description": "The details of the latest operation. ex: status, error", + "readOnly": true + } + } + }, + "UserPropertiesFragment": { + "description": "Lab User properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string" + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string" + } + } + }, + "VirtualMachineDetails": { + "description": "Details of the backing virtual machine.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Dtl VM", + "type": "string", + "readOnly": true + }, + "rdpAuthority": { + "description": "Connection information for Windows", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "Connection information for Linux", + "type": "string", + "readOnly": true + }, + "privateIpAddress": { + "description": "PrivateIp address of the compute VM", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "Compute VM login user name", + "type": "string", + "readOnly": true + }, + "lastKnownPowerState": { + "description": "Last known compute power state captured in DTL", + "type": "string", + "readOnly": true + } + } + }, + "VmStateDetails": { + "description": "Details about the state of the reference virtual machine.", + "type": "object", + "properties": { + "rdpAuthority": { + "description": "The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.", + "type": "string", + "readOnly": true + }, + "powerState": { + "description": "The power state of the reference virtual machine.", + "type": "string", + "readOnly": true + }, + "lastKnownPowerState": { + "description": "Last known compute power state captured in DTL", + "type": "string", + "readOnly": true + } + } + }, + "VmStateDetailsFragment": { + "description": "Details about the state of the reference virtual machine.", + "type": "object", + "properties": {} + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "Client API version.", + "required": true, + "type": "string", + "default": "2018-10-15" + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The name of the location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "OAuth2 Implicit Grant", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "Access Microsoft Azure" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json new file mode 100644 index 000000000000..27a61db9530c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "labAccountName": "{devtestlab-name}", + "api-version": "2018-10-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "maxUsersInLab": 1, + "userQuota": 100, + "invitationCode": "{invitationCode}", + "createdByObjectId": "11111111-1111-1111-1111-111111111111", + "userAccessMode": "Restricted", + "createdByUserPrincipalName": "YourNameHere@domain.com", + "createdDate": "2018-10-09T21:05:25.0408858+00:00", + "provisioningState": "Succeeded", + "uniqueIdentifier": "22222222-2222-2222-2222-222222222222", + "latestOperationResult": {} + }, + "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/microsoft.labservices/labaccounts/{devtestlab-name}/labs/{labName}", + "name": "{labName}", + "type": "Microsoft.LabServices/labAccounts/labs", + "location": "australiaeast", + "tags": { + "Name": "CreatedDate", + "Value": "8/30/118 9:37:32 PM" + } + }, + { + "properties": { + "maxUsersInLab": 1, + "userQuota": 100, + "invitationCode": "{invitationCode}", + "createdByObjectId": "11111111-1111-1111-1111-111111111111", + "userAccessMode": "Restricted", + "createdByUserPrincipalName": "YourNameHere@domain.com", + "createdDate": "2018-10-09T21:29:47.2453342+00:00", + "provisioningState": "Succeeded", + "uniqueIdentifier": "22222222-2222-2222-2222-222222222222", + "latestOperationResult": {} + }, + "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/microsoft.labservices/labaccounts/{devtestlab-name}/labs/{labName}", + "name": "{labName}", + "type": "Microsoft.LabServices/labAccounts/labs", + "location": "australiaeast", + "tags": { + "Value": "8/30/118 9:37:36 PM", + "Name": "CreatedDate" + } + } + ] + } + } + } +} From a9215f9e62f406b47aa70e8461b9dbf91833a3c9 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:34:58 -0700 Subject: [PATCH 02/21] Updates readme --- .../labservices/resource-manager/readme.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index ab3823b5f1b3..50182f3fc889 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for LabServices. - - --- + ## Getting Started + To build the SDK for LabServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,21 +15,29 @@ To build the SDK for LabServices, simply [Install AutoRest](https://aka.ms/autor To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the LabServices API. ``` yaml openapi-type: arm -tag: package-2018-10 +tag: package-preview-2021-10 ``` +### Tag: package-preview-2021-10 + +These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-10' +input-file: + - Microsoft.LabServices/preview/2021-10-01-preview/ML.json +``` ### Tag: package-2018-10 These settings apply only when `--tag=package-2018-10` is specified on the command line. @@ -40,8 +48,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -62,7 +70,6 @@ swagger-to-sdk: - repo: azure-resource-manager-schemas ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -118,9 +125,3 @@ java: regenerate-manager: true generate-interface: true ``` - - - - - - From aca1a5f69ddfb41cdcd60362d0697397a57410f0 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:35:00 -0700 Subject: [PATCH 03/21] Updates API version in new specs and examples --- .../Microsoft.LabServices/preview/2021-10-01-preview/ML.json | 4 ++-- .../preview/2021-10-01-preview/examples/Labs_List.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json index 7c6a769f539c..bb935dd0731b 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2018-10-15", + "version": "2021-10-01-preview", "title": "ManagedLabsClient", "description": "The Managed Labs Client." }, @@ -5553,7 +5553,7 @@ "description": "Client API version.", "required": true, "type": "string", - "default": "2018-10-15" + "default": "2021-10-01-preview" }, "locationName": { "name": "locationName", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json index 27a61db9530c..eda121fcb7a0 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json @@ -3,7 +3,7 @@ "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", "labAccountName": "{devtestlab-name}", - "api-version": "2018-10-15" + "api-version": "2021-10-01-preview" }, "responses": { "200": { From 3d59006647c6f0f1730fbc5272296036080b9221 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:40:44 -0700 Subject: [PATCH 04/21] remove 2018 api spec files --- .../preview/2021-10-01-preview/ML.json | 5600 ----------------- .../examples/Labs_List.json | 60 - 2 files changed, 5660 deletions(-) delete mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json delete mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json deleted file mode 100644 index bb935dd0731b..000000000000 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/ML.json +++ /dev/null @@ -1,5600 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-10-01-preview", - "title": "ManagedLabsClient", - "description": "The Managed Labs Client." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/providers/Microsoft.LabServices/operations": { - "get": { - "tags": [ - "ProviderOperations" - ], - "description": "Result of the request to list REST API operations", - "operationId": "ProviderOperations_List", - "parameters": [ - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ProviderOperationResult" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/providers/Microsoft.LabServices/users/{userName}/getEnvironment": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Gets the virtual machine details", - "operationId": "GlobalUsers_GetEnvironment", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "environmentOperationsPayload", - "in": "body", - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentOperationsPayload" - } - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=environment)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GetEnvironmentResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/getOperationBatchStatus": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Get batch operation status", - "operationId": "GlobalUsers_GetOperationBatchStatus", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "operationBatchStatusPayload", - "in": "body", - "description": "Payload to get the status of an operation", - "required": true, - "schema": { - "$ref": "#/definitions/OperationBatchStatusPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationBatchStatusResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/getOperationStatus": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Gets the status of long running operation", - "operationId": "GlobalUsers_GetOperationStatus", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "operationStatusPayload", - "in": "body", - "description": "Payload to get the status of an operation", - "required": true, - "schema": { - "$ref": "#/definitions/OperationStatusPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatusResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Get personal preferences for a user", - "operationId": "GlobalUsers_GetPersonalPreferences", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "personalPreferencesOperationsPayload", - "in": "body", - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "required": true, - "schema": { - "$ref": "#/definitions/PersonalPreferencesOperationsPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GetPersonalPreferencesResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/listEnvironments": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "List Environments for the user", - "operationId": "GlobalUsers_ListEnvironments", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "listEnvironmentsPayload", - "in": "body", - "description": "Represents the payload to list environments owned by a user", - "required": true, - "schema": { - "$ref": "#/definitions/ListEnvironmentsPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ListEnvironmentsResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/listLabs": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "List labs for the user.", - "operationId": "GlobalUsers_ListLabs", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ListLabsResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/register": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Register a user to a managed lab", - "operationId": "GlobalUsers_Register", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "registerPayload", - "in": "body", - "description": "Represents payload for Register action.", - "required": true, - "schema": { - "$ref": "#/definitions/RegisterPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/providers/Microsoft.LabServices/users/{userName}/resetPassword": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Resets the user password on an environment This operation can take a while to complete", - "operationId": "GlobalUsers_ResetPassword", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "resetPasswordPayload", - "in": "body", - "description": "Represents the payload for resetting passwords.", - "required": true, - "schema": { - "$ref": "#/definitions/ResetPasswordPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/providers/Microsoft.LabServices/users/{userName}/startEnvironment": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Starts an environment by starting all resources inside the environment. This operation can take a while to complete", - "operationId": "GlobalUsers_StartEnvironment", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "environmentOperationsPayload", - "in": "body", - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentOperationsPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/providers/Microsoft.LabServices/users/{userName}/stopEnvironment": { - "post": { - "tags": [ - "GlobalUsers" - ], - "description": "Stops an environment by stopping all resources inside the environment This operation can take a while to complete", - "operationId": "GlobalUsers_StopEnvironment", - "parameters": [ - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "environmentOperationsPayload", - "in": "body", - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentOperationsPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labaccounts": { - "get": { - "tags": [ - "LabAccounts" - ], - "description": "List lab accounts in a subscription.", - "operationId": "LabAccounts_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResponseWithContinuation[LabAccount]" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/LabAccount" - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{locationName}/operations/{operationName}": { - "get": { - "tags": [ - "Operations" - ], - "description": "Get operation", - "operationId": "Operations_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/locationName" - }, - { - "name": "operationName", - "in": "path", - "description": "The name of the operation.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationResult" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts": { - "get": { - "tags": [ - "LabAccounts" - ], - "description": "List lab accounts in a resource group.", - "operationId": "LabAccounts_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResponseWithContinuation[LabAccount]" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/LabAccount" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}": { - "get": { - "tags": [ - "LabAccounts" - ], - "description": "Get lab account", - "operationId": "LabAccounts_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LabAccount" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "LabAccounts" - ], - "description": "Create or replace an existing Lab Account.", - "operationId": "LabAccounts_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labAccount", - "in": "body", - "description": "Represents a lab account.", - "required": true, - "schema": { - "$ref": "#/definitions/LabAccount" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LabAccount" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/LabAccount" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "delete": { - "tags": [ - "LabAccounts" - ], - "description": "Delete lab account. This operation can take a while to complete", - "operationId": "LabAccounts_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "LabAccounts" - ], - "description": "Modify properties of lab accounts.", - "operationId": "LabAccounts_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labAccount", - "in": "body", - "description": "Represents a lab account.", - "required": true, - "schema": { - "$ref": "#/definitions/LabAccountFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LabAccount" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/createLab": { - "post": { - "tags": [ - "LabAccounts" - ], - "description": "Create a lab in a lab account.", - "operationId": "LabAccounts_CreateLab", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "createLabProperties", - "in": "body", - "description": "Properties for creating a managed lab and a default environment setting", - "required": true, - "schema": { - "$ref": "#/definitions/CreateLabProperties" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages": { - "get": { - "tags": [ - "GalleryImages" - ], - "description": "List gallery images in a given lab account.", - "operationId": "GalleryImages_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=author)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "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": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/GalleryImage" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}": { - "get": { - "tags": [ - "GalleryImages" - ], - "description": "Get gallery image", - "operationId": "GalleryImages_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "galleryImageName", - "in": "path", - "description": "The name of the gallery Image.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=author)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GalleryImage" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "GalleryImages" - ], - "description": "Create or replace an existing Gallery Image.", - "operationId": "GalleryImages_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "galleryImageName", - "in": "path", - "description": "The name of the gallery Image.", - "required": true, - "type": "string" - }, - { - "name": "galleryImage", - "in": "body", - "description": "Represents an image from the Azure Marketplace", - "required": true, - "schema": { - "$ref": "#/definitions/GalleryImage" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GalleryImage" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/GalleryImage" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "delete": { - "tags": [ - "GalleryImages" - ], - "description": "Delete gallery image.", - "operationId": "GalleryImages_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "galleryImageName", - "in": "path", - "description": "The name of the gallery Image.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "patch": { - "tags": [ - "GalleryImages" - ], - "description": "Modify properties of gallery images.", - "operationId": "GalleryImages_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "galleryImageName", - "in": "path", - "description": "The name of the gallery Image.", - "required": true, - "type": "string" - }, - { - "name": "galleryImage", - "in": "body", - "description": "Represents an image from the Azure Marketplace", - "required": true, - "schema": { - "$ref": "#/definitions/GalleryImageFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GalleryImage" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/getRegionalAvailability": { - "post": { - "tags": [ - "LabAccounts" - ], - "description": "Get regional availability information for each size category configured under a lab account", - "operationId": "LabAccounts_GetRegionalAvailability", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GetRegionalAvailabilityResponse" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs": { - "get": { - "tags": [ - "Labs" - ], - "description": "List labs in a given lab account.", - "operationId": "Labs_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=maxUsersInLab)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "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": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/Lab", - "x-ms-examples": { - "Labs_List": { - "$ref": "./examples/Labs_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}": { - "get": { - "tags": [ - "Labs" - ], - "description": "Get lab", - "operationId": "Labs_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=maxUsersInLab)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Lab" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "Labs" - ], - "description": "Create or replace an existing Lab.", - "operationId": "Labs_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "lab", - "in": "body", - "description": "Represents a 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": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "delete": { - "tags": [ - "Labs" - ], - "description": "Delete lab. This operation can take a while to complete", - "operationId": "Labs_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Labs" - ], - "description": "Modify properties of labs.", - "operationId": "Labs_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "lab", - "in": "body", - "description": "Represents a lab.", - "required": true, - "schema": { - "$ref": "#/definitions/LabFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Lab" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers": { - "post": { - "tags": [ - "Labs" - ], - "description": "Add users to a lab", - "operationId": "Labs_AddUsers", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "addUsersPayload", - "in": "body", - "description": "Payload for Add Users operation on a Lab.", - "required": true, - "schema": { - "$ref": "#/definitions/AddUsersPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings": { - "get": { - "tags": [ - "EnvironmentSettings" - ], - "description": "List environment setting in a given lab.", - "operationId": "EnvironmentSettings_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=publishingState)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResponseWithContinuation[EnvironmentSetting]" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/EnvironmentSetting" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}": { - "get": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Get environment setting", - "operationId": "EnvironmentSettings_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=publishingState)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Create or replace an existing Environment Setting. This operation can take a while to complete", - "operationId": "EnvironmentSettings_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentSetting", - "in": "body", - "description": "Represents settings of an environment, from which environment instances would be created", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Delete environment setting. This operation can take a while to complete", - "operationId": "EnvironmentSettings_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Modify properties of environment setting.", - "operationId": "EnvironmentSettings_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentSetting", - "in": "body", - "description": "Represents settings of an environment, from which environment instances would be created", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentSettingFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/claimAny": { - "post": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Claims a random environment for a user in an environment settings", - "operationId": "EnvironmentSettings_ClaimAny", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments": { - "get": { - "tags": [ - "Environments" - ], - "description": "List environments in a given environment setting.", - "operationId": "Environments_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=networkInterface)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResponseWithContinuation[Environment]" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/Environment" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}": { - "get": { - "tags": [ - "Environments" - ], - "description": "Get environment", - "operationId": "Environments_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=networkInterface)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Environment" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "Environments" - ], - "description": "Create or replace an existing Environment.", - "operationId": "Environments_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "environment", - "in": "body", - "description": "Represents an environment instance", - "required": true, - "schema": { - "$ref": "#/definitions/Environment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Environment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/Environment" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "delete": { - "tags": [ - "Environments" - ], - "description": "Delete environment. This operation can take a while to complete", - "operationId": "Environments_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Environments" - ], - "description": "Modify properties of environments.", - "operationId": "Environments_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "environment", - "in": "body", - "description": "Represents an environment instance", - "required": true, - "schema": { - "$ref": "#/definitions/EnvironmentFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Environment" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/claim": { - "post": { - "tags": [ - "Environments" - ], - "description": "Claims the environment and assigns it to the user", - "operationId": "Environments_Claim", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/resetPassword": { - "post": { - "tags": [ - "Environments" - ], - "description": "Resets the user password on an environment This operation can take a while to complete", - "operationId": "Environments_ResetPassword", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "resetPasswordPayload", - "in": "body", - "description": "Represents the payload for resetting passwords.", - "required": true, - "schema": { - "$ref": "#/definitions/ResetPasswordPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/start": { - "post": { - "tags": [ - "Environments" - ], - "description": "Starts an environment by starting all resources inside the environment. This operation can take a while to complete", - "operationId": "Environments_Start", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/stop": { - "post": { - "tags": [ - "Environments" - ], - "description": "Stops an environment by stopping all resources inside the environment This operation can take a while to complete", - "operationId": "Environments_Stop", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "environmentName", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/publish": { - "post": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Provisions/deprovisions required resources for an environment setting based on current state of the lab/environment setting.", - "operationId": "EnvironmentSettings_Publish", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "name": "publishPayload", - "in": "body", - "description": "Payload for Publish operation on EnvironmentSetting.", - "required": true, - "schema": { - "$ref": "#/definitions/PublishPayload" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/start": { - "post": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Starts a template by starting all resources inside the template. This operation can take a while to complete", - "operationId": "EnvironmentSettings_Start", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/stop": { - "post": { - "tags": [ - "EnvironmentSettings" - ], - "description": "Starts a template by starting all resources inside the template. This operation can take a while to complete", - "operationId": "EnvironmentSettings_Stop", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "environmentSettingName", - "in": "path", - "description": "The name of the environment Setting.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register": { - "post": { - "tags": [ - "Labs" - ], - "description": "Register to managed lab.", - "operationId": "Labs_Register", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users": { - "get": { - "tags": [ - "Users" - ], - "description": "List users in a given lab.", - "operationId": "Users_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=email)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResponseWithContinuation[User]" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/User" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}": { - "get": { - "tags": [ - "Users" - ], - "description": "Get user", - "operationId": "Users_Get", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=email)'", - "required": false, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/User" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "put": { - "tags": [ - "Users" - ], - "description": "Create or replace an existing User.", - "operationId": "Users_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "user", - "in": "body", - "description": "The User registered to a lab", - "required": true, - "schema": { - "$ref": "#/definitions/User" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/User" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/User" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - }, - "delete": { - "tags": [ - "Users" - ], - "description": "Delete user. This operation can take a while to complete", - "operationId": "Users_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Users" - ], - "description": "Modify properties of users.", - "operationId": "Users_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "labAccountName", - "in": "path", - "description": "The name of the lab Account.", - "required": true, - "type": "string" - }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user.", - "required": true, - "type": "string" - }, - { - "name": "user", - "in": "body", - "description": "The User registered to a lab", - "required": true, - "schema": { - "$ref": "#/definitions/UserFragment" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/User" - } - }, - "default": { - "description": "BadRequest", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] - } - } - }, - "definitions": { - "AddUsersPayload": { - "description": "Payload for Add Users operation on a Lab.", - "required": [ - "emailAddresses" - ], - "type": "object", - "properties": { - "emailAddresses": { - "description": "List of user emails addresses to add to the lab.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CloudError": { - "description": "Error from a REST request.", - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody" - } - }, - "x-ms-external": true - }, - "CloudErrorBody": { - "description": "Body of an error from a REST request.", - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - }, - "target": { - "type": "string" - }, - "details": { - "description": "Inner errors.", - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "x-ms-external": true - }, - "CreateLabProperties": { - "description": "Properties for creating a managed lab and a default environment setting", - "required": [ - "labCreationParameters", - "name" - ], - "type": "object", - "properties": { - "environmentSettingCreationParameters": { - "$ref": "#/definitions/EnvironmentSettingCreationParameters", - "description": "Settings related to creating an environment setting" - }, - "labCreationParameters": { - "$ref": "#/definitions/LabCreationParameters", - "description": "Settings related to creating a lab" - }, - "name": { - "description": "The name of the resource", - "type": "string" - }, - "location": { - "description": "The location of the resource", - "type": "string" - }, - "tags": { - "description": "The tags of the resource.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "Environment": { - "description": "Represents an environment instance", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EnvironmentProperties", - "description": "The properties of the Environment resource", - "x-ms-client-flatten": true - } - } - }, - "EnvironmentDetails": { - "description": "This represents the details about a User's environment and its state.", - "type": "object", - "properties": { - "name": { - "description": "Name of the Environment", - "type": "string", - "readOnly": true - }, - "description": { - "description": "Description of the Environment", - "type": "string", - "readOnly": true - }, - "id": { - "description": "Resource Id of the environment", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning state of the environment. This also includes LabIsFull and NotYetProvisioned status.", - "type": "string", - "readOnly": true - }, - "virtualMachineDetails": { - "$ref": "#/definitions/VirtualMachineDetails", - "description": "Details of backing DTL virtual machine with compute and network details.", - "readOnly": true - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - }, - "environmentState": { - "description": "Publishing state of the environment setting Possible values are Creating, Created, Failed", - "type": "string", - "readOnly": true - }, - "totalUsage": { - "format": "duration", - "description": "How long the environment has been used by a lab user", - "type": "string", - "readOnly": true - }, - "passwordLastReset": { - "format": "date-time", - "description": "When the password was last reset on the environment.", - "type": "string", - "readOnly": true - } - } - }, - "EnvironmentFragment": { - "description": "Represents an environment instance", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EnvironmentPropertiesFragment", - "description": "The properties of the Environment resource", - "x-ms-client-flatten": true - } - } - }, - "EnvironmentOperationsPayload": { - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "required": [ - "environmentId" - ], - "type": "object", - "properties": { - "environmentId": { - "description": "The resourceId of the environment", - "type": "string" - } - } - }, - "EnvironmentProperties": { - "description": "Properties of an environment", - "type": "object", - "properties": { - "resourceSets": { - "$ref": "#/definitions/ResourceSet", - "description": "The set of a VM and the setting id it was created for" - }, - "claimedByUserObjectId": { - "description": "The AAD object Id of the user who has claimed the environment", - "type": "string", - "readOnly": true - }, - "claimedByUserPrincipalId": { - "description": "The user principal Id of the user who has claimed the environment", - "type": "string", - "readOnly": true - }, - "claimedByUserName": { - "description": "The name or email address of the user who has claimed the environment", - "type": "string", - "readOnly": true - }, - "isClaimed": { - "description": "Is the environment claimed or not", - "type": "boolean", - "readOnly": true - }, - "lastKnownPowerState": { - "description": "Last known power state of the environment", - "type": "string", - "readOnly": true - }, - "networkInterface": { - "$ref": "#/definitions/NetworkInterface", - "description": "Network details of the environment", - "readOnly": true - }, - "totalUsage": { - "format": "duration", - "description": "How long the environment has been used by a lab user", - "type": "string", - "readOnly": true - }, - "passwordLastReset": { - "format": "date-time", - "description": "When the password was last reset on the environment.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "EnvironmentPropertiesFragment": { - "description": "Properties of an environment", - "type": "object", - "properties": { - "resourceSets": { - "$ref": "#/definitions/ResourceSetFragment", - "description": "The set of a VM and the setting id it was created for" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "EnvironmentSetting": { - "description": "Represents settings of an environment, from which environment instances would be created", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EnvironmentSettingProperties", - "description": "The properties of the Environment Setting resource", - "x-ms-client-flatten": true - } - } - }, - "EnvironmentSettingCreationParameters": { - "description": "Settings related to creating an environment setting", - "required": [ - "resourceSettingCreationParameters" - ], - "type": "object", - "properties": { - "resourceSettingCreationParameters": { - "$ref": "#/definitions/ResourceSettingCreationParameters", - "description": "The resource specific settings" - } - } - }, - "EnvironmentSettingFragment": { - "description": "Represents settings of an environment, from which environment instances would be created", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EnvironmentSettingPropertiesFragment", - "description": "The properties of the Environment Setting resource", - "x-ms-client-flatten": true - } - } - }, - "EnvironmentSettingProperties": { - "description": "Properties of an environment setting", - "required": [ - "resourceSettings" - ], - "type": "object", - "properties": { - "publishingState": { - "description": "Describes the readiness of this environment setting", - "enum": [ - "Draft", - "Publishing", - "Published", - "PublishFailed", - "Scaling" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "PublishingState", - "modelAsString": true, - "values": [ - { - "value": "Draft", - "description": "Initial state of an environment setting." - }, - { - "value": "Publishing", - "description": "Currently provisioning resources." - }, - { - "value": "Published", - "description": "All resources are currently provisioned." - }, - { - "value": "PublishFailed", - "description": "Failed to provision all the necessary resources." - }, - { - "value": "Scaling", - "description": "Currently provisioning resources without recreating VM image." - } - ] - } - }, - "configurationState": { - "description": "Describes the user's progress in configuring their environment setting", - "enum": [ - "NotApplicable", - "Completed" - ], - "type": "string", - "x-ms-enum": { - "name": "ConfigurationState", - "modelAsString": true, - "values": [ - { - "value": "NotApplicable", - "description": "User either hasn't started configuring their template\r\nor they haven't started the configuration process." - }, - { - "value": "Completed", - "description": "User is finished modifying the template." - } - ] - } - }, - "description": { - "description": "Describes the environment and its resource settings", - "type": "string" - }, - "title": { - "description": "Brief title describing the environment and its resource settings", - "type": "string" - }, - "resourceSettings": { - "$ref": "#/definitions/ResourceSettings", - "description": "The resource specific settings" - }, - "lastChanged": { - "format": "date-time", - "description": "Time when the template VM was last changed.", - "type": "string", - "readOnly": true - }, - "lastPublished": { - "format": "date-time", - "description": "Time when the template VM was last sent for publishing.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "EnvironmentSettingPropertiesFragment": { - "description": "Properties of an environment setting", - "type": "object", - "properties": { - "configurationState": { - "description": "Describes the user's progress in configuring their environment setting", - "enum": [ - "NotApplicable", - "Completed" - ], - "type": "string", - "x-ms-enum": { - "name": "ConfigurationState", - "modelAsString": true, - "values": [ - { - "value": "NotApplicable", - "description": "User either hasn't started configuring their template\r\nor they haven't started the configuration process." - }, - { - "value": "Completed", - "description": "User is finished modifying the template." - } - ] - } - }, - "description": { - "description": "Describes the environment and its resource settings", - "type": "string" - }, - "title": { - "description": "Brief title describing the environment and its resource settings", - "type": "string" - }, - "resourceSettings": { - "$ref": "#/definitions/ResourceSettingsFragment", - "description": "The resource specific settings" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "EnvironmentSize": { - "description": "Represents a size category supported by this Lab Account (small, medium or large)", - "type": "object", - "properties": { - "name": { - "description": "The size category", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "vmSizes": { - "description": "Represents a set of compute sizes that can serve this given size type", - "type": "array", - "items": { - "$ref": "#/definitions/SizeInfo" - } - }, - "maxPrice": { - "format": "decimal", - "description": "The pay-as-you-go dollar price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost. This is the maximum price of all prices within this tier.", - "type": "number", - "readOnly": true - }, - "minNumberOfCores": { - "format": "int32", - "description": "The number of cores a VM of this size has. This is the minimum number of cores within this tier.", - "type": "integer", - "readOnly": true - }, - "minMemory": { - "format": "double", - "description": "The amount of memory available (in GB). This is the minimum amount of memory within this tier.", - "type": "number", - "readOnly": true - } - } - }, - "EnvironmentSizeFragment": { - "description": "Represents a size category supported by this Lab Account (small, medium or large)", - "type": "object", - "properties": { - "name": { - "description": "The size category", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "vmSizes": { - "description": "Represents a set of compute sizes that can serve this given size type", - "type": "array", - "items": { - "$ref": "#/definitions/SizeInfoFragment" - } - } - } - }, - "GalleryImage": { - "description": "Represents an image from the Azure Marketplace", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/GalleryImageProperties", - "description": "The gallery image properties", - "x-ms-client-flatten": true - } - } - }, - "GalleryImageFragment": { - "description": "Represents an image from the Azure Marketplace", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/GalleryImagePropertiesFragment", - "description": "The gallery image properties", - "x-ms-client-flatten": true - } - } - }, - "GalleryImageProperties": { - "description": "The gallery image properties", - "type": "object", - "properties": { - "author": { - "description": "The author of the gallery image.", - "type": "string", - "readOnly": true - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the gallery image.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The description of the gallery image.", - "type": "string", - "readOnly": true - }, - "imageReference": { - "$ref": "#/definitions/GalleryImageReference", - "description": "The image reference of the gallery image.", - "readOnly": true - }, - "icon": { - "description": "The icon of the gallery image.", - "type": "string", - "readOnly": true - }, - "isEnabled": { - "description": "Indicates whether this gallery image is enabled.", - "type": "boolean" - }, - "isOverride": { - "description": "Indicates whether this gallery has been overridden for this lab account", - "type": "boolean" - }, - "planId": { - "description": "The third party plan that applies to this image", - "type": "string", - "readOnly": true - }, - "isPlanAuthorized": { - "description": "Indicates if the plan has been authorized for programmatic deployment.", - "type": "boolean" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "GalleryImagePropertiesFragment": { - "description": "The gallery image properties", - "type": "object", - "properties": { - "isEnabled": { - "description": "Indicates whether this gallery image is enabled.", - "type": "boolean" - }, - "isOverride": { - "description": "Indicates whether this gallery has been overridden for this lab account", - "type": "boolean" - }, - "isPlanAuthorized": { - "description": "Indicates if the plan has been authorized for programmatic deployment.", - "type": "boolean" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "GalleryImageReference": { - "description": "The reference information for an Azure Marketplace image.", - "type": "object", - "properties": { - "offer": { - "description": "The offer 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" - }, - "osType": { - "description": "The OS type of the gallery image.", - "type": "string" - }, - "version": { - "description": "The version of the gallery image.", - "type": "string" - } - } - }, - "GalleryImageReferenceFragment": { - "description": "The reference information for an Azure Marketplace image.", - "type": "object", - "properties": { - "offer": { - "description": "The offer 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" - }, - "osType": { - "description": "The OS type of the gallery image.", - "type": "string" - }, - "version": { - "description": "The version of the gallery image.", - "type": "string" - } - } - }, - "GetEnvironmentResponse": { - "description": "Represents the environments details", - "type": "object", - "properties": { - "environment": { - "$ref": "#/definitions/EnvironmentDetails", - "description": "Details of the environment", - "readOnly": true - } - } - }, - "GetPersonalPreferencesResponse": { - "description": "Represents the PersonalPreferences for the user", - "type": "object", - "properties": { - "id": { - "description": "Id to be used by the cache orchestrator", - "type": "string" - }, - "favoriteLabResourceIds": { - "description": "Array of favorite lab resource ids", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GetRegionalAvailabilityResponse": { - "description": "The response model from the GetRegionalAvailability action", - "type": "object", - "properties": { - "regionalAvailability": { - "description": "Availability information for different size categories per region", - "type": "array", - "items": { - "$ref": "#/definitions/RegionalAvailability" - } - } - } - }, - "Lab": { - "description": "Represents a lab.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LabProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabAccount": { - "description": "Represents a lab account.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LabAccountProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabAccountFragment": { - "description": "Represents a lab account.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LabAccountPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabAccountProperties": { - "description": "Properties of a Lab Account.", - "type": "object", - "properties": { - "sizeConfiguration": { - "$ref": "#/definitions/SizeConfigurationProperties", - "description": "Represents the size configuration under the lab account", - "readOnly": true - }, - "enabledRegionSelection": { - "description": "Represents if region selection is enabled", - "type": "boolean" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "LabAccountPropertiesFragment": { - "description": "Properties of a Lab Account.", - "type": "object", - "properties": { - "enabledRegionSelection": { - "description": "Represents if region selection is enabled", - "type": "boolean" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabCreationParameters": { - "description": "Settings related to creating a lab", - "type": "object", - "properties": { - "maxUsersInLab": { - "format": "int32", - "description": "Maximum number of users allowed in the lab.", - "type": "integer" - } - } - }, - "LabDetails": { - "description": "This represents the details about a lab that the User is in, and its state.", - "type": "object", - "properties": { - "name": { - "description": "Name of the lab", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning state of the lab.", - "type": "string" - }, - "id": { - "description": "The Id of the lab.", - "type": "string" - }, - "usageQuota": { - "format": "duration", - "description": "The maximum duration a user can use a VM in this lab.", - "type": "string", - "readOnly": true - } - } - }, - "LabFragment": { - "description": "Represents a lab.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LabPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabProperties": { - "description": "Properties of a Lab.", - "type": "object", - "properties": { - "maxUsersInLab": { - "format": "int32", - "description": "Maximum number of users allowed in the lab.", - "type": "integer" - }, - "userQuota": { - "format": "int32", - "description": "Maximum value MaxUsersInLab can be set to, as specified by the service", - "type": "integer", - "readOnly": true - }, - "invitationCode": { - "description": "Invitation code that users can use to join a lab.", - "type": "string", - "readOnly": true - }, - "createdByObjectId": { - "description": "Object id of the user that created the lab.", - "type": "string", - "readOnly": true - }, - "usageQuota": { - "format": "duration", - "description": "Maximum duration a user can use an environment for in the lab.", - "type": "string" - }, - "userAccessMode": { - "description": "Lab user access mode (open to all vs. restricted to those listed on the lab).", - "enum": [ - "Restricted", - "Open" - ], - "type": "string", - "x-ms-enum": { - "name": "LabUserAccessMode", - "modelAsString": true, - "values": [ - { - "value": "Restricted", - "description": "Only users registered with the lab can access VMs." - }, - { - "value": "Open", - "description": "Any user can register with the lab and access its VMs." - } - ] - } - }, - "createdByUserPrincipalName": { - "description": "Lab creator name", - "type": "string", - "readOnly": true - }, - "createdDate": { - "format": "date-time", - "description": "Creation date for the lab", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "LabPropertiesFragment": { - "description": "Properties of a Lab.", - "type": "object", - "properties": { - "maxUsersInLab": { - "format": "int32", - "description": "Maximum number of users allowed in the lab.", - "type": "integer" - }, - "usageQuota": { - "format": "duration", - "description": "Maximum duration a user can use an environment for in the lab.", - "type": "string" - }, - "userAccessMode": { - "description": "Lab user access mode (open to all vs. restricted to those listed on the lab).", - "enum": [ - "Restricted", - "Open" - ], - "type": "string", - "x-ms-enum": { - "name": "LabUserAccessMode", - "modelAsString": true, - "values": [ - { - "value": "Restricted", - "description": "Only users registered with the lab can access VMs." - }, - { - "value": "Open", - "description": "Any user can register with the lab and access its VMs." - } - ] - } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LatestOperationResult": { - "description": "Details of the status of an operation.", - "type": "object", - "properties": { - "status": { - "description": "The current status of the operation.", - "type": "string", - "readOnly": true - }, - "errorCode": { - "description": "Error code on failure.", - "type": "string", - "readOnly": true - }, - "errorMessage": { - "description": "The error message.", - "type": "string", - "readOnly": true - }, - "requestUri": { - "description": "Request URI of the operation.", - "type": "string", - "readOnly": true - }, - "httpMethod": { - "description": "The HttpMethod - PUT/POST/DELETE for the operation.", - "type": "string", - "readOnly": true - }, - "operationUrl": { - "description": "The URL to use to check long-running operation status", - "type": "string", - "readOnly": true - } - } - }, - "LatestOperationResultFragment": { - "description": "Details of the status of an operation.", - "type": "object", - "properties": {} - }, - "ListEnvironmentsPayload": { - "description": "Represents the payload to list environments owned by a user", - "type": "object", - "properties": { - "labId": { - "description": "The resource Id of the lab", - "type": "string" - } - } - }, - "ListEnvironmentsResponse": { - "description": "Represents the list of environments owned by a user", - "type": "object", - "properties": { - "environments": { - "description": "List of all the environments", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentDetails" - } - } - } - }, - "ListLabsResponse": { - "description": "Lists the labs owned by a user", - "type": "object", - "properties": { - "labs": { - "description": "List of all the labs", - "type": "array", - "items": { - "$ref": "#/definitions/LabDetails" - } - } - } - }, - "NetworkInterface": { - "description": "Network details of the environment", - "type": "object", - "properties": { - "privateIpAddress": { - "description": "PrivateIp address of the Compute VM", - "type": "string", - "readOnly": true - }, - "sshAuthority": { - "description": "Connection information for Linux", - "type": "string", - "readOnly": true - }, - "rdpAuthority": { - "description": "Connection information for Windows", - "type": "string", - "readOnly": true - }, - "username": { - "description": "Username of the VM", - "type": "string", - "readOnly": true - } - } - }, - "NetworkInterfaceFragment": { - "description": "Network details of the environment", - "type": "object", - "properties": {} - }, - "OperationBatchStatusPayload": { - "description": "Payload to get the status of an operation", - "required": [ - "urls" - ], - "type": "object", - "properties": { - "urls": { - "description": "The operation url of long running operation", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "OperationBatchStatusResponse": { - "description": "Status Details of the long running operation for an environment", - "type": "object", - "properties": { - "items": { - "description": "Gets a collection of items that contain the operation url and status.", - "type": "array", - "items": { - "$ref": "#/definitions/OperationBatchStatusResponseItem" - }, - "readOnly": true - } - } - }, - "OperationBatchStatusResponseItem": { - "description": "Represents the status of an operation that used the batch API.", - "type": "object", - "properties": { - "operationUrl": { - "description": "status of the long running operation for an environment", - "type": "string", - "readOnly": true - }, - "status": { - "description": "status of the long running operation for an environment", - "type": "string", - "readOnly": true - } - } - }, - "OperationError": { - "description": "Error details for the operation in case of a failure.", - "type": "object", - "properties": { - "code": { - "description": "The error code of the operation error.", - "type": "string" - }, - "message": { - "description": "The error message of the operation error.", - "type": "string" - } - } - }, - "OperationMetadata": { - "description": "The REST API operation supported by ManagedLab ResourceProvider.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}", - "type": "string" - }, - "display": { - "$ref": "#/definitions/OperationMetadataDisplay", - "description": "The object that describes the operations" - } - } - }, - "OperationMetadataDisplay": { - "description": "The object that describes the operations", - "type": "object", - "properties": { - "provider": { - "description": "Friendly name of the resource provider", - "type": "string" - }, - "resource": { - "description": "Resource type on which the operation is performed.", - "type": "string" - }, - "operation": { - "description": "Operation type: read, write, delete, listKeys/action, etc.", - "type": "string" - }, - "description": { - "description": "Friendly name of the operation", - "type": "string" - } - } - }, - "OperationResult": { - "description": "An Operation Result", - "type": "object", - "properties": { - "status": { - "description": "The operation status.", - "type": "string" - }, - "error": { - "$ref": "#/definitions/OperationError", - "description": "Error details for the operation in case of a failure." - } - } - }, - "OperationStatusPayload": { - "description": "Payload to get the status of an operation", - "required": [ - "operationUrl" - ], - "type": "object", - "properties": { - "operationUrl": { - "description": "The operation url of long running operation", - "type": "string" - } - } - }, - "OperationStatusResponse": { - "description": "Status Details of the long running operation for an environment", - "type": "object", - "properties": { - "status": { - "description": "status of the long running operation for an environment", - "type": "string", - "readOnly": true - } - } - }, - "PersonalPreferencesOperationsPayload": { - "description": "Represents payload for any Environment operations like get, start, stop, connect", - "type": "object", - "properties": { - "labAccountResourceId": { - "description": "Resource Id of the lab account", - "type": "string" - }, - "addRemove": { - "description": "Enum indicating if user is adding or removing a favorite lab", - "enum": [ - "Add", - "Remove" - ], - "type": "string", - "x-ms-enum": { - "name": "AddRemove", - "modelAsString": true, - "values": [ - { - "value": "Add", - "description": "Indicates that a user is adding a favorite lab" - }, - { - "value": "Remove", - "description": "Indicates that a user is removing a favorite lab" - } - ] - } - }, - "labResourceId": { - "description": "Resource Id of the lab to add/remove from the favorites list", - "type": "string" - } - } - }, - "ProviderOperationResult": { - "description": "Result of the request to list REST API operations", - "type": "object", - "properties": { - "value": { - "description": "List of operations supported by the resource provider.", - "type": "array", - "items": { - "$ref": "#/definitions/OperationMetadata" - } - }, - "nextLink": { - "description": "URL to get the next set of operation list results if there are any.", - "type": "string", - "readOnly": true - } - } - }, - "PublishPayload": { - "description": "Payload for Publish operation on EnvironmentSetting.", - "type": "object", - "properties": { - "useExistingImage": { - "description": "Whether to use existing VM custom image when publishing.", - "type": "boolean" - } - } - }, - "ReferenceVm": { - "description": "Details of a Reference Vm", - "required": [ - "userName" - ], - "type": "object", - "properties": { - "userName": { - "description": "The username of the virtual machine", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine. This will be set to null in GET resource API", - "type": "string" - }, - "vmStateDetails": { - "$ref": "#/definitions/VmStateDetails", - "description": "The state details for the reference virtual machine.", - "readOnly": true - }, - "vmResourceId": { - "description": "VM resource Id for the environment", - "type": "string", - "readOnly": true - } - } - }, - "ReferenceVmCreationParameters": { - "description": "Creation parameters for Reference Vm", - "required": [ - "userName", - "password" - ], - "type": "object", - "properties": { - "userName": { - "description": "The username of the virtual machine", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine.", - "type": "string" - } - } - }, - "ReferenceVmFragment": { - "description": "Details of a Reference Vm", - "type": "object", - "properties": { - "userName": { - "description": "The username of the virtual machine", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine. This will be set to null in GET resource API", - "type": "string" - } - } - }, - "RegionalAvailability": { - "description": "The availability information of sizes across regions", - "type": "object", - "properties": { - "region": { - "description": "Corresponding region", - "type": "string" - }, - "sizeAvailabilities": { - "description": "List of all the size information for the region", - "type": "array", - "items": { - "$ref": "#/definitions/SizeAvailability" - } - } - } - }, - "RegisterPayload": { - "description": "Represents payload for Register action.", - "type": "object", - "properties": { - "registrationCode": { - "description": "The registration code of the lab.", - "type": "string" - } - } - }, - "ResetPasswordPayload": { - "description": "Represents the payload for resetting passwords.", - "required": [ - "environmentId" - ], - "type": "object", - "properties": { - "environmentId": { - "description": "The resourceId of the environment", - "type": "string" - }, - "username": { - "description": "The username for which the password will be reset.", - "type": "string" - }, - "password": { - "description": "The password to assign to the user specified in", - "type": "string" - } - } - }, - "Resource": { - "description": "An Azure resource.", - "type": "object", - "properties": { - "id": { - "description": "The identifier of the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The type of the resource.", - "type": "string", - "readOnly": true - }, - "location": { - "description": "The location of the resource.", - "type": "string" - }, - "tags": { - "description": "The tags of the resource.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "x-ms-azure-resource": true - }, - "ResourceSet": { - "description": "Represents a VM and the setting Id it was created for.", - "type": "object", - "properties": { - "vmResourceId": { - "description": "VM resource Id for the environment", - "type": "string" - }, - "resourceSettingId": { - "description": "resourceSettingId for the environment", - "type": "string" - } - } - }, - "ResourceSetFragment": { - "description": "Represents a VM and the setting Id it was created for.", - "type": "object", - "properties": { - "vmResourceId": { - "description": "VM resource Id for the environment", - "type": "string" - }, - "resourceSettingId": { - "description": "resourceSettingId for the environment", - "type": "string" - } - } - }, - "ResourceSettingCreationParameters": { - "description": "Represents resource specific settings", - "required": [ - "galleryImageResourceId", - "referenceVmCreationParameters" - ], - "type": "object", - "properties": { - "location": { - "description": "The location where the virtual machine will live", - "type": "string" - }, - "name": { - "description": "The name of the resource setting", - "type": "string" - }, - "galleryImageResourceId": { - "description": "The resource id of the gallery image used for creating the virtual machine", - "type": "string" - }, - "size": { - "description": "The size of the virtual machine", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "referenceVmCreationParameters": { - "$ref": "#/definitions/ReferenceVmCreationParameters", - "description": "Creation parameters for Reference Vm" - } - } - }, - "ResourceSettings": { - "description": "Represents resource specific settings", - "required": [ - "referenceVm" - ], - "type": "object", - "properties": { - "id": { - "description": "The unique id of the resource setting", - "type": "string", - "readOnly": true - }, - "galleryImageResourceId": { - "description": "The resource id of the gallery image used for creating the virtual machine", - "type": "string" - }, - "imageName": { - "description": "The name of the image used to created the environment setting", - "type": "string", - "readOnly": true - }, - "size": { - "description": "The size of the virtual machine", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "cores": { - "format": "int32", - "description": "The translated compute cores of the virtual machine", - "type": "integer", - "readOnly": true - }, - "referenceVm": { - "$ref": "#/definitions/ReferenceVm", - "description": "Details specific to Reference Vm" - } - } - }, - "ResourceSettingsFragment": { - "description": "Represents resource specific settings", - "type": "object", - "properties": { - "galleryImageResourceId": { - "description": "The resource id of the gallery image used for creating the virtual machine", - "type": "string" - }, - "size": { - "description": "The size of the virtual machine", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "referenceVm": { - "$ref": "#/definitions/ReferenceVmFragment", - "description": "Details specific to Reference Vm" - } - } - }, - "ResponseWithContinuation[Environment]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/Environment" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[EnvironmentSetting]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentSetting" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[GalleryImage]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/GalleryImage" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Lab]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/Lab" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[LabAccount]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/LabAccount" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[User]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { - "$ref": "#/definitions/User" - } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "SizeAvailability": { - "description": "Represents the size information", - "type": "object", - "properties": { - "sizeCategory": { - "description": "The category of the size (Basic, Standard, Performance).", - "enum": [ - "Basic", - "Standard", - "Performance" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedLabVmSize", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "The base VM size" - }, - { - "value": "Standard", - "description": "The standard or default VM size" - }, - { - "value": "Performance", - "description": "The most performant VM size" - } - ] - } - }, - "isAvailable": { - "description": "Whether or not this size category is available", - "type": "boolean" - } - } - }, - "SizeConfigurationProperties": { - "description": "Represents the size configuration under the lab account", - "type": "object", - "properties": { - "environmentSizes": { - "description": "Represents a list of size categories supported by this Lab Account (Small, Medium, Large)", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentSize" - } - } - } - }, - "SizeConfigurationPropertiesFragment": { - "description": "Represents the size configuration under the lab account", - "type": "object", - "properties": { - "environmentSizes": { - "description": "Represents a list of size categories supported by this Lab Account (Small, Medium, Large)", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentSizeFragment" - } - } - } - }, - "SizeInfo": { - "description": "Contains detailed information about a size", - "type": "object", - "properties": { - "computeSize": { - "description": "Represents the actual compute size, e.g. Standard_A2_v2.", - "type": "string" - }, - "price": { - "format": "decimal", - "description": "The pay-as-you-go price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost.", - "type": "number" - }, - "numberOfCores": { - "format": "int32", - "description": "The number of cores a VM of this size has.", - "type": "integer" - }, - "memory": { - "format": "double", - "description": "The amount of memory available (in GB).", - "type": "number" - } - } - }, - "SizeInfoFragment": { - "description": "Contains detailed information about a size", - "type": "object", - "properties": { - "computeSize": { - "description": "Represents the actual compute size, e.g. Standard_A2_v2.", - "type": "string" - }, - "price": { - "format": "decimal", - "description": "The pay-as-you-go price per hour this size will cost. It does not include discounts and may not reflect the actual price the size will cost.", - "type": "number" - }, - "numberOfCores": { - "format": "int32", - "description": "The number of cores a VM of this size has.", - "type": "integer" - }, - "memory": { - "format": "double", - "description": "The amount of memory available (in GB).", - "type": "number" - } - } - }, - "User": { - "description": "The User registered to a lab", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/UserProperties", - "description": "These are the properties for the user registered under a lab.", - "x-ms-client-flatten": true - } - } - }, - "UserFragment": { - "description": "The User registered to a lab", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/UserPropertiesFragment", - "description": "These are the properties for the user registered under a lab.", - "x-ms-client-flatten": true - } - } - }, - "UserProperties": { - "description": "Lab User properties", - "type": "object", - "properties": { - "email": { - "description": "The user email address, as it was specified during registration.", - "type": "string", - "readOnly": true - }, - "familyName": { - "description": "The user family name, as it was specified during registration.", - "type": "string", - "readOnly": true - }, - "givenName": { - "description": "The user given name, as it was specified during registration.", - "type": "string", - "readOnly": true - }, - "tenantId": { - "description": "The user tenant ID, as it was specified during registration.", - "type": "string", - "readOnly": true - }, - "totalUsage": { - "format": "duration", - "description": "How long the user has used his VMs in this lab", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - }, - "latestOperationResult": { - "$ref": "#/definitions/LatestOperationResult", - "description": "The details of the latest operation. ex: status, error", - "readOnly": true - } - } - }, - "UserPropertiesFragment": { - "description": "Lab User properties", - "type": "object", - "properties": { - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "VirtualMachineDetails": { - "description": "Details of the backing virtual machine.", - "type": "object", - "properties": { - "provisioningState": { - "description": "Provisioning state of the Dtl VM", - "type": "string", - "readOnly": true - }, - "rdpAuthority": { - "description": "Connection information for Windows", - "type": "string", - "readOnly": true - }, - "sshAuthority": { - "description": "Connection information for Linux", - "type": "string", - "readOnly": true - }, - "privateIpAddress": { - "description": "PrivateIp address of the compute VM", - "type": "string", - "readOnly": true - }, - "userName": { - "description": "Compute VM login user name", - "type": "string", - "readOnly": true - }, - "lastKnownPowerState": { - "description": "Last known compute power state captured in DTL", - "type": "string", - "readOnly": true - } - } - }, - "VmStateDetails": { - "description": "Details about the state of the reference virtual machine.", - "type": "object", - "properties": { - "rdpAuthority": { - "description": "The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).", - "type": "string", - "readOnly": true - }, - "sshAuthority": { - "description": "The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.", - "type": "string", - "readOnly": true - }, - "powerState": { - "description": "The power state of the reference virtual machine.", - "type": "string", - "readOnly": true - }, - "lastKnownPowerState": { - "description": "Last known compute power state captured in DTL", - "type": "string", - "readOnly": true - } - } - }, - "VmStateDetailsFragment": { - "description": "Details about the state of the reference virtual machine.", - "type": "object", - "properties": {} - } - }, - "parameters": { - "api-version": { - "name": "api-version", - "in": "query", - "description": "Client API version.", - "required": true, - "type": "string", - "default": "2021-10-01-preview" - }, - "locationName": { - "name": "locationName", - "in": "path", - "description": "The name of the location.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "resourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "subscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription ID.", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "OAuth2 Implicit Grant", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "Access Microsoft Azure" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json deleted file mode 100644 index eda121fcb7a0..000000000000 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs_List.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "parameters": { - "subscriptionId": "{subscription-id}", - "resourceGroupName": "myResourceGroup", - "labAccountName": "{devtestlab-name}", - "api-version": "2021-10-01-preview" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "maxUsersInLab": 1, - "userQuota": 100, - "invitationCode": "{invitationCode}", - "createdByObjectId": "11111111-1111-1111-1111-111111111111", - "userAccessMode": "Restricted", - "createdByUserPrincipalName": "YourNameHere@domain.com", - "createdDate": "2018-10-09T21:05:25.0408858+00:00", - "provisioningState": "Succeeded", - "uniqueIdentifier": "22222222-2222-2222-2222-222222222222", - "latestOperationResult": {} - }, - "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/microsoft.labservices/labaccounts/{devtestlab-name}/labs/{labName}", - "name": "{labName}", - "type": "Microsoft.LabServices/labAccounts/labs", - "location": "australiaeast", - "tags": { - "Name": "CreatedDate", - "Value": "8/30/118 9:37:32 PM" - } - }, - { - "properties": { - "maxUsersInLab": 1, - "userQuota": 100, - "invitationCode": "{invitationCode}", - "createdByObjectId": "11111111-1111-1111-1111-111111111111", - "userAccessMode": "Restricted", - "createdByUserPrincipalName": "YourNameHere@domain.com", - "createdDate": "2018-10-09T21:29:47.2453342+00:00", - "provisioningState": "Succeeded", - "uniqueIdentifier": "22222222-2222-2222-2222-222222222222", - "latestOperationResult": {} - }, - "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/microsoft.labservices/labaccounts/{devtestlab-name}/labs/{labName}", - "name": "{labName}", - "type": "Microsoft.LabServices/labAccounts/labs", - "location": "australiaeast", - "tags": { - "Value": "8/30/118 9:37:36 PM", - "Name": "CreatedDate" - } - } - ] - } - } - } -} From 40894aaf3872ac219dcc1d39695dcb3b3802c4aa Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:45:04 -0700 Subject: [PATCH 05/21] add 2021-10-01-preview spec files from generation --- .../preview/2021-10-01-preview/Images.json | 313 ++++++++ .../preview/2021-10-01-preview/LabPlans.json | 456 ++++++++++++ .../2021-10-01-preview/LabServices.json | 260 +++++++ .../preview/2021-10-01-preview/Labs.json | 675 ++++++++++++++++++ .../2021-10-01-preview/OperationResults.json | 160 +++++ .../preview/2021-10-01-preview/Schedules.json | 403 +++++++++++ .../preview/2021-10-01-preview/Skus.json | 124 ++++ .../preview/2021-10-01-preview/Users.json | 448 ++++++++++++ .../2021-10-01-preview/VirtualMachines.json | 533 ++++++++++++++ .../examples/Images/getImage.json | 38 + .../examples/Images/listImages.json | 67 ++ .../examples/Images/patchImage.json | 42 ++ .../examples/Images/putImage.json | 42 ++ .../examples/LabPlans/deleteLabPlan.json | 17 + .../examples/LabPlans/getLabPlan.json | 53 ++ .../examples/LabPlans/listLabPlans.json | 56 ++ .../LabPlans/listResourceGroupLabPlans.json | 57 ++ .../examples/LabPlans/patchLabPlan.json | 109 +++ .../examples/LabPlans/putLabPlan.json | 174 +++++ .../LabPlans/saveImageVirtualMachine.json | 20 + .../examples/LabServices/listOperations.json | 22 + .../examples/Labs/deleteLab.json | 17 + .../examples/Labs/getLab.json | 83 +++ .../examples/Labs/listLabs.json | 86 +++ .../examples/Labs/listResourceGroupLabs.json | 87 +++ .../examples/Labs/patchLab.json | 165 +++++ .../examples/Labs/publishLab.json | 16 + .../examples/Labs/putLab.json | 282 ++++++++ .../examples/Labs/syncLab.json | 16 + .../OperationResults/getOperationResult.json | 26 + .../examples/Schedules/deleteSchedule.json | 18 + .../examples/Schedules/getSchedule.json | 38 + .../examples/Schedules/listSchedule.json | 73 ++ .../examples/Schedules/patchSchedule.json | 47 ++ .../examples/Schedules/putSchedule.json | 78 ++ .../examples/Skus/listSkus.json | 52 ++ .../examples/Users/deleteUser.json | 18 + .../examples/Users/getUser.json | 35 + .../examples/Users/inviteUser.json | 15 + .../examples/Users/listUser.json | 39 + .../examples/Users/patchUser.json | 67 ++ .../examples/Users/putUser.json | 95 +++ .../VirtualMachines/getVirtualMachine.json | 40 ++ .../VirtualMachines/listVirtualMachine.json | 44 ++ .../redeployVirtualMachine.json | 17 + .../reimageVirtualMachine.json | 17 + .../resetPasswordVirtualMachine.json | 20 + .../VirtualMachines/startVirtualMachine.json | 17 + .../VirtualMachines/stopVirtualMachine.json | 17 + 49 files changed, 5594 insertions(+) create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/getImage.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/listImages.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/patchImage.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/putImage.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/deleteLabPlan.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/deleteLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/publishLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/syncLab.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/deleteSchedule.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/getSchedule.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/listSchedule.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/patchSchedule.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/putSchedule.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/deleteUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/getUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/listUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/patchUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/putUser.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/redeployVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/reimageVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/startVirtualMachine.json create mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/stopVirtualMachine.json diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json new file mode 100644 index 000000000000..a4f947991e99 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -0,0 +1,313 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services images." + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["Image"], + "summary": "Gets all images.", + "description": "Gets all images from galleries attached to a lab plan.", + "operationId": "Images_List", + "responses": { + "200": { + "description": "The request was successful; a list of images is returned", + "schema": { + "$ref": "#/definitions/PagedImages" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listImages": { + "$ref": "./examples/Images/listImages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images/{imageName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "get": { + "tags": ["Image"], + "summary": "Gets an image.", + "description": "Gets an image resource.", + "operationId": "Images_Get", + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-examples": { + "getImage": { + "$ref": "./examples/Images/getImage.json" + } + } + }, + "put": { + "tags": ["Image"], + "summary": "Updates an image via PUT.", + "description": "Updates an image resource via PUT. Creating new resources via PUT will not function.", + "operationId": "Images_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-examples": { + "putImage": { + "$ref": "./examples/Images/putImage.json" + } + } + }, + "patch": { + "tags": ["Image"], + "summary": "Updates an image.", + "description": "Updates an image resource.", + "consumes": ["application/json"], + "operationId": "Images_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-examples": { + "patchImage": { + "$ref": "./examples/Images/patchImage.json" + } + } + } + } + }, + "definitions": { + "Image": { + "description": "Lab services virtual machine image", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the image.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedImages": { + "description": "Paged list of Lab services virtual machine images.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "ImageUpdate": { + "description": "Lab services virtual machine image for updates.", + "properties": { + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ImageUpdateProperties": { + "description": "Properties of an image resource update", + "properties": { + "enabledState": { + "description": "Is the image enabled", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "ImageProperties": { + "description": "Properties of an image resource.", + "allOf": [ + { + "$ref": "#/definitions/ImageUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the image.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "displayName": { + "description": "The image display name", + "type": "string", + "readOnly": true + }, + "description": { + "description": "A description of the image.", + "type": "string", + "readOnly": true + }, + "iconUrl": { + "description": "URL of the image icon.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The OS Type of the image", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "offer": { + "description": "An offer associated with an image", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The image publisher", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The image SKU", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The image version", + "type": "string", + "readOnly": true + }, + "sharedGalleryId": { + "description": "The ID for the image in the shared gallery.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "availableRegions": { + "description": "The available regions of the image in the shared gallery.", + "type": "array", + "items": { + "type": "string" + } + }, + "osState": { + "description": "The OS State of the image.", + "$ref": "LabServices.json#/definitions/osState", + "readOnly": true + } + }, + "required": ["enabledState"] + } + }, + "parameters": { + "ImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The image name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json new file mode 100644 index 000000000000..de50daa093df --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -0,0 +1,456 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services lab plans." + }, + "host": "management.azure.com", + "schemes": ["https"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "consumes": ["application/json"], + "produces": ["application/json"], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["LabPlan"], + "summary": "Get all lab plans for a subscription.", + "description": "Returns a list of all lab plans within a subscription", + "operationId": "LabPlans_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabPlans": { + "$ref": "./examples/LabPlans/listLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": ["LabPlan"], + "summary": "Get all lab plans for a subscription and resource group.", + "description": "Returns a list of all lab plans for a subscription and resource group.", + "operationId": "LabPlans_ListByRG", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabPlans": { + "$ref": "./examples/LabPlans/listResourceGroupLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "get": { + "tags": ["LabPlan"], + "summary": "Retrieves a Lab Plan resource.", + "description": "Retrieves the properties of a Lab Plan.", + "operationId": "LabPlans_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + }, + "x-ms-examples": { + "getLabPlan": { + "$ref": "./examples/LabPlans/getLabPlan.json" + } + } + }, + "put": { + "tags": ["LabPlan"], + "summary": "Updates or creates a Lab Plan resource.", + "description": "Operation to create or update a Lab Plan resource.", + "operationId": "LabPlans_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "201": { + "description": "The create was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLabPlan": { + "$ref": "./examples/LabPlans/putLabPlan.json" + } + } + }, + "patch": { + "tags": ["LabPlan"], + "summary": "Updates a Lab Plan resource.", + "description": "Operation to update a Lab Plan resource.", + "consumes": ["application/json"], + "operationId": "LabPlans_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlanUpdate" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLabPlan": { + "$ref": "./examples/LabPlans/patchLabPlan.json" + } + } + }, + "delete": { + "tags": ["LabPlan"], + "summary": "Deletes a Lab Plan resource.", + "description": "Operation to delete a Lab Plan resource. Deleting a lab plan does not delete labs associated with a lab plan, nor does it delete shared images added to a gallery via the lab plan permission container.", + "operationId": "LabPlans_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLabPlan": { + "$ref": "./examples/LabPlans/deleteLabPlan.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/saveImage": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Save an image from a lab VM to the attached shared image gallery.", + "description": "Saves an image from a lab VM to the attached shared image gallery.", + "operationId": "LabPlans_SaveImage", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/SaveImageBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "saveImageVirtualMachine": { + "$ref": "./examples/LabPlans/saveImageVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "LabPlan": { + "description": "Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab plan.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab plan resource properties", + "$ref": "#/definitions/LabPlanProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedLabPlans": { + "description": "Paged list of lab plans.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LabPlan" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "LabPlanNetworkProfile": { + "description": "Profile for how to handle networking for Lab Plans.", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanUpdate": { + "description": "Contains lab configuration and default settings. This variant is used for PATCH.", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab plan resource update properties", + "$ref": "#/definitions/LabPlanUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LabPlanUpdateProperties": { + "description": "Lab plan resource properties for updates", + "properties": { + "defaultConnectionProfile": { + "description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "defaultAutoShutdownProfile": { + "description": "The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "defaultNetworkProfile": { + "description": "The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.", + "$ref": "#/definitions/LabPlanNetworkProfile" + }, + "allowedRegions": { + "description": "The allowed regions for the lab creator to use when creating labs using this lab plan.", + "type": "array", + "items": { + "type": "string" + } + }, + "sharedGalleryId": { + "description": "Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.", + "$ref": "LabServices.json#/definitions/url" + }, + "supportInfo": { + "description": "Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.", + "$ref": "#/definitions/SupportInfo" + }, + "linkedLmsInstance": { + "description": "Base Url of the lms instance this lab plan can link lab rosters against.", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanProperties": { + "description": "Lab plan resource properties", + "allOf": [ + { + "$ref": "#/definitions/LabPlanUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab plan.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + } + } + }, + "SupportInfo": { + "description": "Support contact information and instructions.", + "properties": { + "url": { + "description": "Support web address.", + "$ref": "LabServices.json#/definitions/url" + }, + "email": { + "description": "Support contact email address.", + "$ref": "LabServices.json#/definitions/emailAddress" + }, + "phone": { + "description": "Support contact phone number.", + "$ref": "LabServices.json#/definitions/phoneNumber" + }, + "instructions": { + "description": "Support instructions.", + "type": "string" + } + } + }, + "SaveImageBody": { + "description": "Body for the save image POST", + "properties": { + "Name": { + "description": "The name for the image we create.", + "type": "string" + }, + "labVirtualMachineId": { + "description": "The ID of the lab virtual machine you want to save an image from.", + "$ref": "LabServices.json#/definitions/url" + } + } + } + }, + "parameters": { + "LabPlanNameParameter": { + "name": "labPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json new file mode 100644 index 000000000000..e44350d6c056 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json @@ -0,0 +1,260 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.LabServices/operations": { + "get": { + "tags": ["Operations"], + "summary": "Get all operations", + "description": "Returns a list of all operations.", + "operationId": "Operations_List", + "responses": { + "200": { + "description": "The request was successful; response contains all operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listOperations": { + "$ref": "./examples/LabServices/listOperations.json" + } + } + } + } + }, + "definitions": { + "provisioningState": { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Locked" + ], + "description": "Resource provisioning state.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Creating", + "description": "Resource is in the process of being created." + }, + { + "value": "Updating", + "description": "New property values are being applied to the resource." + }, + { + "value": "Deleting", + "description": "Resource is in the process of being deleted." + }, + { + "value": "Succeeded", + "description": "Resource is in healthy state after creation or update operation." + }, + { + "value": "Failed", + "description": "Previous operation on the resource has failed leaving resource in unhealthy state." + }, + { + "value": "Locked", + "description": "The resource is locked and changes are currently blocked. This could be due to maintenance or a scheduled operation. The state will go back to succeeded once the locking operation has finished." + } + ] + } + }, + "enableState": { + "type": "string", + "enum": ["Enabled", "Disabled"], + "description": "Property enabled state.", + "x-ms-enum": { + "name": "EnableState", + "modelAsString": false + } + }, + "connectionType": { + "type": "string", + "enum": ["Public", "Private", "None"], + "description": "A connection type for access labs and VMs (Public, Private or None).", + "x-ms-enum": { + "name": "ConnectionType", + "modelAsString": false + } + }, + "emailAddress": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + }, + "phoneNumber": { + "type": "string", + "minLength": 1, + "maxLength": 31, + "description": "A phone number." + }, + "url": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "osType": { + "type": "string", + "enum": ["Windows", "Linux"], + "description": "The operating system type.", + "x-ms-enum": { + "name": "OsType", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "enum": ["Generalized", "Specialized"], + "description": "The operating system state.", + "x-ms-enum": { + "name": "OsState", + "modelAsString": false, + "values": [ + { + "value": "Generalized", + "description": "Image does not contain any machine and user specific information." + }, + { + "value": "Specialized", + "description": "Image contains machine and user specific information." + } + ] + } + }, + "shutdownOnIdleMode": { + "type": "string", + "enum": ["None", "UserAbsence", "LowUsage"], + "description": "Defines whether to shut down VM on idle and the criteria for idle detection.", + "x-ms-enum": { + "name": "shutdownOnIdleMode", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The VM won't be shut down when it is idle." + }, + { + "value": "UserAbsence", + "description": "The VM will be considered as idle when there is no keyboard or mouse input." + }, + { + "value": "LowUsage", + "description": "The VM will be considered as idle when user is absent and the resource (CPU and disk) consumption is low." + } + ] + } + }, + "TrackedResourceUpdate": { + "description": "Base tracked resource type for all PATCH updates.", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutoShutdownProfile": { + "description": "Profile for how to handle shutting down virtual machines.", + "properties": { + "shutdownOnDisconnect": { + "description": "Whether shutdown on disconnect is enabled", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownWhenNotConnected": { + "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time.", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownOnIdle": { + "description": "Whether a VM will get shutdown when it has idled for a period of time.", + "default": "None", + "$ref": "#/definitions/shutdownOnIdleMode" + }, + "disconnectDelay": { + "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "noConnectDelay": { + "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "idleDelay": { + "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled.", + "type": "string", + "format": "duration" + } + } + }, + "ConnectionProfile": { + "description": "Connection profile for how users connect to lab virtual machines.", + "properties": { + "webSshAccess": { + "description": "The enabled access level for Web Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "webRdpAccess": { + "description": "The enabled access level for Web Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientSshAccess": { + "description": "The enabled access level for Client Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientRdpAccess": { + "description": "The enabled access level for Client Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json new file mode 100644 index 000000000000..7e55281c0d1d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -0,0 +1,675 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services labs." + }, + "host": "management.azure.com", + "schemes": ["https"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "consumes": ["application/json"], + "produces": ["application/json"], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["Lab"], + "summary": "Get all labs for a subscription.", + "description": "Returns a list of all labs for a subscription.", + "operationId": "Labs_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabs": { + "$ref": "./examples/Labs/listLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": ["Lab"], + "summary": "Get all labs for a subscription and resource group.", + "description": "Returns a list of all labs in a resource group.", + "operationId": "Labs_ListByRG", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription and resource group.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabs": { + "$ref": "./examples/Labs/listResourceGroupLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "get": { + "tags": ["Lab"], + "summary": "Get a lab resource.", + "description": "Returns the properties of a lab resource.", + "operationId": "Labs_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + } + }, + "x-ms-examples": { + "getLab": { + "$ref": "./examples/Labs/getLab.json" + } + } + }, + "put": { + "tags": ["Lab"], + "summary": "Create or update a lab resource.", + "description": "Operation to create or update a lab resource.", + "operationId": "Labs_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Lab" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "201": { + "description": "The create was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLab": { + "$ref": "./examples/Labs/putLab.json" + } + } + }, + "patch": { + "tags": ["Lab"], + "summary": "Update a lab resource.", + "description": "Operation to update a lab resource.", + "consumes": ["application/json"], + "operationId": "Labs_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabUpdate" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The resource was update and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLab": { + "$ref": "./examples/Labs/patchLab.json" + } + } + }, + "delete": { + "tags": ["Lab"], + "summary": "Deletes a lab resource.", + "description": "Operation to delete a lab resource.", + "operationId": "Labs_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLab": { + "$ref": "./examples/Labs/deleteLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/publish": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": ["Lab"], + "summary": "Publish or re-publish a lab.", + "description": "Publish or re-publish a lab. This will create or update all lab resources, such as virtual machines.", + "operationId": "Labs_Publish", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "publishLab": { + "$ref": "./examples/Labs/publishLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/syncGroup": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": ["Lab"], + "summary": "Manually sync the lab group.", + "description": "Action used to manually kick off an AAD group sync job.", + "operationId": "Labs_SyncGroup", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "syncLab": { + "$ref": "./examples/Labs/syncLab.json" + } + } + } + } + }, + "definitions": { + "Lab": { + "description": "The lab resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedLabs": { + "description": "Paged list of labs.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Lab" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "LabNetworkProfile": { + "description": "Profile for how to handle networking for Labs.", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "loadBalancerId": { + "description": "The external load balancer resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "publicIpId": { + "description": "The external public IP resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabUpdate": { + "description": "The lab resource for updates.", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LabUpdateProperties": { + "description": "Properties of a lab resource used for updates.", + "properties": { + "autoShutdownProfile": { + "description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "connectionProfile": { + "description": "The connection profile for the lab. This controls settings such as web access to lab resources or whether RDP or SSH ports are open.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "virtualMachineProfile": { + "description": "The profile used for creating lab virtual machines.", + "$ref": "#/definitions/VirtualMachineProfile" + }, + "securityProfile": { + "description": "The lab security profile.", + "$ref": "#/definitions/SecurityProfile" + }, + "rosterProfile": { + "description": "The lab user list management profile.", + "$ref": "#/definitions/RosterProfile" + }, + "labPlanId": { + "description": "The ID of the lab plan. Used during resource creation to provide defaults and acts as a permission container when creating a lab via labs.azure.com. Setting a labPlanId on an existing lab provides organization..", + "$ref": "LabServices.json#/definitions/url" + }, + "title": { + "description": "The title of the lab.", + "type": "string", + "minLength": 1, + "maxLength": 120 + }, + "description": { + "description": "The description of the lab.", + "type": "string" + } + } + }, + "LabProperties": { + "description": "Properties of a lab resource.", + "allOf": [ + { + "$ref": "#/definitions/LabUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "networkProfile": { + "description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.", + "$ref": "#/definitions/LabNetworkProfile", + "x-ms-mutability": ["read", "create"] + }, + "state": { + "description": "The lab state.", + "$ref": "#/definitions/LabState", + "readOnly": true + } + }, + "required": [ + "autoShutdownProfile", + "connectionProfile", + "securityProfile", + "virtualMachineProfile" + ] + }, + "SecurityProfile": { + "description": "The lab security profile.", + "properties": { + "registrationCode": { + "description": "The registration code for the lab.", + "type": "string", + "readOnly": true + }, + "openAccess": { + "description": "Whether any user or only specified users can register to a lab.", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "RosterProfile": { + "description": "The lab user list management profile.", + "properties": { + "activeDirectoryGroupId": { + "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.", + "type": "string" + }, + "ltiContextId": { + "description": "The unique context identifier for the lab in the lms.", + "type": "string" + }, + "lmsInstance": { + "description": "The base URI identifying the lms instace.", + "type": "string" + }, + "ltiClientId": { + "description": "The unique id of the azure lab services tool in the lms.", + "type": "string" + }, + "ltiRosterEndpoint": { + "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab.", + "type": "string" + } + } + }, + "VirtualMachineProfile": { + "description": "The base virtual machine configuration for a lab.", + "properties": { + "createOption": { + "description": "Indicates what lab virtual machines are created from.", + "type": "string", + "enum": ["Image", "TemplateVM"], + "x-ms-enum": { + "name": "CreateOption", + "modelAsString": false, + "values": [ + { + "value": "Image", + "description": "An image is used to create all lab user virtual machines. When this option is set, no template VM will be created." + }, + { + "value": "TemplateVM", + "description": "A template VM will be used to create all lab user virtual machines." + } + ] + }, + "x-ms-mutability": ["read", "create"] + }, + "imageReference": { + "description": "The image configuration for lab virtual machines.", + "$ref": "#/definitions/ImageReference", + "x-ms-mutability": ["read", "create"] + }, + "osType": { + "description": "The OS type of the image", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "sku": { + "description": "The SKU for the lab. Defines the type of virtual machines used in the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku", + "x-ms-mutability": ["read", "create"] + }, + "additionalCapabilities": { + "description": "Additional VM capabilities.", + "$ref": "#/definitions/VirtualMachineAdditionalCapabilities", + "x-ms-mutability": ["read", "create"] + }, + "usageQuota": { + "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.", + "type": "string", + "format": "duration" + }, + "useSharedPassword": { + "description": "Enabling this option will use the same password for all user VMs.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState", + "x-ms-mutability": ["read", "create"] + }, + "adminUser": { + "description": "Credentials for the admin user on the VM.", + "$ref": "#/definitions/Credentials" + }, + "nonAdminUser": { + "description": "Credentials for the non-admin user on the VM, if one exists.", + "$ref": "#/definitions/Credentials" + } + }, + "required": [ + "createOption", + "imageReference", + "usageQuota", + "sku", + "adminUser" + ] + }, + "VirtualMachineAdditionalCapabilities": { + "description": "The additional capabilities for a lab VM.", + "properties": { + "installGpuDrivers": { + "description": "Flag to pre-install dedicated GPU drivers.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "Credentials": { + "description": "Credentials for a user on a lab VM.", + "properties": { + "username": { + "description": "The username to use when signing in to lab VMs.", + "type": "string", + "x-ms-mutability": ["read", "create"] + }, + "password": { + "description": "The password for the user. This is required for the TemplateVM createOption.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": ["create"] + } + }, + "required": ["username"] + }, + "ImageReference": { + "description": "Image reference information. Used in the virtual machine profile.", + "properties": { + "id": { + "description": "Image resource ID", + "$ref": "LabServices.json#/definitions/url" + }, + "offer": { + "description": "The image offer if applicable.", + "type": "string" + }, + "publisher": { + "description": "The image publisher", + "type": "string" + }, + "sku": { + "description": "The image SKU", + "type": "string" + }, + "version": { + "description": "The image version specified on creation.", + "type": "string" + }, + "exactVersion": { + "description": "The actual version of the image after use.", + "type": "string", + "readOnly": true + } + } + }, + "LabState": { + "type": "string", + "enum": ["Draft", "Publishing", "Scaling", "Syncing", "Published"], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "LabState", + "modelAsString": false, + "values": [ + { + "value": "Draft", + "description": "The lab is currently in draft (has not been published)." + }, + { + "value": "Publishing", + "description": "The lab is publishing." + }, + { + "value": "Scaling", + "description": "The lab is scaling." + }, + { + "value": "Syncing", + "description": "The lab is syncing users." + }, + { + "value": "Published", + "description": "The lab has been published." + } + ] + } + } + }, + "parameters": { + "LabNameParameter": { + "name": "labName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json new file mode 100644 index 000000000000..9b36a5e1eb9a --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -0,0 +1,160 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/operationResults/{operationResultId}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/OperationResultId" + } + ], + "get": { + "tags": ["OperationResults"], + "summary": "Get an azure operation result.", + "description": "Returns an azure operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the operation result.", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "202": { + "description": "The request was accepted; response contains the operation result.", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "204": { + "description": "The request has been fulfilled." + } + }, + "x-ms-examples": { + "getOperationResult": { + "$ref": "./examples/OperationResults/getOperationResult.json" + } + } + } + } + }, + "definitions": { + "OperationResult": { + "description": "A long running operation result", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "status": { + "description": "The operation status", + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false, + "values": [ + { + "value": "NotStarted", + "description": "The operation has been accepted but hasn't started." + }, + { + "value": "InProgress", + "description": "The operation is running" + }, + { + "value": "Succeeded", + "description": "The operation Succeeded" + }, + { + "value": "Failed", + "description": "The operation failed" + }, + { + "value": "Canceled", + "description": "Not supported yet" + } + ] + } + }, + "startTime": { + "description": "Start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "End time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "description": "Percent completion", + "type": "number" + }, + "error": { + "description": "The error for a failure if the operation failed.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + }, + "required": ["status"] + } + }, + "parameters": { + "OperationResultId": { + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation result ID / name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json new file mode 100644 index 000000000000..cc1b24443f32 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json @@ -0,0 +1,403 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services schedules." + }, + "host": "management.azure.com", + "schemes": ["https"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "consumes": ["application/json"], + "produces": ["application/json"], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["Schedule"], + "summary": "Get all schedules for a lab.", + "description": "Returns a list of all schedules for a lab.", + "operationId": "Schedules_List", + "responses": { + "200": { + "description": "The request was successful; response contains all schedules for the given lab.", + "schema": { + "$ref": "#/definitions/PagedSchedules" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "getListSchedule": { + "$ref": "./examples/Schedules/listSchedule.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules/{scheduleName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/ScheduleNameParameter" + } + ], + "get": { + "tags": ["Schedule"], + "summary": "Get a lab Schedule.", + "description": "Returns the properties of a lab Schedule.", + "operationId": "Schedules_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + } + }, + "x-ms-examples": { + "getSchedule": { + "$ref": "./examples/Schedules/getSchedule.json" + } + } + }, + "put": { + "tags": ["Schedule"], + "summary": "Create or update a lab schedule.", + "description": "Operation to create or update a lab schedule.", + "operationId": "Schedules_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "The schedule was created; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + } + }, + "x-ms-examples": { + "putSchedule": { + "$ref": "./examples/Schedules/putSchedule.json" + } + } + }, + "patch": { + "tags": ["Schedule"], + "summary": "Update a lab schedule.", + "description": "Operation to update a lab schedule.", + "consumes": ["application/json"], + "operationId": "Schedules_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleUpdate" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + } + }, + "x-ms-examples": { + "patchSchedule": { + "$ref": "./examples/Schedules/patchSchedule.json" + } + } + }, + "delete": { + "tags": ["Schedule"], + "summary": "Deletes a schedule resource.", + "description": "Operation to delete a schedule resource.", + "operationId": "Schedules_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteSchedule": { + "$ref": "./examples/Schedules/deleteSchedule.json" + } + } + } + } + }, + "definitions": { + "Schedule": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the schedule.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedSchedules": { + "description": "Paged list of schedules.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "ScheduleUpdate": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times. Used for updates.", + "properties": { + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ScheduleUpdateProperties": { + "description": "Schedule resource properties used for updates.", + "properties": { + "startAt": { + "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "stopAt": { + "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "recurrencePattern": { + "description": "The recurrence pattern of the scheduled actions.", + "$ref": "#/definitions/RecurrencePattern" + }, + "timeZoneId": { + "description": "The IANA timezone id for the schedule.", + "type": "string", + "maxLength": 50 + }, + "notes": { + "description": "Notes for this schedule.", + "type": "string", + "maxLength": 1000 + } + } + }, + "ScheduleProperties": { + "description": "Schedule resource properties", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the schedule.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + } + }, + "required": ["stopAt", "timeZoneId"] + }, + "RecurrencePattern": { + "description": "Recurrence pattern of a lab schedule.", + "properties": { + "frequency": { + "description": "The frequency of the recurrence.", + "$ref": "#/definitions/RecurrenceFrequency" + }, + "weekDays": { + "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly.", + "type": "array", + "items": { + "$ref": "#/definitions/WeekDay", + "maxItems": 7 + } + }, + "interval": { + "description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 365 + }, + "expirationDate": { + "description": "When the recurrence will expire. This date is inclusive.", + "type": "string", + "format": "date" + } + }, + "required": ["frequency", "expirationDate"] + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "description": "Days of the week.", + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": false, + "values": [ + { + "value": "Sunday", + "description": "Schedule will run on Sunday" + }, + { + "value": "Monday", + "description": "Schedule will run on Monday" + }, + { + "value": "Tuesday", + "description": "Schedule will run on Tuesday" + }, + { + "value": "Wednesday", + "description": "Schedule will run on Wednesday" + }, + { + "value": "Thursday", + "description": "Schedule will run on Thursday" + }, + { + "value": "Friday", + "description": "Schedule will run on Friday" + }, + { + "value": "Saturday", + "description": "Schedule will run on Saturday" + } + ] + } + }, + "RecurrenceFrequency": { + "type": "string", + "enum": ["Daily", "Weekly"], + "description": "Schedule recurrence frequencies.", + "x-ms-enum": { + "name": "RecurrenceFrequency", + "modelAsString": false, + "values": [ + { + "value": "Daily", + "description": "Schedule will run every days." + }, + { + "value": "Weekly", + "description": "Schedule will run every week on days specified in weekDays." + } + ] + } + } + }, + "parameters": { + "ScheduleNameParameter": { + "name": "scheduleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json new file mode 100644 index 000000000000..c1512e3b42c7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json @@ -0,0 +1,124 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services VM size data." + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/skus": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "get": { + "tags": ["Skus"], + "summary": "Gets all the Azure Lab Services resource SKUs.", + "description": "Returns a list of all the Azure Lab Services resource SKUs.", + "operationId": "Skus_List", + "responses": { + "200": { + "description": "The request was successful; response contains all Azure Lab Services virtual machine sizes.", + "schema": { + "$ref": "#/definitions/PagedLabServicesSkus" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listSkus": { + "$ref": "./examples/Skus/listSkus.json" + } + } + } + } + }, + "definitions": { + "LabServicesSku": { + "description": "Azure Lab Services resource SKUs", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku" + } + ], + "properties": { + "resourceType": { + "description": "The lab services resource type.", + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "The capabilities of the SKU.", + "$ref": "#/definitions/LabServicesSkuCapabilities", + "readOnly": true + }, + "locations": { + "description": "List of locations that are available for a size.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PagedLabServicesSkus": { + "description": "Paged list of lab services skus.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSku" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuCapabilities": { + "description": "The capabilities of a lab services SKU.", + "properties": { + "coreCount": { + "description": "The number of cores for a SKU.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "memoryInGB": { + "description": "The amount of memory for the VM SKU in GB.", + "type": "number", + "readOnly": true + }, + "discreteGpu": { + "description": "Indicates if the SKU has a discrete GPU or not.", + "$ref": "LabServices.json#/definitions/enableState", + "readOnly": true + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json new file mode 100644 index 000000000000..c10e6f33d8b7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json @@ -0,0 +1,448 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services users." + }, + "host": "management.azure.com", + "schemes": ["https"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "consumes": ["application/json"], + "produces": ["application/json"], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["User"], + "summary": "Get all users for a lab.", + "description": "Returns a list of all users for a lab.", + "operationId": "Users_List", + "responses": { + "200": { + "description": "The request was successful; response contains all users for the given lab.", + "schema": { + "$ref": "#/definitions/PagedUsers" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUser": { + "$ref": "./examples/Users/listUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "get": { + "tags": ["User"], + "summary": "Get a lab user.", + "description": "Returns the properties of a lab user.", + "operationId": "Users_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + } + }, + "x-ms-examples": { + "getUser": { + "$ref": "./examples/Users/getUser.json" + } + } + }, + "put": { + "tags": ["User"], + "summary": "Create or update a lab user.", + "description": "Operation to create or update a lab user.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "201": { + "description": "The user was created successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putUser": { + "$ref": "./examples/Users/putUser.json" + } + } + }, + "patch": { + "tags": ["User"], + "summary": "Update a lab user.", + "description": "Operation to update a lab user.", + "consumes": ["application/json"], + "operationId": "Users_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/UserUpdate" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchUser": { + "$ref": "./examples/Users/patchUser.json" + } + } + }, + "delete": { + "tags": ["User"], + "summary": "Deletes a user resource.", + "description": "Operation to delete a user resource.", + "operationId": "Users_Delete", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteUser": { + "$ref": "./examples/Users/deleteUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}/invite": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "post": { + "tags": ["User"], + "summary": "Invite a user to a lab.", + "description": "Operation to invite a user to a lab.", + "operationId": "Users_Invite", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/InviteBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "inviteUser": { + "$ref": "./examples/Users/inviteUser.json" + } + } + } + } + }, + "definitions": { + "User": { + "description": "User of a lab that can register for and use virtual machines within the lab.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the user resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedUsers": { + "description": "Paged list of users.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserUpdate": { + "description": "User of a lab that can register for and use virtual machines within the lab. Used for updates.", + "properties": { + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "UserUpdateProperties": { + "description": "User resource properties used for updates.", + "properties": { + "additionalUsageQuota": { + "description": "The amount of usage quota time the user gets in addition to the lab usage quota.", + "type": "string", + "format": "duration" + } + } + }, + "UserProperties": { + "description": "User resource properties", + "allOf": [ + { + "$ref": "#/definitions/UserUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the user resource.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "displayName": { + "description": "Display name of the user, for example user's full name.", + "type": "string", + "readOnly": true + }, + "email": { + "description": "Email address of the user.", + "$ref": "LabServices.json#/definitions/emailAddress", + "x-ms-mutability": ["read", "create"] + }, + "registrationState": { + "description": "State of the user's registration within the lab.", + "$ref": "#/definitions/RegistrationState", + "readOnly": true + }, + "invitationState": { + "description": "State of the invitation message for the user.", + "$ref": "#/definitions/InvitationState", + "readOnly": true + }, + "invitationSent": { + "description": "Date and time when the invitation message was sent to the user.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "totalUsage": { + "description": "How long the user has used their virtual machines in this lab.", + "type": "string", + "format": "duration", + "readOnly": true + } + }, + "required": ["email"] + }, + "RegistrationState": { + "type": "string", + "enum": ["NotRegistered", "Registered"], + "description": "The user lab registration state.", + "x-ms-enum": { + "name": "RegistrationState", + "modelAsString": false, + "values": [ + { + "value": "Registered", + "description": "User has not yet registered with the lab." + }, + { + "value": "NotRegistered", + "description": "User has registered with the lab." + } + ] + } + }, + "InvitationState": { + "type": "string", + "enum": ["NotSent", "Sending", "Sent", "Failed"], + "description": "The lab user invitation state.", + "x-ms-enum": { + "name": "InvitationState", + "modelAsString": false, + "values": [ + { + "value": "NotSent", + "description": "The invitation has not been sent." + }, + { + "value": "Sending", + "description": "Currently sending the invitation." + }, + { + "value": "Sent", + "description": "The invitation has been successfully sent." + }, + { + "value": "Failed", + "description": "There was an error while sending the invitation." + } + ] + } + }, + "InviteBody": { + "description": "Body for a user invite request", + "properties": { + "text": { + "description": "Custom text for the invite email.", + "type": "string" + } + } + } + }, + "parameters": { + "UserNameParameter": { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json new file mode 100644 index 000000000000..5b87046b6f3d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -0,0 +1,533 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services virtual machines." + }, + "host": "management.azure.com", + "schemes": ["https"], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "consumes": ["application/json"], + "produces": ["application/json"], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": ["VirtualMachine"], + "summary": "Get all virtual machines for a lab.", + "description": "Returns a list of all virtual machines for a lab.", + "operationId": "VirtualMachines_List", + "responses": { + "200": { + "description": "The request was successful; response contains all virtual machines for the given lab.", + "schema": { + "$ref": "#/definitions/PagedVirtualMachines" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listVirtualMachine": { + "$ref": "./examples/VirtualMachines/listVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "get": { + "tags": ["VirtualMachine"], + "summary": "Get a lab virtual machine.", + "description": "Returns the properties for a lab virtual machine.", + "operationId": "VirtualMachines_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab virtual machine.", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + }, + "x-ms-examples": { + "getVirtualMachine": { + "$ref": "./examples/VirtualMachines/getVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Start a lab virtual machine.", + "description": "Action to start a lab virtual machine.", + "operationId": "VirtualMachines_Start", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "startVirtualMachine": { + "$ref": "./examples/VirtualMachines/startVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Stop a lab virtual machine.", + "description": "Action to stop a lab virtual machine.", + "operationId": "VirtualMachines_Stop", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "stopVirtualMachine": { + "$ref": "./examples/VirtualMachines/stopVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Re-image a lab virtual machine.", + "description": "Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.", + "operationId": "VirtualMachines_Reimage", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "reimageVirtualMachine": { + "$ref": "./examples/VirtualMachines/reimageVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "description": "Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "operationId": "VirtualMachines_Redeploy", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "redeployVirtualMachine": { + "$ref": "./examples/VirtualMachines/redeployVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": ["VirtualMachine"], + "summary": "Reset a lab virtual machine password.", + "description": "Resets a lab virtual machine password.", + "operationId": "VirtualMachines_ResetPassword", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ResetPasswordBody" + } + } + ], + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "resetPasswordVirtualMachine": { + "$ref": "./examples/VirtualMachines/resetPasswordVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "VirtualMachine": { + "description": "A lab virtual machine resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System data of the Lab virtual machine.", + "readOnly": true + }, + "properties": { + "description": "Virtual machine resource properties", + "$ref": "#/definitions/VirtualMachineProperties", + "x-ms-client-flatten": true + } + }, + "required": ["properties"] + }, + "PagedVirtualMachines": { + "description": "Paged list of lab services virtual machines.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineProperties": { + "description": "Virtual machine resource properties", + "properties": { + "provisioningState": { + "description": "Current provisioning state of the virtual machine.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "state": { + "description": "The current state of the virtual machine", + "$ref": "#/definitions/VirtualMachineState", + "readOnly": true + }, + "connectionProfile": { + "description": "Profile for information about connecting to the virtual machine.", + "$ref": "#/definitions/VirtualMachineConnectionProfile", + "readOnly": true + }, + "claimedByUserId": { + "description": "The lab user ID (not the PUID!) of who claimed the virtual machine.", + "type": "string", + "readOnly": true + }, + "vmType": { + "description": "The type of this VM resource", + "$ref": "#/definitions/VirtualMachineType", + "readOnly": true + } + } + }, + "ResetPasswordBody": { + "description": "Body of a reset password request.", + "properties": { + "username": { + "description": "The user whose password is being reset", + "type": "string", + "x-ms-mutability": ["read"] + }, + "password": { + "description": "The password", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": ["create"] + } + }, + "required": ["username", "password"] + }, + "VirtualMachineState": { + "type": "string", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "ResettingPassword", + "Reimaging", + "Redeploying" + ], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineState", + "modelAsString": false, + "values": [ + { + "value": "Stopped", + "description": "The VM is currently stopped." + }, + { + "value": "Starting", + "description": "The VM is starting." + }, + { + "value": "Running", + "description": "The VM is running." + }, + { + "value": "Stopping", + "description": "The VM is stopping." + }, + { + "value": "ResettingPassword", + "description": "The VM password is being reset." + }, + { + "value": "Reimaging", + "description": "The VM is being reimaged." + }, + { + "value": "Redeploying", + "description": "The VM is being redeployed." + } + ] + } + }, + "VirtualMachineConnectionProfile": { + "description": "The connection information for the virtual machine", + "properties": { + "privateIpAddress": { + "description": "The private IP address of the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "Port and host name separated by semicolon for connecting via SSH protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshInBrowserUrl": { + "description": "URL for connecting via SSH protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "rdpAuthority": { + "description": "Port and host name separated by semicolon for connecting via RDP protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "rdpInBrowserUrl": { + "description": "URL for connecting via RDP protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "adminUsername": { + "description": "The username used to log on to the virtual machine as admin.", + "type": "string", + "readOnly": true + }, + "nonAdminUsername": { + "description": "The username used to log on to the virtual machine as non-admin, if one exists.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineType": { + "type": "string", + "enum": ["User", "Template"], + "description": "The type of the lab virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineType", + "modelAsString": false, + "values": [ + { + "value": "User", + "description": "A user VM" + }, + { + "value": "Template", + "description": "A template VM" + } + ] + } + } + }, + "parameters": { + "VirtualMachineNameParameter": { + "name": "virtualMachineName", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the virtual machine that uniquely identifies it within the containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/getImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/getImage.json new file mode 100644 index 000000000000..cf5e8e56a9b7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/getImage.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/listImages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/listImages.json new file mode 100644 index 000000000000..7f67183edec6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/listImages.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": null, + "enabledState": "Enabled" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image2", + "name": "image2", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "A custom image", + "description": "An example custom image response", + "osType": "Windows", + "offer": null, + "publisher": null, + "sku": null, + "version": null, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/sig/images/test-1", + "enabledState": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/patchImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/patchImage.json new file mode 100644 index 000000000000..7a63e70a57b3 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/patchImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/putImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/putImage.json new file mode 100644 index 000000000000..7a63e70a57b3 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Images/putImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/deleteLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/deleteLabPlan.json new file mode 100644 index 000000000000..97c64069eb7b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/deleteLabPlan.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json new file mode 100644 index 000000000000..0a96b03579ee --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json new file mode 100644 index 000000000000..04327ed8c41b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json new file mode 100644 index 000000000000..04134b933196 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json new file mode 100644 index 000000000000..5572a617785d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json new file mode 100644 index 000000000000..a64b3459ab12 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "location": "westus", + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json new file mode 100644 index 000000000000..cec0311d6eba --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "displayName": "Test Image", + "labVirtualMachineId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json new file mode 100644 index 000000000000..f0af33d21c3d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "name": "Microsoft.LabServices/labPlans/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Lab Services", + "resource": "Microsoft.LabServices/labPlans", + "operation": "Create or Update Lab Plan", + "description": "Create new or update an existing lab plan." + }, + "origin": "user,system" + } + ] + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/deleteLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/deleteLab.json new file mode 100644 index 000000000000..bd03d911b1c1 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/deleteLab.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json new file mode 100644 index 000000000000..e119f270eda8 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json new file mode 100644 index 000000000000..f2cd297fd6a0 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json new file mode 100644 index 000000000000..7072e9b22912 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json new file mode 100644 index 000000000000..16f77c0cf962 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "properties": { + "securityProfile": { + "openAccess": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/id" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/publishLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/publishLab.json new file mode 100644 index 000000000000..9d973eb4c383 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/publishLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json new file mode 100644 index 000000000000..faaec44b8d5b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "location": "westus", + "properties": { + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium" + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdleEnabled": "Enabled", + "disconnectDelay": "00:05", + "noConnectDelay": "01:00", + "idleDelay": "01:00" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ], + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "10:00", + "useSharedPassword": "Disabled", + "username": "test-user" + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/syncLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/syncLab.json new file mode 100644 index 000000000000..9d973eb4c383 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/syncLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json new file mode 100644 index 000000000000..20d18d5a4aea --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "operationResultId": "a64149d8-84cb-4566-ab8e-b4ee1a074174" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174", + "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174", + "status": "InProgress", + "startTime": "2020-05-01T10:00:00Z" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174", + "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174", + "status": "InProgress", + "startTime": "2020-05-01T10:00:00Z" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/deleteSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/deleteSchedule.json new file mode 100644 index 000000000000..3d769055327b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/deleteSchedule.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/getSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/getSchedule.json new file mode 100644 index 000000000000..55ab1940a6f9 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/getSchedule.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/listSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/listSchedule.json new file mode 100644 index 000000000000..4261489722fd --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/listSchedule.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule2", + "name": "schedule2", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Weekly", + "weekDays": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 2 for students" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/patchSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/patchSchedule.json new file mode 100644 index 000000000000..3951b77f59cc --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/patchSchedule.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/putSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/putSchedule.json new file mode 100644 index 000000000000..3f59a2d94758 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Schedules/putSchedule.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json new file mode 100644 index 000000000000..5e22ce6ce6bc --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "Small", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 2, + "memoryInGB": 3.5, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus", + "eastus" + ] + }, + { + "name": "Medium", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Disabled" + }, + "locations": [ + "westus" + ] + }, + { + "name": "Medium GPU", + "resourceType": "VirtualMachine", + "capabilities": { + "coreCount": 4, + "memoryInGB": 7, + "discreteGpu": "Enabled" + }, + "locations": [ + "westus" + ] + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/deleteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/deleteUser.json new file mode 100644 index 000000000000..17a874ae7fe9 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/deleteUser.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/getUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/getUser.json new file mode 100644 index 000000000000..a7ca9bfa1ebc --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/getUser.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "10:00" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json new file mode 100644 index 000000000000..133ed186c277 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "text": "Invitation to lab testlab" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/listUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/listUser.json new file mode 100644 index 000000000000..2827e66d6711 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/listUser.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "10:00" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/patchUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/patchUser.json new file mode 100644 index 000000000000..7d0d1f1bef9f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/patchUser.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "20:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/putUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/putUser.json new file mode 100644 index 000000000000..347b8f3fcbd1 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/putUser.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "20:00", + "email": "testuser@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "23:59", + "additionalUsageQuota": "20:00" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json new file mode 100644 index 000000000000..28ba92a5cdc2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "username": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json new file mode 100644 index 000000000000..b12cbd7ef051 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "username": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/redeployVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/redeployVirtualMachine.json new file mode 100644 index 000000000000..fe6af7adbd36 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/redeployVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/reimageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/reimageVirtualMachine.json new file mode 100644 index 000000000000..fe6af7adbd36 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/reimageVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json new file mode 100644 index 000000000000..67e4d7ff1ac6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template", + "body": { + "password": "example-password" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/startVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/startVirtualMachine.json new file mode 100644 index 000000000000..fe6af7adbd36 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/startVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/stopVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/stopVirtualMachine.json new file mode 100644 index 000000000000..fe6af7adbd36 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/stopVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} From 9ee65ba79bd7f24e7b30addb90a53e0b0d199c55 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:48:18 -0700 Subject: [PATCH 06/21] update preview api files in readme.md input --- specification/labservices/resource-manager/readme.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index 50182f3fc889..6b08ad3f10f5 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -36,7 +36,15 @@ These settings apply only when `--tag=package-preview-2021-10` is specified on t ```yaml $(tag) == 'package-preview-2021-10' input-file: - - Microsoft.LabServices/preview/2021-10-01-preview/ML.json + - Microsoft.LabServices/preview/2020-10-01-preview/LabServices.json + - Microsoft.LabServices/preview/2020-10-01-preview/Skus.json + - Microsoft.LabServices/preview/2020-10-01-preview/OperationResults.json + - Microsoft.LabServices/preview/2020-10-01-preview/LabPlans.json + - Microsoft.LabServices/preview/2020-10-01-preview/Images.json + - Microsoft.LabServices/preview/2020-10-01-preview/Labs.json + - Microsoft.LabServices/preview/2020-10-01-preview/Users.json + - Microsoft.LabServices/preview/2020-10-01-preview/VirtualMachines.json + - Microsoft.LabServices/preview/2020-10-01-preview/Schedules.json ``` ### Tag: package-2018-10 From c054a07f1fe2734bbc3700399b6da0721cac290f Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 12:54:18 -0700 Subject: [PATCH 07/21] update 2020 -> 2021 in new api version in readme --- .../labservices/resource-manager/readme.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index 6b08ad3f10f5..f94c14f89b95 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -36,15 +36,15 @@ These settings apply only when `--tag=package-preview-2021-10` is specified on t ```yaml $(tag) == 'package-preview-2021-10' input-file: - - Microsoft.LabServices/preview/2020-10-01-preview/LabServices.json - - Microsoft.LabServices/preview/2020-10-01-preview/Skus.json - - Microsoft.LabServices/preview/2020-10-01-preview/OperationResults.json - - Microsoft.LabServices/preview/2020-10-01-preview/LabPlans.json - - Microsoft.LabServices/preview/2020-10-01-preview/Images.json - - Microsoft.LabServices/preview/2020-10-01-preview/Labs.json - - Microsoft.LabServices/preview/2020-10-01-preview/Users.json - - Microsoft.LabServices/preview/2020-10-01-preview/VirtualMachines.json - - Microsoft.LabServices/preview/2020-10-01-preview/Schedules.json + - Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json + - Microsoft.LabServices/preview/2021-10-01-preview/Skus.json + - Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json + - Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json + - Microsoft.LabServices/preview/2021-10-01-preview/Images.json + - Microsoft.LabServices/preview/2021-10-01-preview/Labs.json + - Microsoft.LabServices/preview/2021-10-01-preview/Users.json + - Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json + - Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json ``` ### Tag: package-2018-10 From c91a5d8603939bfeb4e2812713a6ee1cac78bcb7 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 13:08:30 -0700 Subject: [PATCH 08/21] spelling fixes --- .../preview/2021-10-01-preview/LabPlans.json | 2 +- .../Microsoft.LabServices/preview/2021-10-01-preview/Labs.json | 2 +- .../preview/2021-10-01-preview/VirtualMachines.json | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json index de50daa093df..ca694af7f54f 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -430,7 +430,7 @@ "SaveImageBody": { "description": "Body for the save image POST", "properties": { - "Name": { + "name": { "description": "The name for the image we create.", "type": "string" }, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json index 7e55281c0d1d..2ffe2f0b451f 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -487,7 +487,7 @@ "type": "string" }, "lmsInstance": { - "description": "The base URI identifying the lms instace.", + "description": "The base URI identifying the lms instance.", "type": "string" }, "ltiClientId": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index 5b87046b6f3d..1ae95ce92d88 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -399,6 +399,7 @@ "username": { "description": "The user whose password is being reset", "type": "string", + "readOnly": true, "x-ms-mutability": ["read"] }, "password": { From dab4fbef84e55bd0bf023942b23490f6c96e3864 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 13:18:57 -0700 Subject: [PATCH 09/21] fix object body mutability --- .../preview/2021-10-01-preview/VirtualMachines.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index 1ae95ce92d88..caf57e55d3a7 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -399,8 +399,7 @@ "username": { "description": "The user whose password is being reset", "type": "string", - "readOnly": true, - "x-ms-mutability": ["read"] + "x-ms-mutability": ["read", "create"] }, "password": { "description": "The password", From 06feaa1feea4e7f5359d37a8c2cc794278a68e9a Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 14:36:10 -0700 Subject: [PATCH 10/21] add type:object where missing --- .../preview/2021-10-01-preview/Images.json | 5 +++++ .../preview/2021-10-01-preview/LabPlans.json | 8 ++++++++ .../preview/2021-10-01-preview/LabServices.json | 3 +++ .../preview/2021-10-01-preview/Labs.json | 12 ++++++++++++ .../preview/2021-10-01-preview/OperationResults.json | 1 + .../preview/2021-10-01-preview/Schedules.json | 6 ++++++ .../preview/2021-10-01-preview/Skus.json | 3 +++ .../preview/2021-10-01-preview/Users.json | 4 ++++ .../preview/2021-10-01-preview/VirtualMachines.json | 5 +++++ 9 files changed, 47 insertions(+) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json index a4f947991e99..e4ed5205dd82 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -168,6 +168,7 @@ "definitions": { "Image": { "description": "Lab services virtual machine image", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" @@ -189,6 +190,7 @@ }, "PagedImages": { "description": "Paged list of Lab services virtual machine images.", + "type": "object", "properties": { "value": { "type": "array", @@ -205,6 +207,7 @@ }, "ImageUpdate": { "description": "Lab services virtual machine image for updates.", + "type": "object", "properties": { "properties": { "description": "Image resource properties", @@ -215,6 +218,7 @@ }, "ImageUpdateProperties": { "description": "Properties of an image resource update", + "type": "object", "properties": { "enabledState": { "description": "Is the image enabled", @@ -225,6 +229,7 @@ }, "ImageProperties": { "description": "Properties of an image resource.", + "type": "object", "allOf": [ { "$ref": "#/definitions/ImageUpdateProperties" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json index ca694af7f54f..f1c30472cb72 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -296,6 +296,7 @@ "definitions": { "LabPlan": { "description": "Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten.", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" @@ -317,6 +318,7 @@ }, "PagedLabPlans": { "description": "Paged list of lab plans.", + "type": "object", "properties": { "value": { "type": "array", @@ -333,6 +335,7 @@ }, "LabPlanNetworkProfile": { "description": "Profile for how to handle networking for Lab Plans.", + "type": "object", "properties": { "subnetId": { "description": "The external subnet resource id", @@ -342,6 +345,7 @@ }, "LabPlanUpdate": { "description": "Contains lab configuration and default settings. This variant is used for PATCH.", + "type": "object", "allOf": [ { "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" @@ -357,6 +361,7 @@ }, "LabPlanUpdateProperties": { "description": "Lab plan resource properties for updates", + "type": "object", "properties": { "defaultConnectionProfile": { "description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.", @@ -393,6 +398,7 @@ }, "LabPlanProperties": { "description": "Lab plan resource properties", + "type": "object", "allOf": [ { "$ref": "#/definitions/LabPlanUpdateProperties" @@ -408,6 +414,7 @@ }, "SupportInfo": { "description": "Support contact information and instructions.", + "type": "object", "properties": { "url": { "description": "Support web address.", @@ -429,6 +436,7 @@ }, "SaveImageBody": { "description": "Body for the save image POST", + "type": "object", "properties": { "name": { "description": "The name for the image we create.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json index e44350d6c056..64d269f21569 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json @@ -186,6 +186,7 @@ }, "TrackedResourceUpdate": { "description": "Base tracked resource type for all PATCH updates.", + "type": "object", "properties": { "tags": { "description": "Resource tags.", @@ -198,6 +199,7 @@ }, "AutoShutdownProfile": { "description": "Profile for how to handle shutting down virtual machines.", + "type": "object", "properties": { "shutdownOnDisconnect": { "description": "Whether shutdown on disconnect is enabled", @@ -233,6 +235,7 @@ }, "ConnectionProfile": { "description": "Connection profile for how users connect to lab virtual machines.", + "type": "object", "properties": { "webSshAccess": { "description": "The enabled access level for Web Access over SSH.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json index 2ffe2f0b451f..3ce6d30aa760 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -324,6 +324,7 @@ "definitions": { "Lab": { "description": "The lab resource.", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" @@ -345,6 +346,7 @@ }, "PagedLabs": { "description": "Paged list of labs.", + "type": "object", "properties": { "value": { "type": "array", @@ -361,6 +363,7 @@ }, "LabNetworkProfile": { "description": "Profile for how to handle networking for Labs.", + "type": "object", "properties": { "subnetId": { "description": "The external subnet resource id", @@ -378,6 +381,7 @@ }, "LabUpdate": { "description": "The lab resource for updates.", + "type": "object", "allOf": [ { "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" @@ -393,6 +397,7 @@ }, "LabUpdateProperties": { "description": "Properties of a lab resource used for updates.", + "type": "object", "properties": { "autoShutdownProfile": { "description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.", @@ -432,6 +437,7 @@ }, "LabProperties": { "description": "Properties of a lab resource.", + "type": "object", "allOf": [ { "$ref": "#/definitions/LabUpdateProperties" @@ -463,6 +469,7 @@ }, "SecurityProfile": { "description": "The lab security profile.", + "type": "object", "properties": { "registrationCode": { "description": "The registration code for the lab.", @@ -477,6 +484,7 @@ }, "RosterProfile": { "description": "The lab user list management profile.", + "type": "object", "properties": { "activeDirectoryGroupId": { "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.", @@ -502,6 +510,7 @@ }, "VirtualMachineProfile": { "description": "The base virtual machine configuration for a lab.", + "type": "object", "properties": { "createOption": { "description": "Indicates what lab virtual machines are created from.", @@ -573,6 +582,7 @@ }, "VirtualMachineAdditionalCapabilities": { "description": "The additional capabilities for a lab VM.", + "type": "object", "properties": { "installGpuDrivers": { "description": "Flag to pre-install dedicated GPU drivers.", @@ -583,6 +593,7 @@ }, "Credentials": { "description": "Credentials for a user on a lab VM.", + "type": "object", "properties": { "username": { "description": "The username to use when signing in to lab VMs.", @@ -600,6 +611,7 @@ }, "ImageReference": { "description": "Image reference information. Used in the virtual machine profile.", + "type": "object", "properties": { "id": { "description": "Image resource ID", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json index 9b36a5e1eb9a..1ad5e817c2d7 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -74,6 +74,7 @@ "definitions": { "OperationResult": { "description": "A long running operation result", + "type": "object", "properties": { "id": { "readOnly": true, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json index cc1b24443f32..1120df8cf9fe 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json @@ -200,6 +200,7 @@ "definitions": { "Schedule": { "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times.", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" @@ -221,6 +222,7 @@ }, "PagedSchedules": { "description": "Paged list of schedules.", + "type": "object", "properties": { "value": { "type": "array", @@ -237,6 +239,7 @@ }, "ScheduleUpdate": { "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times. Used for updates.", + "type": "object", "properties": { "properties": { "description": "Schedule resource properties", @@ -247,6 +250,7 @@ }, "ScheduleUpdateProperties": { "description": "Schedule resource properties used for updates.", + "type": "object", "properties": { "startAt": { "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.", @@ -276,6 +280,7 @@ }, "ScheduleProperties": { "description": "Schedule resource properties", + "type": "object", "allOf": [ { "$ref": "#/definitions/ScheduleUpdateProperties" @@ -292,6 +297,7 @@ }, "RecurrencePattern": { "description": "Recurrence pattern of a lab schedule.", + "type": "object", "properties": { "frequency": { "description": "The frequency of the recurrence.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json index c1512e3b42c7..282f33a4eebe 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json @@ -57,6 +57,7 @@ "definitions": { "LabServicesSku": { "description": "Azure Lab Services resource SKUs", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku" @@ -85,6 +86,7 @@ }, "PagedLabServicesSkus": { "description": "Paged list of lab services skus.", + "type": "object", "properties": { "value": { "type": "array", @@ -101,6 +103,7 @@ }, "LabServicesSkuCapabilities": { "description": "The capabilities of a lab services SKU.", + "type": "object", "properties": { "coreCount": { "description": "The number of cores for a SKU.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json index c10e6f33d8b7..396c760631ca 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json @@ -273,6 +273,7 @@ "definitions": { "User": { "description": "User of a lab that can register for and use virtual machines within the lab.", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" @@ -310,6 +311,7 @@ }, "UserUpdate": { "description": "User of a lab that can register for and use virtual machines within the lab. Used for updates.", + "type": "object", "properties": { "properties": { "description": "User resource properties", @@ -320,6 +322,7 @@ }, "UserUpdateProperties": { "description": "User resource properties used for updates.", + "type": "object", "properties": { "additionalUsageQuota": { "description": "The amount of usage quota time the user gets in addition to the lab usage quota.", @@ -330,6 +333,7 @@ }, "UserProperties": { "description": "User resource properties", + "type": "object", "allOf": [ { "$ref": "#/definitions/UserUpdateProperties" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index caf57e55d3a7..d3233b28bfbe 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -328,6 +328,7 @@ "definitions": { "VirtualMachine": { "description": "A lab virtual machine resource.", + "type": "object", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" @@ -349,6 +350,7 @@ }, "PagedVirtualMachines": { "description": "Paged list of lab services virtual machines.", + "type": "object", "properties": { "value": { "type": "array", @@ -365,6 +367,7 @@ }, "VirtualMachineProperties": { "description": "Virtual machine resource properties", + "type": "object", "properties": { "provisioningState": { "description": "Current provisioning state of the virtual machine.", @@ -395,6 +398,7 @@ }, "ResetPasswordBody": { "description": "Body of a reset password request.", + "type": "object", "properties": { "username": { "description": "The user whose password is being reset", @@ -459,6 +463,7 @@ }, "VirtualMachineConnectionProfile": { "description": "The connection information for the virtual machine", + "type": "object", "properties": { "privateIpAddress": { "description": "The private IP address of the virtual machine.", From 7fe317e5a2c6f1b1687588d4f96f3677212cbbcf Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 15:00:39 -0700 Subject: [PATCH 11/21] added default error response --- .../preview/2021-10-01-preview/Images.json | 24 ++++++++++ .../preview/2021-10-01-preview/LabPlans.json | 42 ++++++++++++++++ .../2021-10-01-preview/LabServices.json | 6 +++ .../preview/2021-10-01-preview/Labs.json | 48 +++++++++++++++++++ .../2021-10-01-preview/OperationResults.json | 10 ++++ .../preview/2021-10-01-preview/Schedules.json | 30 ++++++++++++ .../preview/2021-10-01-preview/Skus.json | 6 +++ .../preview/2021-10-01-preview/Users.json | 38 +++++++++++++++ .../2021-10-01-preview/VirtualMachines.json | 42 ++++++++++++++++ 9 files changed, 246 insertions(+) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json index e4ed5205dd82..5b1188063140 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -53,6 +53,12 @@ "schema": { "$ref": "#/definitions/PagedImages" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -94,6 +100,12 @@ "schema": { "$ref": "#/definitions/Image" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -124,6 +136,12 @@ "schema": { "$ref": "#/definitions/Image" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -155,6 +173,12 @@ "schema": { "$ref": "#/definitions/Image" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json index f1c30472cb72..374a451e3efe 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -47,6 +47,12 @@ "schema": { "$ref": "#/definitions/PagedLabPlans" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -82,6 +88,12 @@ "schema": { "$ref": "#/definitions/PagedLabPlans" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -120,6 +132,12 @@ "schema": { "$ref": "#/definitions/LabPlan" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -162,6 +180,12 @@ "schema": { "$ref": "#/definitions/LabPlan" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -203,6 +227,12 @@ "schema": { "$ref": "#/definitions/LabPlan" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -229,6 +259,12 @@ }, "204": { "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -279,6 +315,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json index 64d269f21569..0e7fdabbf154 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json @@ -41,6 +41,12 @@ "schema": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json index 3ce6d30aa760..22593a05d08e 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -47,6 +47,12 @@ "schema": { "$ref": "#/definitions/PagedLabs" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -82,6 +88,12 @@ "schema": { "$ref": "#/definitions/PagedLabs" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -120,6 +132,12 @@ "schema": { "$ref": "#/definitions/Lab" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -162,6 +180,12 @@ "schema": { "$ref": "#/definitions/Lab" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -203,6 +227,12 @@ "schema": { "$ref": "#/definitions/Lab" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -229,6 +259,12 @@ }, "204": { "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -268,6 +304,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -307,6 +349,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json index 1ad5e817c2d7..390631c82f38 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -61,8 +61,18 @@ }, "204": { "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "x-ms-examples": { "getOperationResult": { "$ref": "./examples/OperationResults/getOperationResult.json" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json index 1120df8cf9fe..fa101d9fadb7 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json @@ -53,6 +53,12 @@ "schema": { "$ref": "#/definitions/PagedSchedules" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -94,6 +100,12 @@ "schema": { "$ref": "#/definitions/Schedule" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -130,6 +142,12 @@ "schema": { "$ref": "#/definitions/Schedule" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -161,6 +179,12 @@ "schema": { "$ref": "#/definitions/Schedule" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -183,6 +207,12 @@ }, "204": { "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json index 282f33a4eebe..0fc7c3458730 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json @@ -41,6 +41,12 @@ "schema": { "$ref": "#/definitions/PagedLabServicesSkus" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json index 396c760631ca..e5806f41ac6a 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json @@ -53,6 +53,12 @@ "schema": { "$ref": "#/definitions/PagedUsers" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -94,6 +100,12 @@ "schema": { "$ref": "#/definitions/User" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -136,6 +148,12 @@ "schema": { "$ref": "#/definitions/User" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -177,6 +195,12 @@ "schema": { "$ref": "#/definitions/User" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -203,6 +227,12 @@ }, "204": { "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -256,6 +286,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -295,6 +331,7 @@ }, "PagedUsers": { "description": "Paged list of users.", + "type": "object", "properties": { "value": { "type": "array", @@ -428,6 +465,7 @@ }, "InviteBody": { "description": "Body for a user invite request", + "type": "object", "properties": { "text": { "description": "Custom text for the invite email.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index d3233b28bfbe..80359717ec70 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -53,6 +53,12 @@ "schema": { "$ref": "#/definitions/PagedVirtualMachines" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -94,6 +100,12 @@ "schema": { "$ref": "#/definitions/VirtualMachine" } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -132,6 +144,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -174,6 +192,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -216,6 +240,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -258,6 +288,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, @@ -311,6 +347,12 @@ }, "202": { "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true, From 28348831ded20fdbe7875f426d41324863ee4cb2 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 15:15:15 -0700 Subject: [PATCH 12/21] tracker resource operation naming and description adding --- .../preview/2021-10-01-preview/Images.json | 4 +++- .../preview/2021-10-01-preview/LabPlans.json | 4 +++- .../preview/2021-10-01-preview/Labs.json | 4 +++- .../preview/2021-10-01-preview/Schedules.json | 4 +++- .../preview/2021-10-01-preview/Skus.json | 2 ++ .../preview/2021-10-01-preview/Users.json | 4 +++- .../preview/2021-10-01-preview/VirtualMachines.json | 4 +++- 7 files changed, 20 insertions(+), 6 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json index 5b1188063140..798f800d8aaf 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -46,7 +46,7 @@ "tags": ["Image"], "summary": "Gets all images.", "description": "Gets all images from galleries attached to a lab plan.", - "operationId": "Images_List", + "operationId": "Images_ListByLabPlan", "responses": { "200": { "description": "The request was successful; a list of images is returned", @@ -217,6 +217,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of virtual machine images.", "type": "array", "items": { "$ref": "#/definitions/Image" @@ -224,6 +225,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of image results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json index 374a451e3efe..bc10aa694ec9 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -81,7 +81,7 @@ "tags": ["LabPlan"], "summary": "Get all lab plans for a subscription and resource group.", "description": "Returns a list of all lab plans for a subscription and resource group.", - "operationId": "LabPlans_ListByRG", + "operationId": "LabPlans_ListByResourceGroup", "responses": { "200": { "description": "The request was successful; response contains all Lab Plans for the given subscription.", @@ -363,6 +363,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of lab plans.", "type": "array", "items": { "$ref": "#/definitions/LabPlan" @@ -370,6 +371,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of lab plan results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json index 22593a05d08e..143868bd0833 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -81,7 +81,7 @@ "tags": ["Lab"], "summary": "Get all labs for a subscription and resource group.", "description": "Returns a list of all labs in a resource group.", - "operationId": "Labs_ListByRG", + "operationId": "Labs_ListByResourceGroup", "responses": { "200": { "description": "The request was successful; response contains all Labs for the given subscription and resource group.", @@ -397,6 +397,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of lab results.", "type": "array", "items": { "$ref": "#/definitions/Lab" @@ -404,6 +405,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of image results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json index fa101d9fadb7..49aa11236abc 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json @@ -46,7 +46,7 @@ "tags": ["Schedule"], "summary": "Get all schedules for a lab.", "description": "Returns a list of all schedules for a lab.", - "operationId": "Schedules_List", + "operationId": "Schedules_ListByLab", "responses": { "200": { "description": "The request was successful; response contains all schedules for the given lab.", @@ -255,6 +255,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of schedule results.", "type": "array", "items": { "$ref": "#/definitions/Schedule" @@ -262,6 +263,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of schedule results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json index 0fc7c3458730..4fcf366c3335 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json @@ -95,6 +95,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of sku results.", "type": "array", "items": { "$ref": "#/definitions/LabServicesSku" @@ -102,6 +103,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of sku results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json index e5806f41ac6a..927e4a4401d3 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json @@ -46,7 +46,7 @@ "tags": ["User"], "summary": "Get all users for a lab.", "description": "Returns a list of all users for a lab.", - "operationId": "Users_List", + "operationId": "Users_ListByLab", "responses": { "200": { "description": "The request was successful; response contains all users for the given lab.", @@ -334,6 +334,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of user results.", "type": "array", "items": { "$ref": "#/definitions/User" @@ -341,6 +342,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of image results.", "type": "string", "readOnly": true } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index 80359717ec70..aa2a5897417d 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -46,7 +46,7 @@ "tags": ["VirtualMachine"], "summary": "Get all virtual machines for a lab.", "description": "Returns a list of all virtual machines for a lab.", - "operationId": "VirtualMachines_List", + "operationId": "VirtualMachines_ListByLab", "responses": { "200": { "description": "The request was successful; response contains all virtual machines for the given lab.", @@ -395,6 +395,7 @@ "type": "object", "properties": { "value": { + "description": "The array page of virtual machine results.", "type": "array", "items": { "$ref": "#/definitions/VirtualMachine" @@ -402,6 +403,7 @@ "readOnly": true }, "nextLink": { + "description": "The link to get the next page of virtual machine results.", "type": "string", "readOnly": true } From 486ca830ea46e8911bbd16850752ab27879300d3 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 15:35:52 -0700 Subject: [PATCH 13/21] fix shutdownOnIdleEnabled in examples --- .../2021-10-01-preview/examples/LabPlans/getLabPlan.json | 2 +- .../examples/LabPlans/listLabPlans.json | 2 +- .../examples/LabPlans/listResourceGroupLabPlans.json | 2 +- .../examples/LabPlans/patchLabPlan.json | 4 ++-- .../2021-10-01-preview/examples/LabPlans/putLabPlan.json | 8 ++++---- .../preview/2021-10-01-preview/examples/Labs/getLab.json | 2 +- .../2021-10-01-preview/examples/Labs/listLabs.json | 2 +- .../examples/Labs/listResourceGroupLabs.json | 2 +- .../2021-10-01-preview/examples/Labs/patchLab.json | 4 ++-- .../preview/2021-10-01-preview/examples/Labs/putLab.json | 8 ++++---- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json index 0a96b03579ee..254733c0b923 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json @@ -31,7 +31,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json index 04327ed8c41b..86669f0328a4 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json @@ -32,7 +32,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json index 04134b933196..d6037a9e5390 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json @@ -33,7 +33,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json index 5572a617785d..8edf47a579d8 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json @@ -41,7 +41,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -84,7 +84,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json index a64b3459ab12..4a2347ff49f2 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json @@ -16,7 +16,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -60,7 +60,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -103,7 +103,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -149,7 +149,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json index e119f270eda8..0962da007d2d 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -31,7 +31,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json index f2cd297fd6a0..5d3dbe87614a 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -32,7 +32,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json index 7072e9b22912..4ece0fa76e3f 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -33,7 +33,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json index 16f77c0cf962..a6e719295321 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -38,7 +38,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -110,7 +110,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json index faaec44b8d5b..38eecb6c50f6 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -16,7 +16,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -78,7 +78,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -151,7 +151,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -227,7 +227,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdleEnabled": "Enabled", + "shutdownOnIdle": "Enabled", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" From 9f63ad1d21dcbaba4341153df1195ced2b812eae Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 16:51:27 -0700 Subject: [PATCH 14/21] fix shutdownonIdle enum in examples --- .../preview/2021-10-01-preview/LabServices.json | 5 +++++ .../2021-10-01-preview/examples/LabPlans/getLabPlan.json | 2 +- .../examples/LabPlans/listLabPlans.json | 2 +- .../examples/LabPlans/listResourceGroupLabPlans.json | 2 +- .../examples/LabPlans/patchLabPlan.json | 4 ++-- .../2021-10-01-preview/examples/LabPlans/putLabPlan.json | 8 ++++---- .../preview/2021-10-01-preview/examples/Labs/getLab.json | 2 +- .../2021-10-01-preview/examples/Labs/listLabs.json | 2 +- .../examples/Labs/listResourceGroupLabs.json | 2 +- .../2021-10-01-preview/examples/Labs/patchLab.json | 4 ++-- .../preview/2021-10-01-preview/examples/Labs/putLab.json | 8 ++++---- 11 files changed, 23 insertions(+), 18 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json index 0e7fdabbf154..bfced9e8bc40 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json @@ -30,6 +30,11 @@ }, "paths": { "/providers/Microsoft.LabServices/operations": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], "get": { "tags": ["Operations"], "summary": "Get all operations", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json index 254733c0b923..d582e5207bdd 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/getLabPlan.json @@ -31,7 +31,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json index 86669f0328a4..49a96008b4a6 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listLabPlans.json @@ -32,7 +32,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json index d6037a9e5390..a9fc257dde25 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/listResourceGroupLabPlans.json @@ -33,7 +33,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json index 8edf47a579d8..2c5a6b42434a 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/patchLabPlan.json @@ -41,7 +41,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -84,7 +84,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json index 4a2347ff49f2..1c0a95855c5d 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/putLabPlan.json @@ -16,7 +16,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -60,7 +60,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -103,7 +103,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -149,7 +149,7 @@ "defaultAutoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json index 0962da007d2d..30d989d8eb1c 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -31,7 +31,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json index 5d3dbe87614a..7291749b768b 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -32,7 +32,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json index 4ece0fa76e3f..516eaadb60f1 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -33,7 +33,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json index a6e719295321..505041110d32 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -38,7 +38,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -110,7 +110,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json index 38eecb6c50f6..7e8bb802f7de 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -16,7 +16,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -78,7 +78,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -151,7 +151,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" @@ -227,7 +227,7 @@ "autoShutdownProfile": { "shutdownOnDisconnect": "Enabled", "shutdownWhenNotConnected": "Enabled", - "shutdownOnIdle": "Enabled", + "shutdownOnIdle": "UserAbsence", "disconnectDelay": "00:05", "noConnectDelay": "01:00", "idleDelay": "01:00" From 339af0bd51bd96380a97254f63f5a8ca86d64376 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 17:40:01 -0700 Subject: [PATCH 15/21] examples update username to adminUser object and remove locations from vmprofile --- .../2021-10-01-preview/examples/Labs/getLab.json | 4 +++- .../examples/Labs/listLabs.json | 7 +++---- .../examples/Labs/listResourceGroupLabs.json | 7 +++---- .../examples/Labs/patchLab.json | 11 ++++++----- .../2021-10-01-preview/examples/Labs/putLab.json | 16 ++++++++++++---- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json index 30d989d8eb1c..d03c82017f91 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -70,7 +70,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json index 7291749b768b..2a14f26022d4 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -61,9 +61,6 @@ "memoryInGB": 7, "discreteGpu": "Disabled" }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -71,7 +68,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json index 516eaadb60f1..05cb7acaace9 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -62,9 +62,6 @@ "memoryInGB": 7, "discreteGpu": "Disabled" }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -72,7 +69,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json index 505041110d32..b02701843ea3 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -76,7 +76,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", @@ -139,9 +141,6 @@ "memoryInGB": 7, "discreteGpu": "Disabled" }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -149,7 +148,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json index 7e8bb802f7de..753e1e59133c 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -43,7 +43,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", @@ -117,7 +119,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", @@ -190,7 +194,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", @@ -266,7 +272,9 @@ }, "usageQuota": "10:00", "useSharedPassword": "Disabled", - "username": "test-user" + "adminUser": { + "username": "test-user" + } }, "title": "Test Lab", "description": "This is a test lab.", From f576a64756e67ee8ba2fa31ee32a47295406ace0 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 17:59:30 -0700 Subject: [PATCH 16/21] fix examples for vmprofile --- .../examples/Labs/getLab.json | 8 ------- .../examples/Labs/listLabs.json | 5 ---- .../examples/Labs/listResourceGroupLabs.json | 5 ---- .../examples/Labs/patchLab.json | 13 ---------- .../examples/Labs/putLab.json | 24 ------------------- 5 files changed, 55 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json index d03c82017f91..a31665a87566 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -55,14 +55,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json index 2a14f26022d4..f1ee38911201 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -56,11 +56,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json index 05cb7acaace9..1287cc9d9a93 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -57,11 +57,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json index b02701843ea3..b61db7649631 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -61,14 +61,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -136,11 +128,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json index 753e1e59133c..43c996a7221c 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -104,14 +104,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -179,14 +171,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { @@ -257,14 +241,6 @@ "sku": { "name": "Medium", "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ], "capacity": 20 }, "additionalCapabilities": { From e3ccc8f3389e50250f0cf0eb735ae42ec956b3a2 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 20:04:15 -0700 Subject: [PATCH 17/21] rest of model validaiton fixes --- .../LabPlans/saveImageVirtualMachine.json | 2 +- .../examples/LabServices/listOperations.json | 29 ++++++++++--------- .../examples/Labs/getLab.json | 1 - .../examples/Labs/listLabs.json | 1 - .../examples/Labs/listResourceGroupLabs.json | 1 - .../examples/Labs/patchLab.json | 2 -- .../examples/Labs/putLab.json | 3 -- .../examples/Users/inviteUser.json | 3 +- .../VirtualMachines/getVirtualMachine.json | 2 +- .../VirtualMachines/listVirtualMachine.json | 2 +- .../resetPasswordVirtualMachine.json | 1 + 11 files changed, 22 insertions(+), 25 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json index cec0311d6eba..72aca48e99bb 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabPlans/saveImageVirtualMachine.json @@ -5,7 +5,7 @@ "resourceGroupName": "testrg123", "labPlanName": "testlabplan", "body": { - "displayName": "Test Image", + "name": "Test Image", "labVirtualMachineId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template" } }, diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json index f0af33d21c3d..ede61f63a2a8 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/LabServices/listOperations.json @@ -4,19 +4,22 @@ }, "responses": { "200": { - "body": [ - { - "name": "Microsoft.LabServices/labPlans/write", - "isDataAction": false, - "display": { - "provider": "Microsoft Azure Lab Services", - "resource": "Microsoft.LabServices/labPlans", - "operation": "Create or Update Lab Plan", - "description": "Create new or update an existing lab plan." - }, - "origin": "user,system" - } - ] + "body": { + "nextLink": null, + "value": [ + { + "name": "Microsoft.LabServices/labPlans/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Lab Services", + "resource": "Microsoft.LabServices/labPlans", + "operation": "Create or Update Lab Plan", + "description": "Create new or update an existing lab plan." + }, + "origin": "user,system" + } + ] + } } } } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json index a31665a87566..84197fd3eabe 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/getLab.json @@ -54,7 +54,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json index f1ee38911201..a9fa2df7eecb 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listLabs.json @@ -55,7 +55,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json index 1287cc9d9a93..3f9b2e386ba2 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/listResourceGroupLabs.json @@ -56,7 +56,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json index b61db7649631..5cd2aa460354 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/patchLab.json @@ -60,7 +60,6 @@ }, "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { @@ -127,7 +126,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json index 43c996a7221c..8fa9713ad7af 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Labs/putLab.json @@ -103,7 +103,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { @@ -170,7 +169,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { @@ -240,7 +238,6 @@ "osType": "Windows", "sku": { "name": "Medium", - "resourceType": "VirtualMachine", "capacity": 20 }, "additionalCapabilities": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json index 133ed186c277..3246c5338c08 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Users/inviteUser.json @@ -10,6 +10,7 @@ } }, "responses": { - "200": {} + "200": {}, + "202": {} } } diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json index 28ba92a5cdc2..f5b1b07181fb 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/getVirtualMachine.json @@ -29,7 +29,7 @@ "sshInBrowserUrl": "vm-42.contoso.com", "rdpAuthority": "vm-42.contoso.com:3389", "rdpInBrowserUrl": "vm-42.contoso.com", - "username": "user123" + "adminUsername": "user123" }, "claimedByUserId": "testuser567", "vmType": "Template" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json index b12cbd7ef051..00ad07540040 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/listVirtualMachine.json @@ -31,7 +31,7 @@ "sshInBrowserUrl": "vm-42.contoso.com", "rdpAuthority": "vm-42.contoso.com:3389", "rdpInBrowserUrl": "vm-42.contoso.com", - "username": "user123" + "adminUsername": "user123" }, "claimedByUserId": "testuser567", "vmType": "Template" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json index 67e4d7ff1ac6..43ea8e59f2c4 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json @@ -6,6 +6,7 @@ "labName": "testlab", "virtualMachineName": "template", "body": { + "username": "example-username", "password": "example-password" } }, From 38bf6c493146cab8d5fb8792f8272ebcdb97a9e7 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 7 Sep 2021 20:10:48 -0700 Subject: [PATCH 18/21] prettier fix --- .../preview/2021-10-01-preview/Images.json | 40 +++++-- .../preview/2021-10-01-preview/LabPlans.json | 48 ++++++-- .../2021-10-01-preview/LabServices.json | 47 ++++++-- .../preview/2021-10-01-preview/Labs.json | 108 ++++++++++++++---- .../2021-10-01-preview/OperationResults.json | 24 +++- .../preview/2021-10-01-preview/Schedules.json | 55 ++++++--- .../preview/2021-10-01-preview/Skus.json | 16 ++- .../preview/2021-10-01-preview/Users.json | 65 ++++++++--- .../2021-10-01-preview/VirtualMachines.json | 63 +++++++--- 9 files changed, 357 insertions(+), 109 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json index 798f800d8aaf..f5ff6762f864 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -6,9 +6,15 @@ "description": "REST API for managing Azure Lab Services images." }, "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -43,7 +49,9 @@ } ], "get": { - "tags": ["Image"], + "tags": [ + "Image" + ], "summary": "Gets all images.", "description": "Gets all images from galleries attached to a lab plan.", "operationId": "Images_ListByLabPlan", @@ -90,7 +98,9 @@ } ], "get": { - "tags": ["Image"], + "tags": [ + "Image" + ], "summary": "Gets an image.", "description": "Gets an image resource.", "operationId": "Images_Get", @@ -115,7 +125,9 @@ } }, "put": { - "tags": ["Image"], + "tags": [ + "Image" + ], "summary": "Updates an image via PUT.", "description": "Updates an image resource via PUT. Creating new resources via PUT will not function.", "operationId": "Images_CreateOrUpdate", @@ -151,10 +163,14 @@ } }, "patch": { - "tags": ["Image"], + "tags": [ + "Image" + ], "summary": "Updates an image.", "description": "Updates an image resource.", - "consumes": ["application/json"], + "consumes": [ + "application/json" + ], "operationId": "Images_Update", "parameters": [ { @@ -210,7 +226,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedImages": { "description": "Paged list of Lab services virtual machine images.", @@ -325,7 +343,9 @@ "readOnly": true } }, - "required": ["enabledState"] + "required": [ + "enabledState" + ] } }, "parameters": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json index bc10aa694ec9..43bd2bdf2bfa 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json @@ -6,7 +6,9 @@ "description": "REST API for managing Azure Lab Services lab plans." }, "host": "management.azure.com", - "schemes": ["https"], + "schemes": [ + "https" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -18,8 +20,12 @@ } } }, - "consumes": ["application/json"], - "produces": ["application/json"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labPlans": { "parameters": [ @@ -37,7 +43,9 @@ } ], "get": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Get all lab plans for a subscription.", "description": "Returns a list of all lab plans within a subscription", "operationId": "LabPlans_ListBySubscription", @@ -78,7 +86,9 @@ } ], "get": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Get all lab plans for a subscription and resource group.", "description": "Returns a list of all lab plans for a subscription and resource group.", "operationId": "LabPlans_ListByResourceGroup", @@ -122,7 +132,9 @@ } ], "get": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Retrieves a Lab Plan resource.", "description": "Retrieves the properties of a Lab Plan.", "operationId": "LabPlans_Get", @@ -147,7 +159,9 @@ } }, "put": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Updates or creates a Lab Plan resource.", "description": "Operation to create or update a Lab Plan resource.", "operationId": "LabPlans_CreateOrUpdate", @@ -199,10 +213,14 @@ } }, "patch": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Updates a Lab Plan resource.", "description": "Operation to update a Lab Plan resource.", - "consumes": ["application/json"], + "consumes": [ + "application/json" + ], "operationId": "LabPlans_Update", "parameters": [ { @@ -246,7 +264,9 @@ } }, "delete": { - "tags": ["LabPlan"], + "tags": [ + "LabPlan" + ], "summary": "Deletes a Lab Plan resource.", "description": "Operation to delete a Lab Plan resource. Deleting a lab plan does not delete labs associated with a lab plan, nor does it delete shared images added to a gallery via the lab plan permission container.", "operationId": "LabPlans_Delete", @@ -294,7 +314,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Save an image from a lab VM to the attached shared image gallery.", "description": "Saves an image from a lab VM to the attached shared image gallery.", "operationId": "LabPlans_SaveImage", @@ -356,7 +378,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedLabPlans": { "description": "Paged list of lab plans.", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json index bfced9e8bc40..b2ddfd90956d 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json @@ -9,12 +9,20 @@ } }, "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "security": [ { - "azure_auth": ["user_impersonation"] + "azure_auth": [ + "user_impersonation" + ] } ], "securityDefinitions": { @@ -36,7 +44,9 @@ } ], "get": { - "tags": ["Operations"], + "tags": [ + "Operations" + ], "summary": "Get all operations", "description": "Returns a list of all operations.", "operationId": "Operations_List", @@ -110,7 +120,10 @@ }, "enableState": { "type": "string", - "enum": ["Enabled", "Disabled"], + "enum": [ + "Enabled", + "Disabled" + ], "description": "Property enabled state.", "x-ms-enum": { "name": "EnableState", @@ -119,7 +132,11 @@ }, "connectionType": { "type": "string", - "enum": ["Public", "Private", "None"], + "enum": [ + "Public", + "Private", + "None" + ], "description": "A connection type for access labs and VMs (Public, Private or None).", "x-ms-enum": { "name": "ConnectionType", @@ -146,7 +163,10 @@ }, "osType": { "type": "string", - "enum": ["Windows", "Linux"], + "enum": [ + "Windows", + "Linux" + ], "description": "The operating system type.", "x-ms-enum": { "name": "OsType", @@ -155,7 +175,10 @@ }, "osState": { "type": "string", - "enum": ["Generalized", "Specialized"], + "enum": [ + "Generalized", + "Specialized" + ], "description": "The operating system state.", "x-ms-enum": { "name": "OsState", @@ -174,7 +197,11 @@ }, "shutdownOnIdleMode": { "type": "string", - "enum": ["None", "UserAbsence", "LowUsage"], + "enum": [ + "None", + "UserAbsence", + "LowUsage" + ], "description": "Defines whether to shut down VM on idle and the criteria for idle detection.", "x-ms-enum": { "name": "shutdownOnIdleMode", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json index 143868bd0833..e68192c225cf 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Labs.json @@ -6,7 +6,9 @@ "description": "REST API for managing Azure Lab Services labs." }, "host": "management.azure.com", - "schemes": ["https"], + "schemes": [ + "https" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -18,8 +20,12 @@ } } }, - "consumes": ["application/json"], - "produces": ["application/json"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labs": { "parameters": [ @@ -37,7 +43,9 @@ } ], "get": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Get all labs for a subscription.", "description": "Returns a list of all labs for a subscription.", "operationId": "Labs_ListBySubscription", @@ -78,7 +86,9 @@ } ], "get": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Get all labs for a subscription and resource group.", "description": "Returns a list of all labs in a resource group.", "operationId": "Labs_ListByResourceGroup", @@ -122,7 +132,9 @@ } ], "get": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Get a lab resource.", "description": "Returns the properties of a lab resource.", "operationId": "Labs_Get", @@ -147,7 +159,9 @@ } }, "put": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Create or update a lab resource.", "description": "Operation to create or update a lab resource.", "operationId": "Labs_CreateOrUpdate", @@ -199,10 +213,14 @@ } }, "patch": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Update a lab resource.", "description": "Operation to update a lab resource.", - "consumes": ["application/json"], + "consumes": [ + "application/json" + ], "operationId": "Labs_Update", "parameters": [ { @@ -246,7 +264,9 @@ } }, "delete": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Deletes a lab resource.", "description": "Operation to delete a lab resource.", "operationId": "Labs_Delete", @@ -294,7 +314,9 @@ } ], "post": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Publish or re-publish a lab.", "description": "Publish or re-publish a lab. This will create or update all lab resources, such as virtual machines.", "operationId": "Labs_Publish", @@ -339,7 +361,9 @@ } ], "post": { - "tags": ["Lab"], + "tags": [ + "Lab" + ], "summary": "Manually sync the lab group.", "description": "Action used to manually kick off an AAD group sync job.", "operationId": "Labs_SyncGroup", @@ -390,7 +414,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedLabs": { "description": "Paged list of labs.", @@ -502,7 +528,10 @@ "networkProfile": { "description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.", "$ref": "#/definitions/LabNetworkProfile", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "state": { "description": "The lab state.", @@ -565,7 +594,10 @@ "createOption": { "description": "Indicates what lab virtual machines are created from.", "type": "string", - "enum": ["Image", "TemplateVM"], + "enum": [ + "Image", + "TemplateVM" + ], "x-ms-enum": { "name": "CreateOption", "modelAsString": false, @@ -580,12 +612,18 @@ } ] }, - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "imageReference": { "description": "The image configuration for lab virtual machines.", "$ref": "#/definitions/ImageReference", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "osType": { "description": "The OS type of the image", @@ -595,12 +633,18 @@ "sku": { "description": "The SKU for the lab. Defines the type of virtual machines used in the lab.", "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "additionalCapabilities": { "description": "Additional VM capabilities.", "$ref": "#/definitions/VirtualMachineAdditionalCapabilities", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "usageQuota": { "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.", @@ -611,7 +655,10 @@ "description": "Enabling this option will use the same password for all user VMs.", "default": "Disabled", "$ref": "LabServices.json#/definitions/enableState", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "adminUser": { "description": "Credentials for the admin user on the VM.", @@ -648,16 +695,23 @@ "username": { "description": "The username to use when signing in to lab VMs.", "type": "string", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "password": { "description": "The password for the user. This is required for the TemplateVM createOption.", "type": "string", "x-ms-secret": true, - "x-ms-mutability": ["create"] + "x-ms-mutability": [ + "create" + ] } }, - "required": ["username"] + "required": [ + "username" + ] }, "ImageReference": { "description": "Image reference information. Used in the virtual machine profile.", @@ -692,7 +746,13 @@ }, "LabState": { "type": "string", - "enum": ["Draft", "Publishing", "Scaling", "Syncing", "Published"], + "enum": [ + "Draft", + "Publishing", + "Scaling", + "Syncing", + "Published" + ], "description": "The state of a virtual machine.", "x-ms-enum": { "name": "LabState", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json index 390631c82f38..0aafa040c852 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -9,12 +9,20 @@ } }, "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "security": [ { - "azure_auth": ["user_impersonation"] + "azure_auth": [ + "user_impersonation" + ] } ], "securityDefinitions": { @@ -42,7 +50,9 @@ } ], "get": { - "tags": ["OperationResults"], + "tags": [ + "OperationResults" + ], "summary": "Get an azure operation result.", "description": "Returns an azure operation result.", "operationId": "OperationResults_Get", @@ -152,7 +162,9 @@ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" } }, - "required": ["status"] + "required": [ + "status" + ] } }, "parameters": { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json index 49aa11236abc..473f1607461c 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json @@ -6,7 +6,9 @@ "description": "REST API for managing Azure Lab Services schedules." }, "host": "management.azure.com", - "schemes": ["https"], + "schemes": [ + "https" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -18,8 +20,12 @@ } } }, - "consumes": ["application/json"], - "produces": ["application/json"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules": { "parameters": [ @@ -43,7 +49,9 @@ } ], "get": { - "tags": ["Schedule"], + "tags": [ + "Schedule" + ], "summary": "Get all schedules for a lab.", "description": "Returns a list of all schedules for a lab.", "operationId": "Schedules_ListByLab", @@ -90,7 +98,9 @@ } ], "get": { - "tags": ["Schedule"], + "tags": [ + "Schedule" + ], "summary": "Get a lab Schedule.", "description": "Returns the properties of a lab Schedule.", "operationId": "Schedules_Get", @@ -115,7 +125,9 @@ } }, "put": { - "tags": ["Schedule"], + "tags": [ + "Schedule" + ], "summary": "Create or update a lab schedule.", "description": "Operation to create or update a lab schedule.", "operationId": "Schedules_CreateOrUpdate", @@ -157,10 +169,14 @@ } }, "patch": { - "tags": ["Schedule"], + "tags": [ + "Schedule" + ], "summary": "Update a lab schedule.", "description": "Operation to update a lab schedule.", - "consumes": ["application/json"], + "consumes": [ + "application/json" + ], "operationId": "Schedules_Update", "parameters": [ { @@ -194,7 +210,9 @@ } }, "delete": { - "tags": ["Schedule"], + "tags": [ + "Schedule" + ], "summary": "Deletes a schedule resource.", "description": "Operation to delete a schedule resource.", "operationId": "Schedules_Delete", @@ -248,7 +266,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedSchedules": { "description": "Paged list of schedules.", @@ -325,7 +345,10 @@ "readOnly": true } }, - "required": ["stopAt", "timeZoneId"] + "required": [ + "stopAt", + "timeZoneId" + ] }, "RecurrencePattern": { "description": "Recurrence pattern of a lab schedule.", @@ -356,7 +379,10 @@ "format": "date" } }, - "required": ["frequency", "expirationDate"] + "required": [ + "frequency", + "expirationDate" + ] }, "WeekDay": { "type": "string", @@ -407,7 +433,10 @@ }, "RecurrenceFrequency": { "type": "string", - "enum": ["Daily", "Weekly"], + "enum": [ + "Daily", + "Weekly" + ], "description": "Schedule recurrence frequencies.", "x-ms-enum": { "name": "RecurrenceFrequency", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json index 4fcf366c3335..47a85b6b841d 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json @@ -6,9 +6,15 @@ "description": "REST API for managing Azure Lab Services VM size data." }, "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -31,7 +37,9 @@ } ], "get": { - "tags": ["Skus"], + "tags": [ + "Skus" + ], "summary": "Gets all the Azure Lab Services resource SKUs.", "description": "Returns a list of all the Azure Lab Services resource SKUs.", "operationId": "Skus_List", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json index 927e4a4401d3..2f605db51ff4 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Users.json @@ -6,7 +6,9 @@ "description": "REST API for managing Azure Lab Services users." }, "host": "management.azure.com", - "schemes": ["https"], + "schemes": [ + "https" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -18,8 +20,12 @@ } } }, - "consumes": ["application/json"], - "produces": ["application/json"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users": { "parameters": [ @@ -43,7 +49,9 @@ } ], "get": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Get all users for a lab.", "description": "Returns a list of all users for a lab.", "operationId": "Users_ListByLab", @@ -90,7 +98,9 @@ } ], "get": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Get a lab user.", "description": "Returns the properties of a lab user.", "operationId": "Users_Get", @@ -115,7 +125,9 @@ } }, "put": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Create or update a lab user.", "description": "Operation to create or update a lab user.", "operationId": "Users_CreateOrUpdate", @@ -167,10 +179,14 @@ } }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Update a lab user.", "description": "Operation to update a lab user.", - "consumes": ["application/json"], + "consumes": [ + "application/json" + ], "operationId": "Users_Update", "parameters": [ { @@ -214,7 +230,9 @@ } }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Deletes a user resource.", "description": "Operation to delete a user resource.", "operationId": "Users_Delete", @@ -265,7 +283,9 @@ } ], "post": { - "tags": ["User"], + "tags": [ + "User" + ], "summary": "Invite a user to a lab.", "description": "Operation to invite a user to a lab.", "operationId": "Users_Invite", @@ -327,7 +347,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedUsers": { "description": "Paged list of users.", @@ -392,7 +414,10 @@ "email": { "description": "Email address of the user.", "$ref": "LabServices.json#/definitions/emailAddress", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "registrationState": { "description": "State of the user's registration within the lab.", @@ -417,11 +442,16 @@ "readOnly": true } }, - "required": ["email"] + "required": [ + "email" + ] }, "RegistrationState": { "type": "string", - "enum": ["NotRegistered", "Registered"], + "enum": [ + "NotRegistered", + "Registered" + ], "description": "The user lab registration state.", "x-ms-enum": { "name": "RegistrationState", @@ -440,7 +470,12 @@ }, "InvitationState": { "type": "string", - "enum": ["NotSent", "Sending", "Sent", "Failed"], + "enum": [ + "NotSent", + "Sending", + "Sent", + "Failed" + ], "description": "The lab user invitation state.", "x-ms-enum": { "name": "InvitationState", diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json index aa2a5897417d..7acfb05d8c23 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json @@ -6,7 +6,9 @@ "description": "REST API for managing Azure Lab Services virtual machines." }, "host": "management.azure.com", - "schemes": ["https"], + "schemes": [ + "https" + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -18,8 +20,12 @@ } } }, - "consumes": ["application/json"], - "produces": ["application/json"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines": { "parameters": [ @@ -43,7 +49,9 @@ } ], "get": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Get all virtual machines for a lab.", "description": "Returns a list of all virtual machines for a lab.", "operationId": "VirtualMachines_ListByLab", @@ -90,7 +98,9 @@ } ], "get": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Get a lab virtual machine.", "description": "Returns the properties for a lab virtual machine.", "operationId": "VirtualMachines_Get", @@ -134,7 +144,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Start a lab virtual machine.", "description": "Action to start a lab virtual machine.", "operationId": "VirtualMachines_Start", @@ -182,7 +194,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Stop a lab virtual machine.", "description": "Action to stop a lab virtual machine.", "operationId": "VirtualMachines_Stop", @@ -230,7 +244,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Re-image a lab virtual machine.", "description": "Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.", "operationId": "VirtualMachines_Reimage", @@ -278,7 +294,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", "description": "Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", "operationId": "VirtualMachines_Redeploy", @@ -326,7 +344,9 @@ } ], "post": { - "tags": ["VirtualMachine"], + "tags": [ + "VirtualMachine" + ], "summary": "Reset a lab virtual machine password.", "description": "Resets a lab virtual machine password.", "operationId": "VirtualMachines_ResetPassword", @@ -388,7 +408,9 @@ "x-ms-client-flatten": true } }, - "required": ["properties"] + "required": [ + "properties" + ] }, "PagedVirtualMachines": { "description": "Paged list of lab services virtual machines.", @@ -447,16 +469,24 @@ "username": { "description": "The user whose password is being reset", "type": "string", - "x-ms-mutability": ["read", "create"] + "x-ms-mutability": [ + "read", + "create" + ] }, "password": { "description": "The password", "type": "string", "x-ms-secret": true, - "x-ms-mutability": ["create"] + "x-ms-mutability": [ + "create" + ] } }, - "required": ["username", "password"] + "required": [ + "username", + "password" + ] }, "VirtualMachineState": { "type": "string", @@ -548,7 +578,10 @@ }, "VirtualMachineType": { "type": "string", - "enum": ["User", "Template"], + "enum": [ + "User", + "Template" + ], "description": "The type of the lab virtual machine.", "x-ms-enum": { "name": "VirtualMachineType", From d6b3745fbae0b95d073d6fcb687c1c12e421117d Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Wed, 8 Sep 2021 11:51:45 -0700 Subject: [PATCH 19/21] removed skus api from 2021-10-01 version since it's not finished --- .../preview/2021-10-01-preview/Skus.json | 143 ------------------ .../examples/Skus/listSkus.json | 52 ------- .../labservices/resource-manager/readme.md | 1 - 3 files changed, 196 deletions(-) delete mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json delete mode 100644 specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json deleted file mode 100644 index 47a85b6b841d..000000000000 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Skus.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-10-01-preview", - "title": "LabServicesClient", - "description": "REST API for managing Azure Lab Services VM size data." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/skus": { - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - } - ], - "get": { - "tags": [ - "Skus" - ], - "summary": "Gets all the Azure Lab Services resource SKUs.", - "description": "Returns a list of all the Azure Lab Services resource SKUs.", - "operationId": "Skus_List", - "responses": { - "200": { - "description": "The request was successful; response contains all Azure Lab Services virtual machine sizes.", - "schema": { - "$ref": "#/definitions/PagedLabServicesSkus" - } - }, - "default": { - "description": "The default error response.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "listSkus": { - "$ref": "./examples/Skus/listSkus.json" - } - } - } - } - }, - "definitions": { - "LabServicesSku": { - "description": "Azure Lab Services resource SKUs", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku" - } - ], - "properties": { - "resourceType": { - "description": "The lab services resource type.", - "type": "string", - "readOnly": true - }, - "capabilities": { - "description": "The capabilities of the SKU.", - "$ref": "#/definitions/LabServicesSkuCapabilities", - "readOnly": true - }, - "locations": { - "description": "List of locations that are available for a size.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "PagedLabServicesSkus": { - "description": "Paged list of lab services skus.", - "type": "object", - "properties": { - "value": { - "description": "The array page of sku results.", - "type": "array", - "items": { - "$ref": "#/definitions/LabServicesSku" - }, - "readOnly": true - }, - "nextLink": { - "description": "The link to get the next page of sku results.", - "type": "string", - "readOnly": true - } - } - }, - "LabServicesSkuCapabilities": { - "description": "The capabilities of a lab services SKU.", - "type": "object", - "properties": { - "coreCount": { - "description": "The number of cores for a SKU.", - "type": "integer", - "format": "int32", - "readOnly": true - }, - "memoryInGB": { - "description": "The amount of memory for the VM SKU in GB.", - "type": "number", - "readOnly": true - }, - "discreteGpu": { - "description": "Indicates if the SKU has a discrete GPU or not.", - "$ref": "LabServices.json#/definitions/enableState", - "readOnly": true - } - } - } - } -} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json deleted file mode 100644 index 5e22ce6ce6bc..000000000000 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/Skus/listSkus.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parameters": { - "api-version": "2021-10-01-preview", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "nextLink": null, - "value": [ - { - "name": "Small", - "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 2, - "memoryInGB": 3.5, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus", - "eastus" - ] - }, - { - "name": "Medium", - "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Disabled" - }, - "locations": [ - "westus" - ] - }, - { - "name": "Medium GPU", - "resourceType": "VirtualMachine", - "capabilities": { - "coreCount": 4, - "memoryInGB": 7, - "discreteGpu": "Enabled" - }, - "locations": [ - "westus" - ] - } - ] - } - } - } -} diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index f94c14f89b95..64ae5a1342d2 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -37,7 +37,6 @@ These settings apply only when `--tag=package-preview-2021-10` is specified on t ```yaml $(tag) == 'package-preview-2021-10' input-file: - Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json - - Microsoft.LabServices/preview/2021-10-01-preview/Skus.json - Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json - Microsoft.LabServices/preview/2021-10-01-preview/LabPlans.json - Microsoft.LabServices/preview/2021-10-01-preview/Images.json From d7a897ae08fab7d9f5ea9309273b0df4c1497ff9 Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Wed, 8 Sep 2021 12:39:16 -0700 Subject: [PATCH 20/21] fix operationresults --- .../preview/2021-10-01-preview/OperationResults.json | 10 ---------- .../examples/OperationResults/getOperationResult.json | 8 -------- 2 files changed, 18 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json index 0aafa040c852..bf45af0d5dc2 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json @@ -63,12 +63,6 @@ "$ref": "#/definitions/OperationResult" } }, - "202": { - "description": "The request was accepted; response contains the operation result.", - "schema": { - "$ref": "#/definitions/OperationResult" - } - }, "204": { "description": "The request has been fulfilled." }, @@ -79,10 +73,6 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { "getOperationResult": { "$ref": "./examples/OperationResults/getOperationResult.json" diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json index 20d18d5a4aea..1434994a2d53 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/examples/OperationResults/getOperationResult.json @@ -13,14 +13,6 @@ "startTime": "2020-05-01T10:00:00Z" } }, - "202": { - "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174", - "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174", - "status": "InProgress", - "startTime": "2020-05-01T10:00:00Z" - } - }, "204": {} } } From cc7b1b960ad03f757329179eec5d48c78d588a4c Mon Sep 17 00:00:00 2001 From: Nick Depinet Date: Tue, 14 Sep 2021 16:43:09 -0700 Subject: [PATCH 21/21] small images fix --- .../preview/2021-10-01-preview/Images.json | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json index f5ff6762f864..c16235b497dc 100644 --- a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json +++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-10-01-preview/Images.json @@ -286,7 +286,7 @@ "readOnly": true }, "displayName": { - "description": "The image display name", + "description": "The image display name.", "type": "string", "readOnly": true }, @@ -300,28 +300,43 @@ "type": "string", "readOnly": true }, + "author": { + "description": "The image author.", + "type": "string", + "readOnly": true + }, "osType": { - "description": "The OS Type of the image", + "description": "The OS Type of the image.", "$ref": "LabServices.json#/definitions/osType", "readOnly": true }, + "plan": { + "description": "The ID of marketplace plan associated with the image (optional).", + "type": "string", + "readOnly": true + }, + "termsStatus": { + "description": "The status of image terms of use (enabled = accepted, disabled = not accepted).", + "$ref": "LabServices.json#/definitions/enableState", + "readOnly": true + }, "offer": { - "description": "An offer associated with an image", + "description": "The ID of an offer associated with the image.", "type": "string", "readOnly": true }, "publisher": { - "description": "The image publisher", + "description": "The ID of the publisher of the image.", "type": "string", "readOnly": true }, "sku": { - "description": "The image SKU", + "description": "The image SKU.", "type": "string", "readOnly": true }, "version": { - "description": "The image version", + "description": "The image version.", "type": "string", "readOnly": true },