github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/domain/infra/abi/archive.go (about)

     1  package abi
     2  
     3  import (
     4  	"context"
     5  	"io"
     6  
     7  	"github.com/hanks177/podman/v4/pkg/domain/entities"
     8  )
     9  
    10  func (ic *ContainerEngine) ContainerCopyFromArchive(ctx context.Context, nameOrID, containerPath string, reader io.Reader, options entities.CopyOptions) (entities.ContainerCopyFunc, error) {
    11  	container, err := ic.Libpod.LookupContainer(nameOrID)
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  	return container.CopyFromArchive(ctx, containerPath, options.Chown, options.NoOverwriteDirNonDir, options.Rename, reader)
    16  }
    17  
    18  func (ic *ContainerEngine) ContainerCopyToArchive(ctx context.Context, nameOrID, containerPath string, writer io.Writer) (entities.ContainerCopyFunc, error) {
    19  	container, err := ic.Libpod.LookupContainer(nameOrID)
    20  	if err != nil {
    21  		return nil, err
    22  	}
    23  	return container.CopyToArchive(ctx, containerPath, writer)
    24  }