Skip to content

Latest commit

 

History

History
2211 lines (1507 loc) · 86.4 KB

API.md

File metadata and controls

2211 lines (1507 loc) · 86.4 KB

io.podman

Podman Service Interface and API description. The master version of this document can be found in the API.md file in the upstream libpod repository.

Index

func Attach(name: string, detachKeys: string, start: bool)

func AttachControl(name: string)

func BuildImage(build: BuildInfo) MoreResponse

func BuildImageHierarchyMap(name: string) string

func Commit(name: string, image_name: string, changes: []string, author: string, message: string, pause: bool, manifestType: string) MoreResponse

func ContainerArtifacts(name: string, artifactName: string) string

func ContainerCheckpoint(name: string, keep: bool, leaveRunning: bool, tcpEstablished: bool) string

func ContainerConfig(name: string) string

func ContainerExists(name: string) int

func ContainerInspectData(name: string, size: bool) string

func ContainerRestore(name: string, keep: bool, tcpEstablished: bool) string

func ContainerRunlabel(runlabel: Runlabel)

func ContainerStateData(name: string) string

func CreateContainer(create: Create) string

func CreateFromCC(in: []string) string

func CreatePod(create: PodCreate) string

func DeleteStoppedContainers() []string

func DeleteUnusedImages() []string

func Diff(name: string) DiffInfo

func EvictContainer(name: string, removeVolumes: bool) string

func ExecContainer(opts: ExecOpts)

func ExportContainer(name: string, path: string) string

func ExportImage(name: string, destination: string, compress: bool, tags: []string) string

func GenerateKube(name: string, service: bool) KubePodService

func GetAttachSockets(name: string) Sockets

func GetContainer(id: string) Container

func GetContainerLogs(name: string) []string

func GetContainerStats(name: string) ContainerStats

func GetContainerStatsWithHistory(previousStats: ContainerStats) ContainerStats

func GetContainersByContext(all: bool, latest: bool, args: []string) []string

func GetContainersByStatus(status: []string) Container

func GetContainersLogs(names: []string, follow: bool, latest: bool, since: string, tail: int, timestamps: bool) LogLine

func GetEvents(filter: []string, since: string, until: string) Event

func GetImage(id: string) Image

func GetInfo() PodmanInfo

func GetLayersMapWithImageInfo() string

func GetPod(name: string) ListPodData

func GetPodStats(name: string) string, ContainerStats

func GetPodsByContext(all: bool, latest: bool, args: []string) []string

func GetPodsByStatus(statuses: []string) []string

func GetVersion() string, string, string, string, string, int

func GetVolumes(args: []string, all: bool) Volume

func HealthCheckRun(nameOrID: string) string

func HistoryImage(name: string) ImageHistory

func ImageExists(name: string) int

func ImageSave(options: ImageSaveOptions) MoreResponse

func ImageTree(name: string, whatRequires: bool) string

func ImagesPrune(all: bool, filter: []string) []string

func ImportImage(source: string, reference: string, message: string, changes: []string, delete: bool) string

func InitContainer(name: string) string

func InspectContainer(name: string) string

func InspectImage(name: string) string

func InspectPod(name: string) string

func InspectVolume(name: string) string

func KillContainer(name: string, signal: int) string

func KillPod(name: string, signal: int) string

func ListContainerChanges(name: string) ContainerChanges

func ListContainerMounts() map[string]

func ListContainerProcesses(name: string, opts: []string) []string

func ListContainers() Container

func ListImages() Image

func ListImagesWithFilters(filters: []string) Image

func ListPods() ListPodData

func LoadImage(name: string, inputFile: string, quiet: bool, deleteFile: bool) MoreResponse

func MountContainer(name: string) string

func PauseContainer(name: string) string

func PausePod(name: string) string

func PodStateData(name: string) string

func Ps(opts: PsOpts) PsContainer

func PullImage(name: string, creds: AuthConfig) MoreResponse

func PushImage(name: string, tag: string, compress: bool, format: string, removeSignatures: bool, signBy: string) MoreResponse

func ReceiveFile(path: string, delete: bool) int

func RemoveContainer(name: string, force: bool, removeVolumes: bool) string

func RemoveImage(name: string, force: bool) string

func RemoveImageWithResponse(name: string, force: bool) RemoveImageResponse

func RemovePod(name: string, force: bool) string

func Reset()

func RestartContainer(name: string, timeout: int) string

func RestartPod(name: string) string

func SearchImages(query: string, limit: ?int, filter: ImageSearchFilter) ImageSearchResult

func SendFile(type: string, length: int) string

func Spec(name: string) string

func StartContainer(name: string) string

func StartPod(name: string) string

func StopContainer(name: string, timeout: int) string

func StopPod(name: string, timeout: int) string

func TagImage(name: string, tagged: string) string

func Top(nameOrID: string, descriptors: []string) []string

func TopPod(pod: string, latest: bool, descriptors: []string) []string

func UnmountContainer(name: string, force: bool)

func UnpauseContainer(name: string) string

func UnpausePod(name: string) string

func UntagImage(name: string, tag: string) string

func VolumeCreate(options: VolumeCreateOpts) string

func VolumeRemove(options: VolumeRemoveOpts) []string, map[string]

func VolumesPrune() []string, []string

func WaitContainer(name: string, interval: int) int

type AuthConfig

type BuildInfo

type BuildOptions

type Container

type ContainerChanges

type ContainerMount

type ContainerNameSpace

type ContainerPortMappings

type ContainerStats

type Create

type DiffInfo

type Event

type ExecOpts

type Image

type ImageHistory

type ImageSaveOptions

type ImageSearchFilter

type ImageSearchResult

type InfoDistribution

type InfoGraphStatus

type InfoHost

