mirror of https://github.com/containers/podman.git
144 lines
2.2 KiB
Go
144 lines
2.2 KiB
Go
package entities
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/containers/libpod/pkg/specgen"
|
|
)
|
|
|
|
type PodKillOptions struct {
|
|
All bool
|
|
Latest bool
|
|
Signal string
|
|
}
|
|
|
|
type PodKillReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type ListPodsReport struct {
|
|
Cgroup string
|
|
Containers []*ListPodContainer
|
|
Created time.Time
|
|
Id string
|
|
Name string
|
|
Namespace string
|
|
Status string
|
|
}
|
|
|
|
type ListPodContainer struct {
|
|
Id string
|
|
Names string
|
|
Status string
|
|
}
|
|
|
|
type PodPauseOptions struct {
|
|
All bool
|
|
Latest bool
|
|
}
|
|
|
|
type PodPauseReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type PodunpauseOptions struct {
|
|
All bool
|
|
Latest bool
|
|
}
|
|
|
|
type PodUnpauseReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type PodStopOptions struct {
|
|
All bool
|
|
Ignore bool
|
|
Latest bool
|
|
Timeout int
|
|
}
|
|
|
|
type PodStopReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type PodRestartOptions struct {
|
|
All bool
|
|
Latest bool
|
|
}
|
|
|
|
type PodRestartReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type PodStartOptions struct {
|
|
All bool
|
|
Latest bool
|
|
}
|
|
|
|
type PodStartReport struct {
|
|
Errs []error
|
|
Id string
|
|
}
|
|
|
|
type PodRmOptions struct {
|
|
All bool
|
|
Force bool
|
|
Ignore bool
|
|
Latest bool
|
|
}
|
|
|
|
type PodRmReport struct {
|
|
Err error
|
|
Id string
|
|
}
|
|
|
|
type PodCreateOptions struct {
|
|
CGroupParent string
|
|
Hostname string
|
|
Infra bool
|
|
InfraImage string
|
|
InfraCommand string
|
|
Labels map[string]string
|
|
Name string
|
|
Net *NetOptions
|
|
Share []string
|
|
}
|
|
|
|
type PodCreateReport struct {
|
|
Id string
|
|
}
|
|
|
|
func (p PodCreateOptions) ToPodSpecGen(s *specgen.PodSpecGenerator) {
|
|
// Basic Config
|
|
s.Name = p.Name
|
|
s.Hostname = p.Hostname
|
|
s.Labels = p.Labels
|
|
s.NoInfra = !p.Infra
|
|
s.InfraCommand = []string{p.InfraCommand}
|
|
s.InfraImage = p.InfraImage
|
|
s.SharedNamespaces = p.Share
|
|
|
|
// Networking config
|
|
s.NetNS = p.Net.Network
|
|
s.StaticIP = p.Net.StaticIP
|
|
s.StaticMAC = p.Net.StaticMAC
|
|
s.PortMappings = p.Net.PublishPorts
|
|
s.CNINetworks = p.Net.CNINetworks
|
|
if p.Net.DNSHost {
|
|
s.NoManageResolvConf = true
|
|
}
|
|
s.DNSServer = p.Net.DNSServers
|
|
s.DNSSearch = p.Net.DNSSearch
|
|
s.DNSOption = p.Net.DNSOptions
|
|
s.NoManageHosts = p.Net.NoHosts
|
|
s.HostAdd = p.Net.AddHosts
|
|
|
|
// Cgroup
|
|
s.CgroupParent = p.CGroupParent
|
|
}
|