Canonical · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for LXD external REST Network Peers API

8 actions 8 updates phrasing extends openapi/canonical-network-peers-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Canonical's API. It is a proposal applied on top of the contract, not a document Canonical publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/1.0/networks/{networkName}/peers'].get
$.paths['/1.0/networks/{networkName}/peers'].post
$.paths['/1.0/networks/{networkName}/peers/{peerName}'].get
$.paths['/1.0/networks/{networkName}/peers/{peerName}'].put
$.paths['/1.0/networks/{networkName}/peers/{peerName}'].delete
$.paths['/1.0/networks/{networkName}/peers/{peerName}'].patch
$.paths['/1.0/networks/{networkName}/peers?recursion=1'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for LXD external REST Network Peers API
  version: 1.0.0
extends: openapi/canonical-network-peers-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/1.0/networks/{networkName}/peers'].get
  update:
    x-apievangelist-phrasing:
      intent: List URLs of a network's peerings
      effect: read
      questions:
      - Which peerings does an OVN network have, as links?
      - How do I get just the peer URLs for a network?
      instructions:
      - text: List peer URLs for the network I name in project {project}.
        slots:
          project: query.project
      - text: Give me links to every peering on this network.
      - text: List the peer URLs of network {network}.
        slots:
          network: path.networkName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a network peering
      effect: write
      questions:
      - How do I peer two LXD networks so they can route to each other?
      - Can I peer with a network that lives in another project?
      instructions:
      - text: Create peer {name} to network {target_network}.
        slots:
          name: requestBody.name
          target_network: requestBody.target_network
      - text: Peer as {name} with {target_network} in project {target_project}.
        slots:
          name: requestBody.name
          target_network: requestBody.target_network
          target_project: requestBody.target_project
      - text: Create peer {name} on network {network} toward {target_network}.
        slots:
          network: path.networkName
          name: requestBody.name
          target_network: requestBody.target_network
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers/{peerName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one network peering
      effect: read
      questions:
      - What's the status of a specific network peering?
      - Can I look up one peer on a network by name?
      instructions:
      - text: Show the peering I name on this network.
      - text: Get one network peer's details in project {project}.
        slots:
          project: query.project
      - text: Show peer {peer} of network {network}.
        slots:
          network: path.networkName
          peer: path.peerName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers/{peerName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a peering's configuration
      effect: write
      questions:
      - How do I overwrite a peering's whole configuration?
      - Does a full peer update clear config keys I omit?
      instructions:
      - text: Replace the peering's entire config with {config}.
        slots:
          config: requestBody.config
      - text: Rewrite the peer with description {description} and config {config}.
        slots:
          description: requestBody.description
          config: requestBody.config
      - text: Replace the whole config of peer {peer} on network {network} with {config}.
        slots:
          network: path.networkName
          peer: path.peerName
          config: requestBody.config
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers/{peerName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a network peering
      effect: destructive
      questions:
      - How do I remove the peering between two networks?
      - Can I delete a peer from a network in a given project?
      instructions:
      - text: Delete the network peering I name.
      - text: Remove the peer from the network in project {project}.
        slots:
          project: query.project
      - text: Delete peer {peer} from network {network}.
        slots:
          network: path.networkName
          peer: path.peerName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers/{peerName}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change part of a peering's configuration
      effect: write
      questions:
      - Can I change just a peering's description?
      - Is there a partial update for network peers?
      instructions:
      - text: Patch only the peer's description to {description}.
        slots:
          description: requestBody.description
      - text: 'Update just these peering config keys: {config}.'
        slots:
          config: requestBody.config
      - text: Patch peer {peer} on network {network}, changing only its description to {description}.
        slots:
          network: path.networkName
          peer: path.peerName
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/peers?recursion=1'].get
  update:
    x-apievangelist-phrasing:
      intent: List a network's peerings with full details
      effect: read
      questions:
      - Can I see every peering's target network and status in one call?
      - What config does each peer on my network have?
      instructions:
      - text: Fetch all peers of the network with full details in project {project}.
        slots:
          project: query.project
      - text: Show every peering's target and config, not just URLs.
      - text: List every peer of network {network} with full details.
        slots:
          network: path.networkName
      method: generated
      generated: '2026-10-01'