github.com/containers/podman/v4@v4.9.4/libpod/define/pod_inspect.go (about) 1 package define 2 3 import ( 4 "net" 5 "time" 6 ) 7 8 // InspectPodData contains detailed information on a pod's configuration and 9 // state. It is used as the output of Inspect on pods. 10 type InspectPodData struct { 11 // ID is the ID of the pod. 12 ID string `json:"Id"` 13 // Name is the name of the pod. 14 Name string 15 // Namespace is the Libpod namespace the pod is placed in. 16 Namespace string `json:"Namespace,omitempty"` 17 // Created is the time when the pod was created. 18 Created time.Time 19 // CreateCommand is the full command plus arguments of the process the 20 // container has been created with. 21 CreateCommand []string `json:"CreateCommand,omitempty"` 22 // ExitPolicy of the pod. 23 ExitPolicy string `json:"ExitPolicy,omitempty"` 24 // State represents the current state of the pod. 25 State string `json:"State"` 26 // Hostname is the hostname that the pod will set. 27 Hostname string 28 // Labels is a set of key-value labels that have been applied to the 29 // pod. 30 Labels map[string]string `json:"Labels,omitempty"` 31 // CreateCgroup is whether this pod will create its own Cgroup to group 32 // containers under. 33 CreateCgroup bool 34 // CgroupParent is the parent of the pod's Cgroup. 35 CgroupParent string `json:"CgroupParent,omitempty"` 36 // CgroupPath is the path to the pod's Cgroup. 37 CgroupPath string `json:"CgroupPath,omitempty"` 38 // CreateInfra is whether this pod will create an infra container to 39 // share namespaces. 40 CreateInfra bool 41 // InfraContainerID is the ID of the pod's infra container, if one is 42 // present. 43 InfraContainerID string `json:"InfraContainerID,omitempty"` 44 // InfraConfig is the configuration of the infra container of the pod. 45 // Will only be set if CreateInfra is true. 46 InfraConfig *InspectPodInfraConfig `json:"InfraConfig,omitempty"` 47 // SharedNamespaces contains a list of namespaces that will be shared by 48 // containers within the pod. Can only be set if CreateInfra is true. 49 SharedNamespaces []string `json:"SharedNamespaces,omitempty"` 50 // NumContainers is the number of containers in the pod, including the 51 // infra container. 52 NumContainers uint 53 // Containers gives a brief summary of all containers in the pod and 54 // their current status. 55 Containers []InspectPodContainerInfo `json:"Containers,omitempty"` 56 // CPUPeriod contains the CPU period of the pod 57 CPUPeriod uint64 `json:"cpu_period,omitempty"` 58 // CPUQuota contains the CPU quota of the pod 59 CPUQuota int64 `json:"cpu_quota,omitempty"` 60 // CPUShares contains the cpu shares for the pod 61 CPUShares uint64 `json:"cpu_shares,omitempty"` 62 // CPUSetCPUs contains linux specific CPU data for the pod 63 CPUSetCPUs string `json:"cpuset_cpus,omitempty"` 64 // CPUSetMems contains linux specific CPU data for the pod 65 CPUSetMems string `json:"cpuset_mems,omitempty"` 66 // Mounts contains volume related information for the pod 67 Mounts []InspectMount `json:"mounts,omitempty"` 68 // Devices contains the specified host devices 69 Devices []InspectDevice `json:"devices,omitempty"` 70 // BlkioDeviceReadBps contains the Read/Access limit for the pod's devices 71 BlkioDeviceReadBps []InspectBlkioThrottleDevice `json:"device_read_bps,omitempty"` 72 // BlkioDeviceReadBps contains the Read/Access limit for the pod's devices 73 BlkioDeviceWriteBps []InspectBlkioThrottleDevice `json:"device_write_bps,omitempty"` 74 // VolumesFrom contains the containers that the pod inherits mounts from 75 VolumesFrom []string `json:"volumes_from,omitempty"` 76 // SecurityOpt contains the specified security labels and related SELinux information 77 SecurityOpts []string `json:"security_opt,omitempty"` 78 // MemoryLimit contains the specified cgroup memory limit for the pod 79 MemoryLimit uint64 `json:"memory_limit,omitempty"` 80 // MemorySwap contains the specified memory swap limit for the pod 81 MemorySwap uint64 `json:"memory_swap,omitempty"` 82 // BlkioWeight contains the blkio weight limit for the pod 83 BlkioWeight uint64 `json:"blkio_weight,omitempty"` 84 // BlkioWeightDevice contains the blkio weight device limits for the pod 85 BlkioWeightDevice []InspectBlkioWeightDevice `json:"blkio_weight_device,omitempty"` 86 // RestartPolicy of the pod. 87 RestartPolicy string `json:"RestartPolicy,omitempty"` 88 // Number of the pod's Libpod lock. 89 LockNumber uint32 90 } 91 92 // InspectPodInfraConfig contains the configuration of the pod's infra 93 // container. 94 type InspectPodInfraConfig struct { 95 // PortBindings are ports that will be forwarded to the infra container 96 // and then shared with the pod. 97 PortBindings map[string][]InspectHostPort 98 // HostNetwork is whether the infra container (and thus the whole pod) 99 // will use the host's network and not create a network namespace. 100 HostNetwork bool 101 // StaticIP is a static IPv4 that will be assigned to the infra 102 // container and then used by the pod. 103 // swagger:strfmt ipv4 104 StaticIP net.IP 105 // StaticMAC is a static MAC address that will be assigned to the infra 106 // container and then used by the pod. 107 StaticMAC string 108 // NoManageResolvConf indicates that the pod will not manage resolv.conf 109 // and instead each container will handle their own. 110 NoManageResolvConf bool 111 // DNSServer is a set of DNS Servers that will be used by the infra 112 // container's resolv.conf and shared with the remainder of the pod. 113 DNSServer []string 114 // DNSSearch is a set of DNS search domains that will be used by the 115 // infra container's resolv.conf and shared with the remainder of the 116 // pod. 117 DNSSearch []string 118 // DNSOption is a set of DNS options that will be used by the infra 119 // container's resolv.conf and shared with the remainder of the pod. 120 DNSOption []string 121 // NoManageHosts indicates that the pod will not manage /etc/hosts and 122 // instead each container will handle their own. 123 NoManageHosts bool 124 // HostAdd adds a number of hosts to the infra container's resolv.conf 125 // which will be shared with the rest of the pod. 126 HostAdd []string 127 // Networks is a list of networks the pod will join. 128 Networks []string 129 // NetworkOptions are additional options for each network 130 NetworkOptions map[string][]string 131 // CPUPeriod contains the CPU period of the pod 132 CPUPeriod uint64 `json:"cpu_period,omitempty"` 133 // CPUQuota contains the CPU quota of the pod 134 CPUQuota int64 `json:"cpu_quota,omitempty"` 135 // CPUSetCPUs contains linux specific CPU data for the container 136 CPUSetCPUs string `json:"cpuset_cpus,omitempty"` 137 // Pid is the PID namespace mode of the pod's infra container 138 PidNS string `json:"pid_ns,omitempty"` 139 // UserNS is the usernamespace that all the containers in the pod will join. 140 UserNS string `json:"userns,omitempty"` 141 // UtsNS is the uts namespace that all containers in the pod will join 142 UtsNS string `json:"uts_ns,omitempty"` 143 } 144 145 // InspectPodContainerInfo contains information on a container in a pod. 146 type InspectPodContainerInfo struct { 147 // ID is the ID of the container. 148 ID string `json:"Id"` 149 // Name is the name of the container. 150 Name string 151 // State is the current status of the container. 152 State string 153 }