@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api ManagedLabsClient
@base https://management.azure.com
@version 2018-10-15
@auth OAuth2
@common_fields {api-version: any # Client API version.}
@endpoints 55
@hint download_for_search
@toc providers(11), subscriptions(44)

@group providers
@endpoint GET /providers/Microsoft.LabServices/operations
@desc Result of the request to list REST API operations
@returns(200) Success

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getEnvironment
@desc Gets the virtual machine details
@required {userName: any # The name of the user., environmentOperationsPayload: map # Represents payload for any Environment operations like get, start, stop, connect}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=environment)'}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getOperationBatchStatus
@desc Get batch operation status
@required {userName: any # The name of the user., operationBatchStatusPayload: map # Payload to get the status of an operation}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getOperationStatus
@desc Gets the status of long running operation
@required {userName: any # The name of the user., operationStatusPayload: map # Payload to get the status of an operation}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences
@desc Get personal preferences for a user
@required {userName: any # The name of the user., personalPreferencesOperationsPayload: map # Represents payload for any Environment operations like get, start, stop, connect}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/listEnvironments
@desc List Environments for the user
@required {userName: any # The name of the user., listEnvironmentsPayload: map # Represents the payload to list environments owned by a user}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/listLabs
@desc List labs for the user.
@required {userName: any # The name of the user.}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/register
@desc Register a user to a managed lab
@required {userName: any # The name of the user., registerPayload: map # Represents payload for Register action.}
@returns(200) OK

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/resetPassword
@desc Resets the user password on an environment This operation can take a while to complete
@required {userName: any # The name of the user., resetPasswordPayload: map # Represents the payload for resetting passwords.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/startEnvironment
@desc Starts an environment by starting all resources inside the environment. This operation can take a while to complete
@required {userName: any # The name of the user., environmentOperationsPayload: map # Represents payload for any Environment operations like get, start, stop, connect}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/stopEnvironment
@desc Stops an environment by stopping all resources inside the environment This operation can take a while to complete
@required {userName: any # The name of the user., environmentOperationsPayload: map # Represents payload for any Environment operations like get, start, stop, connect}
@returns(200) OK
@returns(202) Accepted

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labaccounts
@desc List lab accounts in a subscription.
@required {subscriptionId: any # The subscription ID.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=sizeConfiguration)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{locationName}/operations/{operationName}
@desc Get operation
@required {subscriptionId: any # The subscription ID., locationName: any # The name of the location., operationName: any # The name of the operation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts
@desc List lab accounts in a resource group.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=sizeConfiguration)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@desc Get lab account
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=sizeConfiguration)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@desc Create or replace an existing Lab Account.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labAccount: map # Represents a lab account.}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@desc Delete lab account. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account.}
@returns(202) Accepted
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@desc Modify properties of lab accounts.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labAccount: map # Represents a lab account.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/createLab
@desc Create a lab in a lab account.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., createLabProperties: map # Properties for creating a managed lab and a default environment setting}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages
@desc List gallery images in a given lab account.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=author)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@desc Get gallery image
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., galleryImageName: any # The name of the gallery Image.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=author)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@desc Create or replace an existing Gallery Image.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., galleryImageName: any # The name of the gallery Image., galleryImage: map # Represents an image from the Azure Marketplace}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@desc Delete gallery image.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., galleryImageName: any # The name of the gallery Image.}
@returns(200) OK
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@desc Modify properties of gallery images.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., galleryImageName: any # The name of the gallery Image., galleryImage: map # Represents an image from the Azure Marketplace}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/getRegionalAvailability
@desc Get regional availability information for each size category configured under a lab account
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs
@desc List labs in a given lab account.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=maxUsersInLab)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@desc Get lab
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=maxUsersInLab)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@desc Create or replace an existing Lab.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., lab: map # Represents a lab.}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@desc Delete lab. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab.}
@returns(202) Accepted
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@desc Modify properties of labs.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., lab: map # Represents a lab.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers
@desc Add users to a lab
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., addUsersPayload: map # Payload for Add Users operation on a Lab.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings
@desc List environment setting in a given lab.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=publishingState)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@desc Get environment setting
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=publishingState)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@desc Create or replace an existing Environment Setting. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentSetting: map # Represents settings of an environment, from which environment instances would be created}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@desc Delete environment setting. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@returns(202) Accepted
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@desc Modify properties of environment setting.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentSetting: map # Represents settings of an environment, from which environment instances would be created}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/claimAny
@desc Claims a random environment for a user in an environment settings
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments
@desc List environments in a given environment setting.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=networkInterface)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@desc Get environment
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($expand=networkInterface)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@desc Create or replace an existing Environment.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment., environment: map # Represents an environment instance}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@desc Delete environment. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment.}
@returns(202) Accepted
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@desc Modify properties of environments.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment., environment: map # Represents an environment instance}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/claim
@desc Claims the environment and assigns it to the user
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/resetPassword
@desc Resets the user password on an environment This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment., resetPasswordPayload: map # Represents the payload for resetting passwords.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/start
@desc Starts an environment by starting all resources inside the environment. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/stop
@desc Stops an environment by stopping all resources inside the environment This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., environmentName: any # The name of the environment.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/publish
@desc Provisions/deprovisions required resources for an environment setting based on current state of the lab/environment setting.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting., publishPayload: map # Payload for Publish operation on EnvironmentSetting.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/start
@desc Starts a template by starting all resources inside the template. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/stop
@desc Starts a template by starting all resources inside the template. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., environmentSettingName: any # The name of the environment Setting.}
@returns(200) OK
@returns(202) Accepted

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register
@desc Register to managed lab.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users
@desc List users in a given lab.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=email)', $filter: any # The filter to apply to the operation., $top: any # The maximum number of resources to return from the operation., $orderby: any # The ordering expression for the results, using OData notation.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@desc Get user
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., userName: any # The name of the user.}
@optional {$expand: any # Specify the $expand query. Example: 'properties($select=email)'}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@desc Create or replace an existing User.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., userName: any # The name of the user., user: map # The User registered to a lab}
@returns(200) OK
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@desc Delete user. This operation can take a while to complete
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., userName: any # The name of the user.}
@returns(202) Accepted
@returns(204) No Content

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@desc Modify properties of users.
@required {subscriptionId: any # The subscription ID., resourceGroupName: any # The name of the resource group., labAccountName: any # The name of the lab Account., labName: any # The name of the lab., userName: any # The name of the user., user: map # The User registered to a lab}
@returns(200) OK

@endgroup

@end
