podman/API.md
baude 834f1f641e varlink info
The varlinfo info returns the same information as podman info but always includes
the so-called debug information.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #745
Approved by: baude
2018-05-11 14:00:25 +00:00

30 KiB
Executable file

io.projectatomic.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 AttachToContainer() NotImplemented

func BuildImage() NotImplemented

func CreateContainer() NotImplemented

func CreateFromContainer() NotImplemented

func CreateImage() NotImplemented

func DeleteStoppedContainers() []string

func DeleteUnusedImages() []string

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

func ExportImage(name: string, destination: string, compress: bool) string

func GetContainer(name: string) ListContainerData

func GetContainerLogs(name: string) []string

func GetContainerStats(name: string) ContainerStats

func GetVersion() Version

func HistoryImage(name: string) ImageHistory

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

func Info() PodmanInfo

func InspectContainer(name: string) string

func InspectImage(name: string) string

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

func ListContainerChanges(name: string) ContainerChanges

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

func ListContainers() ListContainerData

func ListImages() ImageInList

func PauseContainer(name: string) string

func Ping() StringResponse

func PullImage(name: string) string

func PushImage(name: string, tag: string, tlsverify: bool) string

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

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

func RenameContainer() NotImplemented

func ResizeContainerTty() NotImplemented

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

func SearchImage(name: string, limit: int) ImageSearch

func StartContainer() NotImplemented

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

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

func UnpauseContainer(name: string) string

func UpdateContainer() NotImplemented

func WaitContainer(name: string) int type ContainerChanges

type ContainerMount

type ContainerNameSpace

type ContainerPortMappings

type ContainerStats

type ImageHistory

type ImageInList

type ImageSearch

type InfoGraphStatus

type InfoHost

type InfoPodmanBinary

type InfoStore

type ListContainerData

type NotImplemented

type PodmanInfo

type StringResponse

type Version

error ContainerNotFound

error ErrorOccurred

error ImageNotFound

error RuntimeError

Methods

func AttachToContainer

method AttachToContainer() NotImplemented

This method has not be implemented yet.

func BuildImage

method BuildImage() NotImplemented

This function is not implemented yet.

func CreateContainer

method CreateContainer() NotImplemented

This method has not been implemented yet.

func CreateFromContainer

method CreateFromContainer() NotImplemented

This method is not implemented.

func CreateImage

method CreateImage() NotImplemented

This function is not implemented yet.

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.

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.

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.

func ExportImage

method ExportImage(name: string, destination: string, compress: bool) 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. 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 GetContainer

method GetContainer(name: string) ListContainerData

GetContainer takes a name or ID of a container and returns single ListContainerData structure. A ContainerNotFound error will be returned if the container cannot be found. 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.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.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 GetVersion

method GetVersion() Version

GetVersion returns a Version structure describing the libpod setup on their system.

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 ImportImage

method ImportImage(source: string, reference: string, message: string, changes: []string) 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 Info

method Info() PodmanInfo

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

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 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 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. If the container cannot be found, a ContainerNotFound error will be returned.

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 arguements that represent ps options. If the container cannot be found, a ContainerNotFound error will be returned.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.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() ListContainerData

ListContainers returns a list of containers in no particular order. There are returned as an array of ListContainerData structs. See also GetContainer.

func ListImages

method ListImages() ImageInList

ListImages returns an array of ImageInList structures which provide basic information about an image currenly in storage. See also InspectImage.

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 Ping

method Ping() StringResponse

Ping provides a response for developers to ensure their varlink setup is working.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.Ping
{
  "ping": {
    "message": "OK"
  }
}

func PullImage

method PullImage(name: string) string

PullImage pulls an image from a repository to local storage. After the pull is successful, the ID of the image is returned.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.PullImage '{"name": "registry.fedoraproject.org/fedora"}'
{
  "id": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}

func PushImage

method PushImage(name: string, tag: string, tlsverify: bool) string

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. It will return an ImageNotFound error if the image cannot be found in local storage; otherwise the ID of the image will be returned on success.

func RemoveContainer

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

RemoveContainer takes requires the name or ID of container as well a boolean representing whether a running container can be stopped and removed. Upon sucessful removal of the container, its ID is returned. If the container cannot be found by name or ID, an ContainerNotFound error will be returned.

Error

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.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 booleon 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/io.projectatomic.podman/io.projectatomic.podman.RemoveImage '{"name": "registry.fedoraproject.org/fedora", "force": true}'
{
  "image": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}

func RenameContainer

method RenameContainer() NotImplemented

This method has not be implemented yet.

func ResizeContainerTty

method ResizeContainerTty() NotImplemented

This method has not be implemented yet.

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

method SearchImage(name: string, limit: int) ImageSearch

SearchImage takes the string of an image name and a limit of searches from each registries to be returned. SearchImage will then use a glob-like match to find the image you are searching for. The images are returned in an array of ImageSearch structures which contain information about the image as well as its fully-qualified name.

func StartContainer

method StartContainer() NotImplemented

This method has not be implemented yet.

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 forceable 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/io.projectatomic.podman/io.projectatomic.podman.StopContainer '{"name": "135d71b9495f", "timeout": 5}'
{
  "container": "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 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 UpdateContainer

method UpdateContainer() NotImplemented

This method has not be implemented yet.

func WaitContainer

method WaitContainer(name: string) int

WaitContainer takes the name of ID of a container and waits 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 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 ImageHistory

ImageHistory describes the returned structure from ImageHistory.

id string

created string

createdBy string

tags []string

size int

comment string

type ImageInList

ImageInList describes the structure that is returned in ListImages.

id string

parentId string

repoTags []string

repoDigests []string

created string

size int

virtualSize int

containers int

labels map[string]

type ImageSearch

ImageSearch is the returned structure for SearchImage. It is returned in arrary form.

description string

is_official bool

is_automated bool

name string

star_count int

type InfoGraphStatus

InfoGraphStatus describes the detailed status of the graphc

backing_filesystem string

native_overlay_diff string

supports_d_type string

type InfoHost

InfoHost describes the host stats portion of PodmanInfo

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 ListContainerData

ListContainer is the returned struct for an individual 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 NotImplemented

comment string

type PodmanInfo

PodmanInfo describes the Podman host and build

host InfoHost

registries []string

insecure_registries []string

store InfoStore

podman InfoPodmanBinary

type StringResponse

message string

type Version

Version is the structure returned by GetVersion

version string

go_version string

git_commit string

built int

os_arch string

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 RuntimeError

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