Incus · Capability

Incus external REST API — network-acls

Incus external REST API — network-acls. 9 operations. Lead operation: Get the network ACLs. Self-contained Naftiko capability covering one Incus business surface.

Run with Naftiko Incusnetwork-acls

What You Can Do

GET
Networkaclsget — Get the network ACLs
/v1/1-0/network-acls
POST
Networkaclspost — Add a network ACL
/v1/1-0/network-acls
DELETE
Networkacldelete — Delete the network ACL
/v1/1-0/network-acls/{name}
GET
Networkaclget — Get the network ACL
/v1/1-0/network-acls/{name}
PATCH
Networkaclpatch — Partially update the network ACL
/v1/1-0/network-acls/{name}
POST
Networkaclpost — Rename the network ACL
/v1/1-0/network-acls/{name}
PUT
Networkaclput — Update the network ACL
/v1/1-0/network-acls/{name}
GET
Networkacllogget — Get the network ACL log
/v1/1-0/network-acls/{name}/log
GET
Networkaclsgetrecursion1 — Get the network ACLs
/v1/1-0/network-acls-recursion-1

MCP Tools

get-network-acls

Get the network ACLs

read-only idempotent
add-network-acl

Add a network ACL

delete-network-acl

Delete the network ACL

idempotent
get-network-acl

Get the network ACL

read-only idempotent
partially-update-network-acl

Partially update the network ACL

idempotent
rename-network-acl

Rename the network ACL

update-network-acl

Update the network ACL

idempotent
get-network-acl-log

Get the network ACL log

read-only idempotent
get-network-acls-2

Get the network ACLs

read-only idempotent

Capability Spec

incus-network-acls.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Incus external REST API — network-acls
  description: 'Incus external REST API — network-acls. 9 operations. Lead operation: Get the network ACLs. Self-contained
    Naftiko capability covering one Incus business surface.'
  tags:
  - Incus
  - network-acls
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    INCUS_API_KEY: INCUS_API_KEY
capability:
  consumes:
  - type: http
    namespace: incus-network-acls
    baseUri: ''
    description: Incus external REST API — network-acls business capability. Self-contained, no shared references.
    resources:
    - name: 1.0-network-acls
      path: /1.0/network-acls
      operations:
      - name: networkaclsget
        method: GET
        description: Get the network ACLs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: project
          in: query
          type: string
          description: Project name
        - name: all-projects
          in: query
          type: boolean
          description: Retrieve network ACLs from all projects
        - name: filter
          in: query
          type: string
          description: Collection filter
      - name: networkaclspost
        method: POST
        description: Add a network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: project
          in: query
          type: string
          description: Project name
        - name: acl
          in: body
          type: string
          description: ACL
          required: true
    - name: 1.0-network-acls-name
      path: /1.0/network-acls/{name}
      operations:
      - name: networkacldelete
        method: DELETE
        description: Delete the network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkaclget
        method: GET
        description: Get the network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkaclpatch
        method: PATCH
        description: Partially update the network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: acl
          in: body
          type: string
          description: ACL configuration
          required: true
      - name: networkaclpost
        method: POST
        description: Rename the network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: acl
          in: body
          type: string
          description: ACL rename request
          required: true
      - name: networkaclput
        method: PUT
        description: Update the network ACL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: acl
          in: body
          type: string
          description: ACL configuration
          required: true
    - name: 1.0-network-acls-name-log
      path: /1.0/network-acls/{name}/log
      operations:
      - name: networkacllogget
        method: GET
        description: Get the network ACL log
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: ACL name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
    - name: 1.0-network-acls?recursion=1
      path: /1.0/network-acls?recursion=1
      operations:
      - name: networkaclsgetrecursion1
        method: GET
        description: Get the network ACLs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: project
          in: query
          type: string
          description: Project name
        - name: all-projects
          in: query
          type: boolean
          description: Retrieve network ACLs from all projects
        - name: filter
          in: query
          type: string
          description: Collection filter
  exposes:
  - type: rest
    namespace: incus-network-acls-rest
    port: 8080
    description: REST adapter for Incus external REST API — network-acls. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/1-0/network-acls
      name: 1-0-network-acls
      description: REST surface for 1.0-network-acls.
      operations:
      - method: GET
        name: networkaclsget
        description: Get the network ACLs
        call: incus-network-acls.networkaclsget
        with:
          project: rest.project
          all-projects: rest.all-projects
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: networkaclspost
        description: Add a network ACL
        call: incus-network-acls.networkaclspost
        with:
          project: rest.project
          acl: rest.acl
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/network-acls/{name}
      name: 1-0-network-acls-name
      description: REST surface for 1.0-network-acls-name.
      operations:
      - method: DELETE
        name: networkacldelete
        description: Delete the network ACL
        call: incus-network-acls.networkacldelete
        with:
          name: rest.name
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: networkaclget
        description: Get the network ACL
        call: incus-network-acls.networkaclget
        with:
          name: rest.name
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: networkaclpatch
        description: Partially update the network ACL
        call: incus-network-acls.networkaclpatch
        with:
          name: rest.name
          project: rest.project
          acl: rest.acl
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: networkaclpost
        description: Rename the network ACL
        call: incus-network-acls.networkaclpost
        with:
          name: rest.name
          project: rest.project
          acl: rest.acl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: networkaclput
        description: Update the network ACL
        call: incus-network-acls.networkaclput
        with:
          name: rest.name
          project: rest.project
          acl: rest.acl
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/network-acls/{name}/log
      name: 1-0-network-acls-name-log
      description: REST surface for 1.0-network-acls-name-log.
      operations:
      - method: GET
        name: networkacllogget
        description: Get the network ACL log
        call: incus-network-acls.networkacllogget
        with:
          name: rest.name
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/network-acls-recursion-1
      name: 1-0-network-acls-recursion-1
      description: REST surface for 1.0-network-acls?recursion=1.
      operations:
      - method: GET
        name: networkaclsgetrecursion1
        description: Get the network ACLs
        call: incus-network-acls.networkaclsgetrecursion1
        with:
          project: rest.project
          all-projects: rest.all-projects
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: incus-network-acls-mcp
    port: 9090
    transport: http
    description: MCP adapter for Incus external REST API — network-acls. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-network-acls
      description: Get the network ACLs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-acls.networkaclsget
      with:
        project: tools.project
        all-projects: tools.all-projects
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: add-network-acl
      description: Add a network ACL
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: incus-network-acls.networkaclspost
      with:
        project: tools.project
        acl: tools.acl
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-network-acl
      description: Delete the network ACL
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: incus-network-acls.networkacldelete
      with:
        name: tools.name
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-acl
      description: Get the network ACL
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-acls.networkaclget
      with:
        name: tools.name
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: partially-update-network-acl
      description: Partially update the network ACL
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-acls.networkaclpatch
      with:
        name: tools.name
        project: tools.project
        acl: tools.acl
      outputParameters:
      - type: object
        mapping: $.
    - name: rename-network-acl
      description: Rename the network ACL
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: incus-network-acls.networkaclpost
      with:
        name: tools.name
        project: tools.project
        acl: tools.acl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-network-acl
      description: Update the network ACL
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-acls.networkaclput
      with:
        name: tools.name
        project: tools.project
        acl: tools.acl
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-acl-log
      description: Get the network ACL log
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-acls.networkacllogget
      with:
        name: tools.name
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-acls-2
      description: Get the network ACLs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-acls.networkaclsgetrecursion1
      with:
        project: tools.project
        all-projects: tools.all-projects
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.