Podman · Capability

supports a RESTful API for the Libpod library — pods

supports a RESTful API for the Libpod library — pods. 19 operations. Lead operation: Generate a Kubernetes YAML file.. Self-contained Naftiko capability covering one Podman business surface.

Run with Naftiko Podmanpods

What You Can Do

GET
Generatekubelibpod — Generate a Kubernetes YAML file.
/v1/libpod/generate/kube
GET
Generatesystemdlibpod — Generate Systemd Units
/v1/libpod/generate/{name}/systemd
POST
Kubeapplylibpod — Apply a podman workload or Kubernetes YAML file.
/v1/libpod/kube/apply
DELETE
Playkubedownlibpod — Remove resources created from kube play
/v1/libpod/play/kube
POST
Playkubelibpod — Play a Kubernetes YAML file.
/v1/libpod/play/kube
POST
Podcreatelibpod — Create a pod
/v1/libpod/pods/create
GET
Podlistlibpod — List pods
/v1/libpod/pods/json
POST
Podprunelibpod — Prune unused pods
/v1/libpod/pods/prune
GET
Podstatsalllibpod — Statistics for one or more pods
/v1/libpod/pods/stats
DELETE
Poddeletelibpod — Remove pod
/v1/libpod/pods/{name}
GET
Podexistslibpod — Pod exists
/v1/libpod/pods/{name}/exists
GET
Podinspectlibpod — Inspect pod
/v1/libpod/pods/{name}/json
POST
Podkilllibpod — Kill a pod
/v1/libpod/pods/{name}/kill
POST
Podpauselibpod — Pause a pod
/v1/libpod/pods/{name}/pause
POST
Podrestartlibpod — Restart a pod
/v1/libpod/pods/{name}/restart
POST
Podstartlibpod — Start a pod
/v1/libpod/pods/{name}/start
POST
Podstoplibpod — Stop a pod
/v1/libpod/pods/{name}/stop
GET
Podtoplibpod — List processes
/v1/libpod/pods/{name}/top
POST
Podunpauselibpod — Unpause a pod
/v1/libpod/pods/{name}/unpause

MCP Tools

generate-kubernetes-yaml-file

Generate a Kubernetes YAML file.

read-only idempotent
generate-systemd-units

Generate Systemd Units

read-only idempotent
apply-podman-workload-kubernetes-yaml

Apply a podman workload or Kubernetes YAML file.

remove-resources-created-kube-play

Remove resources created from kube play

idempotent
play-kubernetes-yaml-file

Play a Kubernetes YAML file.

create-pod

Create a pod

list-pods

List pods

read-only idempotent
prune-unused-pods

Prune unused pods

statistics-one-more-pods

Statistics for one or more pods

read-only idempotent
remove-pod

Remove pod

idempotent
pod-exists

Pod exists

read-only idempotent
inspect-pod

Inspect pod

read-only idempotent
kill-pod

Kill a pod

pause-pod

Pause a pod

restart-pod

Restart a pod

start-pod

Start a pod

stop-pod

Stop a pod

list-processes

List processes

read-only idempotent
unpause-pod

Unpause a pod

Capability Spec

