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.
View Overlay File View on GitHub Overlay Specification

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

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 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'