swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector VirtualMachine API schemes: - https tags: - name: VirtualMachine 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: Microsoft Azure Get All Virtual Machines For A Lab description: Returns a list of all virtual machines for a lab. operationId: microsoftAzureVirtualmachinesListbylab responses: '200': description: The request was successful; response contains all virtual machines for the given lab. schema: $ref: '#/definitions/PagedVirtualMachines' 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: 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: Microsoft Azure Get A Lab Virtual Machine description: Returns the properties for a lab virtual machine. operationId: microsoftAzureVirtualmachinesGet responses: '200': description: The request was successful; response contains the lab virtual machine. schema: $ref: '#/definitions/VirtualMachine' default: description: The default error response. schema: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse 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: Microsoft Azure Start A Lab Virtual Machine description: Action to start a lab virtual machine. operationId: microsoftAzureVirtualmachinesStart responses: '200': description: The request was completed. '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 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: Microsoft Azure Stop A Lab Virtual Machine description: Action to stop a lab virtual machine. operationId: microsoftAzureVirtualmachinesStop responses: '200': description: The request was completed. '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 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: Microsoft Azure 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: microsoftAzureVirtualmachinesReimage responses: '200': description: The request was completed. '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 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: Microsoft Azure 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: microsoftAzureVirtualmachinesRedeploy responses: '200': description: The request was completed. '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 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: Microsoft Azure Reset A Lab Virtual Machine Password description: Resets a lab virtual machine password. operationId: microsoftAzureVirtualmachinesResetpassword 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. 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: resetPasswordVirtualMachine: $ref: ./examples/VirtualMachines/resetPasswordVirtualMachine.json definitions: 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. ResetPasswordBody: description: Body of a reset password request. type: object properties: username: description: The user whose password is being reset type: string x-ms-mutability: - read - create password: description: The password type: string x-ms-secret: true x-ms-mutability: - create required: - username - password VirtualMachineConnectionProfile: description: The connection information for the virtual machine type: object 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 VirtualMachine: description: A lab virtual machine resource. type: object 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 VirtualMachineProperties: description: Virtual machine resource properties type: object 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 PagedVirtualMachines: description: Paged list of lab services virtual machines. type: object properties: value: description: The array page of virtual machine results. type: array items: $ref: '#/definitions/VirtualMachine' readOnly: true nextLink: description: The link to get the next page of virtual machine results. type: string readOnly: true 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 x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'