# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Canonical Operations API version: 1.0.0 extends: openapi/canonical-operations-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: 12 - target: $.paths['/1.0/operations'].get update: x-apievangelist-phrasing: intent: List running and queued AMS operations effect: read questions: - Which background operations are in progress or queued on my Anbox Management Service? - Can I get just the URLs of pending AMS operations? instructions: - text: List the URLs of AMS operations that are running or queued. - text: List pending AMS operations with recursion level {recursion}. slots: recursion: query.recursion method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations/{uuid}'].get update: x-apievangelist-phrasing: intent: Check the status of an AMS operation effect: read questions: - What is the current status of an AMS operation I started? - Did my Anbox container operation succeed or fail? instructions: - text: Get the status of AMS operation {uuid}. slots: uuid: path.uuid - text: Tell me whether AMS operation {uuid} has finished. slots: uuid: path.uuid method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations/{uuid}'].delete update: x-apievangelist-phrasing: intent: Cancel an AMS operation effect: destructive questions: - How do I cancel a long-running AMS operation? - Does cancelling an AMS operation remove it or just mark it as cancelling? instructions: - text: Cancel AMS operation {uuid}. slots: uuid: path.uuid - text: Put AMS operation {uuid} into the cancelling state. slots: uuid: path.uuid method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations/{uuid}/wait'].get update: x-apievangelist-phrasing: intent: Wait for an AMS operation to finish effect: read questions: - Can I block until an AMS operation reaches a final status? - Is there a timeout when waiting on an AMS operation? instructions: - text: Wait until AMS operation {uuid} completes. slots: uuid: path.uuid - text: Wait up to {timeout} seconds for AMS operation {uuid} to finish. slots: uuid: path.uuid timeout: query.timeout method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations/{uuid}/websocket'].get update: x-apievangelist-phrasing: intent: Open a websocket to an AMS operation effect: read questions: - How do I attach to the stdin and stdout of an AMS exec operation? - Which secret do I need to open an AMS operation's websocket? instructions: - text: Open the websocket for AMS operation {uuid}. slots: uuid: path.uuid - text: Connect to AMS operation {uuid}'s websocket using secret {secret}. slots: uuid: path.uuid secret: query.secret method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations?recursion=1'].get update: x-apievangelist-phrasing: intent: List AMS operations with full details effect: read questions: - How do I see the status and progress of every queued AMS operation in one call? - Is there an expanded list of in-flight AMS operations instead of bare URLs? instructions: - text: Show every in-progress AMS operation as a full object with status. - text: Expand the queued AMS operations list at recursion {recursion}. slots: recursion: query.recursion method: generated generated: '2026-09-26' - target: $.paths['/1.0/operations/{id}'].get update: x-apievangelist-phrasing: intent: Get the state of an LXD operation effect: read questions: - What state is a background LXD operation in right now? - Can I check progress of an LXD task like an instance copy? instructions: - text: Show the current state of LXD operation {id}. slots: id: path.id - text: Check whether LXD background task {id} has finished yet. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/1.0/operations/{id}'].delete update: x-apievangelist-phrasing: intent: Cancel an LXD operation effect: destructive questions: - How do I cancel a running LXD operation? - Can every LXD background task be cancelled, or only some? instructions: - text: Cancel LXD operation {id} if it supports cancelling. slots: id: path.id - text: Stop the running LXD background task {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/1.0/operations/{id}/wait'].get update: x-apievangelist-phrasing: intent: Wait for an LXD operation to finish effect: read questions: - Can I wait on an LXD operation and get its final state back? - How long will LXD hold my request while waiting on an operation? instructions: - text: Wait for LXD operation {id} to reach a final state. slots: id: path.id - text: Wait on LXD operation {id} for at most {timeout} seconds. slots: id: path.id timeout: query.timeout method: generated generated: '2026-10-01' - target: $.paths['/1.0/operations/{id}/wait?public'].get update: x-apievangelist-phrasing: intent: Wait on an LXD operation as an untrusted client effect: read questions: - Can a client that isn't trusted by LXD still wait on an operation? - Which token does an untrusted user need to wait on a public LXD operation? instructions: - text: As an untrusted client, wait on public LXD operation {id} using secret {secret}. slots: id: path.id secret: query.secret - text: Wait up to {timeout} seconds on the LXD operation via the public path with secret {secret}. slots: timeout: query.timeout secret: query.secret method: generated generated: '2026-10-01' - target: $.paths['/1.0/operations/{id}/websocket'].get update: x-apievangelist-phrasing: intent: Connect to an LXD operation's websocket effect: read questions: - How do I connect to the websocket stream behind an LXD operation? - Is the LXD operation websocket meant for clients or for server-to-server use? instructions: - text: Connect to the websocket stream of LXD operation {id}. slots: id: path.id - text: Attach to the LXD operation stream with secret {secret}. slots: secret: query.secret method: generated generated: '2026-10-01' - target: $.paths['/1.0/operations/{id}/websocket?public'].get update: x-apievangelist-phrasing: intent: Connect to an LXD operation websocket, untrusted effect: read questions: - Can an untrusted LXD client join an operation's websocket through the public path? - What must an untrusted user present to reach an operation stream on LXD? instructions: - text: As an untrusted user, join the public websocket of LXD operation {id} with secret {secret}. slots: id: path.id secret: query.secret - text: Relay the public operation stream to another LXD server using token {secret}. slots: secret: query.secret method: generated generated: '2026-10-01'