podman

Форк
0
/
pod_inspect.go 
153 строки · 6.8 Кб
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
}
154

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.