naftiko: 1.0.0-alpha2 info: label: NetApp ONTAP REST API — Aggregates description: 'NetApp ONTAP REST API — Aggregates. 5 operations. Lead operation: Netapp List Storage Aggregates. Self-contained Naftiko capability covering one Netapp business surface.' tags: - Netapp - Aggregates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NETAPP_API_KEY: NETAPP_API_KEY capability: consumes: - type: http namespace: ontap-aggregates baseUri: https://{clusterMgmtIp}/api description: NetApp ONTAP REST API — Aggregates business capability. Self-contained, no shared references. resources: - name: storage-aggregates path: /storage/aggregates operations: - name: listaggregates method: GET description: Netapp List Storage Aggregates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by aggregate name - name: node.name in: query type: string description: Filter by owning node name - name: state in: query type: string description: Filter by aggregate state - name: createaggregate method: POST description: Netapp Create a New Aggregate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: storage-aggregates-uuid path: /storage/aggregates/{uuid} operations: - name: getaggregate method: GET description: Netapp Retrieve a Specific Aggregate outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateaggregate method: PATCH description: Netapp Update an Aggregate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteaggregate method: DELETE description: Netapp Delete an Aggregate outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.NETAPP_API_KEY}}' exposes: - type: rest namespace: ontap-aggregates-rest port: 8080 description: REST adapter for NetApp ONTAP REST API — Aggregates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/storage/aggregates name: storage-aggregates description: REST surface for storage-aggregates. operations: - method: GET name: listaggregates description: Netapp List Storage Aggregates call: ontap-aggregates.listaggregates with: name: rest.name node.name: rest.node.name state: rest.state outputParameters: - type: object mapping: $. - method: POST name: createaggregate description: Netapp Create a New Aggregate call: ontap-aggregates.createaggregate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/storage/aggregates/{uuid} name: storage-aggregates-uuid description: REST surface for storage-aggregates-uuid. operations: - method: GET name: getaggregate description: Netapp Retrieve a Specific Aggregate call: ontap-aggregates.getaggregate outputParameters: - type: object mapping: $. - method: PATCH name: updateaggregate description: Netapp Update an Aggregate call: ontap-aggregates.updateaggregate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteaggregate description: Netapp Delete an Aggregate call: ontap-aggregates.deleteaggregate outputParameters: - type: object mapping: $. - type: mcp namespace: ontap-aggregates-mcp port: 9090 transport: http description: MCP adapter for NetApp ONTAP REST API — Aggregates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: netapp-list-storage-aggregates description: Netapp List Storage Aggregates hints: readOnly: true destructive: false idempotent: true call: ontap-aggregates.listaggregates with: name: tools.name node.name: tools.node.name state: tools.state outputParameters: - type: object mapping: $. - name: netapp-create-new-aggregate description: Netapp Create a New Aggregate hints: readOnly: false destructive: false idempotent: false call: ontap-aggregates.createaggregate with: body: tools.body outputParameters: - type: object mapping: $. - name: netapp-retrieve-specific-aggregate description: Netapp Retrieve a Specific Aggregate hints: readOnly: true destructive: false idempotent: true call: ontap-aggregates.getaggregate outputParameters: - type: object mapping: $. - name: netapp-update-aggregate description: Netapp Update an Aggregate hints: readOnly: false destructive: false idempotent: true call: ontap-aggregates.updateaggregate with: body: tools.body outputParameters: - type: object mapping: $. - name: netapp-delete-aggregate description: Netapp Delete an Aggregate hints: readOnly: false destructive: true idempotent: true call: ontap-aggregates.deleteaggregate outputParameters: - type: object mapping: $.