Files
Jan Kaluza a98154a978 Switch common, storage and image to monorepo.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-09-01 12:33:04 +02:00

98 lines
3.3 KiB
Go

package entities
import (
"net/url"
"go.podman.io/common/pkg/ssh"
)
// ScpTransferImageOptions provide options for securely copying images to and from a remote host
type ScpTransferImageOptions struct {
// Remote determines if this entity is operating on a remote machine
Remote bool `json:"remote,omitempty"`
// File is the input/output file for the save and load Operation
File string `json:"file,omitempty"`
// Quiet Determines if the save and load operation will be done quietly
Quiet bool `json:"quiet,omitempty"`
// Image is the image the user is providing to save and load
Image string `json:"image,omitempty"`
// User is used in conjunction with Transfer to determine if a valid user was given to save from/load into
User string `json:"user,omitempty"`
// Tag is the name to be used for the image on the destination
Tag string `json:"tag,omitempty"`
}
type ScpLoadReport = ImageLoadReport
type ScpExecuteTransferOptions struct {
// ParentFlags are the arguments to apply to the parent podman command when called via ssh
ParentFlags []string
// Quiet Determines if the save and load operation will be done quietly
Quiet bool
// SSHMode is the specified ssh.EngineMode which should be used
SSHMode ssh.EngineMode
}
type ScpExecuteTransferReport struct {
// LoadReport provides results from calling podman load
LoadReport *ScpLoadReport
// Source contains data relating to the source of the image to transfer
Source *ScpTransferImageOptions
// Dest contains data relating to the destination of the image to transfer
Dest *ScpTransferImageOptions
// ParentFlags are the arguments to apply to the parent podman command when called via ssh
ParentFlags []string
}
type ScpTransferOptions struct {
// ParentFlags are the arguments to apply to the parent podman command when called.
ParentFlags []string
}
type ScpTransferReport struct{}
type ScpLoadToRemoteOptions struct {
// Dest contains data relating to the destination of the image to transfer
Dest ScpTransferImageOptions
// LocalFile is a path to a local file containing saved image data to transfer
LocalFile string
// Tag is the name of the tag to be given to the loaded image (unused)
Tag string
// URL points to the remote location for loading to
URL *url.URL
// Iden is a path to an optional identity file with ssh key
Iden string
// SSHMode is the specified ssh.EngineMode which should be used
SSHMode ssh.EngineMode
}
type ScpLoadToRemoteReport struct {
// Response contains any additional information from the executed load command
Response string
// ID is the identifier of the loaded image
ID string
}
type ScpSaveToRemoteOptions struct {
Image string
// LocalFile is a path to a local file to copy the saved image to
LocalFile string
// Tag is the name of the tag to be given to the saved image (unused)
Tag string
// URL points to the remote location for saving from
URL *url.URL
// Iden is a path to an optional identity file with ssh key
Iden string
// SSHMode is the specified ssh.EngineMode which should be used
SSHMode ssh.EngineMode
}
type ScpSaveToRemoteReport struct{}
type ScpCreateCommandsOptions struct {
// ParentFlags are the arguments to apply to the parent podman command when called via ssh
ParentFlags []string
// Podman is the path to the local podman executable
Podman string
}