Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for LXD external REST Network Acls API
10 actions
10 updates
phrasing
extends
openapi/canonical-network-acls-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/network-acls'].get
$.paths['/1.0/network-acls'].post
$.paths['/1.0/network-acls/{name}'].get
$.paths['/1.0/network-acls/{name}'].put
$.paths['/1.0/network-acls/{name}'].post
$.paths['/1.0/network-acls/{name}'].delete
$.paths['/1.0/network-acls/{name}'].patch
$.paths['/1.0/network-acls/{name}/log'].get
$.paths['/1.0/network-acls?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 Network Acls API
version: 1.0.0
extends: openapi/canonical-network-acls-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/network-acls'].get
update:
x-apievangelist-phrasing:
intent: List URLs of network ACLs
effect: read
questions:
- Which network ACLs are defined in a project, as links?
- Can I list ACL URLs across every project at once?
instructions:
- text: List network ACL URLs in project {project}.
slots:
project: query.project
- text: Give me ACL links across all projects with all-projects {all-projects}.
slots:
all-projects: query.all-projects
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/network-acls'].post
update:
x-apievangelist-phrasing:
intent: Create a network ACL
effect: write
questions:
- How do I create a firewall ACL for LXD networks?
- Can I define ingress and egress rules when creating an ACL?
instructions:
- text: Create network ACL {name} with ingress rules {ingress}.
slots:
name: requestBody.name
ingress: requestBody.ingress
- text: Add ACL {name} in project {project} with egress rules {egress}.
slots:
name: requestBody.name
project: query.project
egress: requestBody.egress
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/network-acls/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get one network ACL
effect: read
questions:
- What rules does a specific network ACL have?
- Can I look up one ACL by name in a given project?
instructions:
- text: Show the network ACL I name in project {project}.
slots:
project: query.project
- text: Look up a single ACL and its rules.
- text: Show network ACL {acl} and its rules.
slots:
acl: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls/{name}'].put
update:
x-apievangelist-phrasing:
intent: Replace a network ACL's full rule set
effect: write
questions:
- How do I replace all of an ACL's rules at once?
- Does a full ACL update remove rules I don't include?
instructions:
- text: Replace the ACL's rules entirely with ingress {ingress} and egress {egress}.
slots:
ingress: requestBody.ingress
egress: requestBody.egress
- text: Overwrite the whole ACL config with {config}.
slots:
config: requestBody.config
- text: Replace all rules of ACL {acl} with ingress {ingress} and egress {egress}.
slots:
acl: path.name
ingress: requestBody.ingress
egress: requestBody.egress
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls/{name}'].post
update:
x-apievangelist-phrasing:
intent: Rename a network ACL
effect: write
questions:
- Can I rename a network ACL?
- What's the call to give an ACL a new name?
instructions:
- text: Rename the network ACL to {name}.
slots:
name: requestBody.name
- text: Give this ACL the new name {name} in project {project}.
slots:
name: requestBody.name
project: query.project
- text: Rename network ACL {acl} to {name}.
slots:
acl: path.name
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a network ACL
effect: destructive
questions:
- How do I remove a network ACL I no longer need?
- Can I delete an ACL from a specific project?
instructions:
- text: Delete the network ACL I name.
- text: Remove the ACL from project {project}.
slots:
project: query.project
- text: Delete network ACL {acl}.
slots:
acl: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Change part of a network ACL
effect: write
questions:
- Can I update only an ACL's description or config keys?
- Is a partial update possible for a network ACL?
instructions:
- text: Patch just the ACL's description to {description}.
slots:
description: requestBody.description
- text: Partially update the ACL's config keys {config}.
slots:
config: requestBody.config
- text: Patch ACL {acl}, changing only its description to {description}.
slots:
acl: path.name
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls/{name}/log'].get
update:
x-apievangelist-phrasing:
intent: Read a network ACL's log
effect: read
questions:
- Which traffic did a network ACL block or allow?
- Where can I read the log entries for an ACL?
instructions:
- text: Show the log entries for the network ACL I name.
- text: Get the ACL's traffic log in project {project}.
slots:
project: query.project
- text: Show the traffic log of network ACL {acl}.
slots:
acl: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/network-acls?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List network ACLs with full rules
effect: read
questions:
- Can I see every ACL's ingress and egress rules in one call?
- What firewall rules do all my network ACLs contain?
instructions:
- text: Fetch all network ACLs with their full rules in project {project}.
slots:
project: query.project
- text: Show every ACL's ingress and egress rules, not just URLs.
method: generated
generated: '2026-09-26'