podman-pods.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: supports a RESTful API for the Libpod library — pods
  description: 'supports a RESTful API for the Libpod library — pods. 19 operations. Lead operation: Generate a Kubernetes
    YAML file.. Self-contained Naftiko capability covering one Podman business surface.'
  tags:
  - Podman
  - pods
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PODMAN_API_KEY: PODMAN_API_KEY
capability:
  consumes:
  - type: http
    namespace: podman-pods
    baseUri: http://podman.io
    description: supports a RESTful API for the Libpod library — pods business capability. Self-contained, no shared references.
    resources:
    - name: libpod-generate-kube
      path: /libpod/generate/kube
      operations:
      - name: generatekubelibpod
        method: GET
        description: Generate a Kubernetes YAML file.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: names
          in: query
          type: array
          description: Name or ID of the container or pod.
          required: true
        - name: service
          in: query
          type: boolean
          description: Generate YAML for a Kubernetes service object.
        - name: type
          in: query
          type: string
          description: Generate YAML for the given Kubernetes kind.
        - name: replicas
          in: query
          type: integer
          description: Set the replica number for Deployment kind.
        - name: noTrunc
          in: query
          type: boolean
          description: don't truncate annotations to the Kubernetes maximum length of 63 characters
        - name: podmanOnly
          in: query
          type: boolean
          description: add podman-only reserved annotations in generated YAML file (cannot be used by Kubernetes)
    - name: libpod-generate-name-systemd
      path: /libpod/generate/{name}/systemd
      operations:
      - name: generatesystemdlibpod
        method: GET
        description: Generate Systemd Units
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name or ID of the container or pod.
          required: true
        - name: useName
          in: query
          type: boolean
          description: Use container/pod names instead of IDs.
        - name: new
          in: query
          type: boolean
          description: Create a new container instead of starting an existing one.
        - name: noHeader
          in: query
          type: boolean
          description: Do not generate the header including the Podman version and the timestamp.
        - name: startTimeout
          in: query
          type: integer
          description: Start timeout in seconds.
        - name: stopTimeout
          in: query
          type: integer
          description: Stop timeout in seconds.
        - name: restartPolicy
          in: query
          type: string
          description: Systemd restart-policy.
        - name: containerPrefix
          in: query
          type: string
          description: Systemd unit name prefix for containers.
        - name: podPrefix
          in: query
          type: string
          description: Systemd unit name prefix for pods.
        - name: separator
          in: query
          type: string
          description: Systemd unit name separator between name/id and prefix.
        - name: restartSec
          in: query
          type: integer
          description: Configures the time to sleep before restarting a service.
        - name: wants
          in: query
          type: array
          description: Systemd Wants list for the container or pods.
        - name: after
          in: query
          type: array
          description: Systemd After list for the container or pods.
        - name: requires
          in: query
          type: array
          description: Systemd Requires list for the container or pods.
        - name: additionalEnvVariables
          in: query
          type: array
          description: Set environment variables to the systemd unit files.
        - name: templateUnitFile
          in: query
          type: boolean
          description: Add template specifier for the systemd unit file names.
    - name: libpod-kube-apply
      path: /libpod/kube/apply
      operations:
      - name: kubeapplylibpod
        method: POST
        description: Apply a podman workload or Kubernetes YAML file.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: caCertFile
          in: query
          type: string
          description: Path to the CA cert file for the Kubernetes cluster.
        - name: kubeConfig
          in: query
          type: string
          description: Path to the kubeconfig file for the Kubernetes cluster.
        - name: namespace
          in: query
          type: string
          description: The namespace to deploy the workload to on the Kubernetes cluster.
        - name: service
          in: query
          type: boolean
          description: Create a service object for the container being deployed.
        - name: file
          in: query
          type: string
          description: Path to the Kubernetes yaml file to deploy.
        - name: request
          in: body
          type: string
          description: Kubernetes YAML file.
    - name: libpod-play-kube
      path: /libpod/play/kube
      operations:
      - name: playkubedownlibpod
        method: DELETE
        description: Remove resources created from kube play
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: force
          in: query
          type: boolean
          description: Remove volumes.
      - name: playkubelibpod
        method: POST
        description: Play a Kubernetes YAML file.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
        - name: annotations
          in: query
          type: string
          description: JSON encoded value of annotations (a map[string]string).
        - name: logDriver
          in: query
          type: string
          description: Logging driver for the containers in the pod.
        - name: logOptions
          in: query
          type: array
          description: logging driver options
        - name: network
          in: query
          type: array
          description: USe the network mode or specify an array of networks.
        - name: noHosts
          in: query
          type: boolean
          description: do not setup /etc/hosts file in container
        - name: noTrunc
          in: query
          type: boolean
          description: use annotations that are not truncated to the Kubernetes maximum length of 63 characters
        - name: publishPorts
          in: query
          type: array
          description: publish a container's port, or a range of ports, to the host
        - name: publishAllPorts
          in: query
          type: boolean
          description: Whether to publish all ports defined in the K8S YAML file (containerPort, hostPort), if false only
            hostPort will be published
        - name: replace
          in: query
          type: boolean
          description: replace existing pods and containers
        - name: serviceContainer
          in: query
          type: boolean
          description: Starts a service container before all pods.
        - name: start
          in: query
          type: boolean
          description: Start the pod after creating it.
        - name: staticIPs
          in: query
          type: array
          description: Static IPs used for the pods.
        - name: staticMACs
          in: query
          type: array
          description: Static MACs used for the pods.
        - name: tlsVerify
          in: query
          type: boolean
          description: Require HTTPS and verify signatures when contacting registries.
        - name: userns
          in: query
          type: string
          description: Set the user namespace mode for the pods.
        - name: wait
          in: query
          type: boolean
          description: Clean up all objects created when a SIGTERM is received or pods exit.
        - name: build
          in: query
          type: boolean
          description: Build the images with corresponding context.
        - name: request
          in: body
          type: string
          description: Kubernetes YAML file.
    - name: libpod-pods-create
      path: /libpod/pods/create
      operations:
      - name: podcreatelibpod
        method: POST
        description: Create a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: create
          in: body
          type: string
          description: attributes for creating a pod
    - name: libpod-pods-json
      path: /libpod/pods/json
      operations:
      - name: podlistlibpod
        method: GET
        description: List pods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters
          in: query
          type: string
          description: 'JSON encoded value of the filters (a map[string][]string) to process on the pods list. Available filters:'
    - name: libpod-pods-prune
      path: /libpod/pods/prune
      operations:
      - name: podprunelibpod
        method: POST
        description: Prune unused pods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: libpod-pods-stats
      path: /libpod/pods/stats
      operations:
      - name: podstatsalllibpod
        method: GET
        description: Statistics for one or more pods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: all
          in: query
          type: boolean
          description: Provide statistics for all running pods.
        - name: namesOrIDs
          in: query
          type: array
          description: Names or IDs of pods.
        - name: stream
          in: query
          type: boolean
          description: Stream the output
        - name: delay
          in: query
          type: integer
          description: Time in seconds between stats reports
    - name: libpod-pods-name
      path: /libpod/pods/{name}
      operations:
      - name: poddeletelibpod
        method: DELETE
        description: Remove pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
        - name: force
          in: query
          type: boolean
          description: force removal of a running pod by first stopping all containers, then removing all containers in the
            pod
        - name: timeout
          in: query
          type: integer
          description: number of seconds to wait before killing containers in pod
    - name: libpod-pods-name-exists
      path: /libpod/pods/{name}/exists
      operations:
      - name: podexistslibpod
        method: GET
        description: Pod exists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
    - name: libpod-pods-name-json
      path: /libpod/pods/{name}/json
      operations:
      - name: podinspectlibpod
        method: GET
        description: Inspect pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
    - name: libpod-pods-name-kill
      path: /libpod/pods/{name}/kill
      operations:
      - name: podkilllibpod
        method: POST
        description: Kill a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
        - name: signal
          in: query
          type: string
          description: signal to be sent to pod
    - name: libpod-pods-name-pause
      path: /libpod/pods/{name}/pause
      operations:
      - name: podpauselibpod
        method: POST
        description: Pause a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
    - name: libpod-pods-name-restart
      path: /libpod/pods/{name}/restart
      operations:
      - name: podrestartlibpod
        method: POST
        description: Restart a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
    - name: libpod-pods-name-start
      path: /libpod/pods/{name}/start
      operations:
      - name: podstartlibpod
        method: POST
        description: Start a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
    - name: libpod-pods-name-stop
      path: /libpod/pods/{name}/stop
      operations:
      - name: podstoplibpod
        method: POST
        description: Stop a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
        - name: t
          in: query
          type: integer
          description: timeout
    - name: libpod-pods-name-top
      path: /libpod/pods/{name}/top
      operations:
      - name: podtoplibpod
        method: GET
        description: List processes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name of pod to query for processes
          required: true
        - name: stream
          in: query
          type: boolean
          description: when true, repeatedly stream the latest output (As of version 4.0)
        - name: delay
          in: query
          type: integer
          description: if streaming, delay in seconds between updates. Must be >1. (As of version 4.0)
        - name: ps_args
          in: query
          type: string
          description: arguments to pass to ps such as aux.
    - name: libpod-pods-name-unpause
      path: /libpod/pods/{name}/unpause
      operations:
      - name: podunpauselibpod
        method: POST
        description: Unpause a pod
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name or ID of the pod
          required: true
  exposes:
  - type: rest
    namespace: podman-pods-rest
    port: 8080
    description: REST adapter for supports a RESTful API for the Libpod library — pods. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/libpod/generate/kube
      name: libpod-generate-kube
      description: REST surface for libpod-generate-kube.
      operations:
      - method: GET
        name: generatekubelibpod
        description: Generate a Kubernetes YAML file.
        call: podman-pods.generatekubelibpod
        with:
          names: rest.names
          service: rest.service
          type: rest.type
          replicas: rest.replicas
          noTrunc: rest.noTrunc
          podmanOnly: rest.podmanOnly
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/generate/{name}/systemd
      name: libpod-generate-name-systemd
      description: REST surface for libpod-generate-name-systemd.
      operations:
      - method: GET
        name: generatesystemdlibpod
        description: Generate Systemd Units
        call: podman-pods.generatesystemdlibpod
        with:
          name: rest.name
          useName: rest.useName
          new: rest.new
          noHeader: rest.noHeader
          startTimeout: rest.startTimeout
          stopTimeout: rest.stopTimeout
          restartPolicy: rest.restartPolicy
          containerPrefix: rest.containerPrefix
          podPrefix: rest.podPrefix
          separator: rest.separator
          restartSec: rest.restartSec
          wants: rest.wants
          after: rest.after
          requires: rest.requires
          additionalEnvVariables: rest.additionalEnvVariables
          templateUnitFile: rest.templateUnitFile
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/kube/apply
      name: libpod-kube-apply
      description: REST surface for libpod-kube-apply.
      operations:
      - method: POST
        name: kubeapplylibpod
        description: Apply a podman workload or Kubernetes YAML file.
        call: podman-pods.kubeapplylibpod
        with:
          caCertFile: rest.caCertFile
          kubeConfig: rest.kubeConfig
          namespace: rest.namespace
          service: rest.service
          file: rest.file
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/play/kube
      name: libpod-play-kube
      description: REST surface for libpod-play-kube.
      operations:
      - method: DELETE
        name: playkubedownlibpod
        description: Remove resources created from kube play
        call: podman-pods.playkubedownlibpod
        with:
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: playkubelibpod
        description: Play a Kubernetes YAML file.
        call: podman-pods.playkubelibpod
        with:
          Content-Type: rest.Content-Type
          annotations: rest.annotations
          logDriver: rest.logDriver
          logOptions: rest.logOptions
          network: rest.network
          noHosts: rest.noHosts
          noTrunc: rest.noTrunc
          publishPorts: rest.publishPorts
          publishAllPorts: rest.publishAllPorts
          replace: rest.replace
          serviceContainer: rest.serviceContainer
          start: rest.start
          staticIPs: rest.staticIPs
          staticMACs: rest.staticMACs
          tlsVerify: rest.tlsVerify
          userns: rest.userns
          wait: rest.wait
          build: rest.build
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/create
      name: libpod-pods-create
      description: REST surface for libpod-pods-create.
      operations:
      - method: POST
        name: podcreatelibpod
        description: Create a pod
        call: podman-pods.podcreatelibpod
        with:
          create: rest.create
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/json
      name: libpod-pods-json
      description: REST surface for libpod-pods-json.
      operations:
      - method: GET
        name: podlistlibpod
        description: List pods
        call: podman-pods.podlistlibpod
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/prune
      name: libpod-pods-prune
      description: REST surface for libpod-pods-prune.
      operations:
      - method: POST
        name: podprunelibpod
        description: Prune unused pods
        call: podman-pods.podprunelibpod
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/stats
      name: libpod-pods-stats
      description: REST surface for libpod-pods-stats.
      operations:
      - method: GET
        name: podstatsalllibpod
        description: Statistics for one or more pods
        call: podman-pods.podstatsalllibpod
        with:
          all: rest.all
          namesOrIDs: rest.namesOrIDs
          stream: rest.stream
          delay: rest.delay
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}
      name: libpod-pods-name
      description: REST surface for libpod-pods-name.
      operations:
      - method: DELETE
        name: poddeletelibpod
        description: Remove pod
        call: podman-pods.poddeletelibpod
        with:
          name: rest.name
          force: rest.force
          timeout: rest.timeout
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/exists
      name: libpod-pods-name-exists
      description: REST surface for libpod-pods-name-exists.
      operations:
      - method: GET
        name: podexistslibpod
        description: Pod exists
        call: podman-pods.podexistslibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/json
      name: libpod-pods-name-json
      description: REST surface for libpod-pods-name-json.
      operations:
      - method: GET
        name: podinspectlibpod
        description: Inspect pod
        call: podman-pods.podinspectlibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/kill
      name: libpod-pods-name-kill
      description: REST surface for libpod-pods-name-kill.
      operations:
      - method: POST
        name: podkilllibpod
        description: Kill a pod
        call: podman-pods.podkilllibpod
        with:
          name: rest.name
          signal: rest.signal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/pause
      name: libpod-pods-name-pause
      description: REST surface for libpod-pods-name-pause.
      operations:
      - method: POST
        name: podpauselibpod
        description: Pause a pod
        call: podman-pods.podpauselibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/restart
      name: libpod-pods-name-restart
      description: REST surface for libpod-pods-name-restart.
      operations:
      - method: POST
        name: podrestartlibpod
        description: Restart a pod
        call: podman-pods.podrestartlibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/start
      name: libpod-pods-name-start
      description: REST surface for libpod-pods-name-start.
      operations:
      - method: POST
        name: podstartlibpod
        description: Start a pod
        call: podman-pods.podstartlibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/stop
      name: libpod-pods-name-stop
      description: REST surface for libpod-pods-name-stop.
      operations:
      - method: POST
        name: podstoplibpod
        description: Stop a pod
        call: podman-pods.podstoplibpod
        with:
          name: rest.name
          t: rest.t
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/top
      name: libpod-pods-name-top
      description: REST surface for libpod-pods-name-top.
      operations:
      - method: GET
        name: podtoplibpod
        description: List processes
        call: podman-pods.podtoplibpod
        with:
          name: rest.name
          stream: rest.stream
          delay: rest.delay
          ps_args: rest.ps_args
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/pods/{name}/unpause
      name: libpod-pods-name-unpause
      description: REST surface for libpod-pods-name-unpause.
      operations:
      - method: POST
        name: podunpauselibpod
        description: Unpause a pod
        call: podman-pods.podunpauselibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podman-pods-mcp
    port: 9090
    transport: http
    description: MCP adapter for supports a RESTful API for the Libpod library — pods. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: generate-kubernetes-yaml-file
      description: Generate a Kubernetes YAML file.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.generatekubelibpod
      with:
        names: tools.names
        service: tools.service
        type: tools.type
        replicas: tools.replicas
        noTrunc: tools.noTrunc
        podmanOnly: tools.podmanOnly
      outputParameters:
      - type: object
        mapping: $.
    - name: generate-systemd-units
      description: Generate Systemd Units
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.generatesystemdlibpod
      with:
        name: tools.name
        useName: tools.useName
        new: tools.new
        noHeader: tools.noHeader
        startTimeout: tools.startTimeout
        stopTimeout: tools.stopTimeout
        restartPolicy: tools.restartPolicy
        containerPrefix: tools.containerPrefix
        podPrefix: tools.podPrefix
        separator: tools.separator
        restartSec: tools.restartSec
        wants: tools.wants
        after: tools.after
        requires: tools.requires
        additionalEnvVariables: tools.additionalEnvVariables
        templateUnitFile: tools.templateUnitFile
      outputParameters:
      - type: object
        mapping: $.
    - name: apply-podman-workload-kubernetes-yaml
      description: Apply a podman workload or Kubernetes YAML file.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.kubeapplylibpod
      with:
        caCertFile: tools.caCertFile
        kubeConfig: tools.kubeConfig
        namespace: tools.namespace
        service: tools.service
        file: tools.file
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-resources-created-kube-play
      description: Remove resources created from kube play
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-pods.playkubedownlibpod
      with:
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: play-kubernetes-yaml-file
      description: Play a Kubernetes YAML file.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.playkubelibpod
      with:
        Content-Type: tools.Content-Type
        annotations: tools.annotations
        logDriver: tools.logDriver
        logOptions: tools.logOptions
        network: tools.network
        noHosts: tools.noHosts
        noTrunc: tools.noTrunc
        publishPorts: tools.publishPorts
        publishAllPorts: tools.publishAllPorts
        replace: tools.replace
        serviceContainer: tools.serviceContainer
        start: tools.start
        staticIPs: tools.staticIPs
        staticMACs: tools.staticMACs
        tlsVerify: tools.tlsVerify
        userns: tools.userns
        wait: tools.wait
        build: tools.build
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: create-pod
      description: Create a pod
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podcreatelibpod
      with:
        create: tools.create
      outputParameters:
      - type: object
        mapping: $.
    - name: list-pods
      description: List pods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.podlistlibpod
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: prune-unused-pods
      description: Prune unused pods
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podprunelibpod
      outputParameters:
      - type: object
        mapping: $.
    - name: statistics-one-more-pods
      description: Statistics for one or more pods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.podstatsalllibpod
      with:
        all: tools.all
        namesOrIDs: tools.namesOrIDs
        stream: tools.stream
        delay: tools.delay
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-pod
      description: Remove pod
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-pods.poddeletelibpod
      with:
        name: tools.name
        force: tools.force
        timeout: tools.timeout
      outputParameters:
      - type: object
        mapping: $.
    - name: pod-exists
      description: Pod exists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.podexistslibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: inspect-pod
      description: Inspect pod
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-pods.podinspectlibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: kill-pod
      description: Kill a pod
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podkilllibpod
      with:
        name: tools.name
        signal: tools.signal
      outputParameters:
      - type: object
        mapping: $.
    - name: pause-pod
      description: Pause a pod
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podpauselibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: restart-pod
      description: Restart a pod
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podrestartlibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: start-pod
      description: Start a pod
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-pods.podstartlibpod


# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/podman/refs/heads/main/capabilities/podman-pods.yaml