naftiko: 1.0.0-alpha2 info: label: Microsoft Azure LabServicesClient — VirtualMachine description: 'Microsoft Azure LabServicesClient — VirtualMachine. 7 operations. Lead operation: Microsoft Azure Get All Virtual Machines For A Lab. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - VirtualMachine created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: labservicesclient-virtualmachine baseUri: https://management.azure.com description: Microsoft Azure LabServicesClient — VirtualMachine business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines operations: - name: microsoftazurevirtualmachineslistbylab method: GET description: Microsoft Azure Get All Virtual Machines For A Lab outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName} operations: - name: microsoftazurevirtualmachinesget method: GET description: Microsoft Azure Get A Lab Virtual Machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy operations: - name: microsoftazurevirtualmachinesredeploy method: POST description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage operations: - name: microsoftazurevirtualmachinesreimage method: POST description: Microsoft Azure Re Image A Lab Virtual Machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword operations: - name: microsoftazurevirtualmachinesresetpassword method: POST description: Microsoft Azure Reset A Lab Virtual Machine Password outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: The request body. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start operations: - name: microsoftazurevirtualmachinesstart method: POST description: Microsoft Azure Start A Lab Virtual Machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop operations: - name: microsoftazurevirtualmachinesstop method: POST description: Microsoft Azure Stop A Lab Virtual Machine outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: labservicesclient-virtualmachine-rest port: 8080 description: REST adapter for Microsoft Azure LabServicesClient — VirtualMachine. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurevirtualmachineslistbylab description: Microsoft Azure Get All Virtual Machines For A Lab call: labservicesclient-virtualmachine.microsoftazurevirtualmachineslistbylab outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurevirtualmachinesget description: Microsoft Azure Get A Lab Virtual Machine call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesget outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/redeploy name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurevirtualmachinesredeploy description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesredeploy outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/reimage name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurevirtualmachinesreimage description: Microsoft Azure Re Image A Lab Virtual Machine call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesreimage outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/resetpassword name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurevirtualmachinesresetpassword description: Microsoft Azure Reset A Lab Virtual Machine Password call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesresetpassword with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/start name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurevirtualmachinesstart description: Microsoft Azure Start A Lab Virtual Machine call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstart outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labs/{labname}/virtualmachines/{virtualmachinename}/stop name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurevirtualmachinesstop description: Microsoft Azure Stop A Lab Virtual Machine call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstop outputParameters: - type: object mapping: $. - type: mcp namespace: labservicesclient-virtualmachine-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure LabServicesClient — VirtualMachine. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-all-virtual description: Microsoft Azure Get All Virtual Machines For A Lab hints: readOnly: true destructive: false idempotent: true call: labservicesclient-virtualmachine.microsoftazurevirtualmachineslistbylab outputParameters: - type: object mapping: $. - name: microsoft-azure-get-lab-virtual description: Microsoft Azure Get A Lab Virtual Machine hints: readOnly: true destructive: false idempotent: true call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesget outputParameters: - type: object mapping: $. - name: microsoft-azure-redeploy-lab-virtual description: Microsoft Azure Redeploy A Lab Virtual Machine To A Different Compute Node For Troubleshooting Connectivity hints: readOnly: false destructive: false idempotent: false call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesredeploy outputParameters: - type: object mapping: $. - name: microsoft-azure-re-image-lab description: Microsoft Azure Re Image A Lab Virtual Machine hints: readOnly: false destructive: false idempotent: false call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesreimage outputParameters: - type: object mapping: $. - name: microsoft-azure-reset-lab-virtual description: Microsoft Azure Reset A Lab Virtual Machine Password hints: readOnly: false destructive: false idempotent: false call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesresetpassword with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-start-lab-virtual description: Microsoft Azure Start A Lab Virtual Machine hints: readOnly: false destructive: false idempotent: false call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstart outputParameters: - type: object mapping: $. - name: microsoft-azure-stop-lab-virtual description: Microsoft Azure Stop A Lab Virtual Machine hints: readOnly: false destructive: false idempotent: false call: labservicesclient-virtualmachine.microsoftazurevirtualmachinesstop outputParameters: - type: object mapping: $.