naftiko: 1.0.0-alpha2 info: label: DevTestLabsClient — Disks description: 'DevTestLabsClient — Disks. 7 operations. Lead operation: Azure DevTest Labs Disks_ List. Self-contained Naftiko capability covering one Azure Test Labs business surface.' tags: - Azure Test Labs - Disks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AZURE_TEST_LABS_API_KEY: AZURE_TEST_LABS_API_KEY capability: consumes: - type: http namespace: azure-test-labs-disks baseUri: https://management.azure.com description: DevTestLabsClient — Disks business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks operations: - name: diskslist method: GET description: Azure DevTest Labs Disks_ List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=diskType)''' - name: $filter in: query type: string description: 'The filter to apply to the operation. Example: ''$filter=contains(name,''myName'')' - name: $top in: query type: integer description: 'The maximum number of resources to return from the operation. Example: ''$top=10''' - name: $orderby in: query type: string description: 'The ordering expression for the results, using OData notation. Example: ''$orderby=name desc''' - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name} operations: - name: disksdelete method: DELETE description: Azure DevTest Labs Disks_ Delete outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: disksget method: GET description: Azure DevTest Labs Disks_ Get outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=diskType)''' - name: disksupdate method: PATCH description: Azure DevTest Labs Disks_ Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: disk in: body type: string description: A Disk. required: true - name: diskscreateorupdate method: PUT description: Azure DevTest Labs Disks_ Create or Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: disk in: body type: string description: A Disk. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach operations: - name: disksattach method: POST description: Azure DevTest Labs Disks_ Attach outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: attachDiskProperties in: body type: string description: Properties of the disk to attach. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach operations: - name: disksdetach method: POST description: Azure DevTest Labs Disks_ Detach outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: userName in: path type: string description: The name of the user profile. required: true - name: name in: path type: string description: The name of the disk. required: true - name: detachDiskProperties in: body type: string description: Properties of the disk to detach. required: true exposes: - type: rest namespace: azure-test-labs-disks-rest port: 8080 description: REST adapter for DevTestLabsClient — Disks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/users/{username}/disks name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: diskslist description: Azure DevTest Labs Disks_ List call: azure-test-labs-disks.diskslist with: labName: rest.labName userName: rest.userName $expand: rest.$expand $filter: rest.$filter $top: rest.$top $orderby: rest.$orderby outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/users/{username}/disks/{name} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: DELETE name: disksdelete description: Azure DevTest Labs Disks_ Delete call: azure-test-labs-disks.disksdelete with: labName: rest.labName userName: rest.userName name: rest.name outputParameters: - type: object mapping: $. - method: GET name: disksget description: Azure DevTest Labs Disks_ Get call: azure-test-labs-disks.disksget with: labName: rest.labName userName: rest.userName name: rest.name $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: disksupdate description: Azure DevTest Labs Disks_ Update call: azure-test-labs-disks.disksupdate with: labName: rest.labName userName: rest.userName name: rest.name disk: rest.disk outputParameters: - type: object mapping: $. - method: PUT name: diskscreateorupdate description: Azure DevTest Labs Disks_ Create or Update call: azure-test-labs-disks.diskscreateorupdate with: labName: rest.labName userName: rest.userName name: rest.name disk: rest.disk outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/users/{username}/disks/{name}/attach name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: disksattach description: Azure DevTest Labs Disks_ Attach call: azure-test-labs-disks.disksattach with: labName: rest.labName userName: rest.userName name: rest.name attachDiskProperties: rest.attachDiskProperties outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/users/{username}/disks/{name}/detach name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: disksdetach description: Azure DevTest Labs Disks_ Detach call: azure-test-labs-disks.disksdetach with: labName: rest.labName userName: rest.userName name: rest.name detachDiskProperties: rest.detachDiskProperties outputParameters: - type: object mapping: $. - type: mcp namespace: azure-test-labs-disks-mcp port: 9090 transport: http description: MCP adapter for DevTestLabsClient — Disks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: azure-devtest-labs-disks-list description: Azure DevTest Labs Disks_ List hints: readOnly: true destructive: false idempotent: true call: azure-test-labs-disks.diskslist with: labName: tools.labName userName: tools.userName $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-delete description: Azure DevTest Labs Disks_ Delete hints: readOnly: false destructive: true idempotent: true call: azure-test-labs-disks.disksdelete with: labName: tools.labName userName: tools.userName name: tools.name outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-get description: Azure DevTest Labs Disks_ Get hints: readOnly: true destructive: false idempotent: true call: azure-test-labs-disks.disksget with: labName: tools.labName userName: tools.userName name: tools.name $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-update description: Azure DevTest Labs Disks_ Update hints: readOnly: false destructive: false idempotent: true call: azure-test-labs-disks.disksupdate with: labName: tools.labName userName: tools.userName name: tools.name disk: tools.disk outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-create description: Azure DevTest Labs Disks_ Create or Update hints: readOnly: false destructive: false idempotent: true call: azure-test-labs-disks.diskscreateorupdate with: labName: tools.labName userName: tools.userName name: tools.name disk: tools.disk outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-attach description: Azure DevTest Labs Disks_ Attach hints: readOnly: true destructive: false idempotent: false call: azure-test-labs-disks.disksattach with: labName: tools.labName userName: tools.userName name: tools.name attachDiskProperties: tools.attachDiskProperties outputParameters: - type: object mapping: $. - name: azure-devtest-labs-disks-detach description: Azure DevTest Labs Disks_ Detach hints: readOnly: true destructive: false idempotent: false call: azure-test-labs-disks.disksdetach with: labName: tools.labName userName: tools.userName name: tools.name detachDiskProperties: tools.detachDiskProperties outputParameters: - type: object mapping: $.