Skip to content

Latest commit

 

History

History
executable file
·
1757 lines (1218 loc) · 71.7 KB

API.md

File metadata and controls

executable file
·
1757 lines (1218 loc) · 71.7 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 BuildImage(build: BuildInfo) MoreResponse

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

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) 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 CreatePod(create: PodCreate) string

func DeleteStoppedContainers() []string

func DeleteUnusedImages() []string

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

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

func GetAttachSockets(name: string) Sockets

func GetContainer(id: string) Container

func GetContainerLogs(name: string) []string

func GetContainerStats(name: string) ContainerStats

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

func GetImage(id: string) Image

func GetInfo() PodmanInfo

func GetPod(name: string) ListPodData

func GetPodStats(name: string) string, ContainerStats

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

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

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

func HistoryImage(name: string) ImageHistory

func ImageExists(name: string) int

func ImageSave(options: ImageSaveOptions) MoreResponse

func ImagesPrune(all: bool) []string

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

func InspectContainer(name: string) string

func InspectImage(name: string) string

func InspectPod(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 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 PullImage(name: string, certDir: string, creds: string, signaturePolicy: string, tlsVerify: ) MoreResponse

func PushImage(name: string, tag: string, tlsverify: , signaturePolicy: string, creds: string, certDir: 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 RemovePod(name: string, force: bool) string

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

func RestartPod(name: string) string

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

func SendFile(type: string, length: int) 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 UnmountContainer(name: string, force: bool)

func UnpauseContainer(name: string) string

func UnpausePod(name: string) string

func VolumeCreate(options: VolumeCreateOpts) string

func VolumeRemove(options: VolumeRemoveOpts) []string

func VolumesPrune() []string, []string

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

type BuildInfo

type BuildOptions

type Container

type ContainerChanges

type ContainerMount

type ContainerNameSpace

type ContainerPortMappings

type ContainerStats

type Create

type CreateResourceConfig

type IDMap

type IDMappingOptions

type Image

type ImageHistory

type ImageSaveOptions

type ImageSearchFilter

type ImageSearchResult

type InfoDistribution

type InfoGraphStatus

type InfoHost

type InfoPodmanBinary

type InfoStore

type ListPodContainerInfo

type ListPodData

type MoreResponse

type NotImplemented

type PodContainerErrorData

type PodCreate

type PodmanInfo

type Runlabel

type Sockets

type StringResponse

type Volume

type VolumeCreateOpts

type VolumeRemoveOpts

error ContainerNotFound

error ErrorOccurred

error ImageNotFound

error NoContainerRunning

error NoContainersInPod

error PodContainerError

error PodNotFound

error RuntimeError

error VolumeNotFound

Methods

func BuildImage

method BuildImage(build: BuildInfo) MoreResponse

BuildImage takes a BuildInfo structure and builds an image. At a minimum, you must provide the 'dockerfile' and 'tags' options in the BuildInfo structure. It will return a MoreResponse structure that contains the build logs and resulting image ID.

func Commit

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

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.

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) 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. The minimum input required for CreateContainer is an image name. If the image name is not found, an ImageNotFound error will be returned. Otherwise, the ID of the newly created container will be returned.

Example

$ varlink call unix:/run/podman/io.podman/io.podman.CreateContainer '{"create": {"image": "alpine"}}'
{
  "container": "8759dafbc0a4dc3bcfb57eeb72e4331eb73c5cc09ab968e65ce45b9ad5c4b6bb"
}

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 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 booleon 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 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 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 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 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 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 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 ImagesPrune

method ImagesPrune(all: bool) []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 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 respresentation 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 respresentation 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 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 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 PullImage

method PullImage(name: string, certDir: string, creds: string, signaturePolicy: string, tlsVerify: ) 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, tlsverify: , signaturePolicy: string, creds: string, certDir: string, compress: bool, format: string, removeSignatures: bool, signBy: string) MoreResponse

PushImage takes three input arguments: the name or ID of an image, the fully-qualified destination name of the image, and a boolean as to whether tls-verify should be used (with false disabling TLS, not affecting the default behavior). 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 container as well a boolean representing whether a running container can be stopped and removed, 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.

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 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 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: , tlsVerify: , 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 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 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 VolumeCreate

method VolumeCreate(options: VolumeCreateOpts) string

VolumeCreate creates a volume on a remote host

func VolumeRemove

method VolumeRemove(options: VolumeRemoveOpts) []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 BuildInfo

BuildInfo is used to describe user input for building images

additionalTags []string

annotations []string

buildArgs map[string]

buildOptions BuildOptions

cniConfigDir string

cniPluginDir string

compression string

contextDir string

defaultsMountFilePath string

dockerfiles []string

err string

forceRmIntermediateCtrs bool

iidfile string

label []string

layers bool

nocache bool

out string

output string

outputFormat string

pullPolicy string

quiet bool

remoteIntermediateCtrs bool

reportWriter string

runtimeArgs []string

signaturePolicyPath string

squash bool

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. It closely resembles the CreateConfig structure in libpod/pkg/spec.

args []string

cap_add []string

cap_drop []string

conmon_pidfile string

cgroup_parent string

command []string

detach bool

devices []string

dns_opt []string

dns_search []string

dns_servers []string

entrypoint []string

env map[string]

exposed_ports []string

gidmap []string

group_add []string

host_add []string

hostname string

image string

image_id string

init bool

init_path string

builtin_imgvolumes []string

id_mappings IDMappingOptions

image_volume_type string

interactive bool

ipc_mode string

labels map[string]

log_driver string

log_driver_opt []string

name string

net_mode string

network string

pid_mode string

pod string

privileged bool

publish []string

publish_all bool

quiet bool

readonly_rootfs bool

resources CreateResourceConfig

rm bool

shm_dir string

stop_signal int

stop_timeout int

subuidmap string

subgidmap string

subuidname string

subgidname string

sys_ctl map[string]

tmpfs []string

tty bool

uidmap []string

userns_mode string

user string

uts_mode string

volumes []string

work_dir string

mount_label string

process_label string

no_new_privs bool

apparmor_profile string

seccomp_profile_path string

security_opts []string

type CreateResourceConfig

CreateResourceConfig is an input structure used to describe host attributes during container creation. It is only valid inside a Create type.

blkio_weight int

blkio_weight_device []string

cpu_period int

cpu_quota int

cpu_rt_period int

cpu_rt_runtime int

cpu_shares int

cpus float

cpuset_cpus string

cpuset_mems string

device_read_bps []string

device_read_iops []string

device_write_bps []string

device_write_iops []string

disable_oomkiller bool

kernel_memory int

memory int

memory_reservation int

memory_swap int

memory_swappiness int

oom_score_adj int

pids_limit int

shm_size int

ulimit []string

type IDMap

IDMap is used to describe user name spaces during container creation

container_id int

host_id int

size int

type IDMappingOptions

IDMappingOptions is an input structure used to described ids during container creation.

host_uid_mapping bool

host_gid_mapping bool

uid_map IDMap

gid_map IDMap

type Image

id string

parentId string

repoTags []string

repoDigests []string

created string

size int

virtualSize int

containers int

labels map[string]

isParent bool

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

is_automated

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

type InfoPodmanBinary

InfoPodman provides details on the podman binary

compiler string

go_version string

podman_version string

git_commit 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 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 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 []string

insecure_registries []string

store InfoStore

podman InfoPodmanBinary

type Runlabel

Runlabel describes the required input for container runlabel

image string

authfile string

certDir string

creds string

display bool

name string

pull bool

signaturePolicyPath string

tlsVerify

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]

scope 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 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 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 preform 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.