naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Azure Migrate Discovery Service — SitesController description: 'Microsoft Azure Azure Migrate Discovery Service — SitesController. 13 operations. Lead operation: Microsoft Azure Get All Vmware Sites. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - SitesController 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: azure-migrate-discovery-service-sitescontroller baseUri: https://management.azure.com description: Microsoft Azure Azure Migrate Discovery Service — SitesController business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.OffAzure-vmwareSites path: /subscriptions/{subscriptionId}/providers/Microsoft.OffAzure/vmwareSites operations: - name: microsoftazuresitescontrollerlistbysubscription method: GET description: Microsoft Azure Get All Vmware Sites outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites operations: - name: microsoftazuresitescontrollerlistbyresourcegroup method: GET description: Microsoft Azure Get All Vmware Sites outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName} operations: - name: microsoftazuresitescontrollerget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: microsoftazuresitescontrollercreate method: PUT description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: string description: Resource create parameters. required: true - name: microsoftazuresitescontrollerupdate method: PATCH description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: string description: The resource properties to be updated. required: true - name: microsoftazuresitescontrollerdelete method: DELETE description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/computeErrorSummary operations: - name: microsoftazuresitescontrollercomputeerrorsummary method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeerrorsummary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: object description: The content of the action request required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/computeusage operations: - name: microsoftazuresitescontrollercomputeusage method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeusage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: object description: The content of the action request required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/exportApplications operations: - name: microsoftazuresitescontrollerexportapplications method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportapplications outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: object description: The content of the action request required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/exportMachineErrors operations: - name: microsoftazuresitescontrollerexportmachineerrors method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachineerrors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: string description: The content of the action request required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/exportMachines operations: - name: microsoftazuresitescontrollerexportmachines method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: body in: body type: string description: The content of the action request required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/listHealthSummary operations: - name: microsoftazuresitescontrollerlisthealthsummary method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Listhealthsummary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/vmwareSites/{siteName}/summary operations: - name: microsoftazuresitescontrollersummary method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Summary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: siteName in: path type: string description: Site name required: true exposes: - type: rest namespace: azure-migrate-discovery-service-sitescontroller-rest port: 8080 description: REST adapter for Microsoft Azure Azure Migrate Discovery Service — SitesController. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-offazure/vmwaresites name: subscriptions-subscriptionid-providers-microsoft-offazure-vmwaresites description: REST surface for subscriptions-subscriptionId-providers-Microsoft.OffAzure-vmwareSites. operations: - method: GET name: microsoftazuresitescontrollerlistbysubscription description: Microsoft Azure Get All Vmware Sites call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlistbysubscription outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuresitescontrollerlistbyresourcegroup description: Microsoft Azure Get All Vmware Sites call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlistbyresourcegroup outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuresitescontrollerget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerget with: siteName: rest.siteName outputParameters: - type: object mapping: $. - method: PUT name: microsoftazuresitescontrollercreate description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercreate with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazuresitescontrollerupdate description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerupdate with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuresitescontrollerdelete description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerdelete with: siteName: rest.siteName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/computeerrorsummary name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollercomputeerrorsummary description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeerrorsummary call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercomputeerrorsummary with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/computeusage name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollercomputeusage description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeusage call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercomputeusage with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/exportapplications name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollerexportapplications description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportapplications call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportapplications with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/exportmachineerrors name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollerexportmachineerrors description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachineerrors call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportmachineerrors with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/exportmachines name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollerexportmachines description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachines call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportmachines with: siteName: rest.siteName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/listhealthsummary name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollerlisthealthsummary description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Listhealthsummary call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlisthealthsummary with: siteName: rest.siteName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-offazure/vmwaresites/{sitename}/summary name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuresitescontrollersummary description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Summary call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollersummary with: siteName: rest.siteName outputParameters: - type: object mapping: $. - type: mcp namespace: azure-migrate-discovery-service-sitescontroller-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Azure Migrate Discovery Service — SitesController. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-all-vmware description: Microsoft Azure Get All Vmware Sites hints: readOnly: true destructive: false idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlistbysubscription outputParameters: - type: object mapping: $. - name: microsoft-azure-get-all-vmware-2 description: Microsoft Azure Get All Vmware Sites hints: readOnly: true destructive: false idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlistbyresourcegroup outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename hints: readOnly: true destructive: false idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerget with: siteName: tools.siteName outputParameters: - type: object mapping: $. - name: microsoft-azure-put-subscriptions-subscriptionid description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename hints: readOnly: false destructive: false idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercreate with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-subscriptions-subscriptionid description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename hints: readOnly: false destructive: false idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerupdate with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-subscriptions-subscriptionid description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename hints: readOnly: false destructive: true idempotent: true call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerdelete with: siteName: tools.siteName outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeerrorsummary hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercomputeerrorsummary with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-2 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Computeusage hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollercomputeusage with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-3 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportapplications hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportapplications with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-4 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachineerrors hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportmachineerrors with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-5 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Exportmachines hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerexportmachines with: siteName: tools.siteName body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-6 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Listhealthsummary hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollerlisthealthsummary with: siteName: tools.siteName outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-7 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Offazure Vmwaresites Sitename Summary hints: readOnly: false destructive: false idempotent: false call: azure-migrate-discovery-service-sitescontroller.microsoftazuresitescontrollersummary with: siteName: tools.siteName outputParameters: - type: object mapping: $.