swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector GlobalUsers API schemes: - https tags: - name: GlobalUsers paths: /providers/Microsoft.LabServices/users/{userName}/getEnvironment: post: tags: - GlobalUsers description: Gets the virtual machine details operationId: microsoftAzureGlobalusersGetenvironment 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Getenvironment /providers/Microsoft.LabServices/users/{userName}/getOperationBatchStatus: post: tags: - GlobalUsers description: Get batch operation status operationId: microsoftAzureGlobalusersGetoperationbatchstatus 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Getoperationbatchstatus /providers/Microsoft.LabServices/users/{userName}/getOperationStatus: post: tags: - GlobalUsers description: Gets the status of long running operation operationId: microsoftAzureGlobalusersGetoperationstatus 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Getoperationstatus /providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences: post: tags: - GlobalUsers description: Get personal preferences for a user operationId: microsoftAzureGlobalusersGetpersonalpreferences 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Getpersonalpreferences /providers/Microsoft.LabServices/users/{userName}/listEnvironments: post: tags: - GlobalUsers description: List Environments for the user operationId: microsoftAzureGlobalusersListenvironments 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Listenvironments /providers/Microsoft.LabServices/users/{userName}/listLabs: post: tags: - GlobalUsers description: List labs for the user. operationId: microsoftAzureGlobalusersListlabs 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Listlabs /providers/Microsoft.LabServices/users/{userName}/register: post: tags: - GlobalUsers description: Register a user to a managed lab operationId: microsoftAzureGlobalusersRegister 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Register /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: microsoftAzureGlobalusersResetpassword 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Resetpassword /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: microsoftAzureGlobalusersStartenvironment 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Startenvironment /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: microsoftAzureGlobalusersStopenvironment 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 summary: Microsoft Azure Post Providers Microsoft Labservices Users Username Stopenvironment definitions: 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 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 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 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 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 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 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 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' GetEnvironmentResponse: description: Represents the environments details type: object properties: environment: $ref: '#/definitions/EnvironmentDetails' description: Details of the environment readOnly: true 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 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 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' RegisterPayload: description: Represents payload for Register action. type: object properties: registrationCode: description: The registration code of the lab. type: string 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 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 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 CloudError: description: Error from a REST request. type: object properties: error: $ref: '#/definitions/CloudErrorBody' x-ms-external: 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 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 parameters: api-version: name: api-version in: query description: Client API version. required: true type: string default: '2018-10-15' x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'