naftiko: 1.0.0-alpha2 info: label: Microsoft Azure DevTestLabsClient — Policies description: 'Microsoft Azure DevTestLabsClient — Policies. 5 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Policies 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: devtestlabsclient-policies baseUri: https://management.azure.com description: Microsoft Azure DevTestLabsClient — Policies 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}/policysets/{policySetName}/policies operations: - name: microsoftazurepolicieslist method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: policySetName in: path type: string description: The name of the policy set. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=description)''' - 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}/policysets/{policySetName}/policies/{name} operations: - name: microsoftazurepoliciesget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: policySetName in: path type: string description: The name of the policy set. required: true - name: name in: path type: string description: The name of the policy. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=description)''' - name: microsoftazurepoliciescreateorupdate method: PUT description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: policySetName in: path type: string description: The name of the policy set. required: true - name: name in: path type: string description: The name of the policy. required: true - name: policy in: body type: string description: A Policy. required: true - name: microsoftazurepoliciesdelete method: DELETE description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: policySetName in: path type: string description: The name of the policy set. required: true - name: name in: path type: string description: The name of the policy. required: true - name: microsoftazurepoliciesupdate method: PATCH description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labName in: path type: string description: The name of the lab. required: true - name: policySetName in: path type: string description: The name of the policy set. required: true - name: name in: path type: string description: The name of the policy. required: true - name: policy in: body type: string description: A Policy. required: true exposes: - type: rest namespace: devtestlabsclient-policies-rest port: 8080 description: REST adapter for Microsoft Azure DevTestLabsClient — Policies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/policysets/{policysetname}/policies name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurepolicieslist description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies call: devtestlabsclient-policies.microsoftazurepolicieslist with: labName: rest.labName policySetName: rest.policySetName $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}/policysets/{policysetname}/policies/{name} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurepoliciesget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name call: devtestlabsclient-policies.microsoftazurepoliciesget with: labName: rest.labName policySetName: rest.policySetName name: rest.name $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PUT name: microsoftazurepoliciescreateorupdate description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name call: devtestlabsclient-policies.microsoftazurepoliciescreateorupdate with: labName: rest.labName policySetName: rest.policySetName name: rest.name policy: rest.policy outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurepoliciesdelete description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name call: devtestlabsclient-policies.microsoftazurepoliciesdelete with: labName: rest.labName policySetName: rest.policySetName name: rest.name outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurepoliciesupdate description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name call: devtestlabsclient-policies.microsoftazurepoliciesupdate with: labName: rest.labName policySetName: rest.policySetName name: rest.name policy: rest.policy outputParameters: - type: object mapping: $. - type: mcp namespace: devtestlabsclient-policies-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure DevTestLabsClient — Policies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-subscriptions-subscriptionid description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies hints: readOnly: true destructive: false idempotent: true call: devtestlabsclient-policies.microsoftazurepolicieslist with: labName: tools.labName policySetName: tools.policySetName $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-2 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name hints: readOnly: true destructive: false idempotent: true call: devtestlabsclient-policies.microsoftazurepoliciesget with: labName: tools.labName policySetName: tools.policySetName name: tools.name $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-azure-put-subscriptions-subscriptionid description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name hints: readOnly: false destructive: false idempotent: true call: devtestlabsclient-policies.microsoftazurepoliciescreateorupdate with: labName: tools.labName policySetName: tools.policySetName name: tools.name policy: tools.policy outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-subscriptions-subscriptionid description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name hints: readOnly: false destructive: true idempotent: true call: devtestlabsclient-policies.microsoftazurepoliciesdelete with: labName: tools.labName policySetName: tools.policySetName name: tools.name outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-subscriptions-subscriptionid description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Policysets Policysetname Policies Name hints: readOnly: false destructive: false idempotent: true call: devtestlabsclient-policies.microsoftazurepoliciesupdate with: labName: tools.labName policySetName: tools.policySetName name: tools.name policy: tools.policy outputParameters: - type: object mapping: $.