type InfoPodmanBinary

type InfoRegistry

type InfoStore

type KubePodService

type ListPodContainerInfo

type ListPodData

type LogLine

type MoreResponse

type NotImplemented

type PodContainerErrorData

type PodCreate

type PodmanInfo

type PsContainer

type PsOpts

type RemoveImageResponse

type Runlabel

type Sockets

type StringResponse

type Volume

type VolumeCreateOpts

type VolumeRemoveOpts

error ContainerNotFound

error ErrCtrStopped

error ErrRequiresCgroupsV2ForRootless

error ErrorOccurred

error ImageNotFound

error InvalidState

error NoContainerRunning

error NoContainersInPod

error PodContainerError

error PodNotFound

error RuntimeError

error VolumeNotFound

error WantsMoreRequired

Methods

func Attach

method Attach(name: string, detachKeys: string, start: bool)

Attach takes the name or ID of a container and sets up the ability to remotely attach to its console. The start bool is whether you wish to start the container in question first.

func AttachControl

method AttachControl(name: string)

func BuildImage

method BuildImage(build: BuildInfo) MoreResponse

BuildImage takes a BuildInfo structure and builds an image. At a minimum, you must provide the contextDir tarball path, the 'dockerfiles' path, and 'output' option in the BuildInfo structure. The 'output' options is the name of the of the resulting build. It will return a MoreResponse structure that contains the build logs and resulting image ID.

Example

$ sudo varlink call -m unix:///run/podman/io.podman/io.podman.BuildImage '{"build":{"contextDir":"/tmp/t/context.tar","dockerfiles":["Dockerfile"], "output":"foobar"}}'
{
 "image": {
   "id": "",
   "logs": [
     "STEP 1: FROM alpine\n"
   ]
 }
}
{
 "image": {
   "id": "",
   "logs": [
     "STEP 2: COMMIT foobar\n"
   ]
 }
}
{
 "image": {
   "id": "",
   "logs": [
     "b7b28af77ffec6054d13378df4fdf02725830086c7444d9c278af25312aa39b9\n"
   ]
 }
}
{
 "image": {
   "id": "b7b28af77ffec6054d13378df4fdf02725830086c7444d9c278af25312aa39b9",
   "logs": []
 }
}

func BuildImageHierarchyMap

method BuildImageHierarchyMap(name: string) string

BuildImageHierarchyMap is for the development of Podman and should not be used.

func Commit

method Commit(name: string, image_name: string, changes: []string, author: string, message: string, pause: bool, manifestType: string) MoreResponse

Commit, creates an image from an existing container. It requires the name or ID of the container as well as the resulting image name. Optionally, you can define an author and message to be added to the resulting image. You can also define changes to the resulting image for the following attributes: CMD, ENTRYPOINT, ENV, EXPOSE, LABEL, ONBUILD, STOPSIGNAL, USER, VOLUME, and WORKDIR. To pause the container while it is being committed, pass a true bool for the pause argument. If the container cannot be found by the ID or name provided, a (ContainerNotFound)[#ContainerNotFound] error will be returned; otherwise, the resulting image's ID will be returned as a string inside a MoreResponse.

func ContainerArtifacts

method ContainerArtifacts(name: string, artifactName: string) string

ContainerArtifacts returns a container's artifacts in string form. This call is for development of Podman only and generally should not be used.

func ContainerCheckpoint

method ContainerCheckpoint(name: string, keep: bool, leaveRunning: bool, tcpEstablished: bool) string

ContainerCheckPoint performs a checkpopint on a container by its name or full/partial container ID. On successful checkpoint, the id of the checkpointed container is returned.

func ContainerConfig

method ContainerConfig(name: string) string

ContainerConfig returns a container's config in string form. This call is for development of Podman only and generally should not be used.

func ContainerExists

method ContainerExists(name: string) int

ContainerExists takes a full or partial container ID or name and returns an int as to whether the container exists in local storage. A result of 0 means the container does exists; whereas a result of 1 means it could not be found.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ContainerExists '{"name": "flamboyant_payne"}'{
  "exists": 0
}

func ContainerInspectData

method ContainerInspectData(name: string, size: bool) string

ContainerInspectData returns a container's inspect data in string form. This call is for development of Podman only and generally should not be used.

func ContainerRestore

method ContainerRestore(name: string, keep: bool, tcpEstablished: bool) string

ContainerRestore restores a container that has been checkpointed. The container to be restored can be identified by its name or full/partial container ID. A successful restore will result in the return of the container's ID.

func ContainerRunlabel

method ContainerRunlabel(runlabel: Runlabel)

ContainerRunlabel runs executes a command as described by a given container image label.

func ContainerStateData

method ContainerStateData(name: string) string

ContainerStateData returns a container's state config in string form. This call is for development of Podman only and generally should not be used.

func CreateContainer

method CreateContainer(create: Create) string

CreateContainer creates a new container from an image. It uses a Create type for input.

func CreateFromCC

method CreateFromCC(in: []string) string

This call is for the development of Podman only and should not be used.

func CreatePod

method CreatePod(create: PodCreate) string

CreatePod creates a new empty pod. It uses a PodCreate type for input. On success, the ID of the newly created pod will be returned.

Example

$ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"name": "test"}}'
{
  "pod": "b05dee7bd4ccfee688099fe1588a7a898d6ddd6897de9251d4671c9b0feacb2a"
}
# $ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"infra": true, "share": ["ipc", "net", "uts"]}}'
{
  "pod": "d7697449a8035f613c1a8891286502aca68fff7d5d49a85279b3bda229af3b28"
}

func DeleteStoppedContainers

method DeleteStoppedContainers() []string

