Canonical · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for debarchive Publication Target Service API

7 actions 7 updates phrasing extends openapi/canonical-publicationtargetservice-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 7

$.info
$.paths['/v1/publicationTargets'].get
$.paths['/v1/publicationTargets'].post
$.paths['/v1/publicationTargets/{publicationTarget}'].get
$.paths['/v1/publicationTargets/{publicationTarget}'].delete
$.paths['/v1/publicationTargets/{publicationTarget}'].patch
$.paths['/v1/publicationTargets:batchGet'].post

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 debarchive Publication Target Service API
  version: 1.0.0
extends: openapi/canonical-publicationtargetservice-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/v1/publicationTargets'].get
  update:
    x-apievangelist-phrasing:
      intent: List publication targets
      effect: read
      questions:
      - Which publication targets are configured for my mirrors?
      - Can I filter or page through publication targets?
      instructions:
      - text: List all publication targets.
      - text: Show publication targets matching {filter}, {page_size} per page.
        slots:
          filter: query.filter
          page_size: query.pageSize
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/publicationTargets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a publication target
      effect: write
      questions:
      - How do I add a new place to publish artifacts, such as S3, Swift or a filesystem path?
      - Can I choose my own ID when creating a publication target?
      instructions:
      - text: Create a publication target called {display_name} backed by S3 {s3}.
        slots:
          display_name: requestBody.displayName
          s3: requestBody.s3
      - text: Add a filesystem publication target {display_name} at {filesystem}.
        slots:
          display_name: requestBody.displayName
          filesystem: requestBody.filesystem
      - text: Create publication target {target_id} named {display_name}.
        slots:
          target_id: query.publicationTargetId
          display_name: requestBody.displayName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/publicationTargets/{publicationTarget}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a publication target
      effect: read
      questions:
      - What storage backend does a given publication target use?
      - Can I look up a single publication target?
      instructions:
      - text: Show publication target {target}.
        slots:
          target: path.publicationTarget
      - text: Get the details of publication target {target}.
        slots:
          target: path.publicationTarget
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/publicationTargets/{publicationTarget}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a publication target
      effect: destructive
      questions:
      - Does deleting a publication target also remove the artifacts already published there?
      - How do I delete a publication target?
      instructions:
      - text: Delete publication target {target}.
        slots:
          target: path.publicationTarget
      - text: Remove the publication target {target}.
        slots:
          target: path.publicationTarget
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/publicationTargets/{publicationTarget}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a publication target
      effect: write
      questions:
      - Can I rename a publication target or change its backend?
      - Is it possible to update only certain fields of a publication target with a mask?
      instructions:
      - text: Rename publication target {target} to {display_name}.
        slots:
          target: path.publicationTarget
          display_name: requestBody.displayName
      - text: Update fields {mask} of publication target {target}, setting the display name to {display_name}.
        slots:
          mask: query.updateMask
          target: path.publicationTarget
          display_name: requestBody.displayName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/publicationTargets:batchGet'].post
  update:
    x-apievangelist-phrasing:
      intent: Fetch several publication targets by name
      effect: read
      questions:
      - Can I retrieve a handful of publication targets by name in a single request?
      - What happens in a batch lookup if some publication targets don't exist?
      instructions:
      - text: Get the publication targets {names}.
        slots:
          names: requestBody.names
      - text: Batch fetch publication targets {names}, allowing partial success ({partial}).
        slots:
          names: requestBody.names
          partial: requestBody.returnPartialSuccess
      method: generated
      generated: '2026-09-26'