naftiko: 1.0.0-alpha2 info: label: Juniper Networks Juniper vSRX REST API — Configuration description: 'Juniper Networks Juniper vSRX REST API — Configuration. 3 operations. Lead operation: Juniper Networks Get device configuration. Self-contained Naftiko capability covering one Juniper Networks business surface.' tags: - Juniper Networks - Configuration created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: JUNIPER_NETWORKS_API_KEY: JUNIPER_NETWORKS_API_KEY capability: consumes: - type: http namespace: vsrx-configuration baseUri: https://{vsrx_host}/api description: Juniper Networks Juniper vSRX REST API — Configuration business capability. Self-contained, no shared references. resources: - name: v1-configuration path: /v1/configuration operations: - name: getconfiguration method: GET description: Juniper Networks Get device configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: query type: string description: Configuration database to read. - name: path in: query type: string description: 'Configuration hierarchy path to filter. Example: security/policies to return only security policy configuration.' - name: updateconfiguration method: PUT description: Juniper Networks Update configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-configuration-commit path: /v1/configuration/commit operations: - name: commitconfiguration method: POST description: Juniper Networks Commit configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: basic username: '{{env.JUNIPER_NETWORKS_USER}}' password: '{{env.JUNIPER_NETWORKS_PASS}}' exposes: - type: rest namespace: vsrx-configuration-rest port: 8080 description: REST adapter for Juniper Networks Juniper vSRX REST API — Configuration. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/configuration name: v1-configuration description: REST surface for v1-configuration. operations: - method: GET name: getconfiguration description: Juniper Networks Get device configuration call: vsrx-configuration.getconfiguration with: type: rest.type path: rest.path outputParameters: - type: object mapping: $. - method: PUT name: updateconfiguration description: Juniper Networks Update configuration call: vsrx-configuration.updateconfiguration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/configuration/commit name: v1-configuration-commit description: REST surface for v1-configuration-commit. operations: - method: POST name: commitconfiguration description: Juniper Networks Commit configuration call: vsrx-configuration.commitconfiguration with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: vsrx-configuration-mcp port: 9090 transport: http description: MCP adapter for Juniper Networks Juniper vSRX REST API — Configuration. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: juniper-networks-get-device-configuration description: Juniper Networks Get device configuration hints: readOnly: true destructive: false idempotent: true call: vsrx-configuration.getconfiguration with: type: tools.type path: tools.path outputParameters: - type: object mapping: $. - name: juniper-networks-update-configuration description: Juniper Networks Update configuration hints: readOnly: false destructive: false idempotent: true call: vsrx-configuration.updateconfiguration with: body: tools.body outputParameters: - type: object mapping: $. - name: juniper-networks-commit-configuration description: Juniper Networks Commit configuration hints: readOnly: false destructive: false idempotent: false call: vsrx-configuration.commitconfiguration with: body: tools.body outputParameters: - type: object mapping: $.