mirror of
https://github.com/containers/podman.git
synced 2025-06-22 01:48:54 +08:00
Merge pull request #5752 from mheon/pod_inspect_structs
Add basic structure of output for APIv2 pod inspect
This commit is contained in:
97
libpod/define/pod_inspect.go
Normal file
97
libpod/define/pod_inspect.go
Normal file
@ -0,0 +1,97 @@
|
||||
package define
|
||||
|
||||
import (
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"github.com/cri-o/ocicni/pkg/ocicni"
|
||||
)
|
||||
|
||||
// InspectPodData contains detailed information on a pod's configuration and
|
||||
// state. It is used as the output of Inspect on pods.
|
||||
type InspectPodData struct {
|
||||
// ID is the ID of the pod.
|
||||
ID string `json:"Id"`
|
||||
// Name is the name of the pod.
|
||||
Name string
|
||||
// Namespace is the Libpod namespace the pod is placed in.
|
||||
Namespace string `json:"Namespace,omitempty"`
|
||||
// Created is the time when the pod was created.
|
||||
Created time.Time
|
||||
// Hostname is the hostname that the pod will set.
|
||||
Hostname string
|
||||
// Labels is a set of key-value labels that have been applied to the
|
||||
// pod.
|
||||
Labels map[string]string `json:"Labels,omitempty"`
|
||||
// CreateCgroup is whether this pod will create its own CGroup to group
|
||||
// containers under.
|
||||
CreateCgroup bool
|
||||
// CgroupParent is the parent of the pod's CGroup.
|
||||
CgroupParent string `json:"CgroupParent,omitempty"`
|
||||
// CgroupPath is the path to the pod's CGroup.
|
||||
CgroupPath string `json:"CgroupPath,omitempty"`
|
||||
// CreateInfra is whether this pod will create an infra container to
|
||||
// share namespaces.
|
||||
CreateInfra bool
|
||||
// InfraContainerID is the ID of the pod's infra container, if one is
|
||||
// present.
|
||||
InfraContainerID string `json:"InfraContainerID,omitempty"`
|
||||
// InfraConfig is the configuration of the infra container of the pod.
|
||||
// Will only be set if CreateInfra is true.
|
||||
InfraConfig *InspectPodInfraConfig `json:"InfraConfig,omitempty"`
|
||||
// SharedNamespaces contains a list of namespaces that will be shared by
|
||||
// containers within the pod. Can only be set if CreateInfra is true.
|
||||
SharedNamespaces []string `json:"SharedNamespaces,omitempty"`
|
||||
// NumContainers is the number of containers in the pod, including the
|
||||
// infra container.
|
||||
NumContainers uint
|
||||
// Containers gives a brief summary of all containers in the pod and
|
||||
// their current status.
|
||||
Containers []InspectPodContainerInfo `json:"Containers,omitempty"`
|
||||
}
|
||||
|
||||
// InspectPodInfraConfig contains the configuration of the pod's infra
|
||||
// container.
|
||||
type InspectPodInfraConfig struct {
|
||||
// PortBindings are ports that will be forwarded to the infra container
|
||||
// and then shared with the pod.
|
||||
PortBindings []ocicni.PortMapping
|
||||
// HostNetwork is whether the infra container (and thus the whole pod)
|
||||
// will use the host's network and not create a network namespace.
|
||||
HostNetwork bool
|
||||
// StaticIP is a static IPv4 that will be assigned to the infra
|
||||
// container and then used by the pod.
|
||||
StaticIP net.IP
|
||||
// StaticMAC is a static MAC address that will be assigned to the infra
|
||||
// container and then used by the pod.
|
||||
StaticMAC net.HardwareAddr
|
||||
// NoManageResolvConf indicates that the pod will not manage resolv.conf
|
||||
// and instead each container will handle their own.
|
||||
NoManageResolvConf bool
|
||||
// DNSServer is a set of DNS Servers that will be used by the infra
|
||||
// container's resolv.conf and shared with the remainder of the pod.
|
||||
DNSServer []string
|
||||
// DNSSearch is a set of DNS search domains that will be used by the
|
||||
// infra container's resolv.conf and shared with the remainder of the
|
||||
// pod.
|
||||
DNSSearch []string
|
||||
// DNSOption is a set of DNS options that will be used by the infra
|
||||
// container's resolv.conf and shared with the remainder of the pod.
|
||||
DNSOption []string
|
||||
// NoManageHosts indicates that the pod will not manage /etc/hosts and
|
||||
// instead each container will handle their own.
|
||||
NoManageHosts bool
|
||||
// HostAdd adds a number of hosts to the infra container's resolv.conf
|
||||
// which will be shared with the rest of the pod.
|
||||
HostAdd []string
|
||||
}
|
||||
|
||||
// InspectPodContainerInfo contains information on a container in a pod.
|
||||
type InspectPodContainerInfo struct {
|
||||
// ID is the ID of the container.
|
||||
ID string `json:"Id"`
|
||||
// Name is the name of the container.
|
||||
Name string
|
||||
// State is the current status of the container.
|
||||
State string
|
||||
}
|
Reference in New Issue
Block a user