DeleteStoppedContainers will delete all containers that are not running. It will return a list the deleted container IDs. See also RemoveContainer.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteStoppedContainers
{
  "containers": [
    "451410b931d00def8aa9b4f8084e4d4a39e5e04ea61f358cf53a5cf95afcdcee",
    "8b60f754a3e01389494a9581ade97d35c2765b6e2f19acd2d3040c82a32d1bc0",
    "cf2e99d4d3cad6073df199ed32bbe64b124f3e1aba6d78821aa8460e70d30084",
    "db901a329587312366e5ecff583d08f0875b4b79294322df67d90fc6eed08fc1"
  ]
}

func DeleteUnusedImages

method DeleteUnusedImages() []string

DeleteUnusedImages deletes any images not associated with a container. The IDs of the deleted images are returned in a string array.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteUnusedImages
{
  "images": [
    "166ea6588079559c724c15223f52927f514f73dd5c5cf2ae2d143e3b2e6e9b52",
    "da86e6ba6ca197bf6bc5e9d900febd906b133eaa4750e6bed647b0fbe50ed43e",
    "3ef70f7291f47dfe2b82931a993e16f5a44a0e7a68034c3e0e086d77f5829adc",
    "59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690"
  ]
}

func Diff

method Diff(name: string) DiffInfo

Diff returns a diff between libpod objects

func EvictContainer

method EvictContainer(name: string, removeVolumes: bool) string

