naftiko: 1.0.0-alpha2 info: label: Oracle OCI Compute API — Instances description: 'Oracle OCI Compute API — Instances. 6 operations. Lead operation: Oracle List Instances. Self-contained Naftiko capability covering one Oracle business surface.' tags: - Oracle - Instances created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ORACLE_API_KEY: ORACLE_API_KEY capability: consumes: - type: http namespace: oci-compute-instances baseUri: https://iaas.{region}.oraclecloud.com/20160918 description: Oracle OCI Compute API — Instances business capability. Self-contained, no shared references. resources: - name: instances path: /instances operations: - name: listinstances method: GET description: Oracle List Instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: availabilityDomain in: query type: string description: The name of the availability domain (e.g., Uocm:PHX-AD-1). If not specified, returns instances across all availability domains in the compartment. - name: displayName in: query type: string description: A filter to return only resources that match the given display name exactly - name: lifecycleState in: query type: string description: A filter to return only instances that match the given lifecycle state - name: launchinstance method: POST description: Oracle Launch an Instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: instances-instanceId path: /instances/{instanceId} operations: - name: getinstance method: GET description: Oracle Get an Instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateinstance method: PUT description: Oracle Update an Instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: terminateinstance method: DELETE description: Oracle Terminate an Instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: preserveBootVolume in: query type: boolean description: Specifies whether to delete or preserve the boot volume when terminating an instance. Defaults to false (delete the boot volume). - name: preserveDataVolumesCreatedAtLaunch in: query type: boolean description: Specifies whether to delete or preserve data volumes created during launch when terminating an instance. Defaults to true (preserve). - name: instances-instanceId-actions-action path: /instances/{instanceId}/actions/{action} operations: - name: instanceaction method: POST description: Oracle Perform an Action on an Instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action in: path type: string description: The action to perform on the instance required: true authentication: type: bearer token: '{{env.ORACLE_API_KEY}}' exposes: - type: rest namespace: oci-compute-instances-rest port: 8080 description: REST adapter for Oracle OCI Compute API — Instances. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/instances name: instances description: REST surface for instances. operations: - method: GET name: listinstances description: Oracle List Instances call: oci-compute-instances.listinstances with: availabilityDomain: rest.availabilityDomain displayName: rest.displayName lifecycleState: rest.lifecycleState outputParameters: - type: object mapping: $. - method: POST name: launchinstance description: Oracle Launch an Instance call: oci-compute-instances.launchinstance with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/instances/{instanceid} name: instances-instanceid description: REST surface for instances-instanceId. operations: - method: GET name: getinstance description: Oracle Get an Instance call: oci-compute-instances.getinstance outputParameters: - type: object mapping: $. - method: PUT name: updateinstance description: Oracle Update an Instance call: oci-compute-instances.updateinstance with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: terminateinstance description: Oracle Terminate an Instance call: oci-compute-instances.terminateinstance with: preserveBootVolume: rest.preserveBootVolume preserveDataVolumesCreatedAtLaunch: rest.preserveDataVolumesCreatedAtLaunch outputParameters: - type: object mapping: $. - path: /v1/instances/{instanceid}/actions/{action} name: instances-instanceid-actions-action description: REST surface for instances-instanceId-actions-action. operations: - method: POST name: instanceaction description: Oracle Perform an Action on an Instance call: oci-compute-instances.instanceaction with: action: rest.action outputParameters: - type: object mapping: $. - type: mcp namespace: oci-compute-instances-mcp port: 9090 transport: http description: MCP adapter for Oracle OCI Compute API — Instances. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oracle-list-instances description: Oracle List Instances hints: readOnly: true destructive: false idempotent: true call: oci-compute-instances.listinstances with: availabilityDomain: tools.availabilityDomain displayName: tools.displayName lifecycleState: tools.lifecycleState outputParameters: - type: object mapping: $. - name: oracle-launch-instance description: Oracle Launch an Instance hints: readOnly: false destructive: false idempotent: false call: oci-compute-instances.launchinstance with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-get-instance description: Oracle Get an Instance hints: readOnly: true destructive: false idempotent: true call: oci-compute-instances.getinstance outputParameters: - type: object mapping: $. - name: oracle-update-instance description: Oracle Update an Instance hints: readOnly: false destructive: false idempotent: true call: oci-compute-instances.updateinstance with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-terminate-instance description: Oracle Terminate an Instance hints: readOnly: false destructive: true idempotent: true call: oci-compute-instances.terminateinstance with: preserveBootVolume: tools.preserveBootVolume preserveDataVolumesCreatedAtLaunch: tools.preserveDataVolumesCreatedAtLaunch outputParameters: - type: object mapping: $. - name: oracle-perform-action-instance description: Oracle Perform an Action on an Instance hints: readOnly: false destructive: false idempotent: false call: oci-compute-instances.instanceaction with: action: tools.action outputParameters: - type: object mapping: $.