summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorumohnani8 <umohnani@redhat.com>2018-05-21 13:53:19 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-05-25 15:15:47 +0000
commitc8b72e57a75262c0edeea839e9e34bb0c3e03d13 (patch)
tree3a2bb7210d309e358bfe84a0ab0f60e57b9f2e2f
parent0a4ade1c175d3188ad55d22d751a86c96e060a44 (diff)
downloadpodman-c8b72e57a75262c0edeea839e9e34bb0c3e03d13.tar.gz
podman-c8b72e57a75262c0edeea839e9e34bb0c3e03d13.tar.bz2
podman-c8b72e57a75262c0edeea839e9e34bb0c3e03d13.zip
save and load should support multi-tag for docker-archive
The docker-archive tar files can have multiple tags for the same image stored in it. Load pulls all the tags found in the archive when loading a tar file. Save can oush multiple tags of the same image to a tar archive. Signed-off-by: umohnani8 <umohnani@redhat.com> Closes: #819 Approved by: rhatdan
-rwxr-xr-xAPI.md8
-rw-r--r--cmd/podman/load.go22
-rw-r--r--cmd/podman/pull.go28
-rw-r--r--cmd/podman/push.go2
-rw-r--r--cmd/podman/save.go34
-rw-r--r--cmd/podman/varlink/io.projectatomic.podman.varlink8
-rw-r--r--cmd/podman/varlink/ioprojectatomicpodman.go1827
-rw-r--r--libpod/image/docker_registry_options.go8
-rw-r--r--libpod/image/image.go43
-rw-r--r--libpod/image/pull.go41
-rw-r--r--libpod/image/utils.go23
-rw-r--r--pkg/varlinkapi/images.go14
-rw-r--r--test/e2e/libpod_suite_test.go4
-rw-r--r--test/e2e/load_test.go28
14 files changed, 1114 insertions, 976 deletions
diff --git a/API.md b/API.md
index a722918f1..22c7922c8 100755
--- a/API.md
+++ b/API.md
@@ -19,7 +19,7 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[func ExportContainer(name: string, path: string) string](#ExportContainer)
-[func ExportImage(name: string, destination: string, compress: bool) string](#ExportImage)
+[func ExportImage(name: string, destination: string, compress: bool, tags: []string) string](#ExportImage)
[func GetAttachSockets(name: string) Sockets](#GetAttachSockets)
@@ -190,9 +190,11 @@ The return value is the written tarfile.
### <a name="ExportImage"></a>func ExportImage
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
-method ExportImage(name: [string](https://godoc.org/builtin#string), destination: [string](https://godoc.org/builtin#string), compress: [bool](https://godoc.org/builtin#bool)) [string](https://godoc.org/builtin#string)</div>
+method ExportImage(name: [string](https://godoc.org/builtin#string), destination: [string](https://godoc.org/builtin#string), compress: [bool](https://godoc.org/builtin#bool), tags: [[]string](#[]string)) [string](https://godoc.org/builtin#string)</div>
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
+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 <image>:<tag>). Upon completion, the ID
+of the image is returned. If the image cannot
be found in local storage, an [ImageNotFound](#ImageNotFound) error will be returned. See also [ImportImage](ImportImage).
### <a name="GetAttachSockets"></a>func GetAttachSockets
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
diff --git a/cmd/podman/load.go b/cmd/podman/load.go
index 2f66df7c8..ab3cc29b8 100644
--- a/cmd/podman/load.go
+++ b/cmd/podman/load.go
@@ -9,7 +9,7 @@ import (
"github.com/pkg/errors"
"github.com/projectatomic/libpod/cmd/podman/libpodruntime"
"github.com/projectatomic/libpod/libpod"
- libpodImage "github.com/projectatomic/libpod/libpod/image"
+ "github.com/projectatomic/libpod/libpod/image"
"github.com/urfave/cli"
)
@@ -105,22 +105,34 @@ func loadCmd(c *cli.Context) error {
ctx := getContext()
src := libpod.DockerArchive + ":" + input
- newImage, err := runtime.ImageRuntime().New(ctx, src, c.String("signature-policy"), "", writer, &libpodImage.DockerRegistryOptions{}, libpodImage.SigningOptions{}, false, false)
+ newImages, err := runtime.ImageRuntime().LoadFromArchive(ctx, src, c.String("signature-policy"), writer)
if err != nil {
// generate full src name with specified image:tag
fullSrc := libpod.OCIArchive + ":" + input
if image != "" {
fullSrc = fullSrc + ":" + image
}
- newImage, err = runtime.ImageRuntime().New(ctx, fullSrc, c.String("signature-policy"), "", writer, &libpodImage.DockerRegistryOptions{}, libpodImage.SigningOptions{}, false, false)
+ newImages, err = runtime.ImageRuntime().LoadFromArchive(ctx, fullSrc, c.String("signature-policy"), writer)
if err != nil {
src = libpod.DirTransport + ":" + input
- newImage, err = runtime.ImageRuntime().New(ctx, src, c.String("signature-policy"), "", writer, &libpodImage.DockerRegistryOptions{}, libpodImage.SigningOptions{}, false, false)
+ newImages, err = runtime.ImageRuntime().LoadFromArchive(ctx, src, c.String("signature-policy"), writer)
if err != nil {
return errors.Wrapf(err, "error pulling %q", src)
}
}
}
- fmt.Println("Loaded image: ", newImage.InputName)
+ fmt.Println("Loaded image(s): " + getImageNames(newImages))
return nil
}
+
+func getImageNames(images []*image.Image) string {
+ var names string
+ for i := range images {
+ if i == 0 {
+ names = images[i].InputName
+ } else {
+ names += ", " + images[i].InputName
+ }
+ }
+ return names
+}
diff --git a/cmd/podman/pull.go b/cmd/podman/pull.go
index 521492dc5..a1e99fce2 100644
--- a/cmd/podman/pull.go
+++ b/cmd/podman/pull.go
@@ -1,14 +1,15 @@
package main
import (
+ "fmt"
"io"
"os"
-
- "fmt"
+ "strings"
"github.com/containers/image/types"
"github.com/pkg/errors"
"github.com/projectatomic/libpod/cmd/podman/libpodruntime"
+ "github.com/projectatomic/libpod/libpod"
image2 "github.com/projectatomic/libpod/libpod/image"
"github.com/projectatomic/libpod/pkg/util"
"github.com/sirupsen/logrus"
@@ -90,7 +91,10 @@ func pullCmd(c *cli.Context) error {
registryCreds = creds
}
- var writer io.Writer
+ var (
+ writer io.Writer
+ imgID string
+ )
if !c.Bool("quiet") {
writer = os.Stderr
}
@@ -104,13 +108,23 @@ func pullCmd(c *cli.Context) error {
forceSecure = c.Bool("tls-verify")
}
- newImage, err := runtime.ImageRuntime().New(getContext(), image, c.String("signature-policy"), c.String("authfile"), writer, &dockerRegistryOptions, image2.SigningOptions{}, true, forceSecure)
- if err != nil {
- return errors.Wrapf(err, "error pulling image %q", image)
+ // Possible for docker-archive to have multiple tags, so use NewFromLoad instead
+ if strings.Contains(image, libpod.DockerArchive) {
+ newImage, err := runtime.ImageRuntime().LoadFromArchive(getContext(), image, c.String("signature-policy"), writer)
+ if err != nil {
+ return errors.Wrapf(err, "error pulling image from %q", image)
+ }
+ imgID = newImage[0].ID()
+ } else {
+ newImage, err := runtime.ImageRuntime().New(getContext(), image, c.String("signature-policy"), c.String("authfile"), writer, &dockerRegistryOptions, image2.SigningOptions{}, true, forceSecure)
+ if err != nil {
+ return errors.Wrapf(err, "error pulling image %q", image)
+ }
+ imgID = newImage.ID()
}
// Intentionally choosing to ignore if there is an error because
// outputting the image ID is a NTH and not integral to the pull
- fmt.Println(newImage.ID())
+ fmt.Println(imgID)
return nil
}
diff --git a/cmd/podman/push.go b/cmd/podman/push.go
index 94af93407..caec080de 100644
--- a/cmd/podman/push.go
+++ b/cmd/podman/push.go
@@ -165,5 +165,5 @@ func pushCmd(c *cli.Context) error {
}
//return runtime.PushImage(srcName, destName, options)
- return newImage.PushImage(getContext(), destName, manifestType, c.String("authfile"), c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure)
+ return newImage.PushImage(getContext(), destName, manifestType, c.String("authfile"), c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure, nil)
}
diff --git a/cmd/podman/save.go b/cmd/podman/save.go
index 32ac37f89..2f9adc843 100644
--- a/cmd/podman/save.go
+++ b/cmd/podman/save.go
@@ -5,6 +5,7 @@ import (
"os"
"strings"
+ "github.com/containers/image/docker/reference"
"github.com/containers/image/manifest"
imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/pkg/errors"
@@ -109,24 +110,29 @@ func saveCmd(c *cli.Context) error {
return errors.Errorf("unknown format option %q", c.String("format"))
}
- // only one image is supported for now
- // future pull requests will fix this
- for _, image := range args {
- newImage, err := runtime.ImageRuntime().NewFromLocal(image)
+ // supports saving multiple tags to the same tar archive
+ var additionaltags []reference.NamedTagged
+ if len(args) > 1 {
+ additionaltags, err = libpodImage.GetAdditionalTags(args[1:])
if err != nil {
return err
}
- dest := dst
- // need dest to be in the format transport:path:reference for the following transports
- if (strings.Contains(dst, libpod.OCIArchive) || strings.Contains(dst, libpod.DockerArchive)) && !strings.Contains(newImage.ID(), image) {
- dest = dst + ":" + image
- }
- if err := newImage.PushImage(getContext(), dest, manifestType, "", "", writer, c.Bool("compress"), libpodImage.SigningOptions{}, &libpodImage.DockerRegistryOptions{}, false); err != nil {
- if err2 := os.Remove(output); err2 != nil {
- logrus.Errorf("error deleting %q: %v", output, err)
- }
- return errors.Wrapf(err, "unable to save %q", image)
+ }
+ newImage, err := runtime.ImageRuntime().NewFromLocal(args[0])
+ if err != nil {
+ return err
+ }
+ dest := dst
+ // need dest to be in the format transport:path:reference for the following transports
+ if (strings.Contains(dst, libpod.OCIArchive) || strings.Contains(dst, libpod.DockerArchive)) && !strings.Contains(newImage.ID(), args[0]) {
+ dest = dst + ":" + args[0]
+ }
+ if err := newImage.PushImage(getContext(), dest, manifestType, "", "", writer, c.Bool("compress"), libpodImage.SigningOptions{}, &libpodImage.DockerRegistryOptions{}, false, additionaltags); err != nil {
+ if err2 := os.Remove(output); err2 != nil {
+ logrus.Errorf("error deleting %q: %v", output, err)
}
+ return errors.Wrapf(err, "unable to save %q", args)
}
+
return nil
}
diff --git a/cmd/podman/varlink/io.projectatomic.podman.varlink b/cmd/podman/varlink/io.projectatomic.podman.varlink
index f7b54cf1c..b120edfa2 100644
--- a/cmd/podman/varlink/io.projectatomic.podman.varlink
+++ b/cmd/podman/varlink/io.projectatomic.podman.varlink
@@ -542,9 +542,11 @@ method Commit(name: string, image_name: string, changes: []string, author: strin
method ImportImage(source: string, reference: string, message: string, changes: []string) -> (image: string)
# ExportImage takes the name or ID of an image and exports it to a destination like a tarball. There is also
-# a boolean option to force compression. Upon completion, the ID of the image is returned. If the image cannot
-# be found in local storage, an [ImageNotFound](#ImageNotFound) error will be returned. See also [ImportImage](ImportImage).
-method ExportImage(name: string, destination: string, compress: bool) -> (image: string)
+# 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 <image>:<tag>). Upon completion, the ID
+# of the image is returned. If the image cannot be found in local storage, an [ImageNotFound](#ImageNotFound)
+# error will be returned. See also [ImportImage](ImportImage).
+method ExportImage(name: string, destination: string, compress: bool, tags: []string) -> (image: string)
# PullImage pulls an image from a repository to local storage. After the pull is successful, the ID of the image
# is returned.
diff --git a/cmd/podman/varlink/ioprojectatomicpodman.go b/cmd/podman/varlink/ioprojectatomicpodman.go
index 19226ebd4..89e213991 100644
--- a/cmd/podman/varlink/ioprojectatomicpodman.go
+++ b/cmd/podman/varlink/ioprojectatomicpodman.go
@@ -4,17 +4,13 @@ package ioprojectatomicpodman
import "github.com/varlink/go/varlink"
// Type declarations
-type InfoHost struct {
- Mem_free int64 `json:"mem_free"`
- Mem_total int64 `json:"mem_total"`
- Swap_free int64 `json:"swap_free"`
- Swap_total int64 `json:"swap_total"`
- Arch string `json:"arch"`
- Cpus int64 `json:"cpus"`
- Hostname string `json:"hostname"`
- Kernel string `json:"kernel"`
- Os string `json:"os"`
- Uptime string `json:"uptime"`
+type ImageHistory struct {
+ Id string `json:"id"`
+ Created string `json:"created"`
+ CreatedBy string `json:"createdBy"`
+ Tags []string `json:"tags"`
+ Size int64 `json:"size"`
+ Comment string `json:"comment"`
}
type InfoStore struct {
@@ -27,12 +23,83 @@ type InfoStore struct {
Run_root string `json:"run_root"`
}
-type Version struct {
- Version string `json:"version"`
- Go_version string `json:"go_version"`
- Git_commit string `json:"git_commit"`
- Built int64 `json:"built"`
- Os_arch string `json:"os_arch"`
+type InfoPodmanBinary struct {
+ Compiler string `json:"compiler"`
+ Go_version string `json:"go_version"`
+ Podman_version string `json:"podman_version"`
+ Git_commit string `json:"git_commit"`
+}
+
+type PodmanInfo struct {
+ Host InfoHost `json:"host"`
+ Registries []string `json:"registries"`
+ Insecure_registries []string `json:"insecure_registries"`
+ Store InfoStore `json:"store"`
+ Podman InfoPodmanBinary `json:"podman"`
+}
+
+type ContainerNameSpace struct {
+ User string `json:"user"`
+ Uts string `json:"uts"`
+ Pidns string `json:"pidns"`
+ Pid string `json:"pid"`
+ Cgroup string `json:"cgroup"`
+ Net string `json:"net"`
+ Mnt string `json:"mnt"`
+ Ipc string `json:"ipc"`
+}
+
+type Sockets struct {
+ Container_id string `json:"container_id"`
+ Io_socket string `json:"io_socket"`
+ Control_socket string `json:"control_socket"`
+}
+
+type CreateResourceConfig struct {
+ Blkio_weight int64 `json:"blkio_weight"`
+ Blkio_weight_device []string `json:"blkio_weight_device"`
+ Cpu_period int64 `json:"cpu_period"`
+ Cpu_quota int64 `json:"cpu_quota"`
+ Cpu_rt_period int64 `json:"cpu_rt_period"`
+ Cpu_rt_runtime int64 `json:"cpu_rt_runtime"`
+ Cpu_shares int64 `json:"cpu_shares"`
+ Cpus float64 `json:"cpus"`
+ Cpuset_cpus string `json:"cpuset_cpus"`
+ Cpuset_mems string `json:"cpuset_mems"`
+ Device_read_bps []string `json:"device_read_bps"`
+ Device_read_iops []string `json:"device_read_iops"`
+ Device_write_bps []string `json:"device_write_bps"`
+ Device_write_iops []string `json:"device_write_iops"`
+ Disable_oomkiller bool `json:"disable_oomkiller"`
+ Kernel_memory int64 `json:"kernel_memory"`
+ Memory int64 `json:"memory"`
+ Memory_reservation int64 `json:"memory_reservation"`
+ Memory_swap int64 `json:"memory_swap"`
+ Memory_swappiness int64 `json:"memory_swappiness"`
+ Oom_score_adj int64 `json:"oom_score_adj"`
+ Pids_limit int64 `json:"pids_limit"`
+ Shm_size int64 `json:"shm_size"`
+ Ulimit []string `json:"ulimit"`
+}
+
+type IDMap struct {
+ Container_id int64 `json:"container_id"`
+ Host_id int64 `json:"host_id"`
+ Size int64 `json:"size"`
+}
+
+type NotImplemented struct {
+ Comment string `json:"comment"`
+}
+
+type StringResponse struct {
+ Message string `json:"message"`
+}
+
+type ContainerChanges struct {
+ Changed []string `json:"changed"`
+ Added []string `json:"added"`
+ Deleted []string `json:"deleted"`
}
type ListContainerData struct {
@@ -53,6 +120,19 @@ type ListContainerData struct {
Namespaces ContainerNameSpace `json:"namespaces"`
}
+type ContainerPortMappings struct {
+ Host_port string `json:"host_port"`
+ Host_ip string `json:"host_ip"`
+ Protocol string `json:"protocol"`
+ Container_port string `json:"container_port"`
+}
+
+type InfoGraphStatus struct {
+ Backing_filesystem string `json:"backing_filesystem"`
+ Native_overlay_diff string `json:"native_overlay_diff"`
+ Supports_d_type string `json:"supports_d_type"`
+}
+
type IDMappingOptions struct {
Host_uid_mapping bool `json:"host_uid_mapping"`
Host_gid_mapping bool `json:"host_gid_mapping"`
@@ -60,8 +140,12 @@ type IDMappingOptions struct {
Gid_map IDMap `json:"gid_map"`
}
-type NotImplemented struct {
- Comment string `json:"comment"`
+type Version struct {
+ Version string `json:"version"`
+ Go_version string `json:"go_version"`
+ Git_commit string `json:"git_commit"`
+ Built int64 `json:"built"`
+ Os_arch string `json:"os_arch"`
}
type ImageInList struct {
@@ -84,6 +168,22 @@ type ImageSearch struct {
Star_count int64 `json:"star_count"`
}
+type ContainerStats struct {
+ Id string `json:"id"`
+ Name string `json:"name"`
+ Cpu float64 `json:"cpu"`
+ Cpu_nano int64 `json:"cpu_nano"`
+ System_nano int64 `json:"system_nano"`
+ Mem_usage int64 `json:"mem_usage"`
+ Mem_limit int64 `json:"mem_limit"`
+ Mem_perc float64 `json:"mem_perc"`
+ Net_input int64 `json:"net_input"`
+ Net_output int64 `json:"net_output"`
+ Block_output int64 `json:"block_output"`
+ Block_input int64 `json:"block_input"`
+ Pids int64 `json:"pids"`
+}
+
type ContainerMount struct {
Destination string `json:"destination"`
Type string `json:"type"`
@@ -91,40 +191,17 @@ type ContainerMount struct {
Options []string `json:"options"`
}
-type ContainerPortMappings struct {
- Host_port string `json:"host_port"`
- Host_ip string `json:"host_ip"`
- Protocol string `json:"protocol"`
- Container_port string `json:"container_port"`
-}
-
-type ContainerNameSpace struct {
- User string `json:"user"`
- Uts string `json:"uts"`
- Pidns string `json:"pidns"`
- Pid string `json:"pid"`
- Cgroup string `json:"cgroup"`
- Net string `json:"net"`
- Mnt string `json:"mnt"`
- Ipc string `json:"ipc"`
-}
-
-type InfoGraphStatus struct {
- Backing_filesystem string `json:"backing_filesystem"`
- Native_overlay_diff string `json:"native_overlay_diff"`
- Supports_d_type string `json:"supports_d_type"`
-}
-
-type PodmanInfo struct {
- Host InfoHost `json:"host"`
- Registries []string `json:"registries"`
- Insecure_registries []string `json:"insecure_registries"`
- Store InfoStore `json:"store"`
- Podman InfoPodmanBinary `json:"podman"`
-}
-
-type StringResponse struct {
- Message string `json:"message"`
+type InfoHost struct {
+ Mem_free int64 `json:"mem_free"`
+ Mem_total int64 `json:"mem_total"`
+ Swap_free int64 `json:"swap_free"`
+ Swap_total int64 `json:"swap_total"`
+ Arch string `json:"arch"`
+ Cpus int64 `json:"cpus"`
+ Hostname string `json:"hostname"`
+ Kernel string `json:"kernel"`
+ Os string `json:"os"`
+ Uptime string `json:"uptime"`
}
type Create struct {
@@ -192,262 +269,185 @@ type Create struct {
Security_opts []string `json:"security_opts"`
}
-type IDMap struct {
- Container_id int64 `json:"container_id"`
- Host_id int64 `json:"host_id"`
- Size int64 `json:"size"`
-}
-
-type Sockets struct {
- Container_id string `json:"container_id"`
- Io_socket string `json:"io_socket"`
- Control_socket string `json:"control_socket"`
-}
-
-type ImageHistory struct {
- Id string `json:"id"`
- Created string `json:"created"`
- CreatedBy string `json:"createdBy"`
- Tags []string `json:"tags"`
- Size int64 `json:"size"`
- Comment string `json:"comment"`
-}
-
-type ContainerStats struct {
- Id string `json:"id"`
- Name string `json:"name"`
- Cpu float64 `json:"cpu"`
- Cpu_nano int64 `json:"cpu_nano"`
- System_nano int64 `json:"system_nano"`
- Mem_usage int64 `json:"mem_usage"`
- Mem_limit int64 `json:"mem_limit"`
- Mem_perc float64 `json:"mem_perc"`
- Net_input int64 `json:"net_input"`
- Net_output int64 `json:"net_output"`
- Block_output int64 `json:"block_output"`
- Block_input int64 `json:"block_input"`
- Pids int64 `json:"pids"`
-}
-
-type InfoPodmanBinary struct {
- Compiler string `json:"compiler"`
- Go_version string `json:"go_version"`
- Podman_version string `json:"podman_version"`
- Git_commit string `json:"git_commit"`
-}
-
-type CreateResourceConfig struct {
- Blkio_weight int64 `json:"blkio_weight"`
- Blkio_weight_device []string `json:"blkio_weight_device"`
- Cpu_period int64 `json:"cpu_period"`
- Cpu_quota int64 `json:"cpu_quota"`
- Cpu_rt_period int64 `json:"cpu_rt_period"`
- Cpu_rt_runtime int64 `json:"cpu_rt_runtime"`
- Cpu_shares int64 `json:"cpu_shares"`
- Cpus float64 `json:"cpus"`
- Cpuset_cpus string `json:"cpuset_cpus"`
- Cpuset_mems string `json:"cpuset_mems"`
- Device_read_bps []string `json:"device_read_bps"`
- Device_read_iops []string `json:"device_read_iops"`
- Device_write_bps []string `json:"device_write_bps"`
- Device_write_iops []string `json:"device_write_iops"`
- Disable_oomkiller bool `json:"disable_oomkiller"`
- Kernel_memory int64 `json:"kernel_memory"`
- Memory int64 `json:"memory"`
- Memory_reservation int64 `json:"memory_reservation"`
- Memory_swap int64 `json:"memory_swap"`
- Memory_swappiness int64 `json:"memory_swappiness"`
- Oom_score_adj int64 `json:"oom_score_adj"`
- Pids_limit int64 `json:"pids_limit"`
- Shm_size int64 `json:"shm_size"`
- Ulimit []string `json:"ulimit"`
-}
-
-type ContainerChanges struct {
- Changed []string `json:"changed"`
- Added []string `json:"added"`
- Deleted []string `json:"deleted"`
-}
-
// Client method calls
-type DeleteUnusedImages_methods struct{}
+type ListContainerProcesses_methods struct{}
-func DeleteUnusedImages() DeleteUnusedImages_methods { return DeleteUnusedImages_methods{} }
+func ListContainerProcesses() ListContainerProcesses_methods { return ListContainerProcesses_methods{} }
-func (m DeleteUnusedImages_methods) Call(c *varlink.Connection) (images_out_ []string, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m ListContainerProcesses_methods) Call(c *varlink.Connection, name_in_ string, opts_in_ []string) (container_out_ []string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, opts_in_)
if err_ != nil {
return
}
- images_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m DeleteUnusedImages_methods) Send(c *varlink.Connection, flags uint64) (func() ([]string, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.DeleteUnusedImages", nil, flags)
+func (m ListContainerProcesses_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, opts_in_ []string) (func() ([]string, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ Opts []string `json:"opts"`
+ }
+ in.Name = name_in_
+ in.Opts = []string(opts_in_)
+ receive, err := c.Send("io.projectatomic.podman.ListContainerProcesses", in, flags)
if err != nil {
return nil, err
}
- return func() (images_out_ []string, flags uint64, err error) {
+ return func() (container_out_ []string, flags uint64, err error) {
var out struct {
- Images []string `json:"images"`
+ Container []string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- images_out_ = []string(out.Images)
+ container_out_ = []string(out.Container)
return
}, nil
}
-type InspectContainer_methods struct{}
+type InspectImage_methods struct{}
-func InspectContainer() InspectContainer_methods { return InspectContainer_methods{} }
+func InspectImage() InspectImage_methods { return InspectImage_methods{} }
-func (m InspectContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
+func (m InspectImage_methods) Call(c *varlink.Connection, name_in_ string) (image_out_ string, err_ error) {
receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m InspectContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
+func (m InspectImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
Name string `json:"name"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.InspectContainer", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.InspectImage", in, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ string, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Container string `json:"container"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = out.Container
+ image_out_ = out.Image
return
}, nil
}
-type GetAttachSockets_methods struct{}
+type PushImage_methods struct{}
-func GetAttachSockets() GetAttachSockets_methods { return GetAttachSockets_methods{} }
+func PushImage() PushImage_methods { return PushImage_methods{} }
-func (m GetAttachSockets_methods) Call(c *varlink.Connection, name_in_ string) (sockets_out_ Sockets, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m PushImage_methods) Call(c *varlink.Connection, name_in_ string, tag_in_ string, tlsverify_in_ bool) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, tag_in_, tlsverify_in_)
if err_ != nil {
return
}
- sockets_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m GetAttachSockets_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (Sockets, uint64, error), error) {
+func (m PushImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, tag_in_ string, tlsverify_in_ bool) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
+ Name string `json:"name"`
+ Tag string `json:"tag"`
+ Tlsverify bool `json:"tlsverify"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.GetAttachSockets", in, flags)
+ in.Tag = tag_in_
+ in.Tlsverify = tlsverify_in_
+ receive, err := c.Send("io.projectatomic.podman.PushImage", in, flags)
if err != nil {
return nil, err
}
- return func() (sockets_out_ Sockets, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Sockets Sockets `json:"sockets"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- sockets_out_ = out.Sockets
+ image_out_ = out.Image
return
}, nil
}
-type InspectImage_methods struct{}
+type Ping_methods struct{}
-func InspectImage() InspectImage_methods { return InspectImage_methods{} }
+func Ping() Ping_methods { return Ping_methods{} }
-func (m InspectImage_methods) Call(c *varlink.Connection, name_in_ string) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m Ping_methods) Call(c *varlink.Connection) (ping_out_ StringResponse, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ ping_out_, _, err_ = receive()
return
}
-func (m InspectImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- }
- in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.InspectImage", in, flags)
+func (m Ping_methods) Send(c *varlink.Connection, flags uint64) (func() (StringResponse, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.Ping", nil, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (ping_out_ StringResponse, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Ping StringResponse `json:"ping"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ ping_out_ = out.Ping
return
}, nil
}
-type TagImage_methods struct{}
+type ListContainers_methods struct{}
-func TagImage() TagImage_methods { return TagImage_methods{} }
+func ListContainers() ListContainers_methods { return ListContainers_methods{} }
-func (m TagImage_methods) Call(c *varlink.Connection, name_in_ string, tagged_in_ string) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, tagged_in_)
+func (m ListContainers_methods) Call(c *varlink.Connection) (containers_out_ []ListContainerData, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ containers_out_, _, err_ = receive()
return
}
-func (m TagImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, tagged_in_ string) (func() (string, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- Tagged string `json:"tagged"`
- }
- in.Name = name_in_
- in.Tagged = tagged_in_
- receive, err := c.Send("io.projectatomic.podman.TagImage", in, flags)
+func (m ListContainers_methods) Send(c *varlink.Connection, flags uint64) (func() ([]ListContainerData, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.ListContainers", nil, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (containers_out_ []ListContainerData, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Containers []ListContainerData `json:"containers"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ containers_out_ = []ListContainerData(out.Containers)
return
}, nil
}
-type StopContainer_methods struct{}
+type RestartContainer_methods struct{}
-func StopContainer() StopContainer_methods { return StopContainer_methods{} }
+func RestartContainer() RestartContainer_methods { return RestartContainer_methods{} }
-func (m StopContainer_methods) Call(c *varlink.Connection, name_in_ string, timeout_in_ int64) (container_out_ string, err_ error) {
+func (m RestartContainer_methods) Call(c *varlink.Connection, name_in_ string, timeout_in_ int64) (container_out_ string, err_ error) {
receive, err_ := m.Send(c, 0, name_in_, timeout_in_)
if err_ != nil {
return
@@ -456,14 +456,14 @@ func (m StopContainer_methods) Call(c *varlink.Connection, name_in_ string, time
return
}
-func (m StopContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, timeout_in_ int64) (func() (string, uint64, error), error) {
+func (m RestartContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, timeout_in_ int64) (func() (string, uint64, error), error) {
var in struct {
Name string `json:"name"`
Timeout int64 `json:"timeout"`
}
in.Name = name_in_
in.Timeout = timeout_in_
- receive, err := c.Send("io.projectatomic.podman.StopContainer", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.RestartContainer", in, flags)
if err != nil {
return nil, err
}
@@ -480,6 +480,41 @@ func (m StopContainer_methods) Send(c *varlink.Connection, flags uint64, name_in
}, nil
}
+type GetAttachSockets_methods struct{}
+
+func GetAttachSockets() GetAttachSockets_methods { return GetAttachSockets_methods{} }
+
+func (m GetAttachSockets_methods) Call(c *varlink.Connection, name_in_ string) (sockets_out_ Sockets, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
+ if err_ != nil {
+ return
+ }
+ sockets_out_, _, err_ = receive()
+ return
+}
+
+func (m GetAttachSockets_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (Sockets, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ }
+ in.Name = name_in_
+ receive, err := c.Send("io.projectatomic.podman.GetAttachSockets", in, flags)
+ if err != nil {
+ return nil, err
+ }
+ return func() (sockets_out_ Sockets, flags uint64, err error) {
+ var out struct {
+ Sockets Sockets `json:"sockets"`
+ }
+ flags, err = receive(&out)
+ if err != nil {
+ return
+ }
+ sockets_out_ = out.Sockets
+ return
+ }, nil
+}
+
type RemoveContainer_methods struct{}
func RemoveContainer() RemoveContainer_methods { return RemoveContainer_methods{} }
@@ -517,176 +552,180 @@ func (m RemoveContainer_methods) Send(c *varlink.Connection, flags uint64, name_
}, nil
}
-type PullImage_methods struct{}
+type ListImages_methods struct{}
-func PullImage() PullImage_methods { return PullImage_methods{} }
+func ListImages() ListImages_methods { return ListImages_methods{} }
-func (m PullImage_methods) Call(c *varlink.Connection, name_in_ string) (id_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m ListImages_methods) Call(c *varlink.Connection) (images_out_ []ImageInList, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- id_out_, _, err_ = receive()
+ images_out_, _, err_ = receive()
return
}
-func (m PullImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- }
- in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.PullImage", in, flags)
+func (m ListImages_methods) Send(c *varlink.Connection, flags uint64) (func() ([]ImageInList, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.ListImages", nil, flags)
if err != nil {
return nil, err
}
- return func() (id_out_ string, flags uint64, err error) {
+ return func() (images_out_ []ImageInList, flags uint64, err error) {
var out struct {
- Id string `json:"id"`
+ Images []ImageInList `json:"images"`
}
flags, err = receive(&out)
if err != nil {
return
}
- id_out_ = out.Id
+ images_out_ = []ImageInList(out.Images)
return
}, nil
}
-type Ping_methods struct{}
+type DeleteUnusedImages_methods struct{}
-func Ping() Ping_methods { return Ping_methods{} }
+func DeleteUnusedImages() DeleteUnusedImages_methods { return DeleteUnusedImages_methods{} }
-func (m Ping_methods) Call(c *varlink.Connection) (ping_out_ StringResponse, err_ error) {
+func (m DeleteUnusedImages_methods) Call(c *varlink.Connection) (images_out_ []string, err_ error) {
receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- ping_out_, _, err_ = receive()
+ images_out_, _, err_ = receive()
return
}
-func (m Ping_methods) Send(c *varlink.Connection, flags uint64) (func() (StringResponse, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.Ping", nil, flags)
+func (m DeleteUnusedImages_methods) Send(c *varlink.Connection, flags uint64) (func() ([]string, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.DeleteUnusedImages", nil, flags)
if err != nil {
return nil, err
}
- return func() (ping_out_ StringResponse, flags uint64, err error) {
+ return func() (images_out_ []string, flags uint64, err error) {
var out struct {
- Ping StringResponse `json:"ping"`
+ Images []string `json:"images"`
}
flags, err = receive(&out)
if err != nil {
return
}
- ping_out_ = out.Ping
+ images_out_ = []string(out.Images)
return
}, nil
}
-type ResizeContainerTty_methods struct{}
+type ImportImage_methods struct{}
-func ResizeContainerTty() ResizeContainerTty_methods { return ResizeContainerTty_methods{} }
+func ImportImage() ImportImage_methods { return ImportImage_methods{} }
-func (m ResizeContainerTty_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m ImportImage_methods) Call(c *varlink.Connection, source_in_ string, reference_in_ string, message_in_ string, changes_in_ []string) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, source_in_, reference_in_, message_in_, changes_in_)
if err_ != nil {
return
}
- notimplemented_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m ResizeContainerTty_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.ResizeContainerTty", nil, flags)
+func (m ImportImage_methods) Send(c *varlink.Connection, flags uint64, source_in_ string, reference_in_ string, message_in_ string, changes_in_ []string) (func() (string, uint64, error), error) {
+ var in struct {
+ Source string `json:"source"`
+ Reference string `json:"reference"`
+ Message string `json:"message"`
+ Changes []string `json:"changes"`
+ }
+ in.Source = source_in_
+ in.Reference = reference_in_
+ in.Message = message_in_
+ in.Changes = []string(changes_in_)
+ receive, err := c.Send("io.projectatomic.podman.ImportImage", in, flags)
if err != nil {
return nil, err
}
- return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- notimplemented_out_ = out.Notimplemented
+ image_out_ = out.Image
return
}, nil
}
-type SearchImage_methods struct{}
+type PullImage_methods struct{}
-func SearchImage() SearchImage_methods { return SearchImage_methods{} }
+func PullImage() PullImage_methods { return PullImage_methods{} }
-func (m SearchImage_methods) Call(c *varlink.Connection, name_in_ string, limit_in_ int64) (images_out_ []ImageSearch, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, limit_in_)
+func (m PullImage_methods) Call(c *varlink.Connection, name_in_ string) (id_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- images_out_, _, err_ = receive()
+ id_out_, _, err_ = receive()
return
}
-func (m SearchImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, limit_in_ int64) (func() ([]ImageSearch, uint64, error), error) {
+func (m PullImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Limit int64 `json:"limit"`
+ Name string `json:"name"`
}
in.Name = name_in_
- in.Limit = limit_in_
- receive, err := c.Send("io.projectatomic.podman.SearchImage", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.PullImage", in, flags)
if err != nil {
return nil, err
}
- return func() (images_out_ []ImageSearch, flags uint64, err error) {
+ return func() (id_out_ string, flags uint64, err error) {
var out struct {
- Images []ImageSearch `json:"images"`
+ Id string `json:"id"`
}
flags, err = receive(&out)
if err != nil {
return
}
- images_out_ = []ImageSearch(out.Images)
+ id_out_ = out.Id
return
}, nil
}
-type RenameContainer_methods struct{}
+type GetInfo_methods struct{}
-func RenameContainer() RenameContainer_methods { return RenameContainer_methods{} }
+func GetInfo() GetInfo_methods { return GetInfo_methods{} }
-func (m RenameContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
+func (m GetInfo_methods) Call(c *varlink.Connection) (info_out_ PodmanInfo, err_ error) {
receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- notimplemented_out_, _, err_ = receive()
+ info_out_, _, err_ = receive()
return
}
-func (m RenameContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.RenameContainer", nil, flags)
+func (m GetInfo_methods) Send(c *varlink.Connection, flags uint64) (func() (PodmanInfo, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.GetInfo", nil, flags)
if err != nil {
return nil, err
}
- return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
+ return func() (info_out_ PodmanInfo, flags uint64, err error) {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Info PodmanInfo `json:"info"`
}
flags, err = receive(&out)
if err != nil {
return
}
- notimplemented_out_ = out.Notimplemented
+ info_out_ = out.Info
return
}, nil
}
-type PauseContainer_methods struct{}
+type InspectContainer_methods struct{}
-func PauseContainer() PauseContainer_methods { return PauseContainer_methods{} }
+func InspectContainer() InspectContainer_methods { return InspectContainer_methods{} }
-func (m PauseContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
+func (m InspectContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
@@ -695,12 +734,12 @@ func (m PauseContainer_methods) Call(c *varlink.Connection, name_in_ string) (co
return
}
-func (m PauseContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
+func (m InspectContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
Name string `json:"name"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.PauseContainer", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.InspectContainer", in, flags)
if err != nil {
return nil, err
}
@@ -717,285 +756,285 @@ func (m PauseContainer_methods) Send(c *varlink.Connection, flags uint64, name_i
}, nil
}
-type AttachToContainer_methods struct{}
+type GetContainerLogs_methods struct{}
-func AttachToContainer() AttachToContainer_methods { return AttachToContainer_methods{} }
+func GetContainerLogs() GetContainerLogs_methods { return GetContainerLogs_methods{} }
-func (m AttachToContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m GetContainerLogs_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ []string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- notimplemented_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m AttachToContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.AttachToContainer", nil, flags)
+func (m GetContainerLogs_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() ([]string, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ }
+ in.Name = name_in_
+ receive, err := c.Send("io.projectatomic.podman.GetContainerLogs", in, flags)
if err != nil {
return nil, err
}
- return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
+ return func() (container_out_ []string, flags uint64, err error) {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Container []string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- notimplemented_out_ = out.Notimplemented
+ container_out_ = []string(out.Container)
return
}, nil
}
-type PushImage_methods struct{}
+type SearchImage_methods struct{}
-func PushImage() PushImage_methods { return PushImage_methods{} }
+func SearchImage() SearchImage_methods { return SearchImage_methods{} }
-func (m PushImage_methods) Call(c *varlink.Connection, name_in_ string, tag_in_ string, tlsverify_in_ bool) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, tag_in_, tlsverify_in_)
+func (m SearchImage_methods) Call(c *varlink.Connection, name_in_ string, limit_in_ int64) (images_out_ []ImageSearch, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, limit_in_)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ images_out_, _, err_ = receive()
return
}
-func (m PushImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, tag_in_ string, tlsverify_in_ bool) (func() (string, uint64, error), error) {
+func (m SearchImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, limit_in_ int64) (func() ([]ImageSearch, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Tag string `json:"tag"`
- Tlsverify bool `json:"tlsverify"`
+ Name string `json:"name"`
+ Limit int64 `json:"limit"`
}
in.Name = name_in_
- in.Tag = tag_in_
- in.Tlsverify = tlsverify_in_
- receive, err := c.Send("io.projectatomic.podman.PushImage", in, flags)
+ in.Limit = limit_in_
+ receive, err := c.Send("io.projectatomic.podman.SearchImage", in, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (images_out_ []ImageSearch, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Images []ImageSearch `json:"images"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ images_out_ = []ImageSearch(out.Images)
return
}, nil
}
-type ListContainers_methods struct{}
+type CreateContainer_methods struct{}
-func ListContainers() ListContainers_methods { return ListContainers_methods{} }
+func CreateContainer() CreateContainer_methods { return CreateContainer_methods{} }
-func (m ListContainers_methods) Call(c *varlink.Connection) (containers_out_ []ListContainerData, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m CreateContainer_methods) Call(c *varlink.Connection, create_in_ Create) (container_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, create_in_)
if err_ != nil {
return
}
- containers_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m ListContainers_methods) Send(c *varlink.Connection, flags uint64) (func() ([]ListContainerData, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.ListContainers", nil, flags)
+func (m CreateContainer_methods) Send(c *varlink.Connection, flags uint64, create_in_ Create) (func() (string, uint64, error), error) {
+ var in struct {
+ Create Create `json:"create"`
+ }
+ in.Create = create_in_
+ receive, err := c.Send("io.projectatomic.podman.CreateContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (containers_out_ []ListContainerData, flags uint64, err error) {
+ return func() (container_out_ string, flags uint64, err error) {
var out struct {
- Containers []ListContainerData `json:"containers"`
+ Container string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- containers_out_ = []ListContainerData(out.Containers)
+ container_out_ = out.Container
return
}, nil
}
-type CreateContainer_methods struct{}
+type ResizeContainerTty_methods struct{}
-func CreateContainer() CreateContainer_methods { return CreateContainer_methods{} }
+func ResizeContainerTty() ResizeContainerTty_methods { return ResizeContainerTty_methods{} }
-func (m CreateContainer_methods) Call(c *varlink.Connection, create_in_ Create) (container_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, create_in_)
+func (m ResizeContainerTty_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ notimplemented_out_, _, err_ = receive()
return
}
-func (m CreateContainer_methods) Send(c *varlink.Connection, flags uint64, create_in_ Create) (func() (string, uint64, error), error) {
- var in struct {
- Create Create `json:"create"`
- }
- in.Create = create_in_
- receive, err := c.Send("io.projectatomic.podman.CreateContainer", in, flags)
+func (m ResizeContainerTty_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.ResizeContainerTty", nil, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ string, flags uint64, err error) {
+ return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
var out struct {
- Container string `json:"container"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = out.Container
+ notimplemented_out_ = out.Notimplemented
return
}, nil
}
-type ExportContainer_methods struct{}
+type StopContainer_methods struct{}
-func ExportContainer() ExportContainer_methods { return ExportContainer_methods{} }
+func StopContainer() StopContainer_methods { return StopContainer_methods{} }
-func (m ExportContainer_methods) Call(c *varlink.Connection, name_in_ string, path_in_ string) (tarfile_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, path_in_)
+func (m StopContainer_methods) Call(c *varlink.Connection, name_in_ string, timeout_in_ int64) (container_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, timeout_in_)
if err_ != nil {
return
}
- tarfile_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m ExportContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, path_in_ string) (func() (string, uint64, error), error) {
+func (m StopContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, timeout_in_ int64) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Path string `json:"path"`
+ Name string `json:"name"`
+ Timeout int64 `json:"timeout"`
}
in.Name = name_in_
- in.Path = path_in_
- receive, err := c.Send("io.projectatomic.podman.ExportContainer", in, flags)
+ in.Timeout = timeout_in_
+ receive, err := c.Send("io.projectatomic.podman.StopContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (tarfile_out_ string, flags uint64, err error) {
+ return func() (container_out_ string, flags uint64, err error) {
var out struct {
- Tarfile string `json:"tarfile"`
+ Container string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- tarfile_out_ = out.Tarfile
+ container_out_ = out.Container
return
}, nil
}
-type StartContainer_methods struct{}
+type RenameContainer_methods struct{}
-func StartContainer() StartContainer_methods { return StartContainer_methods{} }
+func RenameContainer() RenameContainer_methods { return RenameContainer_methods{} }
-func (m StartContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m RenameContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ notimplemented_out_, _, err_ = receive()
return
}
-func (m StartContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- }
- in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.StartContainer", in, flags)
+func (m RenameContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.RenameContainer", nil, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ string, flags uint64, err error) {
+ return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
var out struct {
- Container string `json:"container"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = out.Container
+ notimplemented_out_ = out.Notimplemented
return
}, nil
}
-type GetVersion_methods struct{}
+type CreateImage_methods struct{}
-func GetVersion() GetVersion_methods { return GetVersion_methods{} }
+func CreateImage() CreateImage_methods { return CreateImage_methods{} }
-func (m GetVersion_methods) Call(c *varlink.Connection) (version_out_ Version, err_ error) {
+func (m CreateImage_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- version_out_, _, err_ = receive()
+ notimplemented_out_, _, err_ = receive()
return
}
-func (m GetVersion_methods) Send(c *varlink.Connection, flags uint64) (func() (Version, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.GetVersion", nil, flags)
+func (m CreateImage_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.CreateImage", nil, flags)
if err != nil {
return nil, err
}
- return func() (version_out_ Version, flags uint64, err error) {
+ return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
var out struct {
- Version Version `json:"version"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
flags, err = receive(&out)
if err != nil {
return
}
- version_out_ = out.Version
+ notimplemented_out_ = out.Notimplemented
return
}, nil
}
-type GetContainer_methods struct{}
+type ExportContainer_methods struct{}
-func GetContainer() GetContainer_methods { return GetContainer_methods{} }
+func ExportContainer() ExportContainer_methods { return ExportContainer_methods{} }
-func (m GetContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ ListContainerData, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m ExportContainer_methods) Call(c *varlink.Connection, name_in_ string, path_in_ string) (tarfile_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, path_in_)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ tarfile_out_, _, err_ = receive()
return
}
-func (m GetContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (ListContainerData, uint64, error), error) {
+func (m ExportContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, path_in_ string) (func() (string, uint64, error), error) {
var in struct {
Name string `json:"name"`
+ Path string `json:"path"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.GetContainer", in, flags)
+ in.Path = path_in_
+ receive, err := c.Send("io.projectatomic.podman.ExportContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ ListContainerData, flags uint64, err error) {
+ return func() (tarfile_out_ string, flags uint64, err error) {
var out struct {
- Container ListContainerData `json:"container"`
+ Tarfile string `json:"tarfile"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = out.Container
+ tarfile_out_ = out.Tarfile
return
}, nil
}
-type GetContainerLogs_methods struct{}
+type GetContainerStats_methods struct{}
-func GetContainerLogs() GetContainerLogs_methods { return GetContainerLogs_methods{} }
+func GetContainerStats() GetContainerStats_methods { return GetContainerStats_methods{} }
-func (m GetContainerLogs_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ []string, err_ error) {
+func (m GetContainerStats_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ ContainerStats, err_ error) {
receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
@@ -1004,61 +1043,57 @@ func (m GetContainerLogs_methods) Call(c *varlink.Connection, name_in_ string) (
return
}
-func (m GetContainerLogs_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() ([]string, uint64, error), error) {
+func (m GetContainerStats_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (ContainerStats, uint64, error), error) {
var in struct {
Name string `json:"name"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.GetContainerLogs", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.GetContainerStats", in, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ []string, flags uint64, err error) {
+ return func() (container_out_ ContainerStats, flags uint64, err error) {
var out struct {
- Container []string `json:"container"`
+ Container ContainerStats `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = []string(out.Container)
+ container_out_ = out.Container
return
}, nil
}
-type ListContainerProcesses_methods struct{}
+type DeleteStoppedContainers_methods struct{}
-func ListContainerProcesses() ListContainerProcesses_methods { return ListContainerProcesses_methods{} }
+func DeleteStoppedContainers() DeleteStoppedContainers_methods {
+ return DeleteStoppedContainers_methods{}
+}
-func (m ListContainerProcesses_methods) Call(c *varlink.Connection, name_in_ string, opts_in_ []string) (container_out_ []string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, opts_in_)
+func (m DeleteStoppedContainers_methods) Call(c *varlink.Connection) (containers_out_ []string, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ containers_out_, _, err_ = receive()
return
}
-func (m ListContainerProcesses_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, opts_in_ []string) (func() ([]string, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- Opts []string `json:"opts"`
- }
- in.Name = name_in_
- in.Opts = []string(opts_in_)
- receive, err := c.Send("io.projectatomic.podman.ListContainerProcesses", in, flags)
+func (m DeleteStoppedContainers_methods) Send(c *varlink.Connection, flags uint64) (func() ([]string, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.DeleteStoppedContainers", nil, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ []string, flags uint64, err error) {
+ return func() (containers_out_ []string, flags uint64, err error) {
var out struct {
- Container []string `json:"container"`
+ Containers []string `json:"containers"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = []string(out.Container)
+ containers_out_ = []string(out.Containers)
return
}, nil
}
@@ -1098,12 +1133,12 @@ func (m ListContainerChanges_methods) Send(c *varlink.Connection, flags uint64,
}, nil
}
-type RestartContainer_methods struct{}
+type UnpauseContainer_methods struct{}
-func RestartContainer() RestartContainer_methods { return RestartContainer_methods{} }
+func UnpauseContainer() UnpauseContainer_methods { return UnpauseContainer_methods{} }
-func (m RestartContainer_methods) Call(c *varlink.Connection, name_in_ string, timeout_in_ int64) (container_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, timeout_in_)
+func (m UnpauseContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
@@ -1111,14 +1146,12 @@ func (m RestartContainer_methods) Call(c *varlink.Connection, name_in_ string, t
return
}
-func (m RestartContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, timeout_in_ int64) (func() (string, uint64, error), error) {
+func (m UnpauseContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Timeout int64 `json:"timeout"`
+ Name string `json:"name"`
}
in.Name = name_in_
- in.Timeout = timeout_in_
- receive, err := c.Send("io.projectatomic.podman.RestartContainer", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.UnpauseContainer", in, flags)
if err != nil {
return nil, err
}
@@ -1135,35 +1168,33 @@ func (m RestartContainer_methods) Send(c *varlink.Connection, flags uint64, name
}, nil
}
-type DeleteStoppedContainers_methods struct{}
+type AttachToContainer_methods struct{}
-func DeleteStoppedContainers() DeleteStoppedContainers_methods {
- return DeleteStoppedContainers_methods{}
-}
+func AttachToContainer() AttachToContainer_methods { return AttachToContainer_methods{} }
-func (m DeleteStoppedContainers_methods) Call(c *varlink.Connection) (containers_out_ []string, err_ error) {
+func (m AttachToContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- containers_out_, _, err_ = receive()
+ notimplemented_out_, _, err_ = receive()
return
}
-func (m DeleteStoppedContainers_methods) Send(c *varlink.Connection, flags uint64) (func() ([]string, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.DeleteStoppedContainers", nil, flags)
+func (m AttachToContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.AttachToContainer", nil, flags)
if err != nil {
return nil, err
}
- return func() (containers_out_ []string, flags uint64, err error) {
+ return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
var out struct {
- Containers []string `json:"containers"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
flags, err = receive(&out)
if err != nil {
return
}
- containers_out_ = []string(out.Containers)
+ notimplemented_out_ = out.Notimplemented
return
}, nil
}
@@ -1203,73 +1234,83 @@ func (m WaitContainer_methods) Send(c *varlink.Connection, flags uint64, name_in
}, nil
}
-type ListImages_methods struct{}
+type HistoryImage_methods struct{}
-func ListImages() ListImages_methods { return ListImages_methods{} }
+func HistoryImage() HistoryImage_methods { return HistoryImage_methods{} }
-func (m ListImages_methods) Call(c *varlink.Connection) (images_out_ []ImageInList, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m HistoryImage_methods) Call(c *varlink.Connection, name_in_ string) (history_out_ []ImageHistory, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- images_out_, _, err_ = receive()
+ history_out_, _, err_ = receive()
return
}
-func (m ListImages_methods) Send(c *varlink.Connection, flags uint64) (func() ([]ImageInList, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.ListImages", nil, flags)
+func (m HistoryImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() ([]ImageHistory, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ }
+ in.Name = name_in_
+ receive, err := c.Send("io.projectatomic.podman.HistoryImage", in, flags)
if err != nil {
return nil, err
}
- return func() (images_out_ []ImageInList, flags uint64, err error) {
+ return func() (history_out_ []ImageHistory, flags uint64, err error) {
var out struct {
- Images []ImageInList `json:"images"`
+ History []ImageHistory `json:"history"`
}
flags, err = receive(&out)
if err != nil {
return
}
- images_out_ = []ImageInList(out.Images)
+ history_out_ = []ImageHistory(out.History)
return
}, nil
}
-type BuildImage_methods struct{}
+type RemoveImage_methods struct{}
-func BuildImage() BuildImage_methods { return BuildImage_methods{} }
+func RemoveImage() RemoveImage_methods { return RemoveImage_methods{} }
-func (m BuildImage_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m RemoveImage_methods) Call(c *varlink.Connection, name_in_ string, force_in_ bool) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, force_in_)
if err_ != nil {
return
}
- notimplemented_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m BuildImage_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.BuildImage", nil, flags)
+func (m RemoveImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, force_in_ bool) (func() (string, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ Force bool `json:"force"`
+ }
+ in.Name = name_in_
+ in.Force = force_in_
+ receive, err := c.Send("io.projectatomic.podman.RemoveImage", in, flags)
if err != nil {
return nil, err
}
- return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- notimplemented_out_ = out.Notimplemented
+ image_out_ = out.Image
return
}, nil
}
-type CreateImage_methods struct{}
+type UpdateContainer_methods struct{}
-func CreateImage() CreateImage_methods { return CreateImage_methods{} }
+func UpdateContainer() UpdateContainer_methods { return UpdateContainer_methods{} }
-func (m CreateImage_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
+func (m UpdateContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
receive, err_ := m.Send(c, 0)
if err_ != nil {
return
@@ -1278,8 +1319,8 @@ func (m CreateImage_methods) Call(c *varlink.Connection) (notimplemented_out_ No
return
}
-func (m CreateImage_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.CreateImage", nil, flags)
+func (m UpdateContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.UpdateContainer", nil, flags)
if err != nil {
return nil, err
}
@@ -1296,42 +1337,11 @@ func (m CreateImage_methods) Send(c *varlink.Connection, flags uint64) (func() (
}, nil
}
-type GetInfo_methods struct{}
-
-func GetInfo() GetInfo_methods { return GetInfo_methods{} }
-
-func (m GetInfo_methods) Call(c *varlink.Connection) (info_out_ PodmanInfo, err_ error) {
- receive, err_ := m.Send(c, 0)
- if err_ != nil {
- return
- }
- info_out_, _, err_ = receive()
- return
-}
-
-func (m GetInfo_methods) Send(c *varlink.Connection, flags uint64) (func() (PodmanInfo, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.GetInfo", nil, flags)
- if err != nil {
- return nil, err
- }
- return func() (info_out_ PodmanInfo, flags uint64, err error) {
- var out struct {
- Info PodmanInfo `json:"info"`
- }
- flags, err = receive(&out)
- if err != nil {
- return
- }
- info_out_ = out.Info
- return
- }, nil
-}
-
-type GetContainerStats_methods struct{}
+type PauseContainer_methods struct{}
-func GetContainerStats() GetContainerStats_methods { return GetContainerStats_methods{} }
+func PauseContainer() PauseContainer_methods { return PauseContainer_methods{} }
-func (m GetContainerStats_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ ContainerStats, err_ error) {
+func (m PauseContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
@@ -1340,18 +1350,18 @@ func (m GetContainerStats_methods) Call(c *varlink.Connection, name_in_ string)
return
}
-func (m GetContainerStats_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (ContainerStats, uint64, error), error) {
+func (m PauseContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
Name string `json:"name"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.GetContainerStats", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.PauseContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ ContainerStats, flags uint64, err error) {
+ return func() (container_out_ string, flags uint64, err error) {
var out struct {
- Container ContainerStats `json:"container"`
+ Container string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
@@ -1362,185 +1372,181 @@ func (m GetContainerStats_methods) Send(c *varlink.Connection, flags uint64, nam
}, nil
}
-type UpdateContainer_methods struct{}
+type TagImage_methods struct{}
-func UpdateContainer() UpdateContainer_methods { return UpdateContainer_methods{} }
+func TagImage() TagImage_methods { return TagImage_methods{} }
-func (m UpdateContainer_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
- receive, err_ := m.Send(c, 0)
+func (m TagImage_methods) Call(c *varlink.Connection, name_in_ string, tagged_in_ string) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, tagged_in_)
if err_ != nil {
return
}
- notimplemented_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m UpdateContainer_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
- receive, err := c.Send("io.projectatomic.podman.UpdateContainer", nil, flags)
+func (m TagImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, tagged_in_ string) (func() (string, uint64, error), error) {
+ var in struct {
+ Name string `json:"name"`
+ Tagged string `json:"tagged"`
+ }
+ in.Name = name_in_
+ in.Tagged = tagged_in_
+ receive, err := c.Send("io.projectatomic.podman.TagImage", in, flags)
if err != nil {
return nil, err
}
- return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- notimplemented_out_ = out.Notimplemented
+ image_out_ = out.Image
return
}, nil
}
-type UnpauseContainer_methods struct{}
+type ExportImage_methods struct{}
-func UnpauseContainer() UnpauseContainer_methods { return UnpauseContainer_methods{} }
+func ExportImage() ExportImage_methods { return ExportImage_methods{} }
-func (m UnpauseContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m ExportImage_methods) Call(c *varlink.Connection, name_in_ string, destination_in_ string, compress_in_ bool, tags_in_ []string) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, destination_in_, compress_in_, tags_in_)
if err_ != nil {
return
}
- container_out_, _, err_ = receive()
+ image_out_, _, err_ = receive()
return
}
-func (m UnpauseContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
+func (m ExportImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, destination_in_ string, compress_in_ bool, tags_in_ []string) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
+ Name string `json:"name"`
+ Destination string `json:"destination"`
+ Compress bool `json:"compress"`
+ Tags []string `json:"tags"`
}
in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.UnpauseContainer", in, flags)
+ in.Destination = destination_in_
+ in.Compress = compress_in_
+ in.Tags = []string(tags_in_)
+ receive, err := c.Send("io.projectatomic.podman.ExportImage", in, flags)
if err != nil {
return nil, err
}
- return func() (container_out_ string, flags uint64, err error) {
+ return func() (image_out_ string, flags uint64, err error) {
var out struct {
- Container string `json:"container"`
+ Image string `json:"image"`
}
flags, err = receive(&out)
if err != nil {
return
}
- container_out_ = out.Container
+ image_out_ = out.Image
return
}, nil
}
-type HistoryImage_methods struct{}
+type GetVersion_methods struct{}
-func HistoryImage() HistoryImage_methods { return HistoryImage_methods{} }
+func GetVersion() GetVersion_methods { return GetVersion_methods{} }
-func (m HistoryImage_methods) Call(c *varlink.Connection, name_in_ string) (history_out_ []ImageHistory, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_)
+func (m GetVersion_methods) Call(c *varlink.Connection) (version_out_ Version, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- history_out_, _, err_ = receive()
+ version_out_, _, err_ = receive()
return
}
-func (m HistoryImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() ([]ImageHistory, uint64, error), error) {
- var in struct {
- Name string `json:"name"`
- }
- in.Name = name_in_
- receive, err := c.Send("io.projectatomic.podman.HistoryImage", in, flags)
+func (m GetVersion_methods) Send(c *varlink.Connection, flags uint64) (func() (Version, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.GetVersion", nil, flags)
if err != nil {
return nil, err
}
- return func() (history_out_ []ImageHistory, flags uint64, err error) {
+ return func() (version_out_ Version, flags uint64, err error) {
var out struct {
- History []ImageHistory `json:"history"`
+ Version Version `json:"version"`
}
flags, err = receive(&out)
if err != nil {
return
}
- history_out_ = []ImageHistory(out.History)
+ version_out_ = out.Version
return
}, nil
}
-type RemoveImage_methods struct{}
+type GetContainer_methods struct{}
-func RemoveImage() RemoveImage_methods { return RemoveImage_methods{} }
+func GetContainer() GetContainer_methods { return GetContainer_methods{} }
-func (m RemoveImage_methods) Call(c *varlink.Connection, name_in_ string, force_in_ bool) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, force_in_)
+func (m GetContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ ListContainerData, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m RemoveImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, force_in_ bool) (func() (string, uint64, error), error) {
+func (m GetContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (ListContainerData, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Force bool `json:"force"`
+ Name string `json:"name"`
}
in.Name = name_in_
- in.Force = force_in_
- receive, err := c.Send("io.projectatomic.podman.RemoveImage", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.GetContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (container_out_ ListContainerData, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Container ListContainerData `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ container_out_ = out.Container
return
}, nil
}
-type Commit_methods struct{}
+type StartContainer_methods struct{}
-func Commit() Commit_methods { return Commit_methods{} }
+func StartContainer() StartContainer_methods { return StartContainer_methods{} }
-func (m Commit_methods) Call(c *varlink.Connection, name_in_ string, image_name_in_ string, changes_in_ []string, author_in_ string, message_in_ string, pause_in_ bool) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, image_name_in_, changes_in_, author_in_, message_in_, pause_in_)
+func (m StartContainer_methods) Call(c *varlink.Connection, name_in_ string) (container_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ container_out_, _, err_ = receive()
return
}
-func (m Commit_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, image_name_in_ string, changes_in_ []string, author_in_ string, message_in_ string, pause_in_ bool) (func() (string, uint64, error), error) {
+func (m StartContainer_methods) Send(c *varlink.Connection, flags uint64, name_in_ string) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Image_name string `json:"image_name"`
- Changes []string `json:"changes"`
- Author string `json:"author"`
- Message string `json:"message"`
- Pause bool `json:"pause"`
+ Name string `json:"name"`
}
in.Name = name_in_
- in.Image_name = image_name_in_
- in.Changes = []string(changes_in_)
- in.Author = author_in_
- in.Message = message_in_
- in.Pause = pause_in_
- receive, err := c.Send("io.projectatomic.podman.Commit", in, flags)
+ receive, err := c.Send("io.projectatomic.podman.StartContainer", in, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (container_out_ string, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Container string `json:"container"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ container_out_ = out.Container
return
}, nil
}
@@ -1582,53 +1588,43 @@ func (m KillContainer_methods) Send(c *varlink.Connection, flags uint64, name_in
}, nil
}
-type ImportImage_methods struct{}
+type BuildImage_methods struct{}
-func ImportImage() ImportImage_methods { return ImportImage_methods{} }
+func BuildImage() BuildImage_methods { return BuildImage_methods{} }
-func (m ImportImage_methods) Call(c *varlink.Connection, source_in_ string, reference_in_ string, message_in_ string, changes_in_ []string) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, source_in_, reference_in_, message_in_, changes_in_)
+func (m BuildImage_methods) Call(c *varlink.Connection) (notimplemented_out_ NotImplemented, err_ error) {
+ receive, err_ := m.Send(c, 0)
if err_ != nil {
return
}
- image_out_, _, err_ = receive()
+ notimplemented_out_, _, err_ = receive()
return
}
-func (m ImportImage_methods) Send(c *varlink.Connection, flags uint64, source_in_ string, reference_in_ string, message_in_ string, changes_in_ []string) (func() (string, uint64, error), error) {
- var in struct {
- Source string `json:"source"`
- Reference string `json:"reference"`
- Message string `json:"message"`
- Changes []string `json:"changes"`
- }
- in.Source = source_in_
- in.Reference = reference_in_
- in.Message = message_in_
- in.Changes = []string(changes_in_)
- receive, err := c.Send("io.projectatomic.podman.ImportImage", in, flags)
+func (m BuildImage_methods) Send(c *varlink.Connection, flags uint64) (func() (NotImplemented, uint64, error), error) {
+ receive, err := c.Send("io.projectatomic.podman.BuildImage", nil, flags)
if err != nil {
return nil, err
}
- return func() (image_out_ string, flags uint64, err error) {
+ return func() (notimplemented_out_ NotImplemented, flags uint64, err error) {
var out struct {
- Image string `json:"image"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
flags, err = receive(&out)
if err != nil {
return
}
- image_out_ = out.Image
+ notimplemented_out_ = out.Notimplemented
return
}, nil
}
-type ExportImage_methods struct{}
+type Commit_methods struct{}
-func ExportImage() ExportImage_methods { return ExportImage_methods{} }
+func Commit() Commit_methods { return Commit_methods{} }
-func (m ExportImage_methods) Call(c *varlink.Connection, name_in_ string, destination_in_ string, compress_in_ bool) (image_out_ string, err_ error) {
- receive, err_ := m.Send(c, 0, name_in_, destination_in_, compress_in_)
+func (m Commit_methods) Call(c *varlink.Connection, name_in_ string, image_name_in_ string, changes_in_ []string, author_in_ string, message_in_ string, pause_in_ bool) (image_out_ string, err_ error) {
+ receive, err_ := m.Send(c, 0, name_in_, image_name_in_, changes_in_, author_in_, message_in_, pause_in_)
if err_ != nil {
return
}
@@ -1636,16 +1632,22 @@ func (m ExportImage_methods) Call(c *varlink.Connection, name_in_ string, destin
return
}
-func (m ExportImage_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, destination_in_ string, compress_in_ bool) (func() (string, uint64, error), error) {
+func (m Commit_methods) Send(c *varlink.Connection, flags uint64, name_in_ string, image_name_in_ string, changes_in_ []string, author_in_ string, message_in_ string, pause_in_ bool) (func() (string, uint64, error), error) {
var in struct {
- Name string `json:"name"`
- Destination string `json:"destination"`
- Compress bool `json:"compress"`
+ Name string `json:"name"`
+ Image_name string `json:"image_name"`
+ Changes []string `json:"changes"`
+ Author string `json:"author"`
+ Message string `json:"message"`
+ Pause bool `json:"pause"`
}
in.Name = name_in_
- in.Destination = destination_in_
- in.Compress = compress_in_
- receive, err := c.Send("io.projectatomic.podman.ExportImage", in, flags)
+ in.Image_name = image_name_in_
+ in.Changes = []string(changes_in_)
+ in.Author = author_in_
+ in.Message = message_in_
+ in.Pause = pause_in_
+ receive, err := c.Send("io.projectatomic.podman.Commit", in, flags)
if err != nil {
return nil, err
}
@@ -1664,68 +1666,52 @@ func (m ExportImage_methods) Send(c *varlink.Connection, flags uint64, name_in_
// Service interface with all methods
type ioprojectatomicpodmanInterface interface {
- DeleteUnusedImages(c VarlinkCall) error
- InspectContainer(c VarlinkCall, name_ string) error
+ PushImage(c VarlinkCall, name_ string, tag_ string, tlsverify_ bool) error
+ Ping(c VarlinkCall) error
+ ListContainers(c VarlinkCall) error
+ RestartContainer(c VarlinkCall, name_ string, timeout_ int64) error
GetAttachSockets(c VarlinkCall, name_ string) error
- InspectImage(c VarlinkCall, name_ string) error
- TagImage(c VarlinkCall, name_ string, tagged_ string) error
- StopContainer(c VarlinkCall, name_ string, timeout_ int64) error
RemoveContainer(c VarlinkCall, name_ string, force_ bool) error
+ ListImages(c VarlinkCall) error
+ InspectImage(c VarlinkCall, name_ string) error
+ DeleteUnusedImages(c VarlinkCall) error
+ ImportImage(c VarlinkCall, source_ string, reference_ string, message_ string, changes_ []string) error
PullImage(c VarlinkCall, name_ string) error
- Ping(c VarlinkCall) error
- ResizeContainerTty(c VarlinkCall) error
+ GetInfo(c VarlinkCall) error
+ InspectContainer(c VarlinkCall, name_ string) error
+ GetContainerLogs(c VarlinkCall, name_ string) error
SearchImage(c VarlinkCall, name_ string, limit_ int64) error
- RenameContainer(c VarlinkCall) error
- PauseContainer(c VarlinkCall, name_ string) error
- AttachToContainer(c VarlinkCall) error
- PushImage(c VarlinkCall, name_ string, tag_ string, tlsverify_ bool) error
- ListContainers(c VarlinkCall) error
CreateContainer(c VarlinkCall, create_ Create) error
- ExportContainer(c VarlinkCall, name_ string, path_ string) error
- StartContainer(c VarlinkCall, name_ string) error
- GetVersion(c VarlinkCall) error
- GetContainer(c VarlinkCall, name_ string) error
- GetContainerLogs(c VarlinkCall, name_ string) error
- ListContainerProcesses(c VarlinkCall, name_ string, opts_ []string) error
- ListContainerChanges(c VarlinkCall, name_ string) error
- RestartContainer(c VarlinkCall, name_ string, timeout_ int64) error
- DeleteStoppedContainers(c VarlinkCall) error
- WaitContainer(c VarlinkCall, name_ string) error
- ListImages(c VarlinkCall) error
- BuildImage(c VarlinkCall) error
+ ResizeContainerTty(c VarlinkCall) error
+ StopContainer(c VarlinkCall, name_ string, timeout_ int64) error
+ RenameContainer(c VarlinkCall) error
CreateImage(c VarlinkCall) error
- GetInfo(c VarlinkCall) error
+ ExportContainer(c VarlinkCall, name_ string, path_ string) error
GetContainerStats(c VarlinkCall, name_ string) error
- UpdateContainer(c VarlinkCall) error
+ DeleteStoppedContainers(c VarlinkCall) error
+ ListContainerChanges(c VarlinkCall, name_ string) error
UnpauseContainer(c VarlinkCall, name_ string) error
+ AttachToContainer(c VarlinkCall) error
+ WaitContainer(c VarlinkCall, name_ string) error
HistoryImage(c VarlinkCall, name_ string) error
RemoveImage(c VarlinkCall, name_ string, force_ bool) error
- Commit(c VarlinkCall, name_ string, image_name_ string, changes_ []string, author_ string, message_ string, pause_ bool) error
+ UpdateContainer(c VarlinkCall) error
+ PauseContainer(c VarlinkCall, name_ string) error
+ TagImage(c VarlinkCall, name_ string, tagged_ string) error
+ GetVersion(c VarlinkCall) error
+ GetContainer(c VarlinkCall, name_ string) error
+ StartContainer(c VarlinkCall, name_ string) error
KillContainer(c VarlinkCall, name_ string, signal_ int64) error
- ImportImage(c VarlinkCall, source_ string, reference_ string, message_ string, changes_ []string) error
- ExportImage(c VarlinkCall, name_ string, destination_ string, compress_ bool) error
+ BuildImage(c VarlinkCall) error
+ Commit(c VarlinkCall, name_ string, image_name_ string, changes_ []string, author_ string, message_ string, pause_ bool) error
+ ExportImage(c VarlinkCall, name_ string, destination_ string, compress_ bool, tags_ []string) error
+ ListContainerProcesses(c VarlinkCall, name_ string, opts_ []string) error
}
// Service object with all methods
type VarlinkCall struct{ varlink.Call }
// Reply methods for all varlink errors
-func (c *VarlinkCall) ReplyErrorOccurred(reason_ string) error {
- var out struct {
- Reason string `json:"reason"`
- }
- out.Reason = reason_
- return c.ReplyError("io.projectatomic.podman.ErrorOccurred", &out)
-}
-
-func (c *VarlinkCall) ReplyRuntimeError(reason_ string) error {
- var out struct {
- Reason string `json:"reason"`
- }
- out.Reason = reason_
- return c.ReplyError("io.projectatomic.podman.RuntimeError", &out)
-}
-
func (c *VarlinkCall) ReplyImageNotFound(name_ string) error {
var out struct {
Name string `json:"name"`
@@ -1742,20 +1728,28 @@ func (c *VarlinkCall) ReplyContainerNotFound(name_ string) error {
return c.ReplyError("io.projectatomic.podman.ContainerNotFound", &out)
}
-// Reply methods for all varlink methods
-func (c *VarlinkCall) ReplyCreateImage(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyErrorOccurred(reason_ string) error {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Reason string `json:"reason"`
}
- out.Notimplemented = notimplemented_
- return c.Reply(&out)
+ out.Reason = reason_
+ return c.ReplyError("io.projectatomic.podman.ErrorOccurred", &out)
}
-func (c *VarlinkCall) ReplyGetInfo(info_ PodmanInfo) error {
+func (c *VarlinkCall) ReplyRuntimeError(reason_ string) error {
var out struct {
- Info PodmanInfo `json:"info"`
+ Reason string `json:"reason"`
}
- out.Info = info_
+ out.Reason = reason_
+ return c.ReplyError("io.projectatomic.podman.RuntimeError", &out)
+}
+
+// Reply methods for all varlink methods
+func (c *VarlinkCall) ReplyExportContainer(tarfile_ string) error {
+ var out struct {
+ Tarfile string `json:"tarfile"`
+ }
+ out.Tarfile = tarfile_
return c.Reply(&out)
}
@@ -1767,39 +1761,39 @@ func (c *VarlinkCall) ReplyGetContainerStats(container_ ContainerStats) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyUpdateContainer(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyDeleteStoppedContainers(containers_ []string) error {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Containers []string `json:"containers"`
}
- out.Notimplemented = notimplemented_
+ out.Containers = []string(containers_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyUnpauseContainer(container_ string) error {
+func (c *VarlinkCall) ReplyRemoveImage(image_ string) error {
var out struct {
- Container string `json:"container"`
+ Image string `json:"image"`
}
- out.Container = container_
+ out.Image = image_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyWaitContainer(exitcode_ int64) error {
+func (c *VarlinkCall) ReplyListContainerChanges(container_ ContainerChanges) error {
var out struct {
- Exitcode int64 `json:"exitcode"`
+ Container ContainerChanges `json:"container"`
}
- out.Exitcode = exitcode_
+ out.Container = container_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyListImages(images_ []ImageInList) error {
+func (c *VarlinkCall) ReplyUnpauseContainer(container_ string) error {
var out struct {
- Images []ImageInList `json:"images"`
+ Container string `json:"container"`
}
- out.Images = []ImageInList(images_)
+ out.Container = container_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyBuildImage(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyAttachToContainer(notimplemented_ NotImplemented) error {
var out struct {
Notimplemented NotImplemented `json:"notimplemented"`
}
@@ -1807,31 +1801,31 @@ func (c *VarlinkCall) ReplyBuildImage(notimplemented_ NotImplemented) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyHistoryImage(history_ []ImageHistory) error {
+func (c *VarlinkCall) ReplyWaitContainer(exitcode_ int64) error {
var out struct {
- History []ImageHistory `json:"history"`
+ Exitcode int64 `json:"exitcode"`
}
- out.History = []ImageHistory(history_)
+ out.Exitcode = exitcode_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyRemoveImage(image_ string) error {
+func (c *VarlinkCall) ReplyHistoryImage(history_ []ImageHistory) error {
var out struct {
- Image string `json:"image"`
+ History []ImageHistory `json:"history"`
}
- out.Image = image_
+ out.History = []ImageHistory(history_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyCommit(image_ string) error {
+func (c *VarlinkCall) ReplyUpdateContainer(notimplemented_ NotImplemented) error {
var out struct {
- Image string `json:"image"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
- out.Image = image_
+ out.Notimplemented = notimplemented_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyKillContainer(container_ string) error {
+func (c *VarlinkCall) ReplyPauseContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -1839,7 +1833,7 @@ func (c *VarlinkCall) ReplyKillContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyImportImage(image_ string) error {
+func (c *VarlinkCall) ReplyTagImage(image_ string) error {
var out struct {
Image string `json:"image"`
}
@@ -1847,7 +1841,7 @@ func (c *VarlinkCall) ReplyImportImage(image_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyExportImage(image_ string) error {
+func (c *VarlinkCall) ReplyCommit(image_ string) error {
var out struct {
Image string `json:"image"`
}
@@ -1855,23 +1849,7 @@ func (c *VarlinkCall) ReplyExportImage(image_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyInspectContainer(container_ string) error {
- var out struct {
- Container string `json:"container"`
- }
- out.Container = container_
- return c.Reply(&out)
-}
-
-func (c *VarlinkCall) ReplyGetAttachSockets(sockets_ Sockets) error {
- var out struct {
- Sockets Sockets `json:"sockets"`
- }
- out.Sockets = sockets_
- return c.Reply(&out)
-}
-
-func (c *VarlinkCall) ReplyInspectImage(image_ string) error {
+func (c *VarlinkCall) ReplyExportImage(image_ string) error {
var out struct {
Image string `json:"image"`
}
@@ -1879,23 +1857,23 @@ func (c *VarlinkCall) ReplyInspectImage(image_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyTagImage(image_ string) error {
+func (c *VarlinkCall) ReplyGetVersion(version_ Version) error {
var out struct {
- Image string `json:"image"`
+ Version Version `json:"version"`
}
- out.Image = image_
+ out.Version = version_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyDeleteUnusedImages(images_ []string) error {
+func (c *VarlinkCall) ReplyGetContainer(container_ ListContainerData) error {
var out struct {
- Images []string `json:"images"`
+ Container ListContainerData `json:"container"`
}
- out.Images = []string(images_)
+ out.Container = container_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyStopContainer(container_ string) error {
+func (c *VarlinkCall) ReplyStartContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -1903,7 +1881,7 @@ func (c *VarlinkCall) ReplyStopContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyRemoveContainer(container_ string) error {
+func (c *VarlinkCall) ReplyKillContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -1911,35 +1889,35 @@ func (c *VarlinkCall) ReplyRemoveContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyPullImage(id_ string) error {
+func (c *VarlinkCall) ReplyBuildImage(notimplemented_ NotImplemented) error {
var out struct {
- Id string `json:"id"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
- out.Id = id_
+ out.Notimplemented = notimplemented_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyPing(ping_ StringResponse) error {
+func (c *VarlinkCall) ReplyListContainerProcesses(container_ []string) error {
var out struct {
- Ping StringResponse `json:"ping"`
+ Container []string `json:"container"`
}
- out.Ping = ping_
+ out.Container = []string(container_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyResizeContainerTty(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyListImages(images_ []ImageInList) error {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Images []ImageInList `json:"images"`
}
- out.Notimplemented = notimplemented_
+ out.Images = []ImageInList(images_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplySearchImage(images_ []ImageSearch) error {
+func (c *VarlinkCall) ReplyInspectImage(image_ string) error {
var out struct {
- Images []ImageSearch `json:"images"`
+ Image string `json:"image"`
}
- out.Images = []ImageSearch(images_)
+ out.Image = image_
return c.Reply(&out)
}
@@ -1951,6 +1929,14 @@ func (c *VarlinkCall) ReplyPushImage(image_ string) error {
return c.Reply(&out)
}
+func (c *VarlinkCall) ReplyPing(ping_ StringResponse) error {
+ var out struct {
+ Ping StringResponse `json:"ping"`
+ }
+ out.Ping = ping_
+ return c.Reply(&out)
+}
+
func (c *VarlinkCall) ReplyListContainers(containers_ []ListContainerData) error {
var out struct {
Containers []ListContainerData `json:"containers"`
@@ -1959,7 +1945,7 @@ func (c *VarlinkCall) ReplyListContainers(containers_ []ListContainerData) error
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyCreateContainer(container_ string) error {
+func (c *VarlinkCall) ReplyRestartContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -1967,15 +1953,15 @@ func (c *VarlinkCall) ReplyCreateContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyExportContainer(tarfile_ string) error {
+func (c *VarlinkCall) ReplyGetAttachSockets(sockets_ Sockets) error {
var out struct {
- Tarfile string `json:"tarfile"`
+ Sockets Sockets `json:"sockets"`
}
- out.Tarfile = tarfile_
+ out.Sockets = sockets_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyStartContainer(container_ string) error {
+func (c *VarlinkCall) ReplyRemoveContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -1983,41 +1969,41 @@ func (c *VarlinkCall) ReplyStartContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyRenameContainer(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyDeleteUnusedImages(images_ []string) error {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Images []string `json:"images"`
}
- out.Notimplemented = notimplemented_
+ out.Images = []string(images_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyPauseContainer(container_ string) error {
+func (c *VarlinkCall) ReplyImportImage(image_ string) error {
var out struct {
- Container string `json:"container"`
+ Image string `json:"image"`
}
- out.Container = container_
+ out.Image = image_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyAttachToContainer(notimplemented_ NotImplemented) error {
+func (c *VarlinkCall) ReplyPullImage(id_ string) error {
var out struct {
- Notimplemented NotImplemented `json:"notimplemented"`
+ Id string `json:"id"`
}
- out.Notimplemented = notimplemented_
+ out.Id = id_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyGetVersion(version_ Version) error {
+func (c *VarlinkCall) ReplyGetInfo(info_ PodmanInfo) error {
var out struct {
- Version Version `json:"version"`
+ Info PodmanInfo `json:"info"`
}
- out.Version = version_
+ out.Info = info_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyGetContainer(container_ ListContainerData) error {
+func (c *VarlinkCall) ReplyInspectContainer(container_ string) error {
var out struct {
- Container ListContainerData `json:"container"`
+ Container string `json:"container"`
}
out.Container = container_
return c.Reply(&out)
@@ -2031,23 +2017,31 @@ func (c *VarlinkCall) ReplyGetContainerLogs(container_ []string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyListContainerProcesses(container_ []string) error {
+func (c *VarlinkCall) ReplySearchImage(images_ []ImageSearch) error {
var out struct {
- Container []string `json:"container"`
+ Images []ImageSearch `json:"images"`
}
- out.Container = []string(container_)
+ out.Images = []ImageSearch(images_)
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyListContainerChanges(container_ ContainerChanges) error {
+func (c *VarlinkCall) ReplyCreateContainer(container_ string) error {
var out struct {
- Container ContainerChanges `json:"container"`
+ Container string `json:"container"`
}
out.Container = container_
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyRestartContainer(container_ string) error {
+func (c *VarlinkCall) ReplyResizeContainerTty(notimplemented_ NotImplemented) error {
+ var out struct {
+ Notimplemented NotImplemented `json:"notimplemented"`
+ }
+ out.Notimplemented = notimplemented_
+ return c.Reply(&out)
+}
+
+func (c *VarlinkCall) ReplyStopContainer(container_ string) error {
var out struct {
Container string `json:"container"`
}
@@ -2055,236 +2049,201 @@ func (c *VarlinkCall) ReplyRestartContainer(container_ string) error {
return c.Reply(&out)
}
-func (c *VarlinkCall) ReplyDeleteStoppedContainers(containers_ []string) error {
+func (c *VarlinkCall) ReplyRenameContainer(notimplemented_ NotImplemented) error {
var out struct {
- Containers []string `json:"containers"`
+ Notimplemented NotImplemented `json:"notimplemented"`
}
- out.Containers = []string(containers_)
+ out.Notimplemented = notimplemented_
return c.Reply(&out)
}
-// Dummy implementations for all varlink methods
-func (s *VarlinkInterface) GetVersion(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetVersion")
+func (c *VarlinkCall) ReplyCreateImage(notimplemented_ NotImplemented) error {
+ var out struct {
+ Notimplemented NotImplemented `json:"notimplemented"`
+ }
+ out.Notimplemented = notimplemented_
+ return c.Reply(&out)
}
-func (s *VarlinkInterface) GetContainer(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainer")
+// Dummy implementations for all varlink methods
+func (s *VarlinkInterface) ExportContainer(c VarlinkCall, name_ string, path_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ExportContainer")
}
-func (s *VarlinkInterface) GetContainerLogs(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainerLogs")
+func (s *VarlinkInterface) GetContainerStats(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainerStats")
}
func (s *VarlinkInterface) DeleteStoppedContainers(c VarlinkCall) error {
return c.ReplyMethodNotImplemented("io.projectatomic.podman.DeleteStoppedContainers")
}
-func (s *VarlinkInterface) ListContainerProcesses(c VarlinkCall, name_ string, opts_ []string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainerProcesses")
+func (s *VarlinkInterface) HistoryImage(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.HistoryImage")
}
-func (s *VarlinkInterface) ListContainerChanges(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainerChanges")
+func (s *VarlinkInterface) RemoveImage(c VarlinkCall, name_ string, force_ bool) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.RemoveImage")
}
-func (s *VarlinkInterface) RestartContainer(c VarlinkCall, name_ string, timeout_ int64) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.RestartContainer")
+func (s *VarlinkInterface) ListContainerChanges(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainerChanges")
}
func (s *VarlinkInterface) UnpauseContainer(c VarlinkCall, name_ string) error {
return c.ReplyMethodNotImplemented("io.projectatomic.podman.UnpauseContainer")
}
+func (s *VarlinkInterface) AttachToContainer(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.AttachToContainer")
+}
+
func (s *VarlinkInterface) WaitContainer(c VarlinkCall, name_ string) error {
return c.ReplyMethodNotImplemented("io.projectatomic.podman.WaitContainer")
}
-func (s *VarlinkInterface) ListImages(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListImages")
+func (s *VarlinkInterface) UpdateContainer(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.UpdateContainer")
}
-func (s *VarlinkInterface) BuildImage(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.BuildImage")
+func (s *VarlinkInterface) PauseContainer(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.PauseContainer")
}
-func (s *VarlinkInterface) CreateImage(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.CreateImage")
+func (s *VarlinkInterface) TagImage(c VarlinkCall, name_ string, tagged_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.TagImage")
}
-func (s *VarlinkInterface) GetInfo(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetInfo")
+func (s *VarlinkInterface) BuildImage(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.BuildImage")
}
-func (s *VarlinkInterface) GetContainerStats(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainerStats")
+func (s *VarlinkInterface) Commit(c VarlinkCall, name_ string, image_name_ string, changes_ []string, author_ string, message_ string, pause_ bool) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.Commit")
}
-func (s *VarlinkInterface) UpdateContainer(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.UpdateContainer")
+func (s *VarlinkInterface) ExportImage(c VarlinkCall, name_ string, destination_ string, compress_ bool, tags_ []string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ExportImage")
}
-func (s *VarlinkInterface) HistoryImage(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.HistoryImage")
+func (s *VarlinkInterface) GetVersion(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetVersion")
}
-func (s *VarlinkInterface) RemoveImage(c VarlinkCall, name_ string, force_ bool) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.RemoveImage")
+func (s *VarlinkInterface) GetContainer(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainer")
}
-func (s *VarlinkInterface) Commit(c VarlinkCall, name_ string, image_name_ string, changes_ []string, author_ string, message_ string, pause_ bool) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.Commit")
+func (s *VarlinkInterface) StartContainer(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.StartContainer")
}
func (s *VarlinkInterface) KillContainer(c VarlinkCall, name_ string, signal_ int64) error {
return c.ReplyMethodNotImplemented("io.projectatomic.podman.KillContainer")
}
-func (s *VarlinkInterface) ImportImage(c VarlinkCall, source_ string, reference_ string, message_ string, changes_ []string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ImportImage")
+func (s *VarlinkInterface) ListContainerProcesses(c VarlinkCall, name_ string, opts_ []string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainerProcesses")
}
-func (s *VarlinkInterface) ExportImage(c VarlinkCall, name_ string, destination_ string, compress_ bool) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ExportImage")
+func (s *VarlinkInterface) RemoveContainer(c VarlinkCall, name_ string, force_ bool) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.RemoveContainer")
}
-func (s *VarlinkInterface) TagImage(c VarlinkCall, name_ string, tagged_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.TagImage")
+func (s *VarlinkInterface) ListImages(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListImages")
}
-func (s *VarlinkInterface) DeleteUnusedImages(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.DeleteUnusedImages")
+func (s *VarlinkInterface) InspectImage(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.InspectImage")
}
-func (s *VarlinkInterface) InspectContainer(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.InspectContainer")
+func (s *VarlinkInterface) PushImage(c VarlinkCall, name_ string, tag_ string, tlsverify_ bool) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.PushImage")
}
-func (s *VarlinkInterface) GetAttachSockets(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetAttachSockets")
+func (s *VarlinkInterface) Ping(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.Ping")
}
-func (s *VarlinkInterface) InspectImage(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.InspectImage")
+func (s *VarlinkInterface) ListContainers(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainers")
}
-func (s *VarlinkInterface) StopContainer(c VarlinkCall, name_ string, timeout_ int64) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.StopContainer")
+func (s *VarlinkInterface) RestartContainer(c VarlinkCall, name_ string, timeout_ int64) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.RestartContainer")
}
-func (s *VarlinkInterface) RemoveContainer(c VarlinkCall, name_ string, force_ bool) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.RemoveContainer")
+func (s *VarlinkInterface) GetAttachSockets(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetAttachSockets")
}
-func (s *VarlinkInterface) PullImage(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.PullImage")
+func (s *VarlinkInterface) DeleteUnusedImages(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.DeleteUnusedImages")
}
-func (s *VarlinkInterface) Ping(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.Ping")
+func (s *VarlinkInterface) ImportImage(c VarlinkCall, source_ string, reference_ string, message_ string, changes_ []string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ImportImage")
}
-func (s *VarlinkInterface) ResizeContainerTty(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ResizeContainerTty")
+func (s *VarlinkInterface) PullImage(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.PullImage")
}
-func (s *VarlinkInterface) SearchImage(c VarlinkCall, name_ string, limit_ int64) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.SearchImage")
+func (s *VarlinkInterface) GetInfo(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetInfo")
}
-func (s *VarlinkInterface) StartContainer(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.StartContainer")
+func (s *VarlinkInterface) InspectContainer(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.InspectContainer")
}
-func (s *VarlinkInterface) RenameContainer(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.RenameContainer")
+func (s *VarlinkInterface) GetContainerLogs(c VarlinkCall, name_ string) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.GetContainerLogs")
}
-func (s *VarlinkInterface) PauseContainer(c VarlinkCall, name_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.PauseContainer")
+func (s *VarlinkInterface) SearchImage(c VarlinkCall, name_ string, limit_ int64) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.SearchImage")
}
-func (s *VarlinkInterface) AttachToContainer(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.AttachToContainer")
+func (s *VarlinkInterface) CreateImage(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.CreateImage")
}
-func (s *VarlinkInterface) PushImage(c VarlinkCall, name_ string, tag_ string, tlsverify_ bool) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.PushImage")
+func (s *VarlinkInterface) CreateContainer(c VarlinkCall, create_ Create) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.CreateContainer")
}
-func (s *VarlinkInterface) ListContainers(c VarlinkCall) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ListContainers")
+func (s *VarlinkInterface) ResizeContainerTty(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.ResizeContainerTty")
}
-func (s *VarlinkInterface) CreateContainer(c VarlinkCall, create_ Create) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.CreateContainer")
+func (s *VarlinkInterface) StopContainer(c VarlinkCall, name_ string, timeout_ int64) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.StopContainer")
}
-func (s *VarlinkInterface) ExportContainer(c VarlinkCall, name_ string, path_ string) error {
- return c.ReplyMethodNotImplemented("io.projectatomic.podman.ExportContainer")
+func (s *VarlinkInterface) RenameContainer(c VarlinkCall) error {
+ return c.ReplyMethodNotImplemented("io.projectatomic.podman.RenameContainer")
}
// Method call dispatcher
func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string) error {
switch methodname {
- case "ListContainerProcesses":
- var in struct {
- Name string `json:"name"`
- Opts []string `json:"opts"`
- }
- err := call.GetParameters(&in)
- if err != nil {
- return call.ReplyInvalidParameter("parameters")
- }
- return s.ioprojectatomicpodmanInterface.ListContainerProcesses(VarlinkCall{call}, in.Name, []string(in.Opts))
-
- case "ListContainerChanges":
- var in struct {
- Name string `json:"name"`
- }
- err := call.GetParameters(&in)
- if err != nil {
- return call.ReplyInvalidParameter("parameters")
- }
- return s.ioprojectatomicpodmanInterface.ListContainerChanges(VarlinkCall{call}, in.Name)
-
- case "RestartContainer":
- var in struct {
- Name string `json:"name"`
- Timeout int64 `json:"timeout"`
- }
- err := call.GetParameters(&in)
- if err != nil {
- return call.ReplyInvalidParameter("parameters")
- }
- return s.ioprojectatomicpodmanInterface.RestartContainer(VarlinkCall{call}, in.Name, in.Timeout)
-
- case "DeleteStoppedContainers":
- return s.ioprojectatomicpodmanInterface.DeleteStoppedContainers(VarlinkCall{call})
-
- case "BuildImage":
- return s.ioprojectatomicpodmanInterface.BuildImage(VarlinkCall{call})
-
- case "CreateImage":
- return s.ioprojectatomicpodmanInterface.CreateImage(VarlinkCall{call})
-
- case "GetInfo":
- return s.ioprojectatomicpodmanInterface.GetInfo(VarlinkCall{call})
-
- case "GetContainerStats":
+ case "TagImage":
var in struct {
- Name string `json:"name"`
+ Name string `json:"name"`
+ Tagged string `json:"tagged"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.GetContainerStats(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.TagImage(VarlinkCall{call}, in.Name, in.Tagged)
case "UpdateContainer":
return s.ioprojectatomicpodmanInterface.UpdateContainer(VarlinkCall{call})
- case "UnpauseContainer":
+ case "PauseContainer":
var in struct {
Name string `json:"name"`
}
@@ -2292,9 +2251,9 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.UnpauseContainer(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.PauseContainer(VarlinkCall{call}, in.Name)
- case "WaitContainer":
+ case "StartContainer":
var in struct {
Name string `json:"name"`
}
@@ -2302,31 +2261,21 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.WaitContainer(VarlinkCall{call}, in.Name)
-
- case "ListImages":
- return s.ioprojectatomicpodmanInterface.ListImages(VarlinkCall{call})
+ return s.ioprojectatomicpodmanInterface.StartContainer(VarlinkCall{call}, in.Name)
- case "HistoryImage":
+ case "KillContainer":
var in struct {
- Name string `json:"name"`
+ Name string `json:"name"`
+ Signal int64 `json:"signal"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.HistoryImage(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.KillContainer(VarlinkCall{call}, in.Name, in.Signal)
- case "RemoveImage":
- var in struct {
- Name string `json:"name"`
- Force bool `json:"force"`
- }
- err := call.GetParameters(&in)
- if err != nil {
- return call.ReplyInvalidParameter("parameters")
- }
- return s.ioprojectatomicpodmanInterface.RemoveImage(VarlinkCall{call}, in.Name, in.Force)
+ case "BuildImage":
+ return s.ioprojectatomicpodmanInterface.BuildImage(VarlinkCall{call})
case "Commit":
var in struct {
@@ -2343,51 +2292,53 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.Commit(VarlinkCall{call}, in.Name, in.Image_name, []string(in.Changes), in.Author, in.Message, in.Pause)
- case "KillContainer":
+ case "ExportImage":
var in struct {
- Name string `json:"name"`
- Signal int64 `json:"signal"`
+ Name string `json:"name"`
+ Destination string `json:"destination"`
+ Compress bool `json:"compress"`
+ Tags []string `json:"tags"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.KillContainer(VarlinkCall{call}, in.Name, in.Signal)
+ return s.ioprojectatomicpodmanInterface.ExportImage(VarlinkCall{call}, in.Name, in.Destination, in.Compress, []string(in.Tags))
- case "ImportImage":
+ case "GetVersion":
+ return s.ioprojectatomicpodmanInterface.GetVersion(VarlinkCall{call})
+
+ case "GetContainer":
var in struct {
- Source string `json:"source"`
- Reference string `json:"reference"`
- Message string `json:"message"`
- Changes []string `json:"changes"`
+ Name string `json:"name"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.ImportImage(VarlinkCall{call}, in.Source, in.Reference, in.Message, []string(in.Changes))
+ return s.ioprojectatomicpodmanInterface.GetContainer(VarlinkCall{call}, in.Name)
- case "ExportImage":
+ case "ListContainerProcesses":
var in struct {
- Name string `json:"name"`
- Destination string `json:"destination"`
- Compress bool `json:"compress"`
+ Name string `json:"name"`
+ Opts []string `json:"opts"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.ExportImage(VarlinkCall{call}, in.Name, in.Destination, in.Compress)
+ return s.ioprojectatomicpodmanInterface.ListContainerProcesses(VarlinkCall{call}, in.Name, []string(in.Opts))
- case "InspectContainer":
+ case "RestartContainer":
var in struct {
- Name string `json:"name"`
+ Name string `json:"name"`
+ Timeout int64 `json:"timeout"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.InspectContainer(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.RestartContainer(VarlinkCall{call}, in.Name, in.Timeout)
case "GetAttachSockets":
var in struct {
@@ -2399,6 +2350,20 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.GetAttachSockets(VarlinkCall{call}, in.Name)
+ case "RemoveContainer":
+ var in struct {
+ Name string `json:"name"`
+ Force bool `json:"force"`
+ }
+ err := call.GetParameters(&in)
+ if err != nil {
+ return call.ReplyInvalidParameter("parameters")
+ }
+ return s.ioprojectatomicpodmanInterface.RemoveContainer(VarlinkCall{call}, in.Name, in.Force)
+
+ case "ListImages":
+ return s.ioprojectatomicpodmanInterface.ListImages(VarlinkCall{call})
+
case "InspectImage":
var in struct {
Name string `json:"name"`
@@ -2409,43 +2374,51 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.InspectImage(VarlinkCall{call}, in.Name)
- case "TagImage":
+ case "PushImage":
var in struct {
- Name string `json:"name"`
- Tagged string `json:"tagged"`
+ Name string `json:"name"`
+ Tag string `json:"tag"`
+ Tlsverify bool `json:"tlsverify"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.TagImage(VarlinkCall{call}, in.Name, in.Tagged)
+ return s.ioprojectatomicpodmanInterface.PushImage(VarlinkCall{call}, in.Name, in.Tag, in.Tlsverify)
- case "DeleteUnusedImages":
- return s.ioprojectatomicpodmanInterface.DeleteUnusedImages(VarlinkCall{call})
+ case "Ping":
+ return s.ioprojectatomicpodmanInterface.Ping(VarlinkCall{call})
- case "StopContainer":
+ case "ListContainers":
+ return s.ioprojectatomicpodmanInterface.ListContainers(VarlinkCall{call})
+
+ case "PullImage":
var in struct {
- Name string `json:"name"`
- Timeout int64 `json:"timeout"`
+ Name string `json:"name"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.StopContainer(VarlinkCall{call}, in.Name, in.Timeout)
+ return s.ioprojectatomicpodmanInterface.PullImage(VarlinkCall{call}, in.Name)
- case "RemoveContainer":
+ case "DeleteUnusedImages":
+ return s.ioprojectatomicpodmanInterface.DeleteUnusedImages(VarlinkCall{call})
+
+ case "ImportImage":
var in struct {
- Name string `json:"name"`
- Force bool `json:"force"`
+ Source string `json:"source"`
+ Reference string `json:"reference"`
+ Message string `json:"message"`
+ Changes []string `json:"changes"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.RemoveContainer(VarlinkCall{call}, in.Name, in.Force)
+ return s.ioprojectatomicpodmanInterface.ImportImage(VarlinkCall{call}, in.Source, in.Reference, in.Message, []string(in.Changes))
- case "PullImage":
+ case "GetContainerLogs":
var in struct {
Name string `json:"name"`
}
@@ -2453,13 +2426,7 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.PullImage(VarlinkCall{call}, in.Name)
-
- case "Ping":
- return s.ioprojectatomicpodmanInterface.Ping(VarlinkCall{call})
-
- case "ResizeContainerTty":
- return s.ioprojectatomicpodmanInterface.ResizeContainerTty(VarlinkCall{call})
+ return s.ioprojectatomicpodmanInterface.GetContainerLogs(VarlinkCall{call}, in.Name)
case "SearchImage":
var in struct {
@@ -2472,23 +2439,35 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.SearchImage(VarlinkCall{call}, in.Name, in.Limit)
- case "AttachToContainer":
- return s.ioprojectatomicpodmanInterface.AttachToContainer(VarlinkCall{call})
+ case "GetInfo":
+ return s.ioprojectatomicpodmanInterface.GetInfo(VarlinkCall{call})
- case "PushImage":
+ case "InspectContainer":
var in struct {
- Name string `json:"name"`
- Tag string `json:"tag"`
- Tlsverify bool `json:"tlsverify"`
+ Name string `json:"name"`
}
err := call.GetParameters(&in)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.PushImage(VarlinkCall{call}, in.Name, in.Tag, in.Tlsverify)
+ return s.ioprojectatomicpodmanInterface.InspectContainer(VarlinkCall{call}, in.Name)
- case "ListContainers":
- return s.ioprojectatomicpodmanInterface.ListContainers(VarlinkCall{call})
+ case "StopContainer":
+ var in struct {
+ Name string `json:"name"`
+ Timeout int64 `json:"timeout"`
+ }
+ err := call.GetParameters(&in)
+ if err != nil {
+ return call.ReplyInvalidParameter("parameters")
+ }
+ return s.ioprojectatomicpodmanInterface.StopContainer(VarlinkCall{call}, in.Name, in.Timeout)
+
+ case "RenameContainer":
+ return s.ioprojectatomicpodmanInterface.RenameContainer(VarlinkCall{call})
+
+ case "CreateImage":
+ return s.ioprojectatomicpodmanInterface.CreateImage(VarlinkCall{call})
case "CreateContainer":
var in struct {
@@ -2500,6 +2479,12 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.CreateContainer(VarlinkCall{call}, in.Create)
+ case "ResizeContainerTty":
+ return s.ioprojectatomicpodmanInterface.ResizeContainerTty(VarlinkCall{call})
+
+ case "DeleteStoppedContainers":
+ return s.ioprojectatomicpodmanInterface.DeleteStoppedContainers(VarlinkCall{call})
+
case "ExportContainer":
var in struct {
Name string `json:"name"`
@@ -2511,7 +2496,7 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
}
return s.ioprojectatomicpodmanInterface.ExportContainer(VarlinkCall{call}, in.Name, in.Path)
- case "StartContainer":
+ case "GetContainerStats":
var in struct {
Name string `json:"name"`
}
@@ -2519,12 +2504,12 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.StartContainer(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.GetContainerStats(VarlinkCall{call}, in.Name)
- case "RenameContainer":
- return s.ioprojectatomicpodmanInterface.RenameContainer(VarlinkCall{call})
+ case "AttachToContainer":
+ return s.ioprojectatomicpodmanInterface.AttachToContainer(VarlinkCall{call})
- case "PauseContainer":
+ case "WaitContainer":
var in struct {
Name string `json:"name"`
}
@@ -2532,12 +2517,30 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.PauseContainer(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.WaitContainer(VarlinkCall{call}, in.Name)
- case "GetVersion":
- return s.ioprojectatomicpodmanInterface.GetVersion(VarlinkCall{call})
+ case "HistoryImage":
+ var in struct {
+ Name string `json:"name"`
+ }
+ err := call.GetParameters(&in)
+ if err != nil {
+ return call.ReplyInvalidParameter("parameters")
+ }
+ return s.ioprojectatomicpodmanInterface.HistoryImage(VarlinkCall{call}, in.Name)
- case "GetContainer":
+ case "RemoveImage":
+ var in struct {
+ Name string `json:"name"`
+ Force bool `json:"force"`
+ }
+ err := call.GetParameters(&in)
+ if err != nil {
+ return call.ReplyInvalidParameter("parameters")
+ }
+ return s.ioprojectatomicpodmanInterface.RemoveImage(VarlinkCall{call}, in.Name, in.Force)
+
+ case "ListContainerChanges":
var in struct {
Name string `json:"name"`
}
@@ -2545,9 +2548,9 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.GetContainer(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.ListContainerChanges(VarlinkCall{call}, in.Name)
- case "GetContainerLogs":
+ case "UnpauseContainer":
var in struct {
Name string `json:"name"`
}
@@ -2555,7 +2558,7 @@ func (s *VarlinkInterface) VarlinkDispatch(call varlink.Call, methodname string)
if err != nil {
return call.ReplyInvalidParameter("parameters")
}
- return s.ioprojectatomicpodmanInterface.GetContainerLogs(VarlinkCall{call}, in.Name)
+ return s.ioprojectatomicpodmanInterface.UnpauseContainer(VarlinkCall{call}, in.Name)
default:
return call.ReplyMethodNotFound(methodname)
@@ -2622,7 +2625,7 @@ type ImageHistory (
)
# ImageSearch is the returned structure for SearchImage. It is returned
-# in arrary form.
+# in array form.
type ImageSearch (
description: string,
is_official: bool,
@@ -2901,7 +2904,7 @@ method InspectContainer(name: string) -> (container: 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](#ContainerNotFound)
+# arguments that represent ps options. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound)
# error will be returned.
# #### Example
# ~~~
@@ -2969,7 +2972,7 @@ method ResizeContainerTty() -> (notimplemented: NotImplemented)
method StartContainer(name: string) -> (container: 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
+# 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](#ContainerNotFound)
# error will be returned instead. See also [KillContainer](KillContainer).
# #### Error
@@ -2982,7 +2985,7 @@ method StartContainer(name: string) -> (container: string)
method StopContainer(name: string, timeout: int) -> (container: 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
+# 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](#ContainerNotFound) error will be returned; otherwise, the ID of the
# container will be returned.
method RestartContainer(name: string, timeout: int) -> (container: string)
@@ -3034,7 +3037,7 @@ method GetAttachSockets(name: string) -> (sockets: Sockets)
method WaitContainer(name: string) -> (exitcode: int)
# 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 can be stopped and removed. Upon successful removal of the container, its ID is returned. If the
# container cannot be found by name or ID, a [ContainerNotFound](#ContainerNotFound) error will be returned.
# #### Example
# ~~~
@@ -3050,7 +3053,7 @@ method RemoveContainer(name: string, force: bool) -> (container: string)
method DeleteStoppedContainers() -> (containers: []string)
# ListImages returns an array of ImageInList structures which provide basic information about
-# an image currenly in storage. See also [InspectImage](InspectImage).
+# an image currently in storage. See also [InspectImage](InspectImage).
method ListImages() -> (images: []ImageInList)
# This function is not implemented yet.
@@ -3078,7 +3081,7 @@ method PushImage(name: string, tag: string, tlsverify: bool) -> (image: string)
# be found, an [ImageNotFound](#ImageNotFound) error will be returned; otherwise, the ID of the image is returned on success.
method TagImage(name: string, tagged: string) -> (image: string)
-# RemoveImage takes the name or ID of an image as well as a booleon that determines if containers using that image
+# 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](#ImageNotFound) error will be returned. The
# ID of the removed image is returned when complete. See also [DeleteUnusedImages](DeleteUnusedImages).
# #### Example
@@ -3113,9 +3116,11 @@ method Commit(name: string, image_name: string, changes: []string, author: strin
method ImportImage(source: string, reference: string, message: string, changes: []string) -> (image: 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](#ImageNotFound) error will be returned. See also [ImportImage](ImportImage).
-method ExportImage(name: string, destination: string, compress: bool) -> (image: string)
+# 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 <image>:<tag>). Upon completion, the ID
+# of the image is returned. If the image cannot be found in local storage, an [ImageNotFound](#ImageNotFound)
+# error will be returned. See also [ImportImage](ImportImage).
+method ExportImage(name: string, destination: string, compress: bool, tags: []string) -> (image: string)
# PullImage pulls an image from a repository to local storage. After the pull is successful, the ID of the image
# is returned.
diff --git a/libpod/image/docker_registry_options.go b/libpod/image/docker_registry_options.go
index bbb49df28..838edf2d0 100644
--- a/libpod/image/docker_registry_options.go
+++ b/libpod/image/docker_registry_options.go
@@ -1,6 +1,9 @@
package image
-import "github.com/containers/image/types"
+import (
+ "github.com/containers/image/docker/reference"
+ "github.com/containers/image/types"
+)
// DockerRegistryOptions encapsulates settings that affect how we connect or
// authenticate to a remote registry.
@@ -22,7 +25,7 @@ type DockerRegistryOptions struct {
// GetSystemContext constructs a new system context from the given signaturePolicy path and the
// values in the DockerRegistryOptions
-func (o DockerRegistryOptions) GetSystemContext(signaturePolicyPath, authFile string, forceCompress bool) *types.SystemContext {
+func (o DockerRegistryOptions) GetSystemContext(signaturePolicyPath, authFile string, forceCompress bool, additionalDockerArchiveTags []reference.NamedTagged) *types.SystemContext {
sc := &types.SystemContext{
SignaturePolicyPath: signaturePolicyPath,
DockerAuthConfig: o.DockerRegistryCreds,
@@ -30,6 +33,7 @@ func (o DockerRegistryOptions) GetSystemContext(signaturePolicyPath, authFile st
DockerInsecureSkipTLSVerify: o.DockerInsecureSkipTLSVerify,
AuthFilePath: authFile,
DirForceCompress: forceCompress,
+ DockerArchiveAdditionalTags: additionalDockerArchiveTags,
}
return sc
}
diff --git a/libpod/image/image.go b/libpod/image/image.go
index b7d9200ec..c8a929074 100644
--- a/libpod/image/image.go
+++ b/libpod/image/image.go
@@ -147,7 +147,7 @@ func (ir *Runtime) New(ctx context.Context, name, signaturePolicyPath, authfile
return nil, errors.Wrapf(err, "unable to pull %s", name)
}
- newImage.InputName = imageName
+ newImage.InputName = imageName[0]
img, err := newImage.getLocalImage()
if err != nil {
return nil, errors.Wrapf(err, "error retrieving local image after pulling %s", name)
@@ -156,6 +156,41 @@ func (ir *Runtime) New(ctx context.Context, name, signaturePolicyPath, authfile
return &newImage, nil
}
+// LoadFromArchive creates a new image object for images pulled from a tar archive (podman load)
+// This function is needed because it is possible for a tar archive to have multiple tags for one image
+func (ir *Runtime) LoadFromArchive(ctx context.Context, name, signaturePolicyPath string, writer io.Writer) ([]*Image, error) {
+ var newImages []*Image
+ newImage := Image{
+ InputName: name,
+ Local: false,
+ imageruntime: ir,
+ }
+
+ if signaturePolicyPath == "" {
+ signaturePolicyPath = ir.SignaturePolicyPath
+ }
+ imageNames, err := newImage.pullImage(ctx, writer, "", signaturePolicyPath, SigningOptions{}, &DockerRegistryOptions{}, false)
+ if err != nil {
+ return nil, errors.Wrapf(err, "unable to pull %s", name)
+ }
+
+ for _, name := range imageNames {
+ newImage := Image{
+ InputName: name,
+ Local: true,
+ imageruntime: ir,
+ }
+ img, err := newImage.getLocalImage()
+ if err != nil {
+ return nil, errors.Wrapf(err, "error retrieving local image after pulling %s", name)
+ }
+ newImage.image = img
+ newImages = append(newImages, &newImage)
+ }
+
+ return newImages, nil
+}
+
// Shutdown closes down the storage and require a bool arg as to
// whether it should do so forcibly.
func (ir *Runtime) Shutdown(force bool) error {
@@ -428,7 +463,7 @@ func (i *Image) UntagImage(tag string) error {
}
// PushImage pushes the given image to a location described by the given path
-func (i *Image) PushImage(ctx context.Context, destination, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool) error {
+func (i *Image) PushImage(ctx context.Context, destination, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool, additionalDockerArchiveTags []reference.NamedTagged) error {
if destination == "" {
return errors.Wrapf(syscall.EINVAL, "destination image name must be specified")
}
@@ -464,7 +499,7 @@ func (i *Image) PushImage(ctx context.Context, destination, manifestMIMEType, au
if err != nil {
return err
}
- copyOptions := getCopyOptions(writer, signaturePolicyPath, nil, dockerRegistryOptions, signingOptions, authFile, manifestMIMEType, forceCompress)
+ copyOptions := getCopyOptions(writer, signaturePolicyPath, nil, dockerRegistryOptions, signingOptions, authFile, manifestMIMEType, forceCompress, additionalDockerArchiveTags)
if strings.HasPrefix(DockerTransport, dest.Transport().Name()) {
imgRef, err := reference.Parse(dest.DockerReference().String())
if err != nil {
@@ -749,7 +784,7 @@ func (ir *Runtime) Import(ctx context.Context, path, reference string, writer io
return nil, err
}
defer policyContext.Destroy()
- copyOptions := getCopyOptions(writer, "", nil, nil, signingOptions, "", "", false)
+ copyOptions := getCopyOptions(writer, "", nil, nil, signingOptions, "", "", false, nil)
dest, err := is.Transport.ParseStoreReference(ir.store, reference)
if err != nil {
errors.Wrapf(err, "error getting image reference for %q", reference)
diff --git a/libpod/image/pull.go b/libpod/image/pull.go
index 38a8435de..cd915cb47 100644
--- a/libpod/image/pull.go
+++ b/libpod/image/pull.go
@@ -100,21 +100,25 @@ func (ir *Runtime) getPullListFromRef(ctx context.Context, srcRef types.ImageRef
}
pullStructs = append(pullStructs, pullInfo)
} else {
- var dest string
+ var dest []string
if len(manifest[0].RepoTags) > 0 {
- dest = manifest[0].RepoTags[0]
+ dest = append(dest, manifest[0].RepoTags...)
} else {
// If the input image has no repotags, we need to feed it a dest anyways
- dest, err = getImageDigest(ctx, srcRef, sc)
+ digest, err := getImageDigest(ctx, srcRef, sc)
if err != nil {
return nil, err
}
+ dest = append(dest, digest)
}
- pullInfo, err := ir.getPullStruct(srcRef, dest)
- if err != nil {
- return nil, err
+ // Need to load in all the repo tags from the manifest
+ for _, dst := range dest {
+ pullInfo, err := ir.getPullStruct(srcRef, dst)
+ if err != nil {
+ return nil, err
+ }
+ pullStructs = append(pullStructs, pullInfo)
}
- pullStructs = append(pullStructs, pullInfo)
}
} else if srcRef.Transport().Name() == OCIArchive {
// retrieve the manifest from index.json to access the image name
@@ -164,7 +168,7 @@ func (ir *Runtime) getPullListFromRef(ctx context.Context, srcRef types.ImageRef
// pullImage pulls an image from configured registries
// By default, only the latest tag (or a specific tag if requested) will be
// pulled.
-func (i *Image) pullImage(ctx context.Context, writer io.Writer, authfile, signaturePolicyPath string, signingOptions SigningOptions, dockerOptions *DockerRegistryOptions, forceSecure bool) (string, error) {
+func (i *Image) pullImage(ctx context.Context, writer io.Writer, authfile, signaturePolicyPath string, signingOptions SigningOptions, dockerOptions *DockerRegistryOptions, forceSecure bool) ([]string, error) {
// pullImage copies the image from the source to the destination
var pullStructs []*pullStruct
sc := GetSystemContext(signaturePolicyPath, authfile, false)
@@ -173,31 +177,31 @@ func (i *Image) pullImage(ctx context.Context, writer io.Writer, authfile, signa
// could be trying to pull from registry with short name
pullStructs, err = i.createNamesToPull()
if err != nil {
- return "", errors.Wrap(err, "error getting default registries to try")
+ return nil, errors.Wrap(err, "error getting default registries to try")
}
} else {
pullStructs, err = i.imageruntime.getPullListFromRef(ctx, srcRef, i.InputName, sc)
if err != nil {
- return "", errors.Wrapf(err, "error getting pullStruct info to pull image %q", i.InputName)
+ return nil, errors.Wrapf(err, "error getting pullStruct info to pull image %q", i.InputName)
}
}
policyContext, err := getPolicyContext(sc)
if err != nil {
- return "", err
+ return nil, err
}
defer policyContext.Destroy()
insecureRegistries, err := registries.GetInsecureRegistries()
if err != nil {
- return "", err
+ return nil, err
}
-
+ var images []string
for _, imageInfo := range pullStructs {
- copyOptions := getCopyOptions(writer, signaturePolicyPath, dockerOptions, nil, signingOptions, authfile, "", false)
+ copyOptions := getCopyOptions(writer, signaturePolicyPath, dockerOptions, nil, signingOptions, authfile, "", false, nil)
if strings.HasPrefix(DockerTransport, imageInfo.srcRef.Transport().Name()) {
imgRef, err := reference.Parse(imageInfo.srcRef.DockerReference().String())
if err != nil {
- return "", err
+ return nil, err
}
registry := reference.Domain(imgRef.(reference.Named))
@@ -215,10 +219,13 @@ func (i *Image) pullImage(ctx context.Context, writer io.Writer, authfile, signa
io.WriteString(writer, "Failed\n")
}
} else {
- return imageInfo.image, nil
+ if imageInfo.srcRef.Transport().Name() != DockerArchive {
+ return []string{imageInfo.image}, nil
+ }
+ images = append(images, imageInfo.image)
}
}
- return "", errors.Wrapf(err, "error pulling image from")
+ return images, errors.Wrapf(err, "error pulling image from")
}
// createNamesToPull looks at a decomposed image and determines the possible
diff --git a/libpod/image/utils.go b/libpod/image/utils.go
index 5392b86f0..661fece07 100644
--- a/libpod/image/utils.go
+++ b/libpod/image/utils.go
@@ -53,15 +53,15 @@ func findImageInRepotags(search imageParts, images []*Image) (*storage.Image, er
}
// getCopyOptions constructs a new containers/image/copy.Options{} struct from the given parameters
-func getCopyOptions(reportWriter io.Writer, signaturePolicyPath string, srcDockerRegistry, destDockerRegistry *DockerRegistryOptions, signing SigningOptions, authFile, manifestType string, forceCompress bool) *cp.Options {
+func getCopyOptions(reportWriter io.Writer, signaturePolicyPath string, srcDockerRegistry, destDockerRegistry *DockerRegistryOptions, signing SigningOptions, authFile, manifestType string, forceCompress bool, additionalDockerArchiveTags []reference.NamedTagged) *cp.Options {
if srcDockerRegistry == nil {
srcDockerRegistry = &DockerRegistryOptions{}
}
if destDockerRegistry == nil {
destDockerRegistry = &DockerRegistryOptions{}
}
- srcContext := srcDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress)
- destContext := destDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress)
+ srcContext := srcDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress, additionalDockerArchiveTags)
+ destContext := destDockerRegistry.GetSystemContext(signaturePolicyPath, authFile, forceCompress, additionalDockerArchiveTags)
return &cp.Options{
RemoveSignatures: signing.RemoveSignatures,
SignBy: signing.SignBy,
@@ -110,3 +110,20 @@ func ReposToMap(repotags []string) map[string][]string {
}
return repos
}
+
+// GetAdditionalTags returns a list of reference.NamedTagged for the
+// additional tags given in images
+func GetAdditionalTags(images []string) ([]reference.NamedTagged, error) {
+ var allTags []reference.NamedTagged
+ for _, img := range images {
+ ref, err := reference.ParseNormalizedNamed(img)
+ if err != nil {
+ return nil, errors.Wrapf(err, "error parsing additional tags")
+ }
+ refTagged, isTagged := ref.(reference.NamedTagged)
+ if isTagged {
+ allTags = append(allTags, refTagged)
+ }
+ }
+ return allTags, nil
+}
diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go
index 045b0f674..c536e856a 100644
--- a/pkg/varlinkapi/images.go
+++ b/pkg/varlinkapi/images.go
@@ -118,7 +118,7 @@ func (i *LibpodAPI) HistoryImage(call ioprojectatomicpodman.VarlinkCall, name st
}
// PushImage pushes an local image to registry
-// TODO We need to add options for signing, credentials, and tls
+// TODO We need to add options for signing, credentials, tls, and multi-tag
func (i *LibpodAPI) PushImage(call ioprojectatomicpodman.VarlinkCall, name, tag string, tlsVerify bool) error {
runtime, err := libpodruntime.GetRuntime(i.Cli)
if err != nil {
@@ -139,7 +139,7 @@ func (i *LibpodAPI) PushImage(call ioprojectatomicpodman.VarlinkCall, name, tag
so := image.SigningOptions{}
- if err := newImage.PushImage(getContext(), destname, "", "", "", nil, false, so, &dockerRegistryOptions, false); err != nil {
+ if err := newImage.PushImage(getContext(), destname, "", "", "", nil, false, so, &dockerRegistryOptions, false, nil); err != nil {
return call.ReplyErrorOccurred(err.Error())
}
return call.ReplyPushImage(newImage.ID())
@@ -292,7 +292,7 @@ func (i *LibpodAPI) ImportImage(call ioprojectatomicpodman.VarlinkCall, source,
// ExportImage exports an image to the provided destination
// destination must have the transport type!!
-func (i *LibpodAPI) ExportImage(call ioprojectatomicpodman.VarlinkCall, name, destination string, compress bool) error {
+func (i *LibpodAPI) ExportImage(call ioprojectatomicpodman.VarlinkCall, name, destination string, compress bool, tags []string) error {
runtime, err := libpodruntime.GetRuntime(i.Cli)
if err != nil {
return call.ReplyRuntimeError(err.Error())
@@ -301,7 +301,13 @@ func (i *LibpodAPI) ExportImage(call ioprojectatomicpodman.VarlinkCall, name, de
if err != nil {
return call.ReplyImageNotFound(name)
}
- if err := newImage.PushImage(getContext(), destination, "", "", "", nil, compress, image.SigningOptions{}, &image.DockerRegistryOptions{}, false); err != nil {
+
+ additionalTags, err := image.GetAdditionalTags(tags)
+ if err != nil {
+ return err
+ }
+
+ if err := newImage.PushImage(getContext(), destination, "", "", "", nil, compress, image.SigningOptions{}, &image.DockerRegistryOptions{}, false, additionalTags); err != nil {
return call.ReplyErrorOccurred(err.Error())
}
return call.ReplyExportImage(newImage.ID())
diff --git a/test/e2e/libpod_suite_test.go b/test/e2e/libpod_suite_test.go
index 7007c5075..0c3dd2eea 100644
--- a/test/e2e/libpod_suite_test.go
+++ b/test/e2e/libpod_suite_test.go
@@ -567,8 +567,8 @@ func (p *PodmanTest) GetHostDistribution() string {
return ""
}
for _, line := range content {
- if strings.HasPrefix(fmt.Sprintf("%s", line), "ID") {
- fields := strings.Split(fmt.Sprintf("%s", line), "=")
+ if strings.HasPrefix(fmt.Sprintf("%x", line), "ID") {
+ fields := strings.Split(fmt.Sprintf("%x", line), "=")
if len(fields) < 2 {
return ""
}
diff --git a/test/e2e/load_test.go b/test/e2e/load_test.go
index e9c2d94ab..3fe68ad8e 100644
--- a/test/e2e/load_test.go
+++ b/test/e2e/load_test.go
@@ -133,4 +133,32 @@ var _ = Describe("Podman load", func() {
save.WaitWithDefaultTimeout()
Expect(save.ExitCode()).ToNot(Equal(0))
})
+
+ It("podman load multiple tags", func() {
+ outfile := filepath.Join(podmanTest.TempDir, "alpine.tar")
+ alpVersion := "docker.io/library/alpine:3.2"
+
+ pull := podmanTest.Podman([]string{"pull", alpVersion})
+ pull.WaitWithDefaultTimeout()
+ Expect(pull.ExitCode()).To(Equal(0))
+
+ save := podmanTest.Podman([]string{"save", "-o", outfile, ALPINE, alpVersion})
+ save.WaitWithDefaultTimeout()
+ Expect(save.ExitCode()).To(Equal(0))
+
+ rmi := podmanTest.Podman([]string{"rmi", ALPINE, alpVersion})
+ rmi.WaitWithDefaultTimeout()
+ Expect(rmi.ExitCode()).To(Equal(0))
+
+ result := podmanTest.Podman([]string{"load", "-i", outfile})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+
+ inspect := podmanTest.Podman([]string{"inspect", ALPINE})
+ inspect.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+ inspect = podmanTest.Podman([]string{"inspect", alpVersion})
+ inspect.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+ })
})