github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/pkg/varlink/io.podman.varlink (about) 1 # Podman Service Interface and API description. The master version of this document can be found 2 # in the [API.md](https://github.com/containers/podman/blob/master/API.md) file in the upstream libpod repository. 3 interface io.podman 4 5 type Volume ( 6 name: string, 7 labels: [string]string, 8 mountPoint: string, 9 driver: string, 10 options: [string]string 11 ) 12 13 type NotImplemented ( 14 comment: string 15 ) 16 17 type StringResponse ( 18 message: string 19 ) 20 21 type RemoveImageResponse ( 22 untagged: []string, 23 deleted: string 24 ) 25 26 type LogLine ( 27 device: string, 28 parseLogType : string, 29 time: string, 30 msg: string, 31 cid: string 32 ) 33 34 # ContainerChanges describes the return struct for ListContainerChanges 35 type ContainerChanges ( 36 changed: []string, 37 added: []string, 38 deleted: []string 39 ) 40 41 type ImageSaveOptions ( 42 name: string, 43 format: string, 44 output: string, 45 outputType: string, 46 moreTags: []string, 47 quiet: bool, 48 compress: bool 49 ) 50 51 type VolumeCreateOpts ( 52 volumeName: string, 53 driver: string, 54 labels: [string]string, 55 options: [string]string 56 ) 57 58 type VolumeRemoveOpts ( 59 volumes: []string, 60 all: bool, 61 force: bool 62 ) 63 64 type Image ( 65 id: string, 66 digest: string, 67 digests: []string, 68 parentId: string, 69 repoTags: []string, 70 repoDigests: []string, 71 created: string, # as RFC3339 72 size: int, 73 virtualSize: int, 74 containers: int, 75 labels: [string]string, 76 isParent: bool, 77 topLayer: string, 78 readOnly: bool, 79 history: []string 80 ) 81 82 # ImageHistory describes the returned structure from ImageHistory. 83 type ImageHistory ( 84 id: string, 85 created: string, # as RFC3339 86 createdBy: string, 87 tags: []string, 88 size: int, 89 comment: string 90 ) 91 92 # Represents a single search result from SearchImages 93 type ImageSearchResult ( 94 description: string, 95 is_official: bool, 96 is_automated: bool, 97 registry: string, 98 name: string, 99 star_count: int 100 ) 101 102 type ImageSearchFilter ( 103 is_official: ?bool, 104 is_automated: ?bool, 105 star_count: int 106 ) 107 108 type AuthConfig ( 109 username: string, 110 password: string 111 ) 112 113 type KubePodService ( 114 pod: string, 115 service: string 116 ) 117 118 type Container ( 119 id: string, 120 image: string, 121 imageid: string, 122 command: []string, 123 createdat: string, # as RFC3339 124 runningfor: string, 125 status: string, 126 ports: []ContainerPortMappings, 127 rootfssize: int, 128 rwsize: int, 129 names: string, 130 labels: [string]string, 131 mounts: []ContainerMount, 132 containerrunning: bool, 133 namespaces: ContainerNameSpace 134 ) 135 136 # ContainerStats is the return struct for the stats of a container 137 type ContainerStats ( 138 id: string, 139 name: string, 140 cpu: float, 141 cpu_nano: int, 142 system_nano: int, 143 mem_usage: int, 144 mem_limit: int, 145 mem_perc: float, 146 net_input: int, 147 net_output: int, 148 block_output: int, 149 block_input: int, 150 pids: int 151 ) 152 153 type PsOpts ( 154 all: bool, 155 filters: ?[]string, 156 last: ?int, 157 latest: ?bool, 158 noTrunc: ?bool, 159 pod: ?bool, 160 quiet: ?bool, 161 size: ?bool, 162 sort: ?string, 163 sync: ?bool 164 ) 165 166 type PsContainer ( 167 id: string, 168 image: string, 169 command: string, 170 created: string, 171 ports: string, 172 names: string, 173 isInfra: bool, 174 status: string, 175 state: string, 176 pidNum: int, 177 rootFsSize: int, 178 rwSize: int, 179 pod: string, 180 createdAt: string, 181 exitedAt: string, 182 startedAt: string, 183 labels: [string]string, 184 nsPid: string, 185 cgroup: string, 186 ipc: string, 187 mnt: string, 188 net: string, 189 pidNs: string, 190 user: string, 191 uts: string, 192 mounts: string 193 ) 194 195 # ContainerMount describes the struct for mounts in a container 196 type ContainerMount ( 197 destination: string, 198 type: string, 199 source: string, 200 options: []string 201 ) 202 203 # ContainerPortMappings describes the struct for portmappings in an existing container 204 type ContainerPortMappings ( 205 host_port: string, 206 host_ip: string, 207 protocol: string, 208 container_port: string 209 ) 210 211 # ContainerNamespace describes the namespace structure for an existing container 212 type ContainerNameSpace ( 213 user: string, 214 uts: string, 215 pidns: string, 216 pid: string, 217 cgroup: string, 218 net: string, 219 mnt: string, 220 ipc: string 221 ) 222 223 # InfoDistribution describes the host's distribution 224 type InfoDistribution ( 225 distribution: string, 226 version: string 227 ) 228 229 # InfoHost describes the host stats portion of PodmanInfo 230 type InfoHost ( 231 buildah_version: string, 232 distribution: InfoDistribution, 233 mem_free: int, 234 mem_total: int, 235 swap_free: int, 236 swap_total: int, 237 arch: string, 238 cpus: int, 239 hostname: string, 240 kernel: string, 241 os: string, 242 uptime: string, 243 eventlogger: string 244 ) 245 246 # InfoGraphStatus describes the detailed status of the storage driver 247 type InfoGraphStatus ( 248 backing_filesystem: string, 249 native_overlay_diff: string, 250 supports_d_type: string 251 ) 252 253 # InfoRegistry describes the host's registry information 254 type InfoRegistry ( 255 search: []string, 256 insecure: []string, 257 blocked: []string 258 ) 259 260 # InfoStore describes the host's storage information 261 type InfoStore ( 262 containers: int, 263 images: int, 264 graph_driver_name: string, 265 graph_driver_options: string, 266 graph_root: string, 267 graph_status: InfoGraphStatus, 268 run_root: string 269 ) 270 271 # InfoPodman provides details on the Podman binary 272 type InfoPodmanBinary ( 273 compiler: string, 274 go_version: string, 275 podman_version: string, 276 git_commit: string 277 ) 278 279 # PodmanInfo describes the Podman host and build 280 type PodmanInfo ( 281 host: InfoHost, 282 registries: InfoRegistry, 283 store: InfoStore, 284 podman: InfoPodmanBinary 285 ) 286 287 # Sockets describes sockets location for a container 288 type Sockets( 289 container_id: string, 290 io_socket: string, 291 control_socket: string 292 ) 293 294 # Create is an input structure for creating containers. 295 # args[0] is the image name or id 296 # args[1-] are the new commands if changed 297 type Create ( 298 args: []string, 299 addHost: ?[]string, 300 annotation: ?[]string, 301 attach: ?[]string, 302 blkioWeight: ?string, 303 blkioWeightDevice: ?[]string, 304 capAdd: ?[]string, 305 capDrop: ?[]string, 306 cgroupParent: ?string, 307 cidFile: ?string, 308 conmonPidfile: ?string, 309 command: ?[]string, 310 cpuPeriod: ?int, 311 cpuQuota: ?int, 312 cpuRtPeriod: ?int, 313 cpuRtRuntime: ?int, 314 cpuShares: ?int, 315 cpus: ?float, 316 cpuSetCpus: ?string, 317 cpuSetMems: ?string, 318 detach: ?bool, 319 detachKeys: ?string, 320 device: ?[]string, 321 deviceReadBps: ?[]string, 322 deviceReadIops: ?[]string, 323 deviceWriteBps: ?[]string, 324 deviceWriteIops: ?[]string, 325 dns: ?[]string, 326 dnsOpt: ?[]string, 327 dnsSearch: ?[]string, 328 dnsServers: ?[]string, 329 entrypoint: ?string, 330 env: ?[]string, 331 envFile: ?[]string, 332 expose: ?[]string, 333 gidmap: ?[]string, 334 groupadd: ?[]string, 335 healthcheckCommand: ?string, 336 healthcheckInterval: ?string, 337 healthcheckRetries: ?int, 338 healthcheckStartPeriod: ?string, 339 healthcheckTimeout:?string, 340 hostname: ?string, 341 imageVolume: ?string, 342 init: ?bool, 343 initPath: ?string, 344 interactive: ?bool, 345 ip: ?string, 346 ipc: ?string, 347 kernelMemory: ?string, 348 label: ?[]string, 349 labelFile: ?[]string, 350 logDriver: ?string, 351 logOpt: ?[]string, 352 macAddress: ?string, 353 memory: ?string, 354 memoryReservation: ?string, 355 memorySwap: ?string, 356 memorySwappiness: ?int, 357 name: ?string, 358 network: ?string, 359 noHosts: ?bool, 360 oomKillDisable: ?bool, 361 oomScoreAdj: ?int, 362 overrideArch: ?string, 363 overrideOS: ?string, 364 pid: ?string, 365 pidsLimit: ?int, 366 pod: ?string, 367 privileged: ?bool, 368 publish: ?[]string, 369 publishAll: ?bool, 370 pull: ?string, 371 quiet: ?bool, 372 readonly: ?bool, 373 readonlytmpfs: ?bool, 374 restart: ?string, 375 rm: ?bool, 376 rootfs: ?bool, 377 securityOpt: ?[]string, 378 shmSize: ?string, 379 stopSignal: ?string, 380 stopTimeout: ?int, 381 storageOpt: ?[]string, 382 subuidname: ?string, 383 subgidname: ?string, 384 sysctl: ?[]string, 385 systemd: ?string, 386 tmpfs: ?[]string, 387 tty: ?bool, 388 uidmap: ?[]string, 389 ulimit: ?[]string, 390 user: ?string, 391 userns: ?string, 392 uts: ?string, 393 mount: ?[]string, 394 volume: ?[]string, 395 volumesFrom: ?[]string, 396 workDir: ?string 397 ) 398 399 # BuildOptions are are used to describe describe physical attributes of the build 400 type BuildOptions ( 401 addHosts: []string, 402 cgroupParent: string, 403 cpuPeriod: int, 404 cpuQuota: int, 405 cpuShares: int, 406 cpusetCpus: string, 407 cpusetMems: string, 408 memory: int, 409 memorySwap: int, 410 shmSize: string, 411 ulimit: []string, 412 volume: []string 413 ) 414 415 # BuildInfo is used to describe user input for building images 416 type BuildInfo ( 417 architecture: string, 418 addCapabilities: []string, 419 additionalTags: []string, 420 annotations: []string, 421 buildArgs: [string]string, 422 buildOptions: BuildOptions, 423 cniConfigDir: string, 424 cniPluginDir: string, 425 compression: string, 426 contextDir: string, 427 defaultsMountFilePath: string, 428 devices: []string, 429 dockerfiles: []string, 430 dropCapabilities: []string, 431 err: string, 432 forceRmIntermediateCtrs: bool, 433 iidfile: string, 434 label: []string, 435 layers: bool, 436 nocache: bool, 437 os: string, 438 out: string, 439 output: string, 440 outputFormat: string, 441 pullPolicy: string, 442 quiet: bool, 443 remoteIntermediateCtrs: bool, 444 reportWriter: string, 445 runtimeArgs: []string, 446 signBy: string, 447 squash: bool, 448 target: string, 449 transientMounts: []string 450 ) 451 452 # MoreResponse is a struct for when responses from varlink requires longer output 453 type MoreResponse ( 454 logs: []string, 455 id: string 456 ) 457 458 # ListPodContainerInfo is a returned struct for describing containers 459 # in a pod. 460 type ListPodContainerInfo ( 461 name: string, 462 id: string, 463 status: string 464 ) 465 466 # PodCreate is an input structure for creating pods. 467 # It emulates options to podman pod create. The infraCommand and 468 # infraImage options are currently NotSupported. 469 type PodCreate ( 470 name: string, 471 cgroupParent: string, 472 labels: [string]string, 473 share: []string, 474 infra: bool, 475 infraCommand: string, 476 infraImage: string, 477 publish: []string 478 ) 479 480 # ListPodData is the returned struct for an individual pod 481 type ListPodData ( 482 id: string, 483 name: string, 484 createdat: string, 485 cgroup: string, 486 status: string, 487 labels: [string]string, 488 numberofcontainers: string, 489 containersinfo: []ListPodContainerInfo 490 ) 491 492 type PodContainerErrorData ( 493 containerid: string, 494 reason: string 495 ) 496 497 # Runlabel describes the required input for container runlabel 498 type Runlabel( 499 image: string, 500 authfile: string, 501 display: bool, 502 name: string, 503 pull: bool, 504 label: string, 505 extraArgs: []string, 506 opts: [string]string 507 ) 508 509 # Event describes a libpod struct 510 type Event( 511 # TODO: make status and type a enum at some point? 512 # id is the container, volume, pod, image ID 513 id: string, 514 # image is the image name where applicable 515 image: string, 516 # name is the name of the pod, container, image 517 name: string, 518 # status describes the event that happened (i.e. create, remove, ...) 519 status: string, 520 # time the event happened 521 time: string, 522 # type describes object the event happened with (image, container...) 523 type: string 524 ) 525 526 type DiffInfo( 527 # path that is different 528 path: string, 529 # Add, Delete, Modify 530 changeType: string 531 ) 532 533 type ExecOpts( 534 # container name or id 535 name: string, 536 # Create pseudo tty 537 tty: bool, 538 # privileged access in container 539 privileged: bool, 540 # command to execute in container 541 cmd: []string, 542 # user to use in container 543 user: ?string, 544 # workdir to run command in container 545 workdir: ?string, 546 # slice of keyword=value environment variables 547 env: ?[]string, 548 # string of detach keys 549 detachKeys: ?string 550 ) 551 552 # GetVersion returns version and build information of the podman service 553 method GetVersion() -> ( 554 version: string, 555 go_version: string, 556 git_commit: string, 557 built: string, # as RFC3339 558 os_arch: string, 559 remote_api_version: int 560 ) 561 562 # Reset resets Podman back to its initial state. 563 # Removes all Pods, Containers, Images and Volumes 564 method Reset() -> () 565 566 # GetInfo returns a [PodmanInfo](#PodmanInfo) struct that describes podman and its host such as storage stats, 567 # build information of Podman, and system-wide registries. 568 method GetInfo() -> (info: PodmanInfo) 569 570 # ListContainers returns information about all containers. 571 # See also [GetContainer](#GetContainer). 572 method ListContainers() -> (containers: []Container) 573 574 method Ps(opts: PsOpts) -> (containers: []PsContainer) 575 576 method GetContainersByStatus(status: []string) -> (containerS: []Container) 577 578 method Top (nameOrID: string, descriptors: []string) -> (top: []string) 579 580 # HealthCheckRun executes defined container's healthcheck command 581 # and returns the container's health status. 582 method HealthCheckRun (nameOrID: string) -> (healthCheckStatus: string) 583 584 # GetContainer returns information about a single container. If a container 585 # with the given id doesn't exist, a [ContainerNotFound](#ContainerNotFound) 586 # error will be returned. See also [ListContainers](ListContainers) and 587 # [InspectContainer](#InspectContainer). 588 method GetContainer(id: string) -> (container: Container) 589 590 # GetContainersByContext allows you to get a list of container ids depending on all, latest, or a list of 591 # container names. The definition of latest container means the latest by creation date. In a multi- 592 # user environment, results might differ from what you expect. 593 method GetContainersByContext(all: bool, latest: bool, args: []string) -> (containers: []string) 594 595 # CreateContainer creates a new container from an image. It uses a [Create](#Create) type for input. 596 method CreateContainer(create: Create) -> (container: string) 597 598 # InspectContainer data takes a name or ID of a container returns the inspection 599 # data in string format. You can then serialize the string into JSON. A [ContainerNotFound](#ContainerNotFound) 600 # error will be returned if the container cannot be found. See also [InspectImage](#InspectImage). 601 method InspectContainer(name: string) -> (container: string) 602 603 # ListContainerProcesses takes a name or ID of a container and returns the processes 604 # running inside the container as array of strings. It will accept an array of string 605 # arguments that represent ps options. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound) 606 # error will be returned. 607 # #### Example 608 # ~~~ 609 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ListContainerProcesses '{"name": "135d71b9495f", "opts": []}' 610 # { 611 # "container": [ 612 # " UID PID PPID C STIME TTY TIME CMD", 613 # " 0 21220 21210 0 09:05 pts/0 00:00:00 /bin/sh", 614 # " 0 21232 21220 0 09:05 pts/0 00:00:00 top", 615 # " 0 21284 21220 0 09:05 pts/0 00:00:00 vi /etc/hosts" 616 # ] 617 # } 618 # ~~~ 619 method ListContainerProcesses(name: string, opts: []string) -> (container: []string) 620 621 # GetContainerLogs takes a name or ID of a container and returns the logs of that container. 622 # If the container cannot be found, a [ContainerNotFound](#ContainerNotFound) error will be returned. 623 # The container logs are returned as an array of strings. GetContainerLogs will honor the streaming 624 # capability of varlink if the client invokes it. 625 method GetContainerLogs(name: string) -> (container: []string) 626 627 method GetContainersLogs(names: []string, follow: bool, latest: bool, since: string, tail: int, timestamps: bool) -> (log: LogLine) 628 629 # ListContainerChanges takes a name or ID of a container and returns changes between the container and 630 # its base image. It returns a struct of changed, deleted, and added path names. 631 method ListContainerChanges(name: string) -> (container: ContainerChanges) 632 633 # ExportContainer creates an image from a container. It takes the name or ID of a container and a 634 # path representing the target tarfile. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound) 635 # error will be returned. 636 # The return value is the written tarfile. 637 # #### Example 638 # ~~~ 639 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ExportContainer '{"name": "flamboyant_payne", "path": "/tmp/payne.tar" }' 640 # { 641 # "tarfile": "/tmp/payne.tar" 642 # } 643 # ~~~ 644 method ExportContainer(name: string, path: string) -> (tarfile: string) 645 646 # GetContainerStats takes the name or ID of a container and returns a single ContainerStats structure which 647 # contains attributes like memory and cpu usage. If the container cannot be found, a 648 # [ContainerNotFound](#ContainerNotFound) error will be returned. If the container is not running, a [NoContainerRunning](#NoContainerRunning) 649 # error will be returned 650 # #### Example 651 # ~~~ 652 # $ varlink call -m unix:/run/podman/io.podman/io.podman.GetContainerStats '{"name": "c33e4164f384"}' 653 # { 654 # "container": { 655 # "block_input": 0, 656 # "block_output": 0, 657 # "cpu": 2.571123918839990154678e-08, 658 # "cpu_nano": 49037378, 659 # "id": "c33e4164f384aa9d979072a63319d66b74fd7a128be71fa68ede24f33ec6cfee", 660 # "mem_limit": 33080606720, 661 # "mem_perc": 2.166828456524753747370e-03, 662 # "mem_usage": 716800, 663 # "name": "competent_wozniak", 664 # "net_input": 768, 665 # "net_output": 5910, 666 # "pids": 1, 667 # "system_nano": 10000000 668 # } 669 # } 670 # ~~~ 671 method GetContainerStats(name: string) -> (container: ContainerStats) 672 673 # GetContainerStatsWithHistory takes a previous set of container statistics and uses libpod functions 674 # to calculate the containers statistics based on current and previous measurements. 675 method GetContainerStatsWithHistory(previousStats: ContainerStats) -> (container: ContainerStats) 676 677 # This method has not be implemented yet. 678 # method ResizeContainerTty() -> (notimplemented: NotImplemented) 679 680 # StartContainer starts a created or stopped container. It takes the name or ID of container. It returns 681 # the container ID once started. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound) 682 # error will be returned. See also [CreateContainer](#CreateContainer). 683 method StartContainer(name: string) -> (container: string) 684 685 # StopContainer stops a container given a timeout. It takes the name or ID of a container as well as a 686 # timeout value. The timeout value the time before a forcible stop to the container is applied. It 687 # returns the container ID once stopped. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound) 688 # error will be returned instead. See also [KillContainer](KillContainer). 689 # #### Error 690 # ~~~ 691 # $ varlink call -m unix:/run/podman/io.podman/io.podman.StopContainer '{"name": "135d71b9495f", "timeout": 5}' 692 # { 693 # "container": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6" 694 # } 695 # ~~~ 696 method StopContainer(name: string, timeout: int) -> (container: string) 697 698 # InitContainer initializes the given container. It accepts a container name or 699 # ID, and will initialize the container matching that ID if possible, and error 700 # if not. Containers can only be initialized when they are in the Created or 701 # Exited states. Initialization prepares a container to be started, but does not 702 # start the container. It is intended to be used to debug a container's state 703 # prior to starting it. 704 method InitContainer(name: string) -> (container: string) 705 706 # RestartContainer will restart a running container given a container name or ID and timeout value. The timeout 707 # value is the time before a forcible stop is used to stop the container. If the container cannot be found by 708 # name or ID, a [ContainerNotFound](#ContainerNotFound) error will be returned; otherwise, the ID of the 709 # container will be returned. 710 method RestartContainer(name: string, timeout: int) -> (container: string) 711 712 # KillContainer takes the name or ID of a container as well as a signal to be applied to the container. Once the 713 # container has been killed, the container's ID is returned. If the container cannot be found, a 714 # [ContainerNotFound](#ContainerNotFound) error is returned. See also [StopContainer](StopContainer). 715 method KillContainer(name: string, signal: int) -> (container: string) 716 717 # This method has not be implemented yet. 718 # method UpdateContainer() -> (notimplemented: NotImplemented) 719 720 # This method has not be implemented yet. 721 # method RenameContainer() -> (notimplemented: NotImplemented) 722 723 # PauseContainer takes the name or ID of container and pauses it. If the container cannot be found, 724 # a [ContainerNotFound](#ContainerNotFound) error will be returned; otherwise the ID of the container is returned. 725 # See also [UnpauseContainer](#UnpauseContainer). 726 method PauseContainer(name: string) -> (container: string) 727 728 # UnpauseContainer takes the name or ID of container and unpauses a paused container. If the container cannot be 729 # found, a [ContainerNotFound](#ContainerNotFound) error will be returned; otherwise the ID of the container is returned. 730 # See also [PauseContainer](#PauseContainer). 731 method UnpauseContainer(name: string) -> (container: string) 732 733 # Attach takes the name or ID of a container and sets up the ability to remotely attach to its console. The start 734 # bool is whether you wish to start the container in question first. 735 method Attach(name: string, detachKeys: string, start: bool) -> () 736 737 method AttachControl(name: string) -> () 738 739 # GetAttachSockets takes the name or ID of an existing container. It returns file paths for two sockets needed 740 # to properly communicate with a container. The first is the actual I/O socket that the container uses. The 741 # second is a "control" socket where things like resizing the TTY events are sent. If the container cannot be 742 # found, a [ContainerNotFound](#ContainerNotFound) error will be returned. 743 # #### Example 744 # ~~~ 745 # $ varlink call -m unix:/run/io.podman/io.podman.GetAttachSockets '{"name": "b7624e775431219161"}' 746 # { 747 # "sockets": { 748 # "container_id": "b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca", 749 # "control_socket": "/var/lib/containers/storage/overlay-containers/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/userdata/ctl", 750 # "io_socket": "/var/run/libpod/socket/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/attach" 751 # } 752 # } 753 # ~~~ 754 method GetAttachSockets(name: string) -> (sockets: Sockets) 755 756 # WaitContainer takes the name or ID of a container and waits the given interval in milliseconds until the container 757 # stops. Upon stopping, the return code of the container is returned. If the container container cannot be found by ID 758 # or name, a [ContainerNotFound](#ContainerNotFound) error is returned. 759 method WaitContainer(name: string, interval: int) -> (exitcode: int) 760 761 # RemoveContainer requires the name or ID of a container as well as a boolean that 762 # indicates whether a container should be forcefully removed (e.g., by stopping it), and a boolean 763 # indicating whether to remove builtin volumes. Upon successful removal of the 764 # container, its ID is returned. If the 765 # container cannot be found by name or ID, a [ContainerNotFound](#ContainerNotFound) error will be returned. 766 # See also [EvictContainer](EvictContainer). 767 # #### Example 768 # ~~~ 769 # $ varlink call -m unix:/run/podman/io.podman/io.podman.RemoveContainer '{"name": "62f4fd98cb57"}' 770 # { 771 # "container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20" 772 # } 773 # ~~~ 774 method RemoveContainer(name: string, force: bool, removeVolumes: bool) -> (container: string) 775 776 # EvictContainer requires the name or ID of a container as well as a boolean that 777 # indicates to remove builtin volumes. Upon successful eviction of the container, 778 # its ID is returned. If the container cannot be found by name or ID, 779 # a [ContainerNotFound](#ContainerNotFound) error will be returned. 780 # See also [RemoveContainer](RemoveContainer). 781 # #### Example 782 # ~~~ 783 # $ varlink call -m unix:/run/podman/io.podman/io.podman.EvictContainer '{"name": "62f4fd98cb57"}' 784 # { 785 # "container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20" 786 # } 787 # ~~~ 788 method EvictContainer(name: string, removeVolumes: bool) -> (container: string) 789 790 # DeleteStoppedContainers will delete all containers that are not running. It will return a list the deleted 791 # container IDs. See also [RemoveContainer](RemoveContainer). 792 # #### Example 793 # ~~~ 794 # $ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteStoppedContainers 795 # { 796 # "containers": [ 797 # "451410b931d00def8aa9b4f8084e4d4a39e5e04ea61f358cf53a5cf95afcdcee", 798 # "8b60f754a3e01389494a9581ade97d35c2765b6e2f19acd2d3040c82a32d1bc0", 799 # "cf2e99d4d3cad6073df199ed32bbe64b124f3e1aba6d78821aa8460e70d30084", 800 # "db901a329587312366e5ecff583d08f0875b4b79294322df67d90fc6eed08fc1" 801 # ] 802 # } 803 # ~~~ 804 method DeleteStoppedContainers() -> (containers: []string) 805 806 # ListImages returns information about the images that are currently in storage. 807 # See also [InspectImage](#InspectImage). 808 method ListImages() -> (images: []Image) 809 810 # ListImagesWithFilters returns information about the images that are currently in storage 811 # after one or more filters has been applied. 812 # See also [InspectImage](#InspectImage). 813 method ListImagesWithFilters(filters: []string) -> (images: []Image) 814 815 # GetImage returns information about a single image in storage. 816 # If the image caGetImage returns be found, [ImageNotFound](#ImageNotFound) will be returned. 817 method GetImage(id: string) -> (image: Image) 818 819 # BuildImage takes a [BuildInfo](#BuildInfo) structure and builds an image. At a minimum, you must provide the 820 # contextDir tarball path, the 'dockerfiles' path, and 'output' option in the BuildInfo structure. The 'output' 821 # options is the name of the of the resulting build. It will return a [MoreResponse](#MoreResponse) structure 822 # that contains the build logs and resulting image ID. 823 # #### Example 824 # ~~~ 825 # $ sudo varlink call -m unix:///run/podman/io.podman/io.podman.BuildImage '{"build":{"contextDir":"/tmp/t/context.tar","dockerfiles":["Dockerfile"], "output":"foobar"}}' 826 # { 827 # "image": { 828 # "id": "", 829 # "logs": [ 830 # "STEP 1: FROM alpine\n" 831 # ] 832 # } 833 # } 834 # { 835 # "image": { 836 # "id": "", 837 # "logs": [ 838 # "STEP 2: COMMIT foobar\n" 839 # ] 840 # } 841 # } 842 # { 843 # "image": { 844 # "id": "", 845 # "logs": [ 846 # "b7b28af77ffec6054d13378df4fdf02725830086c7444d9c278af25312aa39b9\n" 847 # ] 848 # } 849 # } 850 # { 851 # "image": { 852 # "id": "b7b28af77ffec6054d13378df4fdf02725830086c7444d9c278af25312aa39b9", 853 # "logs": [] 854 # } 855 # } 856 # ~~~ 857 method BuildImage(build: BuildInfo) -> (image: MoreResponse) 858 859 # This function is not implemented yet. 860 # method CreateImage() -> (notimplemented: NotImplemented) 861 862 # InspectImage takes the name or ID of an image and returns a string representation of data associated with the 863 #image. You must serialize the string into JSON to use it further. An [ImageNotFound](#ImageNotFound) error will 864 # be returned if the image cannot be found. 865 method InspectImage(name: string) -> (image: string) 866 867 # HistoryImage takes the name or ID of an image and returns information about its history and layers. The returned 868 # history is in the form of an array of ImageHistory structures. If the image cannot be found, an 869 # [ImageNotFound](#ImageNotFound) error is returned. 870 method HistoryImage(name: string) -> (history: []ImageHistory) 871 872 # PushImage takes two input arguments: the name or ID of an image, the fully-qualified destination name of the image, 873 # It will return an [ImageNotFound](#ImageNotFound) error if 874 # the image cannot be found in local storage; otherwise it will return a [MoreResponse](#MoreResponse) 875 method PushImage(name: string, tag: string, compress: bool, format: string, removeSignatures: bool, signBy: string) -> (reply: MoreResponse) 876 877 # TagImage takes the name or ID of an image in local storage as well as the desired tag name. If the image cannot 878 # be found, an [ImageNotFound](#ImageNotFound) error will be returned; otherwise, the ID of the image is returned on success. 879 method TagImage(name: string, tagged: string) -> (image: string) 880 881 # UntagImage takes the name or ID of an image in local storage as well as the 882 # tag name to be removed. If the image cannot be found, an 883 # [ImageNotFound](#ImageNotFound) error will be returned; otherwise, the ID of 884 # the image is returned on success. 885 method UntagImage(name: string, tag: string) -> (image: string) 886 887 # RemoveImage takes the name or ID of an image as well as a boolean that determines if containers using that image 888 # should be deleted. If the image cannot be found, an [ImageNotFound](#ImageNotFound) error will be returned. The 889 # ID of the removed image is returned when complete. See also [DeleteUnusedImages](DeleteUnusedImages). 890 # #### Example 891 # ~~~ 892 # varlink call -m unix:/run/podman/io.podman/io.podman.RemoveImage '{"name": "registry.fedoraproject.org/fedora", "force": true}' 893 # { 894 # "image": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e" 895 # } 896 # ~~~ 897 method RemoveImage(name: string, force: bool) -> (image: string) 898 899 # RemoveImageWithResponse takes the name or ID of an image as well as a boolean that determines if containers using that image 900 # should be deleted. If the image cannot be found, an [ImageNotFound](#ImageNotFound) error will be returned. The response is 901 # in the form of a RemoveImageResponse . 902 method RemoveImageWithResponse(name: string, force: bool) -> (response: RemoveImageResponse) 903 904 # SearchImages searches available registries for images that contain the 905 # contents of "query" in their name. If "limit" is given, limits the amount of 906 # search results per registry. 907 method SearchImages(query: string, limit: ?int, filter: ImageSearchFilter) -> (results: []ImageSearchResult) 908 909 # DeleteUnusedImages deletes any images not associated with a container. The IDs of the deleted images are returned 910 # in a string array. 911 # #### Example 912 # ~~~ 913 # $ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteUnusedImages 914 # { 915 # "images": [ 916 # "166ea6588079559c724c15223f52927f514f73dd5c5cf2ae2d143e3b2e6e9b52", 917 # "da86e6ba6ca197bf6bc5e9d900febd906b133eaa4750e6bed647b0fbe50ed43e", 918 # "3ef70f7291f47dfe2b82931a993e16f5a44a0e7a68034c3e0e086d77f5829adc", 919 # "59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690" 920 # ] 921 # } 922 # ~~~ 923 method DeleteUnusedImages() -> (images: []string) 924 925 # Commit, creates an image from an existing container. It requires the name or 926 # ID of the container as well as the resulting image name. Optionally, you can define an author and message 927 # to be added to the resulting image. You can also define changes to the resulting image for the following 928 # attributes: _CMD, ENTRYPOINT, ENV, EXPOSE, LABEL, ONBUILD, STOPSIGNAL, USER, VOLUME, and WORKDIR_. To pause the 929 # container while it is being committed, pass a _true_ bool for the pause argument. If the container cannot 930 # be found by the ID or name provided, a (ContainerNotFound)[#ContainerNotFound] error will be returned; otherwise, 931 # the resulting image's ID will be returned as a string inside a MoreResponse. 932 method Commit(name: string, image_name: string, changes: []string, author: string, message: string, pause: bool, manifestType: string) -> (reply: MoreResponse) 933 934 # ImportImage imports an image from a source (like tarball) into local storage. The image can have additional 935 # descriptions added to it using the message and changes options. See also [ExportImage](ExportImage). 936 method ImportImage(source: string, reference: string, message: string, changes: []string, delete: bool) -> (image: string) 937 938 # ExportImage takes the name or ID of an image and exports it to a destination like a tarball. There is also 939 # a boolean option to force compression. It also takes in a string array of tags to be able to save multiple 940 # tags of the same image to a tarball (each tag should be of the form <image>:<tag>). Upon completion, the ID 941 # of the image is returned. If the image cannot be found in local storage, an [ImageNotFound](#ImageNotFound) 942 # error will be returned. See also [ImportImage](ImportImage). 943 method ExportImage(name: string, destination: string, compress: bool, tags: []string) -> (image: string) 944 945 # PullImage pulls an image from a repository to local storage. After a successful pull, the image id and logs 946 # are returned as a [MoreResponse](#MoreResponse). This connection also will handle a WantsMores request to send 947 # status as it occurs. 948 method PullImage(name: string, creds: AuthConfig) -> (reply: MoreResponse) 949 950 # CreatePod creates a new empty pod. It uses a [PodCreate](#PodCreate) type for input. 951 # On success, the ID of the newly created pod will be returned. 952 # #### Example 953 # ~~~ 954 # $ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"name": "test"}}' 955 # { 956 # "pod": "b05dee7bd4ccfee688099fe1588a7a898d6ddd6897de9251d4671c9b0feacb2a" 957 # } 958 # 959 # $ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"infra": true, "share": ["ipc", "net", "uts"]}}' 960 # { 961 # "pod": "d7697449a8035f613c1a8891286502aca68fff7d5d49a85279b3bda229af3b28" 962 # } 963 # ~~~ 964 method CreatePod(create: PodCreate) -> (pod: string) 965 966 # ListPods returns a list of pods in no particular order. They are 967 # returned as an array of ListPodData structs. See also [GetPod](#GetPod). 968 # #### Example 969 # ~~~ 970 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ListPods 971 # { 972 # "pods": [ 973 # { 974 # "cgroup": "machine.slice", 975 # "containersinfo": [ 976 # { 977 # "id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45", 978 # "name": "1840835294cf-infra", 979 # "status": "running" 980 # }, 981 # { 982 # "id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6", 983 # "name": "upbeat_murdock", 984 # "status": "running" 985 # } 986 # ], 987 # "createdat": "2018-12-07 13:10:15.014139258 -0600 CST", 988 # "id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f", 989 # "name": "foobar", 990 # "numberofcontainers": "2", 991 # "status": "Running" 992 # }, 993 # { 994 # "cgroup": "machine.slice", 995 # "containersinfo": [ 996 # { 997 # "id": "1ca4b7bbba14a75ba00072d4b705c77f3df87db0109afaa44d50cb37c04a477e", 998 # "name": "784306f655c6-infra", 999 # "status": "running" 1000 # } 1001 # ], 1002 # "createdat": "2018-12-07 13:09:57.105112457 -0600 CST", 1003 # "id": "784306f655c6200aea321dd430ba685e9b2cc1f7d7528a72f3ff74ffb29485a2", 1004 # "name": "nostalgic_pike", 1005 # "numberofcontainers": "1", 1006 # "status": "Running" 1007 # } 1008 # ] 1009 # } 1010 # ~~~ 1011 method ListPods() -> (pods: []ListPodData) 1012 1013 # GetPod takes a name or ID of a pod and returns single [ListPodData](#ListPodData) 1014 # structure. A [PodNotFound](#PodNotFound) error will be returned if the pod cannot be found. 1015 # See also [ListPods](ListPods). 1016 # #### Example 1017 # ~~~ 1018 # $ varlink call -m unix:/run/podman/io.podman/io.podman.GetPod '{"name": "foobar"}' 1019 # { 1020 # "pod": { 1021 # "cgroup": "machine.slice", 1022 # "containersinfo": [ 1023 # { 1024 # "id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45", 1025 # "name": "1840835294cf-infra", 1026 # "status": "running" 1027 # }, 1028 # { 1029 # "id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6", 1030 # "name": "upbeat_murdock", 1031 # "status": "running" 1032 # } 1033 # ], 1034 # "createdat": "2018-12-07 13:10:15.014139258 -0600 CST", 1035 # "id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f", 1036 # "name": "foobar", 1037 # "numberofcontainers": "2", 1038 # "status": "Running" 1039 # } 1040 # } 1041 # ~~~ 1042 method GetPod(name: string) -> (pod: ListPodData) 1043 1044 # InspectPod takes the name or ID of an image and returns a string representation of data associated with the 1045 # pod. You must serialize the string into JSON to use it further. A [PodNotFound](#PodNotFound) error will 1046 # be returned if the pod cannot be found. 1047 method InspectPod(name: string) -> (pod: string) 1048 1049 # StartPod starts containers in a pod. It takes the name or ID of pod. If the pod cannot be found, a [PodNotFound](#PodNotFound) 1050 # error will be returned. Containers in a pod are started independently. If there is an error starting one container, the ID of those containers 1051 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1052 # If the pod was started with no errors, the pod ID is returned. 1053 # See also [CreatePod](#CreatePod). 1054 # #### Example 1055 # ~~~ 1056 # $ varlink call -m unix:/run/podman/io.podman/io.podman.StartPod '{"name": "135d71b9495f"}' 1057 # { 1058 # "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6", 1059 # } 1060 # ~~~ 1061 method StartPod(name: string) -> (pod: string) 1062 1063 # StopPod stops containers in a pod. It takes the name or ID of a pod and a timeout. 1064 # If the pod cannot be found, a [PodNotFound](#PodNotFound) error will be returned instead. 1065 # Containers in a pod are stopped independently. If there is an error stopping one container, the ID of those containers 1066 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1067 # If the pod was stopped with no errors, the pod ID is returned. 1068 # See also [KillPod](KillPod). 1069 # #### Example 1070 # ~~~ 1071 # $ varlink call -m unix:/run/podman/io.podman/io.podman.StopPod '{"name": "135d71b9495f"}' 1072 # { 1073 # "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6" 1074 # } 1075 # ~~~ 1076 method StopPod(name: string, timeout: int) -> (pod: string) 1077 1078 # RestartPod will restart containers in a pod given a pod name or ID. Containers in 1079 # the pod that are running will be stopped, then all stopped containers will be run. 1080 # If the pod cannot be found by name or ID, a [PodNotFound](#PodNotFound) error will be returned. 1081 # Containers in a pod are restarted independently. If there is an error restarting one container, the ID of those containers 1082 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1083 # If the pod was restarted with no errors, the pod ID is returned. 1084 # #### Example 1085 # ~~~ 1086 # $ varlink call -m unix:/run/podman/io.podman/io.podman.RestartPod '{"name": "135d71b9495f"}' 1087 # { 1088 # "pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6" 1089 # } 1090 # ~~~ 1091 method RestartPod(name: string) -> (pod: string) 1092 1093 # 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 1094 # [PodNotFound](#PodNotFound) error is returned. 1095 # Containers in a pod are killed independently. If there is an error killing one container, the ID of those containers 1096 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1097 # If the pod was killed with no errors, the pod ID is returned. 1098 # See also [StopPod](StopPod). 1099 # #### Example 1100 # ~~~ 1101 # $ varlink call -m unix:/run/podman/io.podman/io.podman.KillPod '{"name": "foobar", "signal": 15}' 1102 # { 1103 # "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f" 1104 # } 1105 # ~~~ 1106 method KillPod(name: string, signal: int) -> (pod: string) 1107 1108 # PausePod takes the name or ID of a pod and pauses the running containers associated with it. If the pod cannot be found, 1109 # a [PodNotFound](#PodNotFound) error will be returned. 1110 # Containers in a pod are paused independently. If there is an error pausing one container, the ID of those containers 1111 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1112 # If the pod was paused with no errors, the pod ID is returned. 1113 # See also [UnpausePod](#UnpausePod). 1114 # #### Example 1115 # ~~~ 1116 # $ varlink call -m unix:/run/podman/io.podman/io.podman.PausePod '{"name": "foobar"}' 1117 # { 1118 # "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f" 1119 # } 1120 # ~~~ 1121 method PausePod(name: string) -> (pod: string) 1122 1123 # UnpausePod takes the name or ID of a pod and unpauses the paused containers associated with it. If the pod cannot be 1124 # found, a [PodNotFound](#PodNotFound) error will be returned. 1125 # Containers in a pod are unpaused independently. If there is an error unpausing one container, the ID of those containers 1126 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1127 # If the pod was unpaused with no errors, the pod ID is returned. 1128 # See also [PausePod](#PausePod). 1129 # #### Example 1130 # ~~~ 1131 # $ varlink call -m unix:/run/podman/io.podman/io.podman.UnpausePod '{"name": "foobar"}' 1132 # { 1133 # "pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f" 1134 # } 1135 # ~~~ 1136 method UnpausePod(name: string) -> (pod: string) 1137 1138 # RemovePod takes the name or ID of a pod as well a boolean representing whether a running 1139 # container in the pod can be stopped and removed. If a pod has containers associated with it, and force is not true, 1140 # an error will occur. 1141 # If the pod cannot be found by name or ID, a [PodNotFound](#PodNotFound) error will be returned. 1142 # Containers in a pod are removed independently. If there is an error removing any container, the ID of those containers 1143 # will be returned in a list, along with the ID of the pod in a [PodContainerError](#PodContainerError). 1144 # If the pod was removed with no errors, the pod ID is returned. 1145 # #### Example 1146 # ~~~ 1147 # $ varlink call -m unix:/run/podman/io.podman/io.podman.RemovePod '{"name": "62f4fd98cb57", "force": "true"}' 1148 # { 1149 # "pod": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20" 1150 # } 1151 # ~~~ 1152 method RemovePod(name: string, force: bool) -> (pod: string) 1153 1154 # This method has not be implemented yet. 1155 # method WaitPod() -> (notimplemented: NotImplemented) 1156 1157 method TopPod(pod: string, latest: bool, descriptors: []string) -> (stats: []string) 1158 1159 # GetPodStats takes the name or ID of a pod and returns a pod name and slice of ContainerStats structure which 1160 # contains attributes like memory and cpu usage. If the pod cannot be found, a [PodNotFound](#PodNotFound) 1161 # error will be returned. If the pod has no running containers associated with it, a [NoContainerRunning](#NoContainerRunning) 1162 # error will be returned. 1163 # #### Example 1164 # ~~~ 1165 # $ varlink call unix:/run/podman/io.podman/io.podman.GetPodStats '{"name": "7f62b508b6f12b11d8fe02e"}' 1166 # { 1167 # "containers": [ 1168 # { 1169 # "block_input": 0, 1170 # "block_output": 0, 1171 # "cpu": 2.833470544016107524276e-08, 1172 # "cpu_nano": 54363072, 1173 # "id": "a64b51f805121fe2c5a3dc5112eb61d6ed139e3d1c99110360d08b58d48e4a93", 1174 # "mem_limit": 12276146176, 1175 # "mem_perc": 7.974359265237864966003e-03, 1176 # "mem_usage": 978944, 1177 # "name": "quirky_heisenberg", 1178 # "net_input": 866, 1179 # "net_output": 7388, 1180 # "pids": 1, 1181 # "system_nano": 20000000 1182 # } 1183 # ], 1184 # "pod": "7f62b508b6f12b11d8fe02e0db4de6b9e43a7d7699b33a4fc0d574f6e82b4ebd" 1185 # } 1186 # ~~~ 1187 method GetPodStats(name: string) -> (pod: string, containers: []ContainerStats) 1188 1189 # GetPodsByStatus searches for pods whose status is included in statuses 1190 method GetPodsByStatus(statuses: []string) -> (pods: []string) 1191 1192 # ImageExists talks a full or partial image ID or name and returns an int as to whether 1193 # the image exists in local storage. An int result of 0 means the image does exist in 1194 # local storage; whereas 1 indicates the image does not exists in local storage. 1195 # #### Example 1196 # ~~~ 1197 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ImageExists '{"name": "imageddoesntexist"}' 1198 # { 1199 # "exists": 1 1200 # } 1201 # ~~~ 1202 method ImageExists(name: string) -> (exists: int) 1203 1204 # ImageTree returns the image tree for the provided image name or ID 1205 # #### Example 1206 # ~~~ 1207 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ImageTree '{"name": "alpine"}' 1208 # { 1209 # "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" 1210 # } 1211 # ~~~ 1212 method ImageTree(name: string, whatRequires: bool) -> (tree: string) 1213 1214 # ContainerExists takes a full or partial container ID or name and returns an int as to 1215 # whether the container exists in local storage. A result of 0 means the container does 1216 # exists; whereas a result of 1 means it could not be found. 1217 # #### Example 1218 # ~~~ 1219 # $ varlink call -m unix:/run/podman/io.podman/io.podman.ContainerExists '{"name": "flamboyant_payne"}'{ 1220 # "exists": 0 1221 # } 1222 # ~~~ 1223 method ContainerExists(name: string) -> (exists: int) 1224 1225 # ContainerCheckPoint performs a checkpopint on a container by its name or full/partial container 1226 # ID. On successful checkpoint, the id of the checkpointed container is returned. 1227 method ContainerCheckpoint(name: string, keep: bool, leaveRunning: bool, tcpEstablished: bool) -> (id: string) 1228 1229 # ContainerRestore restores a container that has been checkpointed. The container to be restored can 1230 # be identified by its name or full/partial container ID. A successful restore will result in the return 1231 # of the container's ID. 1232 method ContainerRestore(name: string, keep: bool, tcpEstablished: bool) -> (id: string) 1233 1234 # ContainerRunlabel runs executes a command as described by a given container image label. 1235 method ContainerRunlabel(runlabel: Runlabel) -> () 1236 1237 # ExecContainer executes a command in the given container. 1238 method ExecContainer(opts: ExecOpts) -> () 1239 1240 # ListContainerMounts gathers all the mounted container mount points and returns them as an array 1241 # of strings 1242 # #### Example 1243 # ~~~ 1244 # $ varlink call unix:/run/podman/io.podman/io.podman.ListContainerMounts 1245 # { 1246 # "mounts": { 1247 # "04e4c255269ed2545e7f8bd1395a75f7949c50c223415c00c1d54bfa20f3b3d9": "/var/lib/containers/storage/overlay/a078925828f57e20467ca31cfca8a849210d21ec7e5757332b72b6924f441c17/merged", 1248 # "1d58c319f9e881a644a5122ff84419dccf6d138f744469281446ab243ef38924": "/var/lib/containers/storage/overlay/948fcf93f8cb932f0f03fd52e3180a58627d547192ffe3b88e0013b98ddcd0d2/merged" 1249 # } 1250 # } 1251 # ~~~ 1252 method ListContainerMounts() -> (mounts: [string]string) 1253 1254 # MountContainer mounts a container by name or full/partial ID. Upon a successful mount, the destination 1255 # mount is returned as a string. 1256 # #### Example 1257 # ~~~ 1258 # $ varlink call -m unix:/run/podman/io.podman/io.podman.MountContainer '{"name": "jolly_shannon"}'{ 1259 # "path": "/var/lib/containers/storage/overlay/419eeb04e783ea159149ced67d9fcfc15211084d65e894792a96bedfae0470ca/merged" 1260 # } 1261 # ~~~ 1262 method MountContainer(name: string) -> (path: string) 1263 1264 # UnmountContainer umounts a container by its name or full/partial container ID. 1265 # #### Example 1266 # ~~~ 1267 # $ varlink call -m unix:/run/podman/io.podman/io.podman.UnmountContainer '{"name": "jolly_shannon", "force": false}' 1268 # {} 1269 # ~~~ 1270 method UnmountContainer(name: string, force: bool) -> () 1271 1272 # ImagesPrune removes all unused images from the local store. Upon successful pruning, 1273 # the IDs of the removed images are returned. 1274 method ImagesPrune(all: bool, filter: []string) -> (pruned: []string) 1275 1276 # This function is not implemented yet. 1277 # method ListContainerPorts(name: string) -> (notimplemented: NotImplemented) 1278 1279 # GenerateKube generates a Kubernetes v1 Pod description of a Podman container or pod 1280 # and its containers. The description is in YAML. See also [ReplayKube](ReplayKube). 1281 method GenerateKube(name: string, service: bool) -> (pod: KubePodService) 1282 1283 # ReplayKube recreates a pod and its containers based on a Kubernetes v1 Pod description (in YAML) 1284 # like that created by GenerateKube. See also [GenerateKube](GenerateKube). 1285 # method ReplayKube() -> (notimplemented: NotImplemented) 1286 1287 # ContainerConfig returns a container's config in string form. This call is for 1288 # development of Podman only and generally should not be used. 1289 method ContainerConfig(name: string) -> (config: string) 1290 1291 # ContainerArtifacts returns a container's artifacts in string form. This call is for 1292 # development of Podman only and generally should not be used. 1293 method ContainerArtifacts(name: string, artifactName: string) -> (config: string) 1294 1295 # ContainerInspectData returns a container's inspect data in string form. This call is for 1296 # development of Podman only and generally should not be used. 1297 method ContainerInspectData(name: string, size: bool) -> (config: string) 1298 1299 # ContainerStateData returns a container's state config in string form. This call is for 1300 # development of Podman only and generally should not be used. 1301 method ContainerStateData(name: string) -> (config: string) 1302 1303 # PodStateData returns inspectr level information of a given pod in string form. This call is for 1304 # development of Podman only and generally should not be used. 1305 method PodStateData(name: string) -> (config: string) 1306 1307 # This call is for the development of Podman only and should not be used. 1308 method CreateFromCC(in: []string) -> (id: string) 1309 1310 # Spec returns the oci spec for a container. This call is for development of Podman only and generally should not be used. 1311 method Spec(name: string) -> (config: string) 1312 1313 # Sendfile allows a remote client to send a file to the host 1314 method SendFile(type: string, length: int) -> (file_handle: string) 1315 1316 # ReceiveFile allows the host to send a remote client a file 1317 method ReceiveFile(path: string, delete: bool) -> (len: int) 1318 1319 # VolumeCreate creates a volume on a remote host 1320 method VolumeCreate(options: VolumeCreateOpts) -> (volumeName: string) 1321 1322 # VolumeRemove removes a volume on a remote host 1323 method VolumeRemove(options: VolumeRemoveOpts) -> (successes: []string, failures: [string]string) 1324 1325 # GetVolumes gets slice of the volumes on a remote host 1326 method GetVolumes(args: []string, all: bool) -> (volumes: []Volume) 1327 1328 # InspectVolume inspects a single volume. Returns inspect JSON in the form of a 1329 # string. 1330 method InspectVolume(name: string) -> (volume: string) 1331 1332 # VolumesPrune removes unused volumes on the host 1333 method VolumesPrune() -> (prunedNames: []string, prunedErrors: []string) 1334 1335 # ImageSave allows you to save an image from the local image storage to a tarball 1336 method ImageSave(options: ImageSaveOptions) -> (reply: MoreResponse) 1337 1338 # GetPodsByContext allows you to get a list pod ids depending on all, latest, or a list of 1339 # pod names. The definition of latest pod means the latest by creation date. In a multi- 1340 # user environment, results might differ from what you expect. 1341 method GetPodsByContext(all: bool, latest: bool, args: []string) -> (pods: []string) 1342 1343 # LoadImage allows you to load an image into local storage from a tarball. 1344 method LoadImage(name: string, inputFile: string, quiet: bool, deleteFile: bool) -> (reply: MoreResponse) 1345 1346 # GetEvents returns known libpod events filtered by the options provided. 1347 method GetEvents(filter: []string, since: string, until: string) -> (events: Event) 1348 1349 # Diff returns a diff between libpod objects 1350 method Diff(name: string) -> (diffs: []DiffInfo) 1351 1352 # GetLayersMapWithImageInfo is for the development of Podman and should not be used. 1353 method GetLayersMapWithImageInfo() -> (layerMap: string) 1354 1355 # BuildImageHierarchyMap is for the development of Podman and should not be used. 1356 method BuildImageHierarchyMap(name: string) -> (imageInfo: string) 1357 1358 # ImageNotFound means the image could not be found by the provided name or ID in local storage. 1359 error ImageNotFound (id: string, reason: string) 1360 1361 # ContainerNotFound means the container could not be found by the provided name or ID in local storage. 1362 error ContainerNotFound (id: string, reason: string) 1363 1364 # NoContainerRunning means none of the containers requested are running in a command that requires a running container. 1365 error NoContainerRunning () 1366 1367 # PodNotFound means the pod could not be found by the provided name or ID in local storage. 1368 error PodNotFound (name: string, reason: string) 1369 1370 # VolumeNotFound means the volume could not be found by the name or ID in local storage. 1371 error VolumeNotFound (id: string, reason: string) 1372 1373 # PodContainerError means a container associated with a pod failed to perform an operation. It contains 1374 # a container ID of the container that failed. 1375 error PodContainerError (podname: string, errors: []PodContainerErrorData) 1376 1377 # NoContainersInPod means a pod has no containers on which to perform the operation. It contains 1378 # the pod ID. 1379 error NoContainersInPod (name: string) 1380 1381 # InvalidState indicates that a container or pod was in an improper state for the requested operation 1382 error InvalidState (id: string, reason: string) 1383 1384 # ErrorOccurred is a generic error for an error that occurs during the execution. The actual error message 1385 # is includes as part of the error's text. 1386 error ErrorOccurred (reason: string) 1387 1388 # RuntimeErrors generally means a runtime could not be found or gotten. 1389 error RuntimeError (reason: string) 1390 1391 # The Podman endpoint requires that you use a streaming connection. 1392 error WantsMoreRequired (reason: string) 1393 1394 # Container is already stopped 1395 error ErrCtrStopped (id: string) 1396 1397 # This function requires CGroupsV2 to run in rootless mode. 1398 error ErrRequiresCgroupsV2ForRootless(reason: string)