Incus · Capability

Incus external REST API — network-load-balancers

Incus external REST API — network-load-balancers. 8 operations. Lead operation: Get the network address of load balancers. Self-contained Naftiko capability covering one Incus business surface.

Run with Naftiko Incusnetwork-load-balancers

What You Can Do

GET
Networkloadbalancersget — Get the network address of load balancers
/v1/1-0/networks/{networkname}/load-balancers
POST
Networkloadbalancerspost — Add a network load balancer
/v1/1-0/networks/{networkname}/load-balancers
DELETE
Networkloadbalancerdelete — Delete the network address load balancer
/v1/1-0/networks/{networkname}/load-balancers/{listenaddress}
GET
Networkloadbalancerget — Get the network address load balancer
/v1/1-0/networks/{networkname}/load-balancers/{listenaddress}
PATCH
Networkloadbalancerpatch — Partially update the network address load balancer
/v1/1-0/networks/{networkname}/load-balancers/{listenaddress}
PUT
Networkloadbalancerput — Update the network address load balancer
/v1/1-0/networks/{networkname}/load-balancers/{listenaddress}
GET
Networkloadbalancerstateget — Get the network address load balancer state
/v1/1-0/networks/{networkname}/load-balancers/{listenaddress}/state
GET
Networkloadbalancergetrecursion1 — Get the network address load balancers
/v1/1-0/networks/{networkname}/load-balancers-recursion-1

MCP Tools

get-network-address-load-balancers

Get the network address of load balancers

read-only idempotent
add-network-load-balancer

Add a network load balancer

delete-network-address-load-balancer

Delete the network address load balancer

idempotent
get-network-address-load-balancer

Get the network address load balancer

read-only idempotent
partially-update-network-address-load

Partially update the network address load balancer

idempotent
update-network-address-load-balancer

Update the network address load balancer

idempotent
get-network-address-load-balancer-2

Get the network address load balancer state

read-only idempotent
get-network-address-load-balancers-2

Get the network address load balancers

read-only idempotent

Capability Spec

