@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}
@endpoints 55
@hint download_for_search
@toc providers(11), subscriptions(44)

@group providers
@endpoint GET /providers/Microsoft.LabServices/operations
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getEnvironment
@required {userName: any, environmentOperationsPayload: map}
@optional {$expand: any}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getOperationBatchStatus
@required {userName: any, operationBatchStatusPayload: map}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getOperationStatus
@required {userName: any, operationStatusPayload: map}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences
@required {userName: any, personalPreferencesOperationsPayload: map}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/listEnvironments
@required {userName: any, listEnvironmentsPayload: map}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/listLabs
@required {userName: any}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/register
@required {userName: any, registerPayload: map}
@returns(200)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/resetPassword
@required {userName: any, resetPasswordPayload: map}
@returns(200)
@returns(202)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/startEnvironment
@required {userName: any, environmentOperationsPayload: map}
@returns(200)
@returns(202)

@endpoint POST /providers/Microsoft.LabServices/users/{userName}/stopEnvironment
@required {userName: any, environmentOperationsPayload: map}
@returns(200)
@returns(202)

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labaccounts
@required {subscriptionId: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{locationName}/operations/{operationName}
@required {subscriptionId: any, locationName: any, operationName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts
@required {subscriptionId: any, resourceGroupName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labAccount: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any}
@returns(202)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labAccount: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/createLab
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, createLabProperties: map}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, galleryImageName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, galleryImageName: any, galleryImage: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, galleryImageName: any}
@returns(200)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/galleryimages/{galleryImageName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, galleryImageName: any, galleryImage: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/getRegionalAvailability
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, lab: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any}
@returns(202)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, lab: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, addUsersPayload: map}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentSetting: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@returns(202)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentSetting: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/claimAny
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any, environment: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any}
@returns(202)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any, environment: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/claim
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/resetPassword
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any, resetPasswordPayload: map}
@returns(200)
@returns(202)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/start
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any}
@returns(200)
@returns(202)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/stop
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, environmentName: any}
@returns(200)
@returns(202)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/publish
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any, publishPayload: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/start
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@returns(200)
@returns(202)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/stop
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, environmentSettingName: any}
@returns(200)
@returns(202)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any}
@optional {$expand: any, $filter: any, $top: any, $orderby: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, userName: any}
@optional {$expand: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, userName: any, user: map}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, userName: any}
@returns(202)
@returns(204)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/users/{userName}
@required {subscriptionId: any, resourceGroupName: any, labAccountName: any, labName: any, userName: any, user: map}
@returns(200)

@endgroup

@end
