naftiko: 1.0.0-alpha2 info: label: DevTestLabsClient — GlobalSchedules description: 'DevTestLabsClient — GlobalSchedules. 8 operations. Lead operation: Azure DevTest Labs Global Schedules_ List by Subscription. Self-contained Naftiko capability covering one Azure Test Labs business surface.' tags: - Azure Test Labs - GlobalSchedules 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-globalschedules baseUri: https://management.azure.com description: DevTestLabsClient — GlobalSchedules business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.DevTestLab-schedules path: /subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules operations: - name: globalscheduleslistbysubscription method: GET description: Azure DevTest Labs Global Schedules_ List by Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=status)''' - 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/schedules operations: - name: globalscheduleslistbyresourcegroup method: GET description: Azure DevTest Labs Global Schedules_ List by Resource Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=status)''' - 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/schedules/{name} operations: - name: globalschedulesdelete method: DELETE description: Azure DevTest Labs Global Schedules_ Delete outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: globalschedulesget method: GET description: Azure DevTest Labs Global Schedules_ Get outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=status)''' - name: globalschedulesupdate method: PATCH description: Azure DevTest Labs Global Schedules_ Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: schedule in: body type: string description: A schedule. required: true - name: globalschedulescreateorupdate method: PUT description: Azure DevTest Labs Global Schedules_ Create or Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: schedule in: body type: string description: A schedule. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute operations: - name: globalschedulesexecute method: POST description: Azure DevTest Labs Global Schedules_ Execute outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget operations: - name: globalschedulesretarget method: POST description: Azure DevTest Labs Global Schedules_ Retarget outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the schedule. required: true - name: retargetScheduleProperties in: body type: string description: Properties for retargeting a virtual machine schedule. required: true exposes: - type: rest namespace: azure-test-labs-globalschedules-rest port: 8080 description: REST adapter for DevTestLabsClient — GlobalSchedules. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-devtestlab/schedules name: subscriptions-subscriptionid-providers-microsoft-devtestlab-schedules description: REST surface for subscriptions-subscriptionId-providers-Microsoft.DevTestLab-schedules. operations: - method: GET name: globalscheduleslistbysubscription description: Azure DevTest Labs Global Schedules_ List by Subscription call: azure-test-labs-globalschedules.globalscheduleslistbysubscription with: $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/schedules name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: globalscheduleslistbyresourcegroup description: Azure DevTest Labs Global Schedules_ List by Resource Group call: azure-test-labs-globalschedules.globalscheduleslistbyresourcegroup with: $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/schedules/{name} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: DELETE name: globalschedulesdelete description: Azure DevTest Labs Global Schedules_ Delete call: azure-test-labs-globalschedules.globalschedulesdelete with: name: rest.name outputParameters: - type: object mapping: $. - method: GET name: globalschedulesget description: Azure DevTest Labs Global Schedules_ Get call: azure-test-labs-globalschedules.globalschedulesget with: name: rest.name $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: globalschedulesupdate description: Azure DevTest Labs Global Schedules_ Update call: azure-test-labs-globalschedules.globalschedulesupdate with: name: rest.name schedule: rest.schedule outputParameters: - type: object mapping: $. - method: PUT name: globalschedulescreateorupdate description: Azure DevTest Labs Global Schedules_ Create or Update call: azure-test-labs-globalschedules.globalschedulescreateorupdate with: name: rest.name schedule: rest.schedule outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/schedules/{name}/execute name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: globalschedulesexecute description: Azure DevTest Labs Global Schedules_ Execute call: azure-test-labs-globalschedules.globalschedulesexecute with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/schedules/{name}/retarget name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: globalschedulesretarget description: Azure DevTest Labs Global Schedules_ Retarget call: azure-test-labs-globalschedules.globalschedulesretarget with: name: rest.name retargetScheduleProperties: rest.retargetScheduleProperties outputParameters: - type: object mapping: $. - type: mcp namespace: azure-test-labs-globalschedules-mcp port: 9090 transport: http description: MCP adapter for DevTestLabsClient — GlobalSchedules. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: azure-devtest-labs-global-schedules description: Azure DevTest Labs Global Schedules_ List by Subscription hints: readOnly: true destructive: false idempotent: true call: azure-test-labs-globalschedules.globalscheduleslistbysubscription with: $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-2 description: Azure DevTest Labs Global Schedules_ List by Resource Group hints: readOnly: true destructive: false idempotent: true call: azure-test-labs-globalschedules.globalscheduleslistbyresourcegroup with: $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-3 description: Azure DevTest Labs Global Schedules_ Delete hints: readOnly: false destructive: true idempotent: true call: azure-test-labs-globalschedules.globalschedulesdelete with: name: tools.name outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-4 description: Azure DevTest Labs Global Schedules_ Get hints: readOnly: true destructive: false idempotent: true call: azure-test-labs-globalschedules.globalschedulesget with: name: tools.name $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-5 description: Azure DevTest Labs Global Schedules_ Update hints: readOnly: false destructive: false idempotent: true call: azure-test-labs-globalschedules.globalschedulesupdate with: name: tools.name schedule: tools.schedule outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-6 description: Azure DevTest Labs Global Schedules_ Create or Update hints: readOnly: false destructive: false idempotent: true call: azure-test-labs-globalschedules.globalschedulescreateorupdate with: name: tools.name schedule: tools.schedule outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-7 description: Azure DevTest Labs Global Schedules_ Execute hints: readOnly: true destructive: false idempotent: false call: azure-test-labs-globalschedules.globalschedulesexecute with: name: tools.name outputParameters: - type: object mapping: $. - name: azure-devtest-labs-global-schedules-8 description: Azure DevTest Labs Global Schedules_ Retarget hints: readOnly: true destructive: false idempotent: false call: azure-test-labs-globalschedules.globalschedulesretarget with: name: tools.name retargetScheduleProperties: tools.retargetScheduleProperties outputParameters: - type: object mapping: $.