summaryrefslogtreecommitdiff
path: root/cmd/podman/varlink/io.projectatomic.podman.varlink
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman/varlink/io.projectatomic.podman.varlink')
-rw-r--r--cmd/podman/varlink/io.projectatomic.podman.varlink103
1 files changed, 86 insertions, 17 deletions
diff --git a/cmd/podman/varlink/io.projectatomic.podman.varlink b/cmd/podman/varlink/io.projectatomic.podman.varlink
index 92d540b96..5463562c2 100644
--- a/cmd/podman/varlink/io.projectatomic.podman.varlink
+++ b/cmd/podman/varlink/io.projectatomic.podman.varlink
@@ -53,32 +53,100 @@ type ImageSearch (
star_count: int
)
+# ListContainer is the returned struct for an individual container
+type ListContainerData (
+ id: string,
+ image: string,
+ imageid: string,
+ command: []string,
+ createdat: string,
+ runningfor: string,
+ status: string,
+ ports: []ContainerPortMappings,
+ rootfssize: int,
+ rwsize: int,
+ names: string,
+ labels: [string]string,
+ mounts: []ContainerMount,
+ containerrunning: bool,
+ namespaces: ContainerNameSpace
+)
+
+# ContainerStats is the return struct for the stats of a container
+type ContainerStats (
+ 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
+)
+
+# ContainerMount describes the struct for mounts in a container
+type ContainerMount (
+ destination: string,
+ type: string,
+ source: string,
+ options: []string
+)
+
+# ContainerPortMappings describes the struct for portmappings in an existing container
+type ContainerPortMappings (
+ host_port: string,
+ host_ip: string,
+ protocol: string,
+ container_port: string
+)
+
+# ContainerNamespace describes the namespace structure for an existing container
+type ContainerNameSpace (
+ user: string,
+ uts: string,
+ pidns: string,
+ pid: string,
+ cgroup: string,
+ net: string,
+ mnt: string,
+ ipc: string
+)
+
# System
method Ping() -> (ping: StringResponse)
method GetVersion() -> (version: Version)
# Containers
-method ListContainers() -> (notimplemented: NotImplemented)
+method ListContainers() -> (containers: []ListContainerData)
+method GetContainer(name: string) -> (container: ListContainerData)
method CreateContainer() -> (notimplemented: NotImplemented)
-method InspectContainer() -> (notimplemented: NotImplemented)
-method ListContainerProcesses() -> (notimplemented: NotImplemented)
-method GetContainerLogs() -> (notimplemented: NotImplemented)
-method ListContainerChanges() -> (notimplemented: NotImplemented)
-method ExportContainer() -> (notimplemented: NotImplemented)
-method GetContainerStats() -> (notimplemented: NotImplemented)
+method InspectContainer(name: string) -> (container: string)
+# TODO: Should this be made into a streaming response as opposed to a one off?
+method ListContainerProcesses(name: string, opts: []string) -> (container: []string)
+# TODO: Should this be made into a streaming response as opposed to a one off?
+method GetContainerLogs(name: string) -> (container: []string)
+method ListContainerChanges(name: string) -> (container: [string]string)
+# TODO: This should be made into a streaming response
+method ExportContainer(name: string, path: string) -> (tarfile: string)
+method GetContainerStats(name: string) -> (container: ContainerStats)
method ResizeContainerTty() -> (notimplemented: NotImplemented)
method StartContainer() -> (notimplemented: NotImplemented)
-method StopContainer() -> (notimplemented: NotImplemented)
-method RestartContainer() -> (notimplemented: NotImplemented)
-method KillContainer() -> (notimplemented: NotImplemented)
+method StopContainer(name: string, timeout: int) -> (container: string)
+method RestartContainer(name: string, timeout: int) -> (container: string)
+method KillContainer(name: string, signal: int) -> (container: string)
method UpdateContainer() -> (notimplemented: NotImplemented)
method RenameContainer() -> (notimplemented: NotImplemented)
-method PauseContainer() -> (notimplemented: NotImplemented)
-method UnpauseContainer() -> (notimplemented: NotImplemented)
+method PauseContainer(name: string) -> (container: string)
+method UnpauseContainer(name: string) -> (container: string)
method AttachToContainer() -> (notimplemented: NotImplemented)
-method WaitContainer() -> (notimplemented: NotImplemented)
-method RemoveContainer() -> (notimplemented: NotImplemented)
-method DeleteStoppedContainers() -> (notimplemented: NotImplemented)
+method WaitContainer(name: string) -> (exitcode: int)
+method RemoveContainer(name: string, force: bool) -> (container: string)
+method DeleteStoppedContainers() -> (containers: []string)
# Images
method ListImages() -> (images: []ImageInList)
@@ -99,6 +167,7 @@ method PullImage(name: string) -> (id: string)
# Something failed
error ActionFailed (reason: string)
-error ImageNotFound (imagename: string)
+error ImageNotFound (name: string)
+error ContainerNotFound (name: string)
error ErrorOccurred (reason: string)
-error RuntimeError (reason: string) \ No newline at end of file
+error RuntimeError (reason: string)