EvictContainer requires the name or ID of a container as well as a boolean that indicates to remove builtin volumes. Upon successful eviction of the container, its ID is returned. If the container cannot be found by name or ID, a ContainerNotFound error will be returned. See also RemoveContainer.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.EvictContainer '{"name": "62f4fd98cb57"}'
{
  "container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}

func ExecContainer

method ExecContainer(opts: ExecOpts)

ExecContainer executes a command in the given container.

func ExportContainer

method ExportContainer(name: string, path: string) string

ExportContainer creates an image from a container. It takes the name or ID of a container and a path representing the target tarfile. If the container cannot be found, a ContainerNotFound error will be returned. The return value is the written tarfile.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ExportContainer '{"name": "flamboyant_payne", "path": "/tmp/payne.tar" }'
{
  "tarfile": "/tmp/payne.tar"
}

func ExportImage

method ExportImage(name: string, destination: string, compress: bool, tags: []string) string

ExportImage takes the name or ID of an image and exports it to a destination like a tarball. There is also a boolean option to force compression. It also takes in a string array of tags to be able to save multiple tags of the same image to a tarball (each tag should be of the form

:). Upon completion, the ID of the image is returned. If the image cannot be found in local storage, an ImageNotFound error will be returned. See also ImportImage.

func GenerateKube

method GenerateKube(name: string, service: bool) KubePodService

GenerateKube generates a Kubernetes v1 Pod description of a Podman container or pod and its containers. The description is in YAML. See also ReplayKube.

func GetAttachSockets

method GetAttachSockets(name: string) Sockets

GetAttachSockets takes the name or ID of an existing container. It returns file paths for two sockets needed to properly communicate with a container. The first is the actual I/O socket that the container uses. The second is a "control" socket where things like resizing the TTY events are sent. If the container cannot be found, a ContainerNotFound error will be returned.

Example

$ varlink call -m unix:/run/io.podman/io.podman.GetAttachSockets '{"name": "b7624e775431219161"}'
{
  "sockets": {
    "container_id": "b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca",
    "control_socket": "/var/lib/containers/storage/overlay-containers/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/userdata/ctl",
    "io_socket": "/var/run/libpod/socket/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/attach"
  }
}

func GetContainer

method GetContainer(id: string) Container

GetContainer returns information about a single container. If a container with the given id doesn't exist, a ContainerNotFound error will be returned. See also ListContainers and InspectContainer.

func GetContainerLogs

method GetContainerLogs(name: string) []string

GetContainerLogs takes a name or ID of a container and returns the logs of that container. If the container cannot be found, a ContainerNotFound error will be returned. The container logs are returned as an array of strings. GetContainerLogs will honor the streaming capability of varlink if the client invokes it.

func GetContainerStats

method GetContainerStats(name: string) ContainerStats

GetContainerStats takes the name or ID of a container and returns a single ContainerStats structure which contains attributes like memory and cpu usage. If the container cannot be found, a ContainerNotFound error will be returned. If the container is not running, a NoContainerRunning error will be returned

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.GetContainerStats '{"name": "c33e4164f384"}'
{
  "container": {
    "block_input": 0,
    "block_output": 0,
    "cpu": 2.571123918839990154678e-08,
    "cpu_nano": 49037378,
    "id": "c33e4164f384aa9d979072a63319d66b74fd7a128be71fa68ede24f33ec6cfee",
    "mem_limit": 33080606720,
    "mem_perc": 2.166828456524753747370e-03,
    "mem_usage": 716800,
    "name": "competent_wozniak",
    "net_input": 768,
    "net_output": 5910,
    "pids": 1,
    "system_nano": 10000000
  }
}

func GetContainerStatsWithHistory

method GetContainerStatsWithHistory(previousStats: ContainerStats) ContainerStats

GetContainerStatsWithHistory takes a previous set of container statistics and uses libpod functions to calculate the containers statistics based on current and previous measurements.

func GetContainersByContext

method GetContainersByContext(all: bool, latest: bool, args: []string) []string

GetContainersByContext allows you to get a list of container ids depending on all, latest, or a list of container names. The definition of latest container means the latest by creation date. In a multi- user environment, results might differ from what you expect.

func GetContainersByStatus

method GetContainersByStatus(status: []string) Container

func GetContainersLogs

method GetContainersLogs(names: []string, follow: bool, latest: bool, since: string, tail: int, timestamps: bool) LogLine

func GetEvents

method GetEvents(filter: []string, since: string, until: string) Event

GetEvents returns known libpod events filtered by the options provided.

func GetImage

method GetImage(id: string) Image

GetImage returns information about a single image in storage. If the image caGetImage returns be found, ImageNotFound will be returned.

func GetInfo

method GetInfo() PodmanInfo

GetInfo returns a PodmanInfo struct that describes podman and its host such as storage stats, build information of Podman, and system-wide registries.

func GetLayersMapWithImageInfo

method GetLayersMapWithImageInfo() string

GetLayersMapWithImageInfo is for the development of Podman and should not be used.

func GetPod

method GetPod(name: string) ListPodData

GetPod takes a name or ID of a pod and returns single ListPodData structure. A PodNotFound error will be returned if the pod cannot be found. See also ListPods.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.GetPod '{"name": "foobar"}'
{
  "pod": {
    "cgroup": "machine.slice",
    "containersinfo": [
      {
        "id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45",
        "name": "1840835294cf-infra",
        "status": "running"
      },
      {
        "id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6",
        "name": "upbeat_murdock",
        "status": "running"
      }
    ],
    "createdat": "2018-12-07 13:10:15.014139258 -0600 CST",
    "id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f",
    "name": "foobar",
    "numberofcontainers": "2",
    "status": "Running"
  }
}

func GetPodStats

method GetPodStats(name: string) string, ContainerStats

GetPodStats takes the name or ID of a pod and returns a pod name and slice of ContainerStats structure which contains attributes like memory and cpu usage. If the pod cannot be found, a PodNotFound error will be returned. If the pod has no running containers associated with it, a NoContainerRunning error will be returned.

Example

$ varlink call unix:/run/podman/io.podman/io.podman.GetPodStats '{"name": "7f62b508b6f12b11d8fe02e"}'
{
  "containers": [
    {
      "block_input": 0,
      "block_output": 0,
      "cpu": 2.833470544016107524276e-08,
      "cpu_nano": 54363072,
      "id": "a64b51f805121fe2c5a3dc5112eb61d6ed139e3d1c99110360d08b58d48e4a93",
      "mem_limit": 12276146176,
      "mem_perc": 7.974359265237864966003e-03,
      "mem_usage": 978944,
      "name": "quirky_heisenberg",
      "net_input": 866,
      "net_output": 7388,
      "pids": 1,
      "system_nano": 20000000
    }
  ],
  "pod": "7f62b508b6f12b11d8fe02e0db4de6b9e43a7d7699b33a4fc0d574f6e82b4ebd"
}

func GetPodsByContext

method GetPodsByContext(all: bool, latest: bool, args: []string) []string

GetPodsByContext allows you to get a list pod ids depending on all, latest, or a list of pod names. The definition of latest pod means the latest by creation date. In a multi- user environment, results might differ from what you expect.

func GetPodsByStatus

method GetPodsByStatus(statuses: []string) []string

GetPodsByStatus searches for pods whose status is included in statuses

func GetVersion

method GetVersion() string, string, string, string, string, int

GetVersion returns version and build information of the podman service

func GetVolumes

method GetVolumes(args: []string, all: bool) Volume

GetVolumes gets slice of the volumes on a remote host

func HealthCheckRun

method HealthCheckRun(nameOrID: string) string

HealthCheckRun executes defined container's healthcheck command and returns the container's health status.

func HistoryImage

method HistoryImage(name: string) ImageHistory

HistoryImage takes the name or ID of an image and returns information about its history and layers. The returned history is in the form of an array of ImageHistory structures. If the image cannot be found, an ImageNotFound error is returned.

func ImageExists

method ImageExists(name: string) int

ImageExists talks a full or partial image ID or name and returns an int as to whether the image exists in local storage. An int result of 0 means the image does exist in local storage; whereas 1 indicates the image does not exists in local storage.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ImageExists '{"name": "imageddoesntexist"}'
{
  "exists": 1
}

func ImageSave

method ImageSave(options: ImageSaveOptions) MoreResponse

ImageSave allows you to save an image from the local image storage to a tarball

func ImageTree

method ImageTree(name: string, whatRequires: bool) string

ImageTree returns the image tree for the provided image name or ID

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ImageTree '{"name": "alpine"}'
{
  "tree":  "Image ID: e7d92cdc71fe\nTags:     [docker.io/library/alpine:latest]\nSize:     5.861MB\nImage Layers\n└──  ID: 5216338b40a7 Size: 5.857MB Top Layer of: [docker.io/library/alpine:latest]\n"
}

func ImagesPrune

method ImagesPrune(all: bool, filter: []string) []string

ImagesPrune removes all unused images from the local store. Upon successful pruning, the IDs of the removed images are returned.

func ImportImage

method ImportImage(source: string, reference: string, message: string, changes: []string, delete: bool) string

ImportImage imports an image from a source (like tarball) into local storage. The image can have additional descriptions added to it using the message and changes options. See also ExportImage.

func InitContainer

method InitContainer(name: string) string

InitContainer initializes the given container. It accepts a container name or ID, and will initialize the container matching that ID if possible, and error if not. Containers can only be initialized when they are in the Created or Exited states. Initialization prepares a container to be started, but does not start the container. It is intended to be used to debug a container's state prior to starting it.

func InspectContainer

method InspectContainer(name: string) string

InspectContainer data takes a name or ID of a container returns the inspection data in string format. You can then serialize the string into JSON. A ContainerNotFound error will be returned if the container cannot be found. See also InspectImage.

func InspectImage

method InspectImage(name: string) string

InspectImage takes the name or ID of an image and returns a string representation of data associated with the mage. You must serialize the string into JSON to use it further. An ImageNotFound error will be returned if the image cannot be found.

func InspectPod

method InspectPod(name: string) string

InspectPod takes the name or ID of an image and returns a string representation of data associated with the pod. You must serialize the string into JSON to use it further. A PodNotFound error will be returned if the pod cannot be found.

func InspectVolume

method InspectVolume(name: string) string

InspectVolume inspects a single volume. Returns inspect JSON in the form of a string.

func KillContainer

method KillContainer(name: string, signal: int) string

KillContainer takes the name or ID of a container as well as a signal to be applied to the container. Once the container has been killed, the container's ID is returned. If the container cannot be found, a ContainerNotFound error is returned. See also StopContainer.

func KillPod

method KillPod(name: string, signal: int) string

KillPod takes the name or ID of a pod as well as a signal to be applied to the pod. If the pod cannot be found, a PodNotFound error is returned. Containers in a pod are killed independently. If there is an error killing one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was killed with no errors, the pod ID is returned. See also StopPod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.KillPod '{"name": "foobar", "signal": 15}'
{
  "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}

func ListContainerChanges

method ListContainerChanges(name: string) ContainerChanges

ListContainerChanges takes a name or ID of a container and returns changes between the container and its base image. It returns a struct of changed, deleted, and added path names.

func ListContainerMounts

method ListContainerMounts() map[string]

ListContainerMounts gathers all the mounted container mount points and returns them as an array of strings

Example

$ varlink call unix:/run/podman/io.podman/io.podman.ListContainerMounts
{
  "mounts": {
    "04e4c255269ed2545e7f8bd1395a75f7949c50c223415c00c1d54bfa20f3b3d9": "/var/lib/containers/storage/overlay/a078925828f57e20467ca31cfca8a849210d21ec7e5757332b72b6924f441c17/merged",
    "1d58c319f9e881a644a5122ff84419dccf6d138f744469281446ab243ef38924": "/var/lib/containers/storage/overlay/948fcf93f8cb932f0f03fd52e3180a58627d547192ffe3b88e0013b98ddcd0d2/merged"
  }
}

func ListContainerProcesses

method ListContainerProcesses(name: string, opts: []string) []string

ListContainerProcesses takes a name or ID of a container and returns the processes running inside the container as array of strings. It will accept an array of string arguments that represent ps options. If the container cannot be found, a ContainerNotFound error will be returned.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ListContainerProcesses '{"name": "135d71b9495f", "opts": []}'
{
  "container": [
    "  UID   PID  PPID  C STIME TTY          TIME CMD",
    "    0 21220 21210  0 09:05 pts/0    00:00:00 /bin/sh",
    "    0 21232 21220  0 09:05 pts/0    00:00:00 top",
    "    0 21284 21220  0 09:05 pts/0    00:00:00 vi /etc/hosts"
  ]
}

func ListContainers

method ListContainers() Container

ListContainers returns information about all containers. See also GetContainer.

func ListImages

method ListImages() Image

ListImages returns information about the images that are currently in storage. See also InspectImage.

func ListImagesWithFilters

method ListImagesWithFilters(filters: []string) Image

ListImagesWithFilters returns information about the images that are currently in storage after one or more filters has been applied. See also InspectImage.

func ListPods

method ListPods() ListPodData

ListPods returns a list of pods in no particular order. They are returned as an array of ListPodData structs. See also GetPod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.ListPods
{
  "pods": [
    {
      "cgroup": "machine.slice",
      "containersinfo": [
        {
          "id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45",
          "name": "1840835294cf-infra",
          "status": "running"
        },
        {
          "id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6",
          "name": "upbeat_murdock",
          "status": "running"
        }
      ],
      "createdat": "2018-12-07 13:10:15.014139258 -0600 CST",
      "id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f",
      "name": "foobar",
      "numberofcontainers": "2",
      "status": "Running"
    },
    {
      "cgroup": "machine.slice",
      "containersinfo": [
        {
          "id": "1ca4b7bbba14a75ba00072d4b705c77f3df87db0109afaa44d50cb37c04a477e",
          "name": "784306f655c6-infra",
          "status": "running"
        }
      ],
      "createdat": "2018-12-07 13:09:57.105112457 -0600 CST",
      "id": "784306f655c6200aea321dd430ba685e9b2cc1f7d7528a72f3ff74ffb29485a2",
      "name": "nostalgic_pike",
      "numberofcontainers": "1",
      "status": "Running"
    }
  ]
}

func LoadImage

method LoadImage(name: string, inputFile: string, quiet: bool, deleteFile: bool) MoreResponse

LoadImage allows you to load an image into local storage from a tarball.

func MountContainer

method MountContainer(name: string) string

MountContainer mounts a container by name or full/partial ID. Upon a successful mount, the destination mount is returned as a string.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.MountContainer '{"name": "jolly_shannon"}'{
  "path": "/var/lib/containers/storage/overlay/419eeb04e783ea159149ced67d9fcfc15211084d65e894792a96bedfae0470ca/merged"
}

func PauseContainer

method PauseContainer(name: string) string

PauseContainer takes the name or ID of container and pauses it. If the container cannot be found, a ContainerNotFound error will be returned; otherwise the ID of the container is returned. See also UnpauseContainer.

func PausePod

method PausePod(name: string) string

PausePod takes the name or ID of a pod and pauses the running containers associated with it. If the pod cannot be found, a PodNotFound error will be returned. Containers in a pod are paused independently. If there is an error pausing one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was paused with no errors, the pod ID is returned. See also UnpausePod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.PausePod '{"name": "foobar"}'
{
  "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}

func PodStateData

method PodStateData(name: string) string

PodStateData returns inspectr level information of a given pod in string form. This call is for development of Podman only and generally should not be used.

func Ps

method Ps(opts: PsOpts) PsContainer

func PullImage

method PullImage(name: string, creds: AuthConfig) MoreResponse

PullImage pulls an image from a repository to local storage. After a successful pull, the image id and logs are returned as a MoreResponse. This connection also will handle a WantsMores request to send status as it occurs.

func PushImage

method PushImage(name: string, tag: string, compress: bool, format: string, removeSignatures: bool, signBy: string) MoreResponse

PushImage takes two input arguments: the name or ID of an image, the fully-qualified destination name of the image, It will return an ImageNotFound error if the image cannot be found in local storage; otherwise it will return a MoreResponse

func ReceiveFile

method ReceiveFile(path: string, delete: bool) int

ReceiveFile allows the host to send a remote client a file

func RemoveContainer

method RemoveContainer(name: string, force: bool, removeVolumes: bool) string

RemoveContainer requires the name or ID of a container as well as a boolean that indicates whether a container should be forcefully removed (e.g., by stopping it), and a boolean indicating whether to remove builtin volumes. Upon successful removal of the container, its ID is returned. If the container cannot be found by name or ID, a ContainerNotFound error will be returned. See also EvictContainer.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.RemoveContainer '{"name": "62f4fd98cb57"}'
{
  "container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}

func RemoveImage

method RemoveImage(name: string, force: bool) string

RemoveImage takes the name or ID of an image as well as a boolean that determines if containers using that image should be deleted. If the image cannot be found, an ImageNotFound error will be returned. The ID of the removed image is returned when complete. See also DeleteUnusedImages.

Example

varlink call -m unix:/run/podman/io.podman/io.podman.RemoveImage '{"name": "registry.fedoraproject.org/fedora", "force": true}'
{
  "image": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}

func RemoveImageWithResponse

method RemoveImageWithResponse(name: string, force: bool) RemoveImageResponse

RemoveImageWithResponse takes the name or ID of an image as well as a boolean that determines if containers using that image should be deleted. If the image cannot be found, an ImageNotFound error will be returned. The response is in the form of a RemoveImageResponse .

func RemovePod

method RemovePod(name: string, force: bool) string

RemovePod takes the name or ID of a pod as well a boolean representing whether a running container in the pod can be stopped and removed. If a pod has containers associated with it, and force is not true, an error will occur. If the pod cannot be found by name or ID, a PodNotFound error will be returned. Containers in a pod are removed independently. If there is an error removing any container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was removed with no errors, the pod ID is returned.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.RemovePod '{"name": "62f4fd98cb57", "force": "true"}'
{
  "pod": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}

func Reset

method Reset()

Reset resets Podman back to its initial state. Removes all Pods, Containers, Images and Volumes

func RestartContainer

method RestartContainer(name: string, timeout: int) string

RestartContainer will restart a running container given a container name or ID and timeout value. The timeout value is the time before a forcible stop is used to stop the container. If the container cannot be found by name or ID, a ContainerNotFound error will be returned; otherwise, the ID of the container will be returned.

func RestartPod

method RestartPod(name: string) string

RestartPod will restart containers in a pod given a pod name or ID. Containers in the pod that are running will be stopped, then all stopped containers will be run. If the pod cannot be found by name or ID, a PodNotFound error will be returned. Containers in a pod are restarted independently. If there is an error restarting one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was restarted with no errors, the pod ID is returned.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.RestartPod '{"name": "135d71b9495f"}'
{
  "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}

func SearchImages

method SearchImages(query: string, limit: ?int, filter: ImageSearchFilter) ImageSearchResult

SearchImages searches available registries for images that contain the contents of "query" in their name. If "limit" is given, limits the amount of search results per registry.

func SendFile

method SendFile(type: string, length: int) string

Sendfile allows a remote client to send a file to the host

func Spec

method Spec(name: string) string

Spec returns the oci spec for a container. This call is for development of Podman only and generally should not be used.

func StartContainer

method StartContainer(name: string) string

StartContainer starts a created or stopped container. It takes the name or ID of container. It returns the container ID once started. If the container cannot be found, a ContainerNotFound error will be returned. See also CreateContainer.

func StartPod

method StartPod(name: string) string

StartPod starts containers in a pod. It takes the name or ID of pod. If the pod cannot be found, a PodNotFound error will be returned. Containers in a pod are started independently. If there is an error starting one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was started with no errors, the pod ID is returned. See also CreatePod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.StartPod '{"name": "135d71b9495f"}'
{
  "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6",
}

func StopContainer

method StopContainer(name: string, timeout: int) string

StopContainer stops a container given a timeout. It takes the name or ID of a container as well as a timeout value. The timeout value the time before a forcible stop to the container is applied. It returns the container ID once stopped. If the container cannot be found, a ContainerNotFound error will be returned instead. See also KillContainer.

Error

$ varlink call -m unix:/run/podman/io.podman/io.podman.StopContainer '{"name": "135d71b9495f", "timeout": 5}'
{
  "container": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}

func StopPod

method StopPod(name: string, timeout: int) string

StopPod stops containers in a pod. It takes the name or ID of a pod and a timeout. If the pod cannot be found, a PodNotFound error will be returned instead. Containers in a pod are stopped independently. If there is an error stopping one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was stopped with no errors, the pod ID is returned. See also KillPod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.StopPod '{"name": "135d71b9495f"}'
{
  "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}

func TagImage

method TagImage(name: string, tagged: string) string

TagImage takes the name or ID of an image in local storage as well as the desired tag name. If the image cannot be found, an ImageNotFound error will be returned; otherwise, the ID of the image is returned on success.

func Top

method Top(nameOrID: string, descriptors: []string) []string

func TopPod

method TopPod(pod: string, latest: bool, descriptors: []string) []string

func UnmountContainer

method UnmountContainer(name: string, force: bool)

UnmountContainer umounts a container by its name or full/partial container ID.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.UnmountContainer '{"name": "jolly_shannon", "force": false}'
{}

func UnpauseContainer

method UnpauseContainer(name: string) string

UnpauseContainer takes the name or ID of container and unpauses a paused container. If the container cannot be found, a ContainerNotFound error will be returned; otherwise the ID of the container is returned. See also PauseContainer.

func UnpausePod

method UnpausePod(name: string) string

UnpausePod takes the name or ID of a pod and unpauses the paused containers associated with it. If the pod cannot be found, a PodNotFound error will be returned. Containers in a pod are unpaused independently. If there is an error unpausing one container, the ID of those containers will be returned in a list, along with the ID of the pod in a PodContainerError. If the pod was unpaused with no errors, the pod ID is returned. See also PausePod.

Example

$ varlink call -m unix:/run/podman/io.podman/io.podman.UnpausePod '{"name": "foobar"}'
{
  "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}

func UntagImage

method UntagImage(name: string, tag: string) string

UntagImage takes the name or ID of an image in local storage as well as the tag name to be removed. If the image cannot be found, an ImageNotFound error will be returned; otherwise, the ID of the image is returned on success.

func VolumeCreate

method VolumeCreate(options: VolumeCreateOpts) string

VolumeCreate creates a volume on a remote host

func VolumeRemove

method VolumeRemove(options: VolumeRemoveOpts) []string, map[string]

VolumeRemove removes a volume on a remote host

func VolumesPrune

method VolumesPrune() []string, []string

VolumesPrune removes unused volumes on the host

func WaitContainer

method WaitContainer(name: string, interval: int) int

WaitContainer takes the name or ID of a container and waits the given interval in milliseconds until the container stops. Upon stopping, the return code of the container is returned. If the container container cannot be found by ID or name, a ContainerNotFound error is returned.

Types

type AuthConfig

username string

password string

type BuildInfo

BuildInfo is used to describe user input for building images

architecture string

addCapabilities []string

additionalTags []string

annotations []string

buildArgs map[string]

buildOptions BuildOptions

cniConfigDir string

cniPluginDir string

compression string

contextDir string

defaultsMountFilePath string

devices []string

dockerfiles []string

dropCapabilities []string

err string

forceRmIntermediateCtrs bool

iidfile string

label []string

layers bool

nocache bool

os string

out string

output string

outputFormat string

pullPolicy string

quiet bool

remoteIntermediateCtrs bool

reportWriter string

runtimeArgs []string

signBy string

squash bool

target string

transientMounts []string

type BuildOptions

BuildOptions are are used to describe describe physical attributes of the build

addHosts []string

cgroupParent string

cpuPeriod int

cpuQuota int

cpuShares int

cpusetCpus string

cpusetMems string

memory int

memorySwap int

shmSize string

ulimit []string

volume []string

type Container

id string

image string

imageid string

command []string

createdat string

runningfor string

status string

ports ContainerPortMappings

rootfssize int

rwsize int

names string

labels map[string]

mounts ContainerMount

containerrunning bool

namespaces ContainerNameSpace

type ContainerChanges

ContainerChanges describes the return struct for ListContainerChanges

changed []string

added []string

deleted []string

type ContainerMount

ContainerMount describes the struct for mounts in a container

destination string

type string

source string

options []string

type ContainerNameSpace

ContainerNamespace describes the namespace structure for an existing container

user string

uts string

pidns string

pid string

cgroup string

net string

mnt string

ipc string

type ContainerPortMappings

ContainerPortMappings describes the struct for portmappings in an existing container

host_port string

host_ip string

protocol string

container_port string

type ContainerStats

ContainerStats is the return struct for the stats of a container

id string

name string

cpu float

cpu_nano int

system_nano int

mem_usage int

mem_limit int

mem_perc float

net_input int

net_output int

block_output int

block_input int

pids int

type Create

Create is an input structure for creating containers. args[0] is the image name or id args[1-] are the new commands if changed

args []string

addHost ?[]string

annotation ?[]string

attach ?[]string

blkioWeight ?string

blkioWeightDevice ?[]string

capAdd ?[]string

capDrop ?[]string

cgroupParent ?string

cidFile ?string

conmonPidfile ?string

command ?[]string

cpuPeriod ?int

cpuQuota ?int

cpuRtPeriod ?int

cpuRtRuntime ?int

cpuShares ?int

cpus ?float

cpuSetCpus ?string

cpuSetMems ?string

detach ?bool

detachKeys ?string

device ?[]string

deviceReadBps ?[]string

deviceReadIops ?[]string

deviceWriteBps ?[]string

deviceWriteIops ?[]string

dns ?[]string

dnsOpt ?[]string

dnsSearch ?[]string

dnsServers ?[]string

entrypoint ?string

env ?[]string

envFile ?[]string

expose ?[]string

gidmap ?[]string

groupadd ?[]string

healthcheckCommand ?string

healthcheckInterval ?string

healthcheckRetries ?int

healthcheckStartPeriod ?string

healthcheckTimeout ?string

hostname ?string

imageVolume ?string

init ?bool

initPath ?string

interactive ?bool

ip ?string

ipc ?string

kernelMemory ?string

label ?[]string

labelFile ?[]string

logDriver ?string

logOpt ?[]string

macAddress ?string

memory ?string

memoryReservation ?string

memorySwap ?string

memorySwappiness ?int

name ?string

network ?string

noHosts ?bool

oomKillDisable ?bool

oomScoreAdj ?int

overrideArch ?string

overrideOS ?string

pid ?string

pidsLimit ?int

pod ?string

privileged ?bool

publish ?[]string

publishAll ?bool

pull ?string

quiet ?bool

readonly ?bool

readonlytmpfs ?bool

restart ?string

rm ?bool

rootfs ?bool

securityOpt ?[]string

shmSize ?string

stopSignal ?string

stopTimeout ?int

storageOpt ?[]string

subuidname ?string

subgidname ?string

sysctl ?[]string

systemd ?string

tmpfs ?[]string

tty ?bool

uidmap ?[]string

ulimit ?[]string

user ?string

userns ?string

uts ?string

mount ?[]string

volume ?[]string

volumesFrom ?[]string

workDir ?string

type DiffInfo

path string

changeType string

type Event

Event describes a libpod struct

id string

image string

name string

status string

time string

type string

type ExecOpts

name string

tty bool

privileged bool

cmd []string

user ?string

workdir ?string

env ?[]string

detachKeys ?string

type Image

id string

digest string

digests []string

parentId string

repoTags []string

repoDigests []string

created string

size int

virtualSize int

containers int

labels map[string]

isParent bool

topLayer string

readOnly bool

history []string

type ImageHistory

ImageHistory describes the returned structure from ImageHistory.

id string

created string

createdBy string

tags []string

size int

comment string

type ImageSaveOptions

name string

format string

output string

outputType string

moreTags []string

quiet bool

compress bool

type ImageSearchFilter

is_official ?bool

is_automated ?bool

star_count int

type ImageSearchResult

Represents a single search result from SearchImages

description string

is_official bool

is_automated bool

registry string

name string

star_count int

type InfoDistribution

InfoDistribution describes the host's distribution

distribution string

version string

type InfoGraphStatus

InfoGraphStatus describes the detailed status of the storage driver

backing_filesystem string

native_overlay_diff string

supports_d_type string

type InfoHost

InfoHost describes the host stats portion of PodmanInfo

buildah_version string

distribution InfoDistribution

mem_free int

mem_total int

swap_free int

swap_total int

arch string

cpus int

hostname string

kernel string

os string

uptime string

eventlogger string

type InfoPodmanBinary

InfoPodman provides details on the Podman binary

compiler string

go_version string

podman_version string

git_commit string

type InfoRegistry

InfoRegistry describes the host's registry information

search []string

insecure []string

blocked []string

type InfoStore

InfoStore describes the host's storage informatoin

containers int

images int

graph_driver_name string

graph_driver_options string

graph_root string

graph_status InfoGraphStatus

run_root string

type KubePodService

pod string

service string

type ListPodContainerInfo

ListPodContainerInfo is a returned struct for describing containers in a pod.

name string

id string

status string

type ListPodData

ListPodData is the returned struct for an individual pod

id string

name string

createdat string

cgroup string

status string

labels map[string]

numberofcontainers string

containersinfo ListPodContainerInfo

type LogLine

device string

parseLogType string

time string

msg string

cid string

type MoreResponse

MoreResponse is a struct for when responses from varlink requires longer output

logs []string

id string

type NotImplemented

comment string

type PodContainerErrorData

containerid string

reason string

type PodCreate

PodCreate is an input structure for creating pods. It emulates options to podman pod create. The infraCommand and infraImage options are currently NotSupported.

name string

cgroupParent string

labels map[string]

share []string

infra bool

infraCommand string

infraImage string

publish []string

type PodmanInfo

PodmanInfo describes the Podman host and build

host InfoHost

registries InfoRegistry

store InfoStore

podman InfoPodmanBinary

type PsContainer

id string

image string

command string

created string

ports string

names string

isInfra bool

status string

state string

pidNum int

rootFsSize int

rwSize int

pod string

createdAt string

exitedAt string

startedAt string

labels map[string]

nsPid string

cgroup string

ipc string

mnt string

net string

pidNs string

user string

uts string

mounts string

type PsOpts

all bool

filters ?[]string

last ?int

latest ?bool

noTrunc ?bool

pod ?bool

quiet ?bool

size ?bool

sort ?string

sync ?bool

type RemoveImageResponse

untagged []string

deleted string

type Runlabel

Runlabel describes the required input for container runlabel

image string

authfile string

display bool

name string

pull bool

label string

extraArgs []string

opts map[string]

type Sockets

Sockets describes sockets location for a container

container_id string

io_socket string

control_socket string

type StringResponse

message string

type Volume

name string

labels map[string]

mountPoint string

driver string

options map[string]

type VolumeCreateOpts

volumeName string

driver string

labels map[string]

options map[string]

type VolumeRemoveOpts

volumes []string

all bool

force bool

Errors

type ContainerNotFound

ContainerNotFound means the container could not be found by the provided name or ID in local storage.

type ErrCtrStopped

Container is already stopped

type ErrRequiresCgroupsV2ForRootless

This function requires CGroupsV2 to run in rootless mode.

type ErrorOccurred

ErrorOccurred is a generic error for an error that occurs during the execution. The actual error message is includes as part of the error's text.

type ImageNotFound

ImageNotFound means the image could not be found by the provided name or ID in local storage.

type InvalidState

InvalidState indicates that a container or pod was in an improper state for the requested operation

type NoContainerRunning

NoContainerRunning means none of the containers requested are running in a command that requires a running container.

type NoContainersInPod

NoContainersInPod means a pod has no containers on which to perform the operation. It contains the pod ID.

type PodContainerError

PodContainerError means a container associated with a pod failed to perform an operation. It contains a container ID of the container that failed.

type PodNotFound

PodNotFound means the pod could not be found by the provided name or ID in local storage.

type RuntimeError

RuntimeErrors generally means a runtime could not be found or gotten.

type VolumeNotFound

VolumeNotFound means the volume could not be found by the name or ID in local storage.

type WantsMoreRequired

The Podman endpoint requires that you use a streaming connection.