Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for LXD external REST Cluster Links API
10 actions
10 updates
phrasing
extends
openapi/canonical-cluster-links-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.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/1.0/cluster/links'].get
$.paths['/1.0/cluster/links'].post
$.paths['/1.0/cluster/links/{name}'].get
$.paths['/1.0/cluster/links/{name}'].put
$.paths['/1.0/cluster/links/{name}'].post
$.paths['/1.0/cluster/links/{name}'].delete
$.paths['/1.0/cluster/links/{name}'].patch
$.paths['/1.0/cluster/links/{name}/state'].get
$.paths['/1.0/cluster/links?recursion=1'].get
OpenAPI Overlay
# 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 Cluster Links API
version: 1.0.0
extends: openapi/canonical-cluster-links-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: 9
- target: $.paths['/1.0/cluster/links'].get
update:
x-apievangelist-phrasing:
intent: List cluster link URLs
effect: read
questions:
- Which other LXD clusters is this cluster linked to?
- Can I get just the URLs of the configured cluster links?
instructions:
- text: List the URLs of all cluster links.
- text: Show me the paths of every linked LXD cluster.
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/cluster/links'].post
update:
x-apievangelist-phrasing:
intent: Link to another LXD cluster
effect: write
questions:
- How do I link this LXD cluster to a remote cluster?
- Can I establish a cluster link using a trust token?
- Which auth groups can I attach to a new cluster link?
instructions:
- text: Create cluster link {name} to address {remote_address}.
slots:
name: requestBody.name
remote_address: requestBody.remote_address
- text: Link cluster {name} using trust token {trust_token}.
slots:
name: requestBody.name
trust_token: requestBody.trust_token
- text: Add cluster link {name} and place it in auth groups {auth_groups}.
slots:
name: requestBody.name
auth_groups: requestBody.auth_groups
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/cluster/links/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get one cluster link
effect: read
questions:
- What settings does a particular cluster link have?
- Can I look up one linked cluster by name?
instructions:
- text: Show me this cluster link's details.
- text: Get the configuration of the named cluster link.
- text: Show the details of cluster link {link}.
slots:
link: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links/{name}'].put
update:
x-apievangelist-phrasing:
intent: Replace a cluster link's configuration
effect: write
questions:
- How do I overwrite a cluster link's whole configuration?
- Will a full cluster link update drop config keys I omit?
instructions:
- text: Replace the cluster link's entire config with {config}.
slots:
config: requestBody.config
- text: Overwrite the cluster link, setting description {description} and config {config}.
slots:
description: requestBody.description
config: requestBody.config
- text: Replace the entire config of cluster link {link} with {config}.
slots:
link: path.name
config: requestBody.config
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links/{name}'].post
update:
x-apievangelist-phrasing:
intent: Rename a cluster link
effect: write
questions:
- How do I rename an existing cluster link?
- Can a cluster link be given a new name without recreating it?
instructions:
- text: Rename the cluster link to {name}.
slots:
name: requestBody.name
- text: Give this linked cluster the new name {name}.
slots:
name: requestBody.name
- text: Rename cluster link {link} to {name}.
slots:
link: path.name
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a cluster link
effect: destructive
questions:
- How do I unlink a remote LXD cluster?
- What happens when I delete a cluster link?
instructions:
- text: Delete this cluster link.
- text: Unlink the remote cluster from this one.
- text: Delete cluster link {link}.
slots:
link: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Change some cluster link settings
effect: write
questions:
- Can I update just one setting on a cluster link?
- How do I edit only the description of a cluster link?
instructions:
- text: 'Patch only these cluster link config keys: {config}.'
slots:
config: requestBody.config
- text: Change just the cluster link description to {description}.
slots:
description: requestBody.description
- text: Patch cluster link {link}, changing only its description to {description}.
slots:
link: path.name
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links/{name}/state'].get
update:
x-apievangelist-phrasing:
intent: Check a cluster link's state
effect: read
questions:
- Is a cluster link currently healthy and reachable?
- Can I check a cluster link's state from a specific member?
instructions:
- text: Show the current state of this cluster link.
- text: Check the cluster link state as seen from member {target}.
slots:
target: query.target
- text: Check the health of the link to cluster {link}.
slots:
link: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/cluster/links?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List cluster links with full details
effect: read
questions:
- How do I see every cluster link with its config and description at once?
- Is there an expanded view of cluster links instead of bare URLs?
instructions:
- text: Fetch full records for every cluster link.
- text: Expand all cluster link objects including their configuration.
method: generated
generated: '2026-09-26'