incus-network-load-balancers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Incus external REST API — network-load-balancers
  description: 'Incus external REST API — network-load-balancers. 8 operations. Lead operation: Get the network address of
    load balancers. Self-contained Naftiko capability covering one Incus business surface.'
  tags:
  - Incus
  - network-load-balancers
  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-load-balancers
    baseUri: ''
    description: Incus external REST API — network-load-balancers business capability. Self-contained, no shared references.
    resources:
    - name: 1.0-networks-networkName-load-balancers
      path: /1.0/networks/{networkName}/load-balancers
      operations:
      - name: networkloadbalancersget
        method: GET
        description: Get the network address of load balancers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: filter
          in: query
          type: string
          description: Collection filter
      - name: networkloadbalancerspost
        method: POST
        description: Add a network load balancer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: load-balancer
          in: body
          type: string
          description: Load Balancer
          required: true
    - name: 1.0-networks-networkName-load-balancers-listenAddress
      path: /1.0/networks/{networkName}/load-balancers/{listenAddress}
      operations:
      - name: networkloadbalancerdelete
        method: DELETE
        description: Delete the network address load balancer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: listenAddress
          in: path
          type: string
          description: Listen address
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkloadbalancerget
        method: GET
        description: Get the network address load balancer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: listenAddress
          in: path
          type: string
          description: Listen address
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkloadbalancerpatch
        method: PATCH
        description: Partially update the network address load balancer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: listenAddress
          in: path
          type: string
          description: Listen address
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: load-balancer
          in: body
          type: string
          description: Address load balancer configuration
          required: true
      - name: networkloadbalancerput
        method: PUT
        description: Update the network address load balancer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: listenAddress
          in: path
          type: string
          description: Listen address
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: load-balancer
          in: body
          type: string
          description: Address load balancer configuration
          required: true
    - name: 1.0-networks-networkName-load-balancers-listenAddress-state
      path: /1.0/networks/{networkName}/load-balancers/{listenAddress}/state
      operations:
      - name: networkloadbalancerstateget
        method: GET
        description: Get the network address load balancer state
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: listenAddress
          in: path
          type: string
          description: Listen address
          required: true
        - name: project
          in: query
          type: string
          description: Project name
    - name: 1.0-networks-networkName-load-balancers?recursion=1
      path: /1.0/networks/{networkName}/load-balancers?recursion=1
      operations:
      - name: networkloadbalancergetrecursion1
        method: GET
        description: Get the network address load balancers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: filter
          in: query
          type: string
          description: Collection filter
  exposes:
  - type: rest
    namespace: incus-network-load-balancers-rest
    port: 8080
    description: REST adapter for Incus external REST API — network-load-balancers. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/1-0/networks/{networkname}/load-balancers
      name: 1-0-networks-networkname-load-balancers
      description: REST surface for 1.0-networks-networkName-load-balancers.
      operations:
      - method: GET
        name: networkloadbalancersget
        description: Get the network address of load balancers
        call: incus-network-load-balancers.networkloadbalancersget
        with:
          networkName: rest.networkName
          project: rest.project
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: networkloadbalancerspost
        description: Add a network load balancer
        call: incus-network-load-balancers.networkloadbalancerspost
        with:
          networkName: rest.networkName
          project: rest.project
          load-balancer: rest.load-balancer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/networks/{networkname}/load-balancers/{listenaddress}
      name: 1-0-networks-networkname-load-balancers-listenaddress
      description: REST surface for 1.0-networks-networkName-load-balancers-listenAddress.
      operations:
      - method: DELETE
        name: networkloadbalancerdelete
        description: Delete the network address load balancer
        call: incus-network-load-balancers.networkloadbalancerdelete
        with:
          networkName: rest.networkName
          listenAddress: rest.listenAddress
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: networkloadbalancerget
        description: Get the network address load balancer
        call: incus-network-load-balancers.networkloadbalancerget
        with:
          networkName: rest.networkName
          listenAddress: rest.listenAddress
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: networkloadbalancerpatch
        description: Partially update the network address load balancer
        call: incus-network-load-balancers.networkloadbalancerpatch
        with:
          networkName: rest.networkName
          listenAddress: rest.listenAddress
          project: rest.project
          load-balancer: rest.load-balancer
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: networkloadbalancerput
        description: Update the network address load balancer
        call: incus-network-load-balancers.networkloadbalancerput
        with:
          networkName: rest.networkName
          listenAddress: rest.listenAddress
          project: rest.project
          load-balancer: rest.load-balancer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/networks/{networkname}/load-balancers/{listenaddress}/state
      name: 1-0-networks-networkname-load-balancers-listenaddress-state
      description: REST surface for 1.0-networks-networkName-load-balancers-listenAddress-state.
      operations:
      - method: GET
        name: networkloadbalancerstateget
        description: Get the network address load balancer state
        call: incus-network-load-balancers.networkloadbalancerstateget
        with:
          networkName: rest.networkName
          listenAddress: rest.listenAddress
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/networks/{networkname}/load-balancers-recursion-1
      name: 1-0-networks-networkname-load-balancers-recursion-1
      description: REST surface for 1.0-networks-networkName-load-balancers?recursion=1.
      operations:
      - method: GET
        name: networkloadbalancergetrecursion1
        description: Get the network address load balancers
        call: incus-network-load-balancers.networkloadbalancergetrecursion1
        with:
          networkName: rest.networkName
          project: rest.project
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: incus-network-load-balancers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Incus external REST API — network-load-balancers. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: get-network-address-load-balancers
      description: Get the network address of load balancers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancersget
      with:
        networkName: tools.networkName
        project: tools.project
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: add-network-load-balancer
      description: Add a network load balancer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: incus-network-load-balancers.networkloadbalancerspost
      with:
        networkName: tools.networkName
        project: tools.project
        load-balancer: tools.load-balancer
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-network-address-load-balancer
      description: Delete the network address load balancer
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancerdelete
      with:
        networkName: tools.networkName
        listenAddress: tools.listenAddress
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-address-load-balancer
      description: Get the network address load balancer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancerget
      with:
        networkName: tools.networkName
        listenAddress: tools.listenAddress
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: partially-update-network-address-load
      description: Partially update the network address load balancer
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancerpatch
      with:
        networkName: tools.networkName
        listenAddress: tools.listenAddress
        project: tools.project
        load-balancer: tools.load-balancer
      outputParameters:
      - type: object
        mapping: $.
    - name: update-network-address-load-balancer
      description: Update the network address load balancer
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancerput
      with:
        networkName: tools.networkName
        listenAddress: tools.listenAddress
        project: tools.project
        load-balancer: tools.load-balancer
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-address-load-balancer-2
      description: Get the network address load balancer state
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancerstateget
      with:
        networkName: tools.networkName
        listenAddress: tools.listenAddress
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-address-load-balancers-2
      description: Get the network address load balancers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-load-balancers.networkloadbalancergetrecursion1
      with:
        networkName: tools.networkName
        project: tools